diff --git a/src/server.c b/src/server.c index ee5bbac380..8935a6aa81 100644 --- a/src/server.c +++ b/src/server.c @@ -3364,7 +3364,7 @@ struct server *snr_check_ip_callback(struct server *srv, void *ip, unsigned char HA_SPIN_LOCK(SERVER_LOCK, &tmpsrv->lock); if ((tmpsrv->hostname_dn == NULL) || (srv->hostname_dn_len != tmpsrv->hostname_dn_len) || - (strcmp(srv->hostname_dn, tmpsrv->hostname_dn) != 0) || + (strcasecmp(srv->hostname_dn, tmpsrv->hostname_dn) != 0) || (srv->puid == tmpsrv->puid)) { HA_SPIN_UNLOCK(SERVER_LOCK, &tmpsrv->lock); continue; @@ -3443,7 +3443,8 @@ int srv_set_fqdn(struct server *srv, const char *hostname, int resolv_locked) resolution = (srv->resolv_requester ? srv->resolv_requester->resolution : NULL); if (resolution && resolution->hostname_dn && - strcmp(resolution->hostname_dn, hostname_dn) == 0) + resolution->hostname_dn_len == hostname_dn_len && + strcasecmp(resolution->hostname_dn, hostname_dn) == 0) goto end; resolv_unlink_resolution(srv->resolv_requester, 0);