From: Evan Hunt Date: Wed, 26 Nov 2025 07:23:19 +0000 (-0800) Subject: pass isc_buffer_t pointers when applicable X-Git-Tag: v9.21.16~10^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76b6fb3802f92254fc0f254db1b2a7df8dfda886;p=thirdparty%2Fbind9.git pass isc_buffer_t pointers when applicable In commit aea251f3bce7, `isc_buffer_reserve()` was changed to take a simple `isc_buffer_t *` instead of `isc_buffer_t **`. A number of functions calling it have now been similarly modified. --- diff --git a/bin/named/control.c b/bin/named/control.c index ba6001bac84..8857f5eb904 100644 --- a/bin/named/control.c +++ b/bin/named/control.c @@ -69,7 +69,7 @@ command_compare(const char *str, const char *command) { */ isc_result_t named_control_docommand(isccc_sexpr_t *message, bool readonly, - isc_buffer_t **text) { + isc_buffer_t *text) { isccc_sexpr_t *data; char *cmdline = NULL; char *command = NULL; @@ -177,7 +177,7 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, #endif /* ifdef HAVE_LIBSCF */ /* Do not flush master files */ named_server_flushonshutdown(named_g_server, false); - named_os_shutdownmsg(cmdline, *text); + named_os_shutdownmsg(cmdline, text); isc_loopmgr_shutdown(); result = ISC_R_SHUTTINGDOWN; } else if (command_compare(command, NAMED_COMMAND_STOP)) { @@ -195,7 +195,7 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, } #endif /* ifdef HAVE_LIBSCF */ named_server_flushonshutdown(named_g_server, true); - named_os_shutdownmsg(cmdline, *text); + named_os_shutdownmsg(cmdline, text); isc_loopmgr_shutdown(); result = ISC_R_SHUTTINGDOWN; } else if (command_compare(command, NAMED_COMMAND_ADDZONE) || @@ -252,7 +252,7 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly, "query logging", NS_SERVER_LOGQUERIES, lex); } else if (command_compare(command, NAMED_COMMAND_RECONFIG)) { - result = named_server_reconfigcommand(named_g_server, *text); + result = named_server_reconfigcommand(named_g_server, text); } else if (command_compare(command, NAMED_COMMAND_RECURSING)) { result = named_server_dumprecursing(named_g_server); } else if (command_compare(command, NAMED_COMMAND_REFRESH)) { diff --git a/bin/named/controlconf.c b/bin/named/controlconf.c index 0376d2b7709..e1d1a46d7e8 100644 --- a/bin/named/controlconf.c +++ b/bin/named/controlconf.c @@ -392,7 +392,7 @@ control_command(void *arg) { /* Don't run the command if we already started the shutdown */ if (!conn->shuttingdown) { conn->result = named_control_docommand( - conn->request, conn->listener->readonly, &conn->text); + conn->request, conn->listener->readonly, conn->text); control_respond(conn); } diff --git a/bin/named/include/named/control.h b/bin/named/include/named/control.h index 82e9d4621e6..9ee26e3b915 100644 --- a/bin/named/include/named/control.h +++ b/bin/named/include/named/control.h @@ -110,4 +110,4 @@ named_controls_shutdown(named_controls_t *controls); isc_result_t named_control_docommand(isccc_sexpr_t *message, bool readonly, - isc_buffer_t **text); + isc_buffer_t *text); diff --git a/bin/named/include/named/server.h b/bin/named/include/named/server.h index a716110e834..b15d6075221 100644 --- a/bin/named/include/named/server.h +++ b/bin/named/include/named/server.h @@ -156,14 +156,14 @@ 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. */ isc_result_t named_server_resetstatscommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*%< * Act on a "reset-stats" command from the command channel. */ @@ -176,21 +176,21 @@ named_server_reconfigcommand(named_server_t *server, isc_buffer_t *text); 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. */ @@ -234,15 +234,14 @@ named_server_dumpstats(named_server_t *server); * Dump the current cache to the dump file. */ 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); /*% * Dump the current security roots to the secroots file. */ 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. @@ -268,20 +267,20 @@ named_server_flushnode(named_server_t *server, isc_lex_t *lex, bool tree); * Report the server's status. */ 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); /*% * 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); + isc_buffer_t *text); /*% * Dump zone updates to disk, optionally removing the journal file */ 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); /*% * Update a zone's DNSKEY set from the key repository. If @@ -291,7 +290,7 @@ named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text); * take place incrementally. */ 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); /*% * Dump the current recursive queries. @@ -304,49 +303,48 @@ named_server_dumprecursing(named_server_t *server); */ isc_result_t named_server_validation(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Add a zone to a running process, or modify an existing zone */ isc_result_t named_server_changezone(named_server_t *server, char *command, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Deletes a zone from a running process */ isc_result_t named_server_delzone(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Show current configuration for a given zone */ isc_result_t named_server_showzone(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Show the full current user configuration. */ isc_result_t named_server_showconf(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Lists the status of the signing records for a given zone. */ isc_result_t named_server_signing(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Lists the DNSSEC status for a given zone. */ isc_result_t -named_server_dnssec(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); +named_server_dnssec(named_server_t *server, isc_lex_t *lex, isc_buffer_t *text); /*% * Lists status information for a given zone (e.g., name, type, files, @@ -354,7 +352,7 @@ named_server_dnssec(named_server_t *server, isc_lex_t *lex, */ isc_result_t named_server_zonestatus(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Adds/updates a Negative Trust Anchor (NTA) for a specified name and @@ -362,33 +360,32 @@ named_server_zonestatus(named_server_t *server, isc_lex_t *lex, */ isc_result_t named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Generates a test sequence that is only for use in system tests. The * argument is the size of required output in bytes. */ isc_result_t -named_server_testgen(isc_lex_t *lex, isc_buffer_t **text); +named_server_testgen(isc_lex_t *lex, isc_buffer_t *text); /*% * Force fefresh or print status for managed keys zones. */ 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); /*% * Close and reopen DNSTAP output file. */ 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); /*% * Display or update tcp-{initial,idle,keepalive,advertised}-timeout options. */ isc_result_t -named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t **text); +named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t *text); /*% * Control whether stale answers are served or not when configured in @@ -396,20 +393,20 @@ named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t **text); */ isc_result_t named_server_servestale(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Report fetch-limited ADB server addresses. */ isc_result_t named_server_fetchlimit(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text); + isc_buffer_t *text); /*% * Import SKR file for offline KSK signing. */ isc_result_t -named_server_skr(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text); +named_server_skr(named_server_t *server, isc_lex_t *lex, isc_buffer_t *text); /*% * Toggle memory profiling if supported. diff --git a/bin/named/server.c b/bin/named/server.c index 51505941170..77018f1934e 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -187,13 +187,13 @@ 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) \ @@ -348,7 +348,7 @@ typedef enum { typedef struct { unsigned int magic; #define DZARG_MAGIC ISC_MAGIC('D', 'z', 'a', 'r') - isc_buffer_t **text; + isc_buffer_t *text; isc_result_t result; } ns_dzarg_t; @@ -500,16 +500,16 @@ static isc_result_t add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx); static isc_result_t -putstr(isc_buffer_t **b, const char *str); +putstr(isc_buffer_t *b, const char *str); 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); static isc_result_t -putuint8(isc_buffer_t **b, uint8_t val); +putuint8(isc_buffer_t *b, uint8_t val); static isc_result_t -putnull(isc_buffer_t **b); +putnull(isc_buffer_t *b); #ifdef HAVE_LMDB static isc_result_t @@ -6004,15 +6004,16 @@ static isc_result_t save_zoneconfig(dns_zone_t *zone, const cfg_obj_t *zconfig) { isc_result_t result; isc_buffer_t *text = NULL; + + isc_buffer_allocate(isc_g_mctx, &text, 256); + ns_dzarg_t dzarg = { .magic = DZARG_MAGIC, - .text = &text, + .text = text, }; - isc_buffer_allocate(isc_g_mctx, &text, 256); - cfg_printx(zconfig, CFG_PRINTER_ONELINE, emit_text, &dzarg); - CHECK(putnull(&text)); + CHECK(putnull(text)); dns_zone_setcfg(zone, isc_buffer_base(text)); @@ -7398,7 +7399,7 @@ cleanup: #else /* HAVE_LMDB */ static isc_result_t -data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, isc_buffer_t **text, +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; @@ -7414,11 +7415,7 @@ data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, isc_buffer_t **text, REQUIRE(text != NULL); REQUIRE(zoneconfig != NULL && *zoneconfig == NULL); - if (*text == NULL) { - isc_buffer_allocate(view->mctx, text, 256); - } else { - isc_buffer_clear(*text); - } + isc_buffer_clear(text); zone_name = (const char *)key->mv_data; zone_name_len = key->mv_size; @@ -7429,8 +7426,8 @@ data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, isc_buffer_t **text, INSIST(zone_config != NULL && zone_config_len > 0); /* zone zonename { config; }; */ - result = isc_buffer_reserve(*text, 6 + zone_name_len + 2 + - zone_config_len + 2); + result = isc_buffer_reserve(text, 6 + zone_name_len + 2 + + zone_config_len + 2); if (result != ISC_R_SUCCESS) { goto cleanup; } @@ -7444,7 +7441,7 @@ data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data, isc_buffer_t **text, snprintf(bufname, sizeof(bufname), "%.*s", (int)zone_name_len, zone_name); - result = cfg_parse_buffer(isc_g_mctx, *text, bufname, 0, + result = cfg_parse_buffer(isc_g_mctx, text, bufname, 0, &cfg_type_addzoneconf, 0, &zoneconf); if (result != ISC_R_SUCCESS) { isc_log_write(NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER, @@ -7505,6 +7502,8 @@ for_all_newzone_cfgs(newzone_cfg_cb_t callback, cfg_obj_t *config, return ISC_R_FAILURE; } + isc_buffer_allocate(view->mctx, &text, 256); + for (status = mdb_cursor_get(cursor, &key, &data, MDB_FIRST); status == MDB_SUCCESS; status = mdb_cursor_get(cursor, &key, &data, MDB_NEXT)) @@ -7512,7 +7511,7 @@ for_all_newzone_cfgs(newzone_cfg_cb_t callback, cfg_obj_t *config, /* * Create a configuration object from data fetched from NZD. */ - result = data_to_cfg(view, &key, &data, &text, &zconfigobj); + result = data_to_cfg(view, &key, &data, text, &zconfigobj); if (result != ISC_R_SUCCESS) { break; } @@ -7545,12 +7544,11 @@ for_all_newzone_cfgs(newzone_cfg_cb_t callback, cfg_obj_t *config, cfg_obj_detach(&zconfigobj); } - if (text != NULL) { - isc_buffer_free(&text); - } if (zconfigobj != NULL) { cfg_obj_detach(&zconfigobj); } + + isc_buffer_free(&text); mdb_cursor_close(cursor); return result; @@ -9115,7 +9113,7 @@ load_configuration(named_server_t *server, bool first_time) { dzarg = (ns_dzarg_t){ .magic = DZARG_MAGIC, - .text = &server->userconftext, + .text = server->userconftext, }; cfg_printx(config, 0, emit_text, &dzarg); @@ -9147,7 +9145,7 @@ load_configuration(named_server_t *server, bool first_time) { isc_buffer_allocate(isc_g_mctx, &server->effectivetext, BUFSIZ); dzarg = (ns_dzarg_t){ .magic = DZARG_MAGIC, - .text = &server->effectivetext, + .text = server->effectivetext, }; cfg_printx(effective, 0, emit_text, &dzarg); } @@ -9954,7 +9952,7 @@ 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; @@ -10008,7 +10006,7 @@ 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, + dns_zone_t **zonep, char *zonename, isc_buffer_t *text, bool skip) { char *ptr; char *classtxt; @@ -10156,7 +10154,7 @@ cleanup: */ isc_result_t named_server_retransfercommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result; const char *arg = NULL; dns_zone_t *zone = NULL; @@ -10219,7 +10217,7 @@ named_server_retransfercommand(named_server_t *server, isc_lex_t *lex, */ isc_result_t named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result; dns_zone_t *zone = NULL; dns_zonetype_t type; @@ -10289,7 +10287,7 @@ named_server_reloadcommand(named_server_t *server, isc_lex_t *lex, */ isc_result_t named_server_resetstatscommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { const char *arg = NULL; bool recursive_high_water = false; bool tcp_high_water = false; @@ -10382,7 +10380,7 @@ cleanup: */ isc_result_t named_server_notifycommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result; dns_zone_t *zone = NULL; const char msg[] = "zone notify queued"; @@ -10410,7 +10408,7 @@ named_server_notifycommand(named_server_t *server, isc_lex_t *lex, */ isc_result_t named_server_refreshcommand(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result; dns_zone_t *zone = NULL, *raw = NULL; const char msg1[] = "zone refresh queued"; @@ -11133,7 +11131,7 @@ cleanup: isc_result_t named_server_dumpdb(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { struct dumpcontext *dctx = NULL; isc_result_t result; char *ptr = NULL; @@ -11236,7 +11234,7 @@ cleanup: isc_result_t named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { dns_keytable_t *secroots = NULL; dns_ntatable_t *ntatable = NULL; isc_result_t result; @@ -11244,7 +11242,7 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, FILE *fp = NULL; isc_time_t now; char tbuf[64]; - unsigned int used = isc_buffer_usedlength(*text); + unsigned int used = isc_buffer_usedlength(text); bool first = true; REQUIRE(text != NULL); @@ -11274,7 +11272,7 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, CHECK(putstr(text, "secure roots as of ")); CHECK(putstr(text, tbuf)); CHECK(putstr(text, ":\n")); - used = isc_buffer_usedlength(*text); + used = isc_buffer_usedlength(text); do { ISC_LIST_FOREACH(server->viewlist, view, link) { @@ -11289,14 +11287,14 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, result = ISC_R_SUCCESS; continue; } - if (first || used != isc_buffer_usedlength(*text)) { + if (first || used != isc_buffer_usedlength(text)) { CHECK(putstr(text, "\n")); first = false; } CHECK(putstr(text, " Start view ")); CHECK(putstr(text, view->name)); CHECK(putstr(text, "\n Secure roots:\n\n")); - used = isc_buffer_usedlength(*text); + used = isc_buffer_usedlength(text); CHECK(dns_keytable_totext(secroots, text)); if (ntatable != NULL) { @@ -11307,11 +11305,11 @@ named_server_dumpsecroots(named_server_t *server, isc_lex_t *lex, result = ISC_R_SUCCESS; continue; } - if (used != isc_buffer_usedlength(*text)) { + if (used != isc_buffer_usedlength(text)) { CHECK(putstr(text, "\n")); } CHECK(putstr(text, " Negative trust anchors:\n\n")); - used = isc_buffer_usedlength(*text); + used = isc_buffer_usedlength(text); CHECK(dns_ntatable_totext(ntatable, NULL, text)); } @@ -11329,14 +11327,14 @@ cleanup: } if (fp != NULL) { - if (used != isc_buffer_usedlength(*text)) { + if (used != isc_buffer_usedlength(text)) { (void)putstr(text, "\n"); } - fprintf(fp, "%.*s", (int)isc_buffer_usedlength(*text), - (char *)isc_buffer_base(*text)); - isc_buffer_clear(*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) { + } else if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } @@ -11421,7 +11419,7 @@ named_server_setdebuglevel(named_server_t *server, isc_lex_t *lex) { isc_result_t named_server_validation(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { char *ptr = NULL; bool changed = false; isc_result_t result; @@ -11718,7 +11716,7 @@ named_server_flushnode(named_server_t *server, isc_lex_t *lex, bool tree) { } 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, xferfirstrefresh; unsigned int soaqueries, automatic; @@ -11865,7 +11863,7 @@ cleanup: } isc_result_t -named_server_testgen(isc_lex_t *lex, isc_buffer_t **text) { +named_server_testgen(isc_lex_t *lex, isc_buffer_t *text) { isc_result_t result; char *ptr; unsigned long count; @@ -11887,7 +11885,7 @@ named_server_testgen(isc_lex_t *lex, isc_buffer_t **text) { count = strtoul(ptr, NULL, 10); } - CHECK(isc_buffer_reserve(*text, count)); + CHECK(isc_buffer_reserve(text, count)); for (i = 0; i < count; i++) { CHECK(putuint8(text, chars[i % (sizeof(chars) - 1)])); } @@ -11902,8 +11900,7 @@ cleanup: * 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; dns_zonetype_t type; @@ -11981,7 +11978,7 @@ 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_zone_t *zone = NULL; char classstr[DNS_RDATACLASS_FORMATSIZE]; @@ -12058,7 +12055,7 @@ named_server_sync(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { */ isc_result_t named_server_freeze(named_server_t *server, bool freeze, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result, tresult; dns_zone_t *mayberaw = NULL, *raw = NULL; dns_zonetype_t type; @@ -12188,7 +12185,7 @@ named_server_freeze(named_server_t *server, bool freeze, isc_lex_t *lex, * 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) { REQUIRE(text != NULL); return putstr(text, "use svcadm(1M) to manage named"); @@ -12416,7 +12413,7 @@ nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone, } dzarg.magic = DZARG_MAGIC; - dzarg.text = &text; + dzarg.text = text; dzarg.result = ISC_R_SUCCESS; cfg_printx(zoptions, CFG_PRINTER_ONELINE, dumpzone, &dzarg); if (dzarg.result != ISC_R_SUCCESS) { @@ -12757,7 +12754,7 @@ load_nzf(dns_view_t *view) { isc_buffer_clear(text); dzarg.magic = DZARG_MAGIC; - dzarg.text = &text; + dzarg.text = text; dzarg.result = ISC_R_SUCCESS; cfg_printx(zoptions, CFG_PRINTER_ONELINE, dumpzone, &dzarg); if (dzarg.result != ISC_R_SUCCESS) { @@ -12822,7 +12819,7 @@ cleanup: static isc_result_t 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) { + bool *redirectp, isc_buffer_t *text) { isc_result_t result; isc_buffer_t argbuf; bool redirect = false; @@ -12997,7 +12994,7 @@ cleanup: static isc_result_t do_addzone(named_server_t *server, dns_view_t *view, dns_name_t *name, cfg_obj_t *zoneconf, const cfg_obj_t *zoneobj, bool redirect, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result, tresult; dns_zone_t *zone = NULL; const cfg_obj_t *voptions = NULL; @@ -13193,7 +13190,7 @@ cleanup: static isc_result_t do_modzone(named_server_t *server, dns_view_t *view, dns_name_t *name, const char *zname, const cfg_obj_t *zoneobj, bool redirect, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result, tresult; dns_zone_t *zone = NULL; const cfg_obj_t *voptions = NULL; @@ -13425,7 +13422,7 @@ cleanup: */ isc_result_t named_server_changezone(named_server_t *server, char *command, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result; bool addzone; bool redirect = false; @@ -13494,7 +13491,7 @@ named_server_changezone(named_server_t *server, char *command, named_g_defaultconfigtime = isc_time_now(); cleanup: - if (isc_buffer_usedlength(*text) > 0) { + if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } if (zoneconf != NULL) { @@ -13508,7 +13505,7 @@ cleanup: } 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 " @@ -13689,7 +13686,7 @@ rmzone(void *arg) { */ isc_result_t named_server_delzone(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result, tresult; dns_zone_t *zone = NULL; dns_zone_t *raw = NULL; @@ -13813,7 +13810,7 @@ named_server_delzone(named_server_t *server, isc_lex_t *lex, result = ISC_R_SUCCESS; cleanup: - if (isc_buffer_usedlength(*text) > 0) { + if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } if (raw != NULL) { @@ -13831,7 +13828,7 @@ cleanup: */ isc_result_t named_server_showzone(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result; char zonename[DNS_NAME_FORMATSIZE]; dns_zone_t *zone = NULL; @@ -13860,7 +13857,7 @@ named_server_showzone(named_server_t *server, isc_lex_t *lex, result = ISC_R_SUCCESS; cleanup: - if (isc_buffer_usedlength(*text) > 0) { + if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } @@ -13869,7 +13866,7 @@ cleanup: isc_result_t named_server_showconf(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result = ISC_R_SUCCESS; const char *arg = NULL; cfg_obj_t *config = NULL; @@ -13878,7 +13875,7 @@ named_server_showconf(named_server_t *server, isc_lex_t *lex, .text = text, }; - REQUIRE(text != NULL && *text != NULL); + REQUIRE(text != NULL); /* Skip the command name */ (void)next_token(lex, text); @@ -13911,7 +13908,7 @@ named_server_showconf(named_server_t *server, isc_lex_t *lex, } cleanup: - if (isc_buffer_usedlength(*text) > 0) { + if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } @@ -13920,7 +13917,7 @@ cleanup: isc_result_t named_server_signing(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result = ISC_R_SUCCESS; dns_zone_t *zone = NULL; dns_name_t *origin; @@ -14150,7 +14147,7 @@ argcheck(char *cmd, const char *full) { isc_result_t named_server_dnssec(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result = ISC_R_SUCCESS; dns_zone_t *zone = NULL; dns_kasp_t *kasp = NULL; @@ -14484,44 +14481,44 @@ cleanup: } 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); + result = isc_buffer_reserve(b, (unsigned int)len); if (result != ISC_R_SUCCESS) { return ISC_R_NOSPACE; } - isc_buffer_putmem(*b, (const unsigned char *)str, (unsigned int)len); + isc_buffer_putmem(b, (const unsigned char *)str, (unsigned int)len); return ISC_R_SUCCESS; } static 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); + result = isc_buffer_reserve(b, 1); if (result != ISC_R_SUCCESS) { return ISC_R_NOSPACE; } - isc_buffer_putuint8(*b, val); + isc_buffer_putuint8(b, val); return ISC_R_SUCCESS; } static isc_result_t -putnull(isc_buffer_t **b) { +putnull(isc_buffer_t *b) { return putuint8(b, 0); } isc_result_t named_server_zonestatus(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result = ISC_R_SUCCESS; dns_zone_t *zone = NULL, *raw = NULL, *mayberaw = NULL; const char *type, *file; @@ -14783,7 +14780,7 @@ cleanup: isc_result_t named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly, - isc_buffer_t **text) { + isc_buffer_t *text) { dns_ntatable_t *ntatable = NULL; isc_result_t result = ISC_R_SUCCESS; char *ptr, *nametext = NULL, *viewname; @@ -14893,11 +14890,11 @@ named_server_nta(named_server_t *server, isc_lex_t *lex, bool readonly, continue; } - if (last != isc_buffer_usedlength(*text)) { + if (last != isc_buffer_usedlength(text)) { CHECK(putstr(text, "\n")); } - last = isc_buffer_usedlength(*text); + last = isc_buffer_usedlength(text); CHECK(dns_ntatable_totext(ntatable, view->name, text)); } @@ -15111,7 +15108,7 @@ 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] = ""; @@ -15125,7 +15122,7 @@ cleanup: } static isc_result_t -mkey_destroy(dns_view_t *view, isc_buffer_t **text) { +mkey_destroy(dns_view_t *view, isc_buffer_t *text) { isc_result_t result; char msg[DNS_NAME_FORMATSIZE + 500] = ""; const char *file = NULL; @@ -15189,7 +15186,7 @@ cleanup: } static isc_result_t -mkey_dumpzone(dns_view_t *view, isc_buffer_t **text) { +mkey_dumpzone(dns_view_t *view, isc_buffer_t *text) { isc_result_t result; dns_db_t *db = NULL; dns_dbversion_t *ver = NULL; @@ -15305,7 +15302,7 @@ cleanup: } 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; @@ -15330,8 +15327,7 @@ cleanup: } 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_rdataclass_t rdclass; @@ -15442,7 +15438,7 @@ named_server_mkeys(named_server_t *server, isc_lex_t *lex, } cleanup: - if (isc_buffer_usedlength(*text) > 0) { + if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } @@ -15451,7 +15447,7 @@ cleanup: isc_result_t named_server_dnstap(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { #ifdef HAVE_DNSTAP char *ptr; isc_result_t result; @@ -15510,7 +15506,7 @@ 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) { +named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t *text) { char *ptr; isc_result_t result = ISC_R_SUCCESS; uint32_t initial, idle, keepalive, advertised, primaries; @@ -15610,7 +15606,7 @@ named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t **text) { CHECK(putstr(text, msg)); cleanup: - if (isc_buffer_usedlength(*text) > 0) { + if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } @@ -15619,7 +15615,7 @@ cleanup: isc_result_t named_server_servestale(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { char *ptr, *classtxt, *viewtxt = NULL; char msg[128]; dns_rdataclass_t rdclass = dns_rdataclass_in; @@ -15773,7 +15769,7 @@ named_server_servestale(named_server_t *server, isc_lex_t *lex, cleanup: isc_loopmgr_resume(); - if (isc_buffer_usedlength(*text) > 0) { + if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } @@ -15782,7 +15778,7 @@ cleanup: isc_result_t named_server_fetchlimit(named_server_t *server, isc_lex_t *lex, - isc_buffer_t **text) { + isc_buffer_t *text) { isc_result_t result = ISC_R_SUCCESS; char *ptr = NULL, *viewname = NULL; bool first = true; @@ -15831,9 +15827,9 @@ named_server_fetchlimit(named_server_t *server, isc_lex_t *lex, } first = false; CHECK(putstr(text, tbuf)); - used = isc_buffer_usedlength(*text); + used = isc_buffer_usedlength(text); CHECK(dns_adb_dumpquota(adb, text)); - if (used == isc_buffer_usedlength(*text)) { + if (used == isc_buffer_usedlength(text)) { CHECK(putstr(text, "\n None.")); } @@ -15846,9 +15842,9 @@ named_server_fetchlimit(named_server_t *server, isc_lex_t *lex, CHECK(ISC_R_NOSPACE); } CHECK(putstr(text, tbuf)); - used = isc_buffer_usedlength(*text); + used = isc_buffer_usedlength(text); CHECK(dns_resolver_dumpquota(view->resolver, text)); - if (used == isc_buffer_usedlength(*text)) { + if (used == isc_buffer_usedlength(text)) { CHECK(putstr(text, "\n None.")); } dns_adb_detach(&adb); @@ -15857,7 +15853,7 @@ cleanup: if (adb != NULL) { dns_adb_detach(&adb); } - if (isc_buffer_usedlength(*text) > 0) { + if (isc_buffer_usedlength(text) > 0) { (void)putnull(text); } @@ -15865,7 +15861,7 @@ cleanup: } isc_result_t -named_server_skr(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text) { +named_server_skr(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_kasp_t *kasp = NULL; diff --git a/lib/dns/adb.c b/lib/dns/adb.c index 0f61de1b7ea..af36a8f878a 100644 --- a/lib/dns/adb.c +++ b/lib/dns/adb.c @@ -2350,20 +2350,20 @@ print_find_list(FILE *f, dns_adbname_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)); + result = isc_buffer_reserve(b, strlen(str)); if (result != ISC_R_SUCCESS) { return result; } - isc_buffer_putstr(*b, str); + isc_buffer_putstr(b, str); return ISC_R_SUCCESS; } isc_result_t -dns_adb_dumpquota(dns_adb_t *adb, isc_buffer_t **buf) { +dns_adb_dumpquota(dns_adb_t *adb, isc_buffer_t *buf) { REQUIRE(DNS_ADB_VALID(adb)); dns_adbentry_t *adbentry = NULL; diff --git a/lib/dns/include/dns/adb.h b/lib/dns/include/dns/adb.h index 13183e029bb..dfa52236dcc 100644 --- a/lib/dns/include/dns/adb.h +++ b/lib/dns/include/dns/adb.h @@ -721,7 +721,7 @@ dns_adb_getstats(dns_adb_t *adb); */ isc_result_t -dns_adb_dumpquota(dns_adb_t *adb, isc_buffer_t **buf); +dns_adb_dumpquota(dns_adb_t *adb, isc_buffer_t *buf); /*% * Dump the addresses, current quota values, and current ATR values * for all servers that are currently being fetchlimited. Servers diff --git a/lib/dns/include/dns/keytable.h b/lib/dns/include/dns/keytable.h index 9213e99b197..aa9f8131401 100644 --- a/lib/dns/include/dns/keytable.h +++ b/lib/dns/include/dns/keytable.h @@ -233,7 +233,7 @@ dns_keytable_dump(dns_keytable_t *keytable, FILE *fp); */ isc_result_t -dns_keytable_totext(dns_keytable_t *keytable, isc_buffer_t **buf); +dns_keytable_totext(dns_keytable_t *keytable, isc_buffer_t *buf); /*%< * Dump the keytable to buffer at 'buf' */ diff --git a/lib/dns/include/dns/nta.h b/lib/dns/include/dns/nta.h index 5495e45554a..e0faeba5f99 100644 --- a/lib/dns/include/dns/nta.h +++ b/lib/dns/include/dns/nta.h @@ -141,14 +141,14 @@ dns_ntatable_covered(dns_ntatable_t *ntatable, isc_stdtime_t now, isc_result_t dns_ntatable_totext(dns_ntatable_t *ntatable, const char *view, - isc_buffer_t **buf); + isc_buffer_t *buf); /*%< * Dump the NTA table to buffer at 'buf', with view names * * Requires: * \li "ntatable" is a valid table. * - * \li "*buf" is a valid buffer. + * \li "buf" is a valid buffer. */ isc_result_t diff --git a/lib/dns/include/dns/resolver.h b/lib/dns/include/dns/resolver.h index a38d696668d..406e7d47d77 100644 --- a/lib/dns/include/dns/resolver.h +++ b/lib/dns/include/dns/resolver.h @@ -569,7 +569,7 @@ void dns_resolver_dumpfetches(dns_resolver_t *resolver, isc_statsformat_t format, FILE *fp); isc_result_t -dns_resolver_dumpquota(dns_resolver_t *res, isc_buffer_t **buf); +dns_resolver_dumpquota(dns_resolver_t *res, isc_buffer_t *buf); #ifdef ENABLE_AFL /*% diff --git a/lib/dns/keytable.c b/lib/dns/keytable.c index f7a926c6987..67523178ea5 100644 --- a/lib/dns/keytable.c +++ b/lib/dns/keytable.c @@ -557,15 +557,15 @@ 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)); + result = isc_buffer_reserve(b, strlen(str)); if (result != ISC_R_SUCCESS) { return result; } - isc_buffer_putstr(*b, str); + isc_buffer_putstr(b, str); return ISC_R_SUCCESS; } @@ -579,15 +579,15 @@ dns_keytable_dump(dns_keytable_t *keytable, FILE *fp) { isc_buffer_allocate(keytable->mctx, &text, 4096); - result = dns_keytable_totext(keytable, &text); + 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), @@ -598,7 +598,7 @@ dns_keytable_dump(dns_keytable_t *keytable, FILE *fp) { } static isc_result_t -keynode_dslist_totext(dns_keynode_t *keynode, isc_buffer_t **text) { +keynode_dslist_totext(dns_keynode_t *keynode, isc_buffer_t *text) { isc_result_t result; char namebuf[DNS_NAME_FORMATSIZE]; char obuf[DNS_NAME_FORMATSIZE + 200]; @@ -641,14 +641,14 @@ keynode_dslist_totext(dns_keynode_t *keynode, isc_buffer_t **text) { } isc_result_t -dns_keytable_totext(dns_keytable_t *keytable, isc_buffer_t **text) { +dns_keytable_totext(dns_keytable_t *keytable, isc_buffer_t *text) { isc_result_t result = ISC_R_SUCCESS; dns_qpread_t qpr; dns_qpiter_t iter; void *pval = NULL; REQUIRE(VALID_KEYTABLE(keytable)); - REQUIRE(text != NULL && *text != NULL); + REQUIRE(text != NULL); dns_qpmulti_query(keytable->table, &qpr); dns_qpiter_init(&qpr, &iter); diff --git a/lib/dns/nta.c b/lib/dns/nta.c index ac0eabc8c0f..b95d1067a95 100644 --- a/lib/dns/nta.c +++ b/lib/dns/nta.c @@ -452,21 +452,21 @@ done: } 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)); + result = isc_buffer_reserve(b, strlen(str)); if (result != ISC_R_SUCCESS) { return result; } - isc_buffer_putstr(*b, str); + isc_buffer_putstr(b, str); return ISC_R_SUCCESS; } isc_result_t dns_ntatable_totext(dns_ntatable_t *ntatable, const char *view, - isc_buffer_t **buf) { + isc_buffer_t *buf) { isc_result_t result = ISC_R_SUCCESS; isc_stdtime_t now = isc_stdtime_now(); dns_qpread_t qpr; diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c index a465e81b0dc..9e0e578cfb2 100644 --- a/lib/dns/resolver.c +++ b/lib/dns/resolver.c @@ -10823,7 +10823,7 @@ dns_resolver_dumpfetches(dns_resolver_t *res, isc_statsformat_t format, } isc_result_t -dns_resolver_dumpquota(dns_resolver_t *res, isc_buffer_t **buf) { +dns_resolver_dumpquota(dns_resolver_t *res, isc_buffer_t *buf) { isc_result_t result; isc_hashmap_iter_t *it = NULL; uint_fast32_t spill; @@ -10863,11 +10863,11 @@ dns_resolver_dumpquota(dns_resolver_t *res, isc_buffer_t **buf) { " spilled %" PRIuFAST32 ")", nb, count, allowed, dropped); - result = isc_buffer_reserve(*buf, strlen(text)); + result = isc_buffer_reserve(buf, strlen(text)); if (result != ISC_R_SUCCESS) { goto cleanup; } - isc_buffer_putstr(*buf, text); + isc_buffer_putstr(buf, text); } if (result == ISC_R_NOMORE) { result = ISC_R_SUCCESS;