diff options
Diffstat (limited to 'daemons/ipa-slapi-plugins')
-rw-r--r-- | daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap.h | 1 | ||||
-rw-r--r-- | daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_netlogon.c | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap.h b/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap.h index 7b0c2aad..3f420ff2 100644 --- a/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap.h +++ b/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap.h @@ -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 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 7d29fe55..9ba05829 100644 --- a/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_netlogon.c +++ b/daemons/ipa-slapi-plugins/ipa-cldap/ipa_cldap_netlogon.c @@ -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; |