From: J. Eric Ivancich Date: Wed, 3 Apr 2024 03:10:12 +0000 (-0400) Subject: rgw: udpate options yaml file so LDAP uri isn't an invalid example X-Git-Tag: v20.0.0~2217^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=236f1dfa9ae507940a53301f31da7974456c82fe;p=ceph.git rgw: udpate options yaml file so LDAP uri isn't an invalid example LDAP tries to bind the URI configuration option when RGW starts. The default value is an example used to show the form of the URI and is not itself valid. The default value is used, unless overrideen, and can cause delays in start-up in some situations. The example is now provided in the description and the default is the empty string. Signed-off-by: J. Eric Ivancich --- diff --git a/src/common/options/rgw.yaml.in b/src/common/options/rgw.yaml.in index 52e69dae959c..27c76d6803ab 100644 --- a/src/common/options/rgw.yaml.in +++ b/src/common/options/rgw.yaml.in @@ -913,8 +913,8 @@ options: - name: rgw_ldap_uri type: str level: advanced - desc: Space-separated list of LDAP servers in URI format. - default: ldaps:// + desc: Space-separated list of LDAP servers in URI format, e.g., "ldaps://". + default: services: - rgw with_legacy: true diff --git a/src/rgw/rgw_appmain.cc b/src/rgw/rgw_appmain.cc index b4aa1019a739..bba32e3dfa8d 100644 --- a/src/rgw/rgw_appmain.cc +++ b/src/rgw/rgw_appmain.cc @@ -381,6 +381,11 @@ void rgw::AppMain::init_ldap() const string &ldap_dnattr = cct->_conf->rgw_ldap_dnattr; std::string ldap_bindpw = parse_rgw_ldap_bindpw(cct); + if (ldap_uri.empty()) { + derr << "LDAP not started since no server URIs were provided in the configuration." << dendl; + return; + } + ldh.reset(new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw.c_str(), ldap_searchdn, ldap_searchfilter, ldap_dnattr)); ldh->init(); @@ -603,7 +608,7 @@ void rgw::AppMain::shutdown(std::function finalize_async_signals) fe->stop(); } - ldh.reset(nullptr); // deletes + ldh.reset(nullptr); // deletes ldap helper if it was created rgw_log_usage_finalize(); delete olog;