浏览代码

HPCC-12598 Configgen ldapserver enumeration map incorrectly updated

When "-listldapservers" specified in configgen, there is some code in the
ldapServers string map that incorrectly removes an entry after it has been
processed. Currently it sets that value to NULL, when in reality it should
be calling the remove() method. This fix changes that to use remove

Signed-off-by: William Whitehead <william.whitehead@lexisnexis.com>
William Whitehead 10 年之前
父节点
当前提交
c88cc063bf
共有 1 个文件被更改,包括 3 次插入4 次删除
  1. 3 4
      deployment/configgen/main.cpp

+ 3 - 4
deployment/configgen/main.cpp

@@ -427,12 +427,11 @@ int processRequest(const char* in_cfgname, const char* out_dirname, const char*
         //If this is ldap server name, lookup and add its IP address
         if (0==strcmp(attrs->queryName(), "@name"))
         {
-          StringBuffer sb(attrs->queryValue());
-          StringBuffer * ldapIP = ldapServers.getValue(sb);
-          if (ldapIP->str())
+          StringBuffer * ldapIP = ldapServers.getValue(attrs->queryValue());
+          if (ldapIP)
           {
             out.appendf("@ldapAddress,%s\n",ldapIP->str());
-            ldapServers.setValue(attrs->queryValue(), NULL);
+            ldapServers.remove(attrs->queryValue());//ensure this server only listed once
           }
           else
           {