Browse Source

Merge pull request #10279 from wangkx/correct_authd_to_esp_xml

HPCC-18037 Fix 3 bugs related to ESP AuthDomain setting

Reviewed-By: Russ Whitehead <william.whitehead@lexisnexis.com>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 7 years ago
parent
commit
35bac88e33
2 changed files with 18 additions and 11 deletions
  1. 1 1
      esp/platform/espcfg.cpp
  2. 17 10
      initfiles/componentfiles/configxml/esp.xsl

+ 1 - 1
esp/platform/espcfg.cpp

@@ -127,7 +127,7 @@ void CEspConfig::ensureSDSSessionDomains()
             continue;
 
         hasSessionAuth = true;
-        const char* authDomainName = authDomain.queryProp("@name");
+        const char* authDomainName = authDomain.queryProp("@domainName");
         if (isEmptyString(authDomainName) || strieq(authDomainName, "default"))
         {
             if (hasDefaultSessionDomain)

+ 17 - 10
initfiles/componentfiles/configxml/esp.xsl

@@ -90,20 +90,22 @@
               <xsl:value-of disable-output-escaping="yes" select="$indent" />
               <xsl:value-of disable-output-escaping="yes" select="$indent" />
               <xsl:value-of disable-output-escaping="yes" select="$indent" />
-              <AuthDomains>
-                <xsl:for-each select="AuthDomain">
+              <xsl:if test="AuthDomains/AuthDomain[1]">
+                <AuthDomains>
+                  <xsl:for-each select="AuthDomains/AuthDomain">
+                    <xsl:value-of disable-output-escaping="yes" select="$break" />
+                    <xsl:value-of disable-output-escaping="yes" select="$indent" />
+                    <xsl:value-of disable-output-escaping="yes" select="$indent" />
+                    <xsl:value-of disable-output-escaping="yes" select="$indent" />
+                    <xsl:value-of disable-output-escaping="yes" select="$indent" />
+                    <xsl:copy-of select="."/>
+                  </xsl:for-each>
                   <xsl:value-of disable-output-escaping="yes" select="$break" />
                   <xsl:value-of disable-output-escaping="yes" select="$indent" />
                   <xsl:value-of disable-output-escaping="yes" select="$indent" />
                   <xsl:value-of disable-output-escaping="yes" select="$indent" />
-                  <xsl:value-of disable-output-escaping="yes" select="$indent" />
-                  <xsl:copy-of select="."/>
-                </xsl:for-each>
-                <xsl:value-of disable-output-escaping="yes" select="$break" />
-                <xsl:value-of disable-output-escaping="yes" select="$indent" />
-                <xsl:value-of disable-output-escaping="yes" select="$indent" />
-                <xsl:value-of disable-output-escaping="yes" select="$indent" />
-              </AuthDomains>
+                </AuthDomains>
+              </xsl:if>
             </xsl:if>
 
             <xsl:for-each select="Authentication">
@@ -349,6 +351,11 @@
     <!--don't produce in output -->
     <xsl:template match="@buildSet|@maxRequestEntityLength"/>
 
+    <!--don't produce in output -->
+    <xsl:template match="EspProcess/AuthDomains"/>
+
+    <!--don't produce in output -->
+    <xsl:template match="EspProcess/EspControlBinding"/>
 
     <xsl:template match="/|@*|node()">
         <!--matches any attribute or child of any types-->