From: Howard Chu Date: Thu, 5 Feb 2026 15:30:52 +0000 (+0000) Subject: ITS#10442 slapo-dds: fix min-ttl/max-ttl init X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee7651a4308fdc1e3968862f4f47113ee7844e6a;p=thirdparty%2Fopenldap.git ITS#10442 slapo-dds: fix min-ttl/max-ttl init Error was present in dds.c initial commit --- diff --git a/servers/slapd/overlays/dds.c b/servers/slapd/overlays/dds.c index dfd61d942a..53d6dbc4a6 100644 --- a/servers/slapd/overlays/dds.c +++ b/servers/slapd/overlays/dds.c @@ -1415,7 +1415,7 @@ dds_cfgen( ConfigArgs *c ) break; case DDS_MAXTTL: - di->di_min_ttl = DDS_RF2589_DEFAULT_TTL; + di->di_max_ttl = DDS_RF2589_DEFAULT_TTL; break; case DDS_MINTTL: @@ -1803,8 +1803,17 @@ dds_db_open( di->di_max_ttl = DDS_RF2589_DEFAULT_TTL; } - if ( di->di_min_ttl == 0 ) { - di->di_max_ttl = DDS_RF2589_DEFAULT_TTL; + /* sanity checks */ + if ( di->di_default_ttl > di->di_max_ttl ) { + Log( LDAP_DEBUG_ANY, LDAP_LEVEL_ERR, + "DDS default ttl is greater than max ttl\n" ); + return 1; + } + if (( di->di_min_ttl > di->di_max_ttl ) || + ( di->di_default_ttl && ( di->di_min_ttl > di->di_default_ttl ))) { + Log( LDAP_DEBUG_ANY, LDAP_LEVEL_ERR, + "DDS min_ttl is greater than default or max ttl\n" ); + return 1; } di->di_suffix = be->be_suffix;