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.

-- 
Simo Sorce * Red Hat, Inc * New York

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to