Message ID | 1392906648.22754.213.camel@willson.li.ssimo.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 02/20/2014 09:30 AM, Simo Sorce wrote: > From 026c489ac7019a91951b37240f438329de1d615c Mon Sep 17 00:00:00 2001 > From: Simo Sorce <simo@redhat.com> > Date: Thu, 20 Feb 2014 09:25:06 -0500 > Subject: [PATCH] Drop full domain when constructing the Ad hostname. > > When trying to use the special MS Windows hostanme we need to stop > at the first '.' if we got a FQDN from gethostname() > Tee HOST$@REALM form in fact uses the AD samAccountName attribute to > represent 'HOST', and that attribute is always the host's shortname. > Characters like '.' are actually illegal for a shortname in AD. > > Signed-off-by: Simo Sorce <simo@redhat.com> Committed... steved. > --- > utils/gssd/krb5_util.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/utils/gssd/krb5_util.c b/utils/gssd/krb5_util.c > index > 208c72bc072bceecc81f591887603e274dc35d9b..4b57141b4e17643ef9b56aa13639354860009db6 100644 > --- a/utils/gssd/krb5_util.c > +++ b/utils/gssd/krb5_util.c > @@ -819,8 +819,10 @@ find_keytab_entry(krb5_context context, krb5_keytab > kt, const char *tgtname, > > /* Compute the active directory machine name HOST$ */ > strcpy(myhostad, myhostname); > - for (i = 0; myhostad[i] != 0; ++i) > + for (i = 0; myhostad[i] != 0; ++i) { > + if (myhostad[i] == '.') break; > myhostad[i] = toupper(myhostad[i]); > + } > myhostad[i] = '$'; > myhostad[i+1] = 0; > > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/utils/gssd/krb5_util.c b/utils/gssd/krb5_util.c index 208c72bc072bceecc81f591887603e274dc35d9b..4b57141b4e17643ef9b56aa13639354860009db6 100644 --- a/utils/gssd/krb5_util.c +++ b/utils/gssd/krb5_util.c @@ -819,8 +819,10 @@ find_keytab_entry(krb5_context context, krb5_keytab kt, const char *tgtname, /* Compute the active directory machine name HOST$ */ strcpy(myhostad, myhostname); - for (i = 0; myhostad[i] != 0; ++i) + for (i = 0; myhostad[i] != 0; ++i) { + if (myhostad[i] == '.') break; myhostad[i] = toupper(myhostad[i]); + } myhostad[i] = '$'; myhostad[i+1] = 0;