adds XSD for dav config XML and removes comma as authmethod delimiter

Wed, 13 Jul 2016 16:27:06 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 13 Jul 2016 16:27:06 +0200
changeset 247
3020d1b5e7bd
parent 246
470f0c2e505e
child 248
99574ca1c253

adds XSD for dav config XML and removes comma as authmethod delimiter

dav/config.c file | annotate | diff | comparison | revisions
docs/config.xsd file | annotate | diff | comparison | revisions
--- a/dav/config.c	Wed Jul 13 14:38:17 2016 +0200
+++ b/dav/config.c	Wed Jul 13 16:27:06 2016 +0200
@@ -267,7 +267,7 @@
         }
     } else if(xstreq(key, "authmethods")) {
         repo->authmethods = CURLAUTH_NONE;
-        const char *delims = " ,\r\n";
+        const char *delims = " \r\n";
         char *meths = strdup(value);
         char *meth = strtok(meths, delims);
         while (meth) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/config.xsd	Wed Jul 13 16:27:06 2016 +0200
@@ -0,0 +1,126 @@
+<?xml version="1.0"?>
+<!--
+Copyright 2016 Olaf Wintermann. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<xs:schema version="1.0"
+           targetNamespace="http://davutils.org/cfg/dav"
+           xmlns:xs="http://www.w3.org/2001/XMLSchema"
+           xmlns:t="http://davutils.org/cfg/dav"
+           elementFormDefault="qualified"
+>
+    
+    <xs:complexType name="networkProxy">
+        <xs:all>
+            <xs:element name="url" type="xs:anyURI"/>
+            <xs:element name="user" minOccurs="0" type="xs:string"/>
+            <xs:element name="password" minOccurs="0" type="xs:base64Binary" />
+            <xs:element name="no" minOccurs="0" type="xs:string"/>
+        </xs:all>
+    </xs:complexType>
+    
+    <xs:simpleType name="encryptionTypeEnum" >
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="aes128" />
+            <xs:enumeration value="aes256" />
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:complexType name="encryptionKey">
+        <xs:all>
+            <xs:element name="name" type="xs:string" />
+            <xs:element name="file" type="xs:string" />
+            <xs:element name="type" minOccurs="0" type="t:encryptionTypeEnum" />
+        </xs:all>
+    </xs:complexType>
+    
+    <xs:simpleType name="sslVersionEnum" >
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="TLSv1" />
+            <xs:enumeration value="TLSv1.0" />
+            <xs:enumeration value="TLSv1.1" />
+            <xs:enumeration value="TLSv1.2" />
+            <xs:enumeration value="SSLv2" />
+            <xs:enumeration value="SSLv3" />
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="authmethodEnum">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="basic" />
+            <xs:enumeration value="digest" />
+            <xs:enumeration value="negotiate" />
+            <xs:enumeration value="ntlm" />
+            <xs:enumeration value="any" />
+            <xs:enumeration value="none" />
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:complexType name="repositoryEntry">
+        <xs:all>
+            <xs:element name="name" type="xs:string"/>
+            <xs:element name="url" type="xs:anyURI"/>
+            <xs:element name="user" minOccurs="0" type="xs:string"/>
+            <xs:element name="password" minOccurs="0" type="xs:base64Binary" />
+            <xs:element name="default-key" minOccurs="0" type="xs:string" />
+            <xs:element name="full-encryption" default="false"
+                        minOccurs="0" type="xs:boolean" />
+            <xs:element name="content-encryption" default="false"
+                        minOccurs="0" type="xs:boolean" />
+            <xs:element name="decrypt-content" default="true"
+                        minOccurs="0" type="xs:boolean" />
+            <xs:element name="decrypt-name" default="false"
+                        minOccurs="0" type="xs:boolean" />
+            <xs:element name="cert" minOccurs="0" type="xs:string"/>
+            <xs:element name="verification" default="true"
+                        minOccurs="0" type="xs:boolean" />
+            <xs:element name="ssl-version"
+                        minOccurs="0" type="t:sslVersionEnum"/>
+            <xs:element name="authmethods" minOccurs="0">
+                <xs:simpleType>
+                    <xs:list itemType="t:authmethodEnum"/>
+                </xs:simpleType>
+            </xs:element>
+        </xs:all>
+    </xs:complexType>
+
+    <xs:element name="configuration">
+        <xs:complexType>
+            <xs:sequence minOccurs="0" maxOccurs="unbounded">
+                <xs:element name="key"
+                            minOccurs="0" type="t:encryptionKey">
+                </xs:element>
+                <xs:element name="http-proxy"
+                            minOccurs="0" type="t:networkProxy" />
+                <xs:element name="https-proxy"
+                            minOccurs="0" type="t:networkProxy" />
+                <xs:element name="repository"
+                            minOccurs="0" type="t:repositoryEntry">
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+</xs:schema>

mercurial