diff mbox

Fix windows hostname calculation

Message ID 1392906648.22754.213.camel@willson.li.ssimo.org (mailing list archive)
State New, archived
Headers show

Commit Message

Simo Sorce Feb. 20, 2014, 2:30 p.m. UTC
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>
---
 utils/gssd/krb5_util.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Steve Dickson March 10, 2014, 8:26 p.m. UTC | #1
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 mbox

Patch

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;