[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