Add regex support to acl plugin.
[shibboleth/sp.git] / schemas / shibboleth-2.0-native-sp-config.xsd
index b8450d4..54bdd2b 100644 (file)
                                <element ref="conf:Extensions" minOccurs="0"/>\r
                                <element ref="conf:OutOfProcess"/>\r
                                <element ref="conf:InProcess"/>\r
+                <choice minOccurs="0">\r
+                    <element name="UnixListener">\r
+                        <complexType>\r
+                            <attribute name="address" type="conf:string" use="required"/>\r
+                        </complexType>\r
+                    </element>\r
+                    <element name="TCPListener">\r
+                        <complexType>\r
+                            <attribute name="address" type="conf:string" use="required"/>\r
+                            <attribute name="port" type="unsignedInt" use="required"/>\r
+                            <attribute name="acl" type="conf:listOfStrings" default="127.0.0.1"/>\r
+                        </complexType>\r
+                    </element>\r
+                    <element name="Listener" type="conf:PluggableType"/>\r
+                </choice>\r
+                <element ref="conf:StorageService" minOccurs="0" maxOccurs="unbounded"/>\r
+                <element ref="conf:SessionCache" minOccurs="0"/>\r
+                <element ref="conf:ReplayCache" minOccurs="0"/>\r
+                <element ref="conf:ArtifactMap" minOccurs="0"/>\r
+                <element name="RequestMapper" type="conf:PluggableType" minOccurs="0"/>\r
                                <element ref="conf:Applications"/>\r
                                <element ref="conf:SecurityPolicies"/>\r
                        </sequence>\r
        \r
        <element name="OutOfProcess">\r
                <annotation>\r
-                       <documentation>Container for shibd out-of-process configuration</documentation>\r
+                       <documentation>Container for out-of-process (shibd) configuration</documentation>\r
                </annotation>\r
                <complexType>\r
                        <sequence>\r
                                <element ref="conf:Extensions" minOccurs="0"/>\r
-                               <choice>\r
-                                       <element name="UnixListener">\r
-                                               <complexType>\r
-                                                       <attribute name="address" type="conf:string" use="required"/>\r
-                                               </complexType>\r
-                                       </element>\r
-                                       <element name="TCPListener">\r
-                                               <complexType>\r
-                                                       <attribute name="address" type="conf:string" use="required"/>\r
-                                                       <attribute name="port" type="unsignedInt" use="required"/>\r
-                                                       <attribute name="acl" type="conf:listOfStrings" default="127.0.0.1"/>\r
-                                               </complexType>\r
-                                       </element>\r
-                                       <element name="Listener" type="conf:PluggableType"/>\r
-                               </choice>\r
-                               <element ref="conf:StorageService" minOccurs="0" maxOccurs="unbounded"/>\r
-                               <element ref="conf:SessionCache" minOccurs="0"/>\r
-                               <element ref="conf:ReplayCache" minOccurs="0"/>\r
-                               <element ref="conf:ArtifactMap" minOccurs="0"/>\r
                                <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
                        </sequence>\r
                        <attribute name="logger" type="anyURI"/>\r
+                   <attribute name="catchAll" type="boolean"/>\r
                        <anyAttribute namespace="##other" processContents="lax"/>\r
                </complexType>\r
        </element>\r
                <complexType>\r
                        <sequence>\r
                                <element ref="conf:Extensions" minOccurs="0"/>\r
-                               <element ref="conf:SessionCache" minOccurs="0"/>\r
-                               <element name="RequestMapper" type="conf:PluggableType"/>\r
-                               <element name="Implementation" minOccurs="0">\r
-                                       <complexType>\r
-                                               <sequence>\r
-                                                       <element ref="conf:ISAPI" minOccurs="0"/>\r
-                                                       <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
-                                               </sequence>\r
-                                       </complexType>\r
-                               </element>\r
+                               <element ref="conf:ISAPI" minOccurs="0"/>\r
                                <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
                        </sequence>\r
                        <attribute name="logger" type="anyURI"/>\r
                        <attribute name="unsetHeaderValue" type="string"/>\r
                        <attribute name="checkSpoofing" type="boolean"/>\r
+                   <attribute name="catchAll" type="boolean"/>\r
                        <anyAttribute namespace="##other" processContents="lax"/>\r
                </complexType>\r
        </element>\r
                        <element ref="conf:OR"/>\r
                        <element ref="conf:NOT"/>\r
                        <element ref="conf:Rule"/>\r
+                   <element ref="conf:RuleRegex"/>\r
                </choice>\r
        </complexType>\r
        <complexType name="MultiOperatorType">\r
                        <element ref="conf:OR"/>\r
                        <element ref="conf:NOT"/>\r
                        <element ref="conf:Rule"/>\r
+                   <element ref="conf:RuleRegex"/>\r
                </choice>\r
        </complexType>\r
        <element name="Rule">\r
                        <simpleContent>\r
                                <extension base="conf:listOfStrings">\r
                                        <attribute name="require" type="conf:string" use="required"/>\r
+                                   <attribute name="list" type="boolean"/>\r
                                </extension>\r
                        </simpleContent>\r
                </complexType>\r
        </element>\r
+    <element name="RuleRegex">\r
+        <complexType>\r
+            <simpleContent>\r
+                <extension base="conf:string">\r
+                    <attribute name="require" type="conf:string" use="required"/>\r
+                    <attribute name="ignoreCase" type="boolean"/>\r
+                </extension>\r
+            </simpleContent>\r
+        </complexType>\r
+    </element>\r
        \r
        <attributeGroup name="ContentSettings">\r
                <attribute name="authType" type="conf:string"/>\r
                <attribute name="forceAuthn" type="boolean"/>\r
                <attribute name="authnContextClassRef" type="anyURI"/>\r
                <attribute name="authnContextComparison" type="samlp:AuthnContextComparisonType"/>\r
+        <attribute name="redirectErrors" type="anyURI"/>\r
                <attribute name="sessionError" type="anyURI"/>\r
                <attribute name="metadataError" type="anyURI"/>\r
                <attribute name="accessError" type="anyURI"/>\r
                <attribute name="REMOTE_USER" type="conf:listOfStrings"/>\r
                <attribute name="unsetHeaders" type="conf:listOfStrings"/>\r
                <attribute name="metadataAttributePrefix" type="conf:string"/>\r
-               <attribute name="redirectErrors" type="anyURI"/>\r
+           <attribute name="attributePrefix" type="conf:string"/>\r
                <attribute name="localLogout" type="anyURI"/>\r
                <attribute name="globalLogout" type="anyURI"/>\r
        </attributeGroup>\r
                                                                        <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
                                                                </sequence>\r
                                                                <attribute name="Location" type="anyURI" use="required"/>\r
+                                                           <attribute name="acl" type="conf:listOfStrings"/>\r
                                                                <anyAttribute namespace="##any" processContents="lax"/>\r
                                                        </restriction>\r
                                                </complexContent>\r
                        <attribute name="exportACL" type="conf:listOfStrings" default="127.0.0.1"/>\r
                        <attribute name="cookieName" type="conf:string"/>\r
                        <attribute name="cookieProps" type="conf:string"/>\r
-                       <attribute name="idpHistory" type="boolean" default="true"/>\r
+                       <attribute name="idpHistory" type="boolean" default="false"/>\r
                        <attribute name="idpHistoryDays" type="unsignedInt"/>\r
                        <attribute name="lifetime" type="unsignedInt" default="28800"/>\r
                        <attribute name="timeout" type="unsignedInt" default="3600"/>\r
+                   <attribute name="authnskew" type="unsignedInt"/>\r
                        <attribute name="checkAddress" type="boolean" default="true"/>\r
                        <attribute name="consistentAddress" type="boolean" default="true"/>\r
                        <anyAttribute namespace="##other" processContents="lax"/>\r
                                        <attribute name="postArtifact" type="boolean"/>\r
                                        <attribute name="acsByIndex" type="boolean"/>\r
                                        <attribute name="defaultACSIndex" type="unsignedShort"/>\r
+                    <attribute name="isPassive" type="boolean"/>\r
+                    <attribute name="forceAuthn" type="boolean"/>\r
+                    <attribute name="authnContextClassRef" type="anyURI"/>\r
+                    <attribute name="authnContextComparison" type="samlp:AuthnContextComparisonType"/>\r
                                        <anyAttribute namespace="##any" processContents="lax"/>\r
                                </restriction>\r
                        </complexContent>\r
                                                <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
                                        </sequence>\r
                                        <attribute name="Location" type="anyURI"/>\r
+                                   <attribute name="relayState" type="conf:string"/>\r
                                        <attribute name="outgoingBindings" type="conf:listOfURIs"/>\r
                                        <attribute name="template" type="anyURI"/>\r
                                        <attribute name="postArtifact" type="boolean"/>\r
                        <sequence>\r
                                <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>\r
                        </sequence>\r
-                       <attribute name="session" type="anyURI" use="required"/>\r
+            <attribute name="redirectErrors" type="anyURI"/>\r
+                       <attribute name="session" type="anyURI"/>\r
                        <attribute name="metadata" type="anyURI"/>\r
                        <attribute name="access" type="anyURI"/>\r
                        <attribute name="ssl" type="anyURI"/>\r