dav/config.c

changeset 73
41e88442ad4e
parent 43
03076907b58a
child 74
da079dc0724c
equal deleted inserted replaced
72:aac29f2e8030 73:41e88442ad4e
36 36
37 #include "config.h" 37 #include "config.h"
38 #include <libidav/utils.h> 38 #include <libidav/utils.h>
39 39
40 #define xstreq(a,b) xmlStrEqual(BAD_CAST a, BAD_CAST b) 40 #define xstreq(a,b) xmlStrEqual(BAD_CAST a, BAD_CAST b)
41 #define xstrEQ(a,b) !xmlStrcasecmp(BAD_CAST a, BAD_CAST b)
41 42
42 #ifdef _WIN32 43 #ifdef _WIN32
43 #define ENV_HOME getenv("USERPROFILE") 44 #define ENV_HOME getenv("USERPROFILE")
44 #else 45 #else
45 #define ENV_HOME getenv("HOME") 46 #define ENV_HOME getenv("HOME")
113 Repository *repo = calloc(1, sizeof(Repository)); 114 Repository *repo = calloc(1, sizeof(Repository));
114 repo->encrypt_name = false; 115 repo->encrypt_name = false;
115 repo->encrypt_content = false; 116 repo->encrypt_content = false;
116 repo->decrypt_name = false; 117 repo->decrypt_name = false;
117 repo->decrypt_content = true; 118 repo->decrypt_content = true;
119 repo->ssl_version = CURL_SSLVERSION_DEFAULT;
118 while(node) { 120 while(node) {
119 if(node->type == XML_ELEMENT_NODE) { 121 if(node->type == XML_ELEMENT_NODE) {
120 char *value = util_xml_get_text(node); 122 char *value = util_xml_get_text(node);
121 if(!value) { 123 if(!value) {
122 // next 124 // next
146 } 148 }
147 } else if(xstreq(node->name, "decrypt-content")) { 149 } else if(xstreq(node->name, "decrypt-content")) {
148 repo->decrypt_content = util_getboolean(value); 150 repo->decrypt_content = util_getboolean(value);
149 } else if(xstreq(node->name, "decrypt-name")) { 151 } else if(xstreq(node->name, "decrypt-name")) {
150 repo->decrypt_name = util_getboolean(value); 152 repo->decrypt_name = util_getboolean(value);
153 } else if(xstreq(node->name, "ssl-version")) {
154 if(xstrEQ(value, "TLSv1")) {
155 repo->ssl_version = CURL_SSLVERSION_TLSv1;
156 } else if(xstrEQ(value, "SSLv2")) {
157 repo->ssl_version = CURL_SSLVERSION_SSLv2;
158 } else if(xstrEQ(value, "SSLv3")) {
159 repo->ssl_version = CURL_SSLVERSION_SSLv3;
160 }
161 #if LIBCURL_VERSION_MAJOR >= 7
162 #if LIBCURL_VERSION_MINOR >= 34
163 else if(xstrEQ(value, "TLSv1.0")) {
164 repo->ssl_version = CURL_SSLVERSION_TLSv1_0;
165 } else if(xstrEQ(value, "TLSv1.1")) {
166 repo->ssl_version = CURL_SSLVERSION_TLSv1_1;
167 } else if(xstrEQ(value, "TLSv1.2")) {
168 repo->ssl_version = CURL_SSLVERSION_TLSv1_2;
169 }
170 #endif
171 #endif
172 else {
173 fprintf(stderr, "Unknown ssl version: %s\n", value);
174 }
151 } else if(xstreq(node->name, "encrypt") || xstreq(node->name, "store-key-property") || xstreq(node->name, "decrypt")) { 175 } else if(xstreq(node->name, "encrypt") || xstreq(node->name, "store-key-property") || xstreq(node->name, "decrypt")) {
152 fprintf(stderr, "Error: config.xml contains deprecated elements\n"); 176 fprintf(stderr, "Error: config.xml contains deprecated elements\n");
153 fprintf(stderr, "The elements <encrypt>, <decrypt> and <store-key-property> are removed\n"); 177 fprintf(stderr, "The elements <encrypt>, <decrypt> and <store-key-property> are removed\n");
154 fprintf(stderr, "Use the following: \n\n"); 178 fprintf(stderr, "Use the following: \n\n");
155 fprintf(stderr, "<content-encryption>true</content-encryption>\n"); 179 fprintf(stderr, "<content-encryption>true</content-encryption>\n");

mercurial