[Freeipa-devel] [PATCH 0133] ipa-cldap: Cut NetBIOS name after 15 characters

Alexander Bokovoy abokovoy at redhat.com
Wed Dec 11 11:56:58 UTC 2013


On Wed, 11 Dec 2013, Tomas Babej wrote:
> On 11/27/2013 03:38 PM, Simo Sorce wrote:
>> On Wed, 2013-11-27 at 08:50 +0100, Tomas Babej wrote:
>> Sorry to nitpick but ...
>> 
>>> diff --git a/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_netlogon.c
>>> b/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_netlogon.c
>>> index
>>> 7d29fe559be55607fcb6b83fa521372e5197b848..f2e74e2c5b6e0d04dd3dc0eb15f25593aa91da8e 100644
>>> --- a/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_netlogon.c
>>> +++ b/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_netlogon.c
>>> @@ -161,9 +161,13 @@ static int ipa_cldap_encode_netlogon(char
>>> *fq_hostname, char *domain,
>>>       nlr->dns_domain = domain;
>>>       nlr->pdc_dns_name = fq_hostname;
>>>       nlr->domain_name = name;
>>> -    pdc_name = talloc_asprintf(nlr, "\\\\%s", fq_hostname);
>>> +
>>> +    /* copy the first 15 characters of the fully qualified hostname*/
>>> +    pdc_name = talloc_asprintf(nlr, "\\\\%.*s", 15, fq_hostname);
>> Probably better to #define NETBIOS_NAME_MAX 15 somewhere above and then
>> use the macro here.
>> 
>>> +
>>>       for (p = pdc_name; *p; p++) {
>>> -        if (*p == '.') {
>>> +        /* Create the NetBIOS name from the first segment of the
>>> hostname */
>>> +        if ((*p == '.') || (*p == '\0')) {
>> The second check is redundant, you'll never get there, the for loop will
>> bail earlier. I think you only need to add the comment here and not
>> touch the code as the asprintf above took care of properly terminating
>> the name at the 15 chars mark already.
>> 
>>>               *p = '\0';
>>>               break;
>>>           }
>> Simo.
>> 
> 
> Thanks for the catches.
> 
> Updated patch attached.

ACK.

-- 
/ Alexander Bokovoy




More information about the Freeipa-devel mailing list