Преглед на файлове

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
           {