From 93f85a27fe9380976deb37de244a8bc805e02592 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 3 Apr 2013 15:46:00 +0200 Subject: [PATCH] BUG 9699: Fix adding case sensitive spn. We should be able to define the case of the spn cause it is important for some services like nfs. 'net ads keytab add "nfs"' should not result in an uppercase spn. Signed-off-by: Andreas Schneider Reviewed-by: Jeremy Allison --- source3/libads/ldap.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index e62a4b4..7c7851a 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -1920,8 +1920,10 @@ ADS_STATUS ads_add_service_principal_name(ADS_STRUCT *ads, const char *machine_n ads_msgfree(ads, res); return ADS_ERROR(LDAP_NO_MEMORY); } - strupper_m(psp1); - strlower_m(&psp1[strlen(spn)]); + if (!strlower_m(&psp1[strlen(spn) + 1])) { + ret = ADS_ERROR(LDAP_NO_MEMORY); + goto out; + } servicePrincipalName[0] = psp1; DEBUG(5,("ads_add_service_principal_name: INFO: Adding %s to host %s\n", @@ -1934,8 +1936,10 @@ ADS_STATUS ads_add_service_principal_name(ADS_STRUCT *ads, const char *machine_n ret = ADS_ERROR(LDAP_NO_MEMORY); goto out; } - strupper_m(psp2); - strlower_m(&psp2[strlen(spn)]); + if (!strlower_m(&psp2[strlen(spn) + 1])) { + ret = ADS_ERROR(LDAP_NO_MEMORY); + goto out; + } servicePrincipalName[1] = psp2; DEBUG(5,("ads_add_service_principal_name: INFO: Adding %s to host %s\n", -- 1.8.2