diff --git a/bin/named/builtin.c b/bin/named/builtin.c index da028c032c..8d7d634cbf 100644 --- a/bin/named/builtin.c +++ b/bin/named/builtin.c @@ -379,9 +379,8 @@ do_hostname_lookup(dns_sdblookup_t *lookup) { } } else { char buf[256]; - isc_result_t result = named_os_gethostname(buf, sizeof(buf)); - if (result != ISC_R_SUCCESS) { - return (result); + if (gethostname(buf, sizeof(buf)) != 0) { + return (ISC_R_FAILURE); } return (put_txt(lookup, buf)); } @@ -419,13 +418,10 @@ do_authors_lookup(dns_sdblookup_t *lookup) { static isc_result_t do_id_lookup(dns_sdblookup_t *lookup) { - if (named_g_server->sctx->gethostname != NULL) { + if (named_g_server->sctx->usehostname) { char buf[256]; - isc_result_t result; - - result = named_g_server->sctx->gethostname(buf, sizeof(buf)); - if (result != ISC_R_SUCCESS) { - return (result); + if (gethostname(buf, sizeof(buf)) != 0) { + return (ISC_R_FAILURE); } return (put_txt(lookup, buf)); } else if (named_g_server->sctx->server_id != NULL) { diff --git a/bin/named/include/named/os.h b/bin/named/include/named/os.h index 4a3a5f2374..0f7c1c5385 100644 --- a/bin/named/include/named/os.h +++ b/bin/named/include/named/os.h @@ -62,9 +62,6 @@ named_os_issingleton(const char *filename); void named_os_shutdown(void); -isc_result_t -named_os_gethostname(char *buf, size_t len); - void named_os_shutdownmsg(char *command, isc_buffer_t *text); diff --git a/bin/named/os.c b/bin/named/os.c index 31872b120a..858ccbff3f 100644 --- a/bin/named/os.c +++ b/bin/named/os.c @@ -971,14 +971,6 @@ named_os_shutdown(void) { cleanup_lockfile(); } -isc_result_t -named_os_gethostname(char *buf, size_t len) { - int n; - - n = gethostname(buf, len); - return ((n == 0) ? ISC_R_SUCCESS : ISC_R_FAILURE); -} - void named_os_shutdownmsg(char *command, isc_buffer_t *text) { char *last, *ptr; diff --git a/bin/named/server.c b/bin/named/server.c index c229967531..87df9669b3 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -3908,8 +3908,7 @@ configure_dnstap(const cfg_obj_t **maps, dns_view_t *view) { if (result == ISC_R_SUCCESS && cfg_obj_isboolean(obj)) { /* "hostname" is interpreted as boolean true */ char buf[256]; - result = named_os_gethostname(buf, sizeof(buf)); - if (result == ISC_R_SUCCESS) { + if (gethostname(buf, sizeof(buf)) == 0) { dns_dt_setidentity(named_g_server->dtenv, buf); } } else if (result == ISC_R_SUCCESS && !cfg_obj_isvoid(obj)) { @@ -9543,10 +9542,10 @@ load_configuration(const char *filename, named_server_t *server, obj = NULL; result = named_config_get(maps, "server-id", &obj); - server->sctx->gethostname = NULL; + server->sctx->usehostname = false; if (result == ISC_R_SUCCESS && cfg_obj_isboolean(obj)) { /* The parser translates "hostname" to true */ - server->sctx->gethostname = named_os_gethostname; + server->sctx->usehostname = true; result = ns_server_setserverid(server->sctx, NULL); } else if (result == ISC_R_SUCCESS && !cfg_obj_isvoid(obj)) { /* Found a quoted string */ @@ -12190,8 +12189,7 @@ named_server_status(named_server_t *server, isc_buffer_t **text) { cb); CHECK(putstr(text, line)); - result = named_os_gethostname(hostname, sizeof(hostname)); - if (result != ISC_R_SUCCESS) { + if (gethostname(hostname, sizeof(hostname)) == 0) { strlcpy(hostname, "localhost", sizeof(hostname)); } snprintf(line, sizeof(line), "running on %s: %s\n", hostname, diff --git a/lib/ns/client.c b/lib/ns/client.c index a5d3aa6aa0..13b4b4f49b 100644 --- a/lib/ns/client.c +++ b/lib/ns/client.c @@ -979,10 +979,8 @@ ns_client_addopt(ns_client_t *client, dns_message_t *message, if (WANTNSID(client)) { if (client->manager->sctx->server_id != NULL) { nsidp = client->manager->sctx->server_id; - } else if (client->manager->sctx->gethostname != NULL) { - result = client->manager->sctx->gethostname( - nsid, sizeof(nsid)); - if (result != ISC_R_SUCCESS) { + } else if (client->manager->sctx->usehostname) { + if (gethostname(nsid, sizeof(nsid)) != 0) { goto no_nsid; } nsidp = nsid; diff --git a/lib/ns/include/ns/server.h b/lib/ns/include/ns/server.h index 431470c2eb..b380de9eef 100644 --- a/lib/ns/include/ns/server.h +++ b/lib/ns/include/ns/server.h @@ -97,8 +97,8 @@ struct ns_server { dns_tkeyctx_t *tkeyctx; /*% Server id for NSID */ - char *server_id; - ns_hostnamecb_t gethostname; + char *server_id; + bool usehostname; /*% Fuzzer callback */ isc_fuzztype_t fuzztype;