From: Andreas Schneider Date: Thu, 4 Apr 2024 09:24:13 +0000 (+0200) Subject: s3:libnet: Use lp_dns_hostname() in libnet_join.c X-Git-Tag: tdb-1.4.11~597 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0e96092c1895ecb41d4064111566b4ada71fe457;p=thirdparty%2Fsamba.git s3:libnet: Use lp_dns_hostname() in libnet_join.c Signed-off-by: Andreas Schneider Reviewed-by: Andrew Bartlett --- diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index 2ec558e0ea4..43ade678bdd 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -491,6 +491,7 @@ static ADS_STATUS libnet_join_set_machine_spn(TALLOC_CTX *mem_ctx, char *spn = NULL; const char **netbios_aliases = NULL; const char **addl_hostnames = NULL; + const char *dns_hostname = NULL; /* Find our DN */ @@ -547,6 +548,27 @@ static ADS_STATUS libnet_join_set_machine_spn(TALLOC_CTX *mem_ctx, goto done; } + /* + * Register dns_hostname if needed, add_uniq_spn() will avoid + * duplicates. + */ + dns_hostname = lp_dns_hostname(); + if (dns_hostname == NULL) { + status = ADS_ERROR_LDAP(LDAP_NO_MEMORY); + goto done; + } + + spn = talloc_asprintf(frame, "HOST/%s", dns_hostname); + if (spn == NULL) { + status = ADS_ERROR_LDAP(LDAP_NO_MEMORY); + goto done; + } + + status = add_uniq_spn(frame, spn, &spn_array, &num_spns); + if (!ADS_ERR_OK(status)) { + goto done; + } + for (netbios_aliases = lp_netbios_aliases(); netbios_aliases != NULL && *netbios_aliases != NULL; netbios_aliases++) {