You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/10/03 13:50:15 UTC

svn commit: r1629185 - in /tomcat/trunk: conf/tomcat-users.xml conf/tomcat-users.xsd java/org/apache/catalina/users/MemoryUserDatabase.java res/confinstall/tomcat-users_1.xml webapps/docs/changelog.xml

Author: markt
Date: Fri Oct  3 11:50:14 2014
New Revision: 1629185

URL: http://svn.apache.org/r1629185
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=43548
Add an XML schema for the tomcat-users.xml file.

Added:
    tomcat/trunk/conf/tomcat-users.xsd   (with props)
Modified:
    tomcat/trunk/conf/tomcat-users.xml
    tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
    tomcat/trunk/res/confinstall/tomcat-users_1.xml
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/conf/tomcat-users.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
==============================================================================
--- tomcat/trunk/conf/tomcat-users.xml (original)
+++ tomcat/trunk/conf/tomcat-users.xml Fri Oct  3 11:50:14 2014
@@ -15,7 +15,10 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<tomcat-users>
+<tomcat-users xmlns="http://tomcat.apache.org/xml"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="http://tomcat.apache.org tomcat-users.xsd"
+              version="1.0">
 <!--
   NOTE:  By default, no user is included in the "manager-gui" role required
   to operate the "/manager/html" web application.  If you wish to use this app,
@@ -33,4 +36,5 @@
   <user username="both" password="tomcat" roles="tomcat,role1"/>
   <user username="role1" password="tomcat" roles="role1"/>
 -->
+
 </tomcat-users>

Added: tomcat/trunk/conf/tomcat-users.xsd
URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xsd?rev=1629185&view=auto
==============================================================================
--- tomcat/trunk/conf/tomcat-users.xsd (added)
+++ tomcat/trunk/conf/tomcat-users.xsd Fri Oct  3 11:50:14 2014
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
+           targetNamespace="http://tomcat.apache.org"
+           xmlns:users="http://tomcat.apache.org"
+           xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified"
+           version="1.0">
+  <xs:element name="tomcat-users">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element name="role" minOccurs="0" maxOccurs="unbounded">
+          <xs:complexType>
+            <xs:attribute name="rolename" use="required" type="users:entityname" />
+            <xs:attribute name="description" type="xs:string" />
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
+          <xs:complexType>
+            <xs:attribute name="groupname" use="required" type="users:entityname" />
+            <xs:attribute name="description" type="xs:string" />
+            <xs:attribute name="roles" type="xs:string" />
+          </xs:complexType>
+        </xs:element>
+        <xs:element name="user" minOccurs="0" maxOccurs="unbounded">
+          <xs:complexType>
+            <xs:attribute name="username" use="required" type="users:entityname" />
+            <xs:attribute name="fullname" type="xs:string" />
+            <xs:attribute name="password" type="xs:string" />
+            <xs:attribute name="roles" type="xs:string" />
+            <xs:attribute name="groups" type="xs:string" />
+          </xs:complexType>
+        </xs:element>
+      </xs:sequence>
+      <xs:attribute name="version" type="xs:string" />
+    </xs:complexType>
+  </xs:element>
+  <xs:simpleType name="entityname">
+    <xs:restriction base="xs:string">
+      <xs:minLength value="1"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>
\ No newline at end of file

Propchange: tomcat/trunk/conf/tomcat-users.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1629185&r1=1629184&r2=1629185&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Fri Oct  3 11:50:14 2014
@@ -544,7 +544,10 @@ public class MemoryUserDatabase implemen
 
             // Print the file prolog
             writer.println("<?xml version='1.0' encoding='utf-8'?>");
-            writer.println("<tomcat-users>");
+            writer.println("<tomcat-users xmlns=\"http://tomcat.apache.org/xml\"");
+            writer.println("              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
+            writer.println("              xsi:schemaLocation=\"http://tomcat.apache.org tomcat-users.xsd\"");
+            writer.println("              version=\"1.0\">");
 
             // Print entries for each defined role, group, and user
             Iterator<?> values = null;

Modified: tomcat/trunk/res/confinstall/tomcat-users_1.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/res/confinstall/tomcat-users_1.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
==============================================================================
--- tomcat/trunk/res/confinstall/tomcat-users_1.xml (original)
+++ tomcat/trunk/res/confinstall/tomcat-users_1.xml Fri Oct  3 11:50:14 2014
@@ -14,4 +14,7 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-<tomcat-users>
+<tomcat-users xmlns="http://tomcat.apache.org/xml"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="http://tomcat.apache.org tomcat-users.xsd"
+              version="1.0">

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Oct  3 11:50:14 2014
@@ -47,6 +47,10 @@
 <section name="Tomcat 8.0.15 (markt)">
   <subsection name="Catalina">
     <changelog>
+      <add>
+        <bug>43548</bug>: Add an XML schema for the tomcat-users.xml file.
+        (markt)
+      </add>
       <fix>
         <bug>55984</bug>: Using the allow separators in version 0 cookies option
         with the legacy cookie processor should only apply to version 0 cookies.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1629185 - in /tomcat/trunk: conf/tomcat-users.xml conf/tomcat-users.xsd java/org/apache/catalina/users/MemoryUserDatabase.java res/confinstall/tomcat-users_1.xml webapps/docs/changelog.xml

Posted by Mark Thomas <ma...@apache.org>.
On 03/10/2014 13:14, Konstantin Kolinko wrote:
> 2014-10-03 15:50 GMT+04:00  <ma...@apache.org>:
>> Author: markt
>> Date: Fri Oct  3 11:50:14 2014
>> New Revision: 1629185
>>
>> URL: http://svn.apache.org/r1629185
>> Log:
>> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=43548
>> Add an XML schema for the tomcat-users.xml file.
>>
>> Added:
>>     tomcat/trunk/conf/tomcat-users.xsd   (with props)
>> Modified:
>>     tomcat/trunk/conf/tomcat-users.xml
>>     tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
>>     tomcat/trunk/res/confinstall/tomcat-users_1.xml
>>     tomcat/trunk/webapps/docs/changelog.xml
>>
>> Modified: tomcat/trunk/conf/tomcat-users.xml
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
>> ==============================================================================
>> --- tomcat/trunk/conf/tomcat-users.xml (original)
>> +++ tomcat/trunk/conf/tomcat-users.xml Fri Oct  3 11:50:14 2014
>> @@ -15,7 +15,10 @@
>>    See the License for the specific language governing permissions and
>>    limitations under the License.
>>  -->
>> -<tomcat-users>
>> +<tomcat-users xmlns="http://tomcat.apache.org/xml"
> 
> Your namespace above does not match the one used in xsi:schemaLocation
> attribute and one used as targetNamespace in the schema file.

Thanks. I was trying different versions and I thought I had them
aligned. I'll get them fixed.

> 
>> +              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> +              xsi:schemaLocation="http://tomcat.apache.org tomcat-users.xsd"
>> +              version="1.0">
>>  <!--
>>    NOTE:  By default, no user is included in the "manager-gui" role required
>>    to operate the "/manager/html" web application.  If you wish to use this app,
>> @@ -33,4 +36,5 @@
>>    <user username="both" password="tomcat" roles="tomcat,role1"/>
>>    <user username="role1" password="tomcat" roles="role1"/>
>>  -->
>> +
>>  </tomcat-users>
>>
>> Added: tomcat/trunk/conf/tomcat-users.xsd
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xsd?rev=1629185&view=auto
>> ==============================================================================
>> --- tomcat/trunk/conf/tomcat-users.xsd (added)
>> +++ tomcat/trunk/conf/tomcat-users.xsd Fri Oct  3 11:50:14 2014
>> @@ -0,0 +1,43 @@
>> +<?xml version="1.0" encoding="UTF-8" ?>
>> +<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
>> +           targetNamespace="http://tomcat.apache.org"
> 
> I wonder whether it is OK to use above URL as a namespace. It is not
> distinctive.
> 
> Other configuration files (such as server.xml) have rather different
> elements, but (in theory) may be in the same namespace.

I think adding xml at the end makes sense.

Mark


> 
>> +           xmlns:users="http://tomcat.apache.org"
>> +           xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> +           elementFormDefault="qualified"
>> +           attributeFormDefault="unqualified"
>> +           version="1.0">
>> +  <xs:element name="tomcat-users">
>> +    <xs:complexType>
>> +      <xs:sequence>
>> +        <xs:element name="role" minOccurs="0" maxOccurs="unbounded">
>> +          <xs:complexType>
>> +            <xs:attribute name="rolename" use="required" type="users:entityname" />
>> +            <xs:attribute name="description" type="xs:string" />
>> +          </xs:complexType>
>> +        </xs:element>
>> +        <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
>> +          <xs:complexType>
>> +            <xs:attribute name="groupname" use="required" type="users:entityname" />
>> +            <xs:attribute name="description" type="xs:string" />
>> +            <xs:attribute name="roles" type="xs:string" />
>> +          </xs:complexType>
>> +        </xs:element>
>> +        <xs:element name="user" minOccurs="0" maxOccurs="unbounded">
>> +          <xs:complexType>
>> +            <xs:attribute name="username" use="required" type="users:entityname" />
>> +            <xs:attribute name="fullname" type="xs:string" />
>> +            <xs:attribute name="password" type="xs:string" />
>> +            <xs:attribute name="roles" type="xs:string" />
>> +            <xs:attribute name="groups" type="xs:string" />
>> +          </xs:complexType>
>> +        </xs:element>
>> +      </xs:sequence>
>> +      <xs:attribute name="version" type="xs:string" />
>> +    </xs:complexType>
>> +  </xs:element>
>> +  <xs:simpleType name="entityname">
>> +    <xs:restriction base="xs:string">
>> +      <xs:minLength value="1"/>
>> +    </xs:restriction>
>> +  </xs:simpleType>
>> +</xs:schema>
>> \ No newline at end of file
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1629185 - in /tomcat/trunk: conf/tomcat-users.xml conf/tomcat-users.xsd java/org/apache/catalina/users/MemoryUserDatabase.java res/confinstall/tomcat-users_1.xml webapps/docs/changelog.xml

Posted by Konstantin Kolinko <kn...@gmail.com>.
2014-10-03 15:50 GMT+04:00  <ma...@apache.org>:
> Author: markt
> Date: Fri Oct  3 11:50:14 2014
> New Revision: 1629185
>
> URL: http://svn.apache.org/r1629185
> Log:
> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=43548
> Add an XML schema for the tomcat-users.xml file.
>
> Added:
>     tomcat/trunk/conf/tomcat-users.xsd   (with props)
> Modified:
>     tomcat/trunk/conf/tomcat-users.xml
>     tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
>     tomcat/trunk/res/confinstall/tomcat-users_1.xml
>     tomcat/trunk/webapps/docs/changelog.xml
>
> Modified: tomcat/trunk/conf/tomcat-users.xml
> URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
> ==============================================================================
> --- tomcat/trunk/conf/tomcat-users.xml (original)
> +++ tomcat/trunk/conf/tomcat-users.xml Fri Oct  3 11:50:14 2014
> @@ -15,7 +15,10 @@
>    See the License for the specific language governing permissions and
>    limitations under the License.
>  -->
> -<tomcat-users>
> +<tomcat-users xmlns="http://tomcat.apache.org/xml"

Your namespace above does not match the one used in xsi:schemaLocation
attribute and one used as targetNamespace in the schema file.

> +              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +              xsi:schemaLocation="http://tomcat.apache.org tomcat-users.xsd"
> +              version="1.0">
>  <!--
>    NOTE:  By default, no user is included in the "manager-gui" role required
>    to operate the "/manager/html" web application.  If you wish to use this app,
> @@ -33,4 +36,5 @@
>    <user username="both" password="tomcat" roles="tomcat,role1"/>
>    <user username="role1" password="tomcat" roles="role1"/>
>  -->
> +
>  </tomcat-users>
>
> Added: tomcat/trunk/conf/tomcat-users.xsd
> URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xsd?rev=1629185&view=auto
> ==============================================================================
> --- tomcat/trunk/conf/tomcat-users.xsd (added)
> +++ tomcat/trunk/conf/tomcat-users.xsd Fri Oct  3 11:50:14 2014
> @@ -0,0 +1,43 @@
> +<?xml version="1.0" encoding="UTF-8" ?>
> +<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
> +           targetNamespace="http://tomcat.apache.org"

I wonder whether it is OK to use above URL as a namespace. It is not
distinctive.

Other configuration files (such as server.xml) have rather different
elements, but (in theory) may be in the same namespace.

> +           xmlns:users="http://tomcat.apache.org"
> +           xmlns:xs="http://www.w3.org/2001/XMLSchema"
> +           elementFormDefault="qualified"
> +           attributeFormDefault="unqualified"
> +           version="1.0">
> +  <xs:element name="tomcat-users">
> +    <xs:complexType>
> +      <xs:sequence>
> +        <xs:element name="role" minOccurs="0" maxOccurs="unbounded">
> +          <xs:complexType>
> +            <xs:attribute name="rolename" use="required" type="users:entityname" />
> +            <xs:attribute name="description" type="xs:string" />
> +          </xs:complexType>
> +        </xs:element>
> +        <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
> +          <xs:complexType>
> +            <xs:attribute name="groupname" use="required" type="users:entityname" />
> +            <xs:attribute name="description" type="xs:string" />
> +            <xs:attribute name="roles" type="xs:string" />
> +          </xs:complexType>
> +        </xs:element>
> +        <xs:element name="user" minOccurs="0" maxOccurs="unbounded">
> +          <xs:complexType>
> +            <xs:attribute name="username" use="required" type="users:entityname" />
> +            <xs:attribute name="fullname" type="xs:string" />
> +            <xs:attribute name="password" type="xs:string" />
> +            <xs:attribute name="roles" type="xs:string" />
> +            <xs:attribute name="groups" type="xs:string" />
> +          </xs:complexType>
> +        </xs:element>
> +      </xs:sequence>
> +      <xs:attribute name="version" type="xs:string" />
> +    </xs:complexType>
> +  </xs:element>
> +  <xs:simpleType name="entityname">
> +    <xs:restriction base="xs:string">
> +      <xs:minLength value="1"/>
> +    </xs:restriction>
> +  </xs:simpleType>
> +</xs:schema>
> \ No newline at end of file
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1629185 - in /tomcat/trunk: conf/tomcat-users.xml conf/tomcat-users.xsd java/org/apache/catalina/users/MemoryUserDatabase.java res/confinstall/tomcat-users_1.xml webapps/docs/changelog.xml

Posted by Mark Thomas <ma...@apache.org>.
On 03/10/2014 15:22, Christopher Schultz wrote:
> Mark,
> 
> On 10/3/14 7:50 AM, markt@apache.org wrote:
>> Author: markt
>> Date: Fri Oct  3 11:50:14 2014
>> New Revision: 1629185
>>
>> URL: http://svn.apache.org/r1629185
>> Log:
>> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=43548
>> Add an XML schema for the tomcat-users.xml file.
>>
>> Added:
>>     tomcat/trunk/conf/tomcat-users.xsd   (with props)
>> Modified:
>>     tomcat/trunk/conf/tomcat-users.xml
>>     tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
>>     tomcat/trunk/res/confinstall/tomcat-users_1.xml
>>     tomcat/trunk/webapps/docs/changelog.xml
>>
>> Modified: tomcat/trunk/conf/tomcat-users.xml
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
>> ==============================================================================
>> --- tomcat/trunk/conf/tomcat-users.xml (original)
>> +++ tomcat/trunk/conf/tomcat-users.xml Fri Oct  3 11:50:14 2014
>> @@ -15,7 +15,10 @@
>>    See the License for the specific language governing permissions and
>>    limitations under the License.
>>  -->
>> -<tomcat-users>
>> +<tomcat-users xmlns="http://tomcat.apache.org/xml"
>> +              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> +              xsi:schemaLocation="http://tomcat.apache.org tomcat-users.xsd"
>> +              version="1.0">
>>  <!--
>>    NOTE:  By default, no user is included in the "manager-gui" role required
>>    to operate the "/manager/html" web application.  If you wish to use this app,
>> @@ -33,4 +36,5 @@
>>    <user username="both" password="tomcat" roles="tomcat,role1"/>
>>    <user username="role1" password="tomcat" roles="role1"/>
>>  -->
>> +
>>  </tomcat-users>
>>
>> Added: tomcat/trunk/conf/tomcat-users.xsd
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xsd?rev=1629185&view=auto
>> ==============================================================================
>> --- tomcat/trunk/conf/tomcat-users.xsd (added)
>> +++ tomcat/trunk/conf/tomcat-users.xsd Fri Oct  3 11:50:14 2014
>> @@ -0,0 +1,43 @@
>> +<?xml version="1.0" encoding="UTF-8" ?>
>> +<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
>> +           targetNamespace="http://tomcat.apache.org"
>> +           xmlns:users="http://tomcat.apache.org"
>> +           xmlns:xs="http://www.w3.org/2001/XMLSchema"
>> +           elementFormDefault="qualified"
>> +           attributeFormDefault="unqualified"
>> +           version="1.0">
>> +  <xs:element name="tomcat-users">
>> +    <xs:complexType>
>> +      <xs:sequence>
>> +        <xs:element name="role" minOccurs="0" maxOccurs="unbounded">
>> +          <xs:complexType>
>> +            <xs:attribute name="rolename" use="required" type="users:entityname" />
>> +            <xs:attribute name="description" type="xs:string" />
>> +          </xs:complexType>
>> +        </xs:element>
>> +        <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
>> +          <xs:complexType>
>> +            <xs:attribute name="groupname" use="required" type="users:entityname" />
>> +            <xs:attribute name="description" type="xs:string" />
>> +            <xs:attribute name="roles" type="xs:string" />
>> +          </xs:complexType>
>> +        </xs:element>
>> +        <xs:element name="user" minOccurs="0" maxOccurs="unbounded">
>> +          <xs:complexType>
>> +            <xs:attribute name="username" use="required" type="users:entityname" />
>> +            <xs:attribute name="fullname" type="xs:string" />
>> +            <xs:attribute name="password" type="xs:string" />
>> +            <xs:attribute name="roles" type="xs:string" />
>> +            <xs:attribute name="groups" type="xs:string" />
>> +          </xs:complexType>
>> +        </xs:element>
>> +      </xs:sequence>
>> +      <xs:attribute name="version" type="xs:string" />
>> +    </xs:complexType>
>> +  </xs:element>
>> +  <xs:simpleType name="entityname">
>> +    <xs:restriction base="xs:string">
>> +      <xs:minLength value="1"/>
>> +    </xs:restriction>
>> +  </xs:simpleType>
>> +</xs:schema>
>> \ No newline at end of file
>>
>> Propchange: tomcat/trunk/conf/tomcat-users.xsd
>> ------------------------------------------------------------------------------
>>     svn:eol-style = native
>>
>> Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1629185&r1=1629184&r2=1629185&view=diff
>> ==============================================================================
>> --- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java (original)
>> +++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Fri Oct  3 11:50:14 2014
>> @@ -544,7 +544,10 @@ public class MemoryUserDatabase implemen
>>  
>>              // Print the file prolog
>>              writer.println("<?xml version='1.0' encoding='utf-8'?>");
>> -            writer.println("<tomcat-users>");
>> +            writer.println("<tomcat-users xmlns=\"http://tomcat.apache.org/xml\"");
>> +            writer.println("              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
>> +            writer.println("              xsi:schemaLocation=\"http://tomcat.apache.org tomcat-users.xsd\"");
>> +            writer.println("              version=\"1.0\">");
>>  
>>              // Print entries for each defined role, group, and user
>>              Iterator<?> values = null;
>>
>> Modified: tomcat/trunk/res/confinstall/tomcat-users_1.xml
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/res/confinstall/tomcat-users_1.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
>> ==============================================================================
>> --- tomcat/trunk/res/confinstall/tomcat-users_1.xml (original)
>> +++ tomcat/trunk/res/confinstall/tomcat-users_1.xml Fri Oct  3 11:50:14 2014
>> @@ -14,4 +14,7 @@
>>    See the License for the specific language governing permissions and
>>    limitations under the License.
>>  -->
>> -<tomcat-users>
>> +<tomcat-users xmlns="http://tomcat.apache.org/xml"
>> +              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> +              xsi:schemaLocation="http://tomcat.apache.org tomcat-users.xsd"
>> +              version="1.0">
>>
>> Modified: tomcat/trunk/webapps/docs/changelog.xml
>> URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
>> ==============================================================================
>> --- tomcat/trunk/webapps/docs/changelog.xml (original)
>> +++ tomcat/trunk/webapps/docs/changelog.xml Fri Oct  3 11:50:14 2014
>> @@ -47,6 +47,10 @@
>>  <section name="Tomcat 8.0.15 (markt)">
>>    <subsection name="Catalina">
>>      <changelog>
>> +      <add>
>> +        <bug>43548</bug>: Add an XML schema for the tomcat-users.xml file.
>> +        (markt)
>> +      </add>
>>        <fix>
>>          <bug>55984</bug>: Using the allow separators in version 0 cookies option
>>          with the legacy cookie processor should only apply to version 0 cookies.
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
> 
> Does Tomcat actively use this schema for semantic validation of
> tomcat-users.xml files? If so, should this be added to an XML Schema
> catalog to avoid network accesses when validating such files?

It doesn't and I wasn't planning on changing that at this time.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1629185 - in /tomcat/trunk: conf/tomcat-users.xml conf/tomcat-users.xsd java/org/apache/catalina/users/MemoryUserDatabase.java res/confinstall/tomcat-users_1.xml webapps/docs/changelog.xml

Posted by Christopher Schultz <ch...@christopherschultz.net>.
Mark,

On 10/3/14 7:50 AM, markt@apache.org wrote:
> Author: markt
> Date: Fri Oct  3 11:50:14 2014
> New Revision: 1629185
> 
> URL: http://svn.apache.org/r1629185
> Log:
> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=43548
> Add an XML schema for the tomcat-users.xml file.
> 
> Added:
>     tomcat/trunk/conf/tomcat-users.xsd   (with props)
> Modified:
>     tomcat/trunk/conf/tomcat-users.xml
>     tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
>     tomcat/trunk/res/confinstall/tomcat-users_1.xml
>     tomcat/trunk/webapps/docs/changelog.xml
> 
> Modified: tomcat/trunk/conf/tomcat-users.xml
> URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
> ==============================================================================
> --- tomcat/trunk/conf/tomcat-users.xml (original)
> +++ tomcat/trunk/conf/tomcat-users.xml Fri Oct  3 11:50:14 2014
> @@ -15,7 +15,10 @@
>    See the License for the specific language governing permissions and
>    limitations under the License.
>  -->
> -<tomcat-users>
> +<tomcat-users xmlns="http://tomcat.apache.org/xml"
> +              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +              xsi:schemaLocation="http://tomcat.apache.org tomcat-users.xsd"
> +              version="1.0">
>  <!--
>    NOTE:  By default, no user is included in the "manager-gui" role required
>    to operate the "/manager/html" web application.  If you wish to use this app,
> @@ -33,4 +36,5 @@
>    <user username="both" password="tomcat" roles="tomcat,role1"/>
>    <user username="role1" password="tomcat" roles="role1"/>
>  -->
> +
>  </tomcat-users>
> 
> Added: tomcat/trunk/conf/tomcat-users.xsd
> URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/tomcat-users.xsd?rev=1629185&view=auto
> ==============================================================================
> --- tomcat/trunk/conf/tomcat-users.xsd (added)
> +++ tomcat/trunk/conf/tomcat-users.xsd Fri Oct  3 11:50:14 2014
> @@ -0,0 +1,43 @@
> +<?xml version="1.0" encoding="UTF-8" ?>
> +<xs:schema xmlns="http://www.w3.org/2001/XMLSchema"
> +           targetNamespace="http://tomcat.apache.org"
> +           xmlns:users="http://tomcat.apache.org"
> +           xmlns:xs="http://www.w3.org/2001/XMLSchema"
> +           elementFormDefault="qualified"
> +           attributeFormDefault="unqualified"
> +           version="1.0">
> +  <xs:element name="tomcat-users">
> +    <xs:complexType>
> +      <xs:sequence>
> +        <xs:element name="role" minOccurs="0" maxOccurs="unbounded">
> +          <xs:complexType>
> +            <xs:attribute name="rolename" use="required" type="users:entityname" />
> +            <xs:attribute name="description" type="xs:string" />
> +          </xs:complexType>
> +        </xs:element>
> +        <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
> +          <xs:complexType>
> +            <xs:attribute name="groupname" use="required" type="users:entityname" />
> +            <xs:attribute name="description" type="xs:string" />
> +            <xs:attribute name="roles" type="xs:string" />
> +          </xs:complexType>
> +        </xs:element>
> +        <xs:element name="user" minOccurs="0" maxOccurs="unbounded">
> +          <xs:complexType>
> +            <xs:attribute name="username" use="required" type="users:entityname" />
> +            <xs:attribute name="fullname" type="xs:string" />
> +            <xs:attribute name="password" type="xs:string" />
> +            <xs:attribute name="roles" type="xs:string" />
> +            <xs:attribute name="groups" type="xs:string" />
> +          </xs:complexType>
> +        </xs:element>
> +      </xs:sequence>
> +      <xs:attribute name="version" type="xs:string" />
> +    </xs:complexType>
> +  </xs:element>
> +  <xs:simpleType name="entityname">
> +    <xs:restriction base="xs:string">
> +      <xs:minLength value="1"/>
> +    </xs:restriction>
> +  </xs:simpleType>
> +</xs:schema>
> \ No newline at end of file
> 
> Propchange: tomcat/trunk/conf/tomcat-users.xsd
> ------------------------------------------------------------------------------
>     svn:eol-style = native
> 
> Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
> URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1629185&r1=1629184&r2=1629185&view=diff
> ==============================================================================
> --- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java (original)
> +++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Fri Oct  3 11:50:14 2014
> @@ -544,7 +544,10 @@ public class MemoryUserDatabase implemen
>  
>              // Print the file prolog
>              writer.println("<?xml version='1.0' encoding='utf-8'?>");
> -            writer.println("<tomcat-users>");
> +            writer.println("<tomcat-users xmlns=\"http://tomcat.apache.org/xml\"");
> +            writer.println("              xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
> +            writer.println("              xsi:schemaLocation=\"http://tomcat.apache.org tomcat-users.xsd\"");
> +            writer.println("              version=\"1.0\">");
>  
>              // Print entries for each defined role, group, and user
>              Iterator<?> values = null;
> 
> Modified: tomcat/trunk/res/confinstall/tomcat-users_1.xml
> URL: http://svn.apache.org/viewvc/tomcat/trunk/res/confinstall/tomcat-users_1.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
> ==============================================================================
> --- tomcat/trunk/res/confinstall/tomcat-users_1.xml (original)
> +++ tomcat/trunk/res/confinstall/tomcat-users_1.xml Fri Oct  3 11:50:14 2014
> @@ -14,4 +14,7 @@
>    See the License for the specific language governing permissions and
>    limitations under the License.
>  -->
> -<tomcat-users>
> +<tomcat-users xmlns="http://tomcat.apache.org/xml"
> +              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> +              xsi:schemaLocation="http://tomcat.apache.org tomcat-users.xsd"
> +              version="1.0">
> 
> Modified: tomcat/trunk/webapps/docs/changelog.xml
> URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1629185&r1=1629184&r2=1629185&view=diff
> ==============================================================================
> --- tomcat/trunk/webapps/docs/changelog.xml (original)
> +++ tomcat/trunk/webapps/docs/changelog.xml Fri Oct  3 11:50:14 2014
> @@ -47,6 +47,10 @@
>  <section name="Tomcat 8.0.15 (markt)">
>    <subsection name="Catalina">
>      <changelog>
> +      <add>
> +        <bug>43548</bug>: Add an XML schema for the tomcat-users.xml file.
> +        (markt)
> +      </add>
>        <fix>
>          <bug>55984</bug>: Using the allow separators in version 0 cookies option
>          with the legacy cookie processor should only apply to version 0 cookies.
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
> 

Does Tomcat actively use this schema for semantic validation of
tomcat-users.xml files? If so, should this be added to an XML Schema
catalog to avoid network accesses when validating such files?

-chris