ipa-cldap: Cut NetBIOS name after 15 characters

The CLDAP DS plugin uses the uppercased first segment of the fully
qualified hostname as the NetBIOS name. We need to limit its size
to 15 characters.

https://fedorahosted.org/freeipa/ticket/4028
This commit is contained in:
Tomas Babej 2013-11-26 12:14:39 +01:00 committed by Martin Kosek
parent f2ee8a7403
commit 71481a0aa4
2 changed files with 6 additions and 1 deletions

View File

@ -59,6 +59,7 @@
#define IPA_PLUGIN_NAME IPA_CLDAP_PLUGIN_NAME
#define CLDAP_PORT 389
#define MAX_DG_SIZE 4096
#define NETBIOS_NAME_MAX 15
#ifndef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 64

View File

@ -161,8 +161,12 @@ 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", NETBIOS_NAME_MAX, fq_hostname);
for (p = pdc_name; *p; p++) {
/* Create the NetBIOS name from the first segment of the hostname */
if (*p == '.') {
*p = '\0';
break;