Wed, 13 Jul 2016 16:27:06 +0200
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>