From d161c173088ce82ea11a914ce62c5b77af9f4f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Wed, 6 Nov 2013 18:21:32 +0100 Subject: [PATCH] s3-libnetjoin: use upper-case realm when composing default upn. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In case we are about to generate a keytab during the join make sure the default upn we create is usable with kinit -k. Guenther Signed-off-by: Günther Deschner --- source3/libnet/libnet_join.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/source3/libnet/libnet_join.c b/source3/libnet/libnet_join.c index 2dcb920..b84fcd6 100644 --- a/source3/libnet/libnet_join.c +++ b/source3/libnet/libnet_join.c @@ -449,10 +449,25 @@ static ADS_STATUS libnet_join_set_machine_upn(TALLOC_CTX *mem_ctx, } if (!r->in.upn) { + char *realm = r->out.dns_domain_name; + + /* in case we are about to generate a keytab during the join + * make sure the default upn we create is usable with kinit -k. + * gd */ + + if (USE_KERBEROS_KEYTAB) { + realm = talloc_strdup_upper(mem_ctx, + r->out.dns_domain_name); + } + + if (!realm) { + return ADS_ERROR(LDAP_NO_MEMORY); + } + r->in.upn = talloc_asprintf(mem_ctx, "host/%s@%s", r->in.machine_name, - r->out.dns_domain_name); + realm); if (!r->in.upn) { return ADS_ERROR(LDAP_NO_MEMORY); } -- 1.8.3.1