[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