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

Martin Kosek mkosek at redhat.com
Wed Dec 11 12:32:41 UTC 2013


On 12/11/2013 12:56 PM, Alexander Bokovoy wrote:
> 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.
>

Pushed to master, ipa-3-3.

Martin




More information about the Freeipa-devel mailing list