dav/config.c

changeset 154
3cfb4670d9e6
parent 150
37fb12574acd
child 185
cd42cccee550
equal deleted inserted replaced
153:272173064319 154:3cfb4670d9e6
159 repo->encrypt_name = false; 159 repo->encrypt_name = false;
160 repo->encrypt_content = false; 160 repo->encrypt_content = false;
161 repo->decrypt_name = false; 161 repo->decrypt_name = false;
162 repo->decrypt_content = true; 162 repo->decrypt_content = true;
163 repo->ssl_version = CURL_SSLVERSION_DEFAULT; 163 repo->ssl_version = CURL_SSLVERSION_DEFAULT;
164 repo->authmethods = CURLAUTH_BASIC;
164 return repo; 165 return repo;
165 } 166 }
166 167
167 void load_repository(xmlNode *reponode) { 168 void load_repository(xmlNode *reponode) {
168 xmlNode *node = reponode->children; 169 xmlNode *node = reponode->children;
200 } 201 }
201 202
202 ucx_map_cstr_put(repos, repo->name, repo); 203 ucx_map_cstr_put(repos, repo->name, repo);
203 } 204 }
204 205
205 int repo_add_config(Repository *repo, char *key, char *value) { 206 int repo_add_config(Repository *repo, char *key, char *value) {
206 if(xstreq(key, "name")) { 207 if(xstreq(key, "name")) {
207 repo->name = strdup(value); 208 repo->name = strdup(value);
208 } else if(xstreq(key, "url")) { 209 } else if(xstreq(key, "url")) {
209 repo->url = strdup(value); 210 repo->url = strdup(value);
210 } else if(xstreq(key, "user")) { 211 } else if(xstreq(key, "user")) {
251 #endif 252 #endif
252 #endif 253 #endif
253 else { 254 else {
254 fprintf(stderr, "Unknown ssl version: %s\n", value); 255 fprintf(stderr, "Unknown ssl version: %s\n", value);
255 } 256 }
257 } else if(xstreq(key, "authmethods")) {
258 repo->authmethods = CURLAUTH_NONE;
259 const char *delims = " ,\r\n";
260 char *meths = strdup(value);
261 char *meth = strtok(meths, delims);
262 while (meth) {
263 if(xstrEQ(value, "basic")) {
264 repo->authmethods |= CURLAUTH_BASIC;
265 } else if(xstrEQ(value, "digest")) {
266 repo->authmethods |= CURLAUTH_DIGEST;
267 } else if(xstrEQ(value, "negotiate")) {
268 repo->authmethods |= CURLAUTH_GSSNEGOTIATE;
269 } else if(xstrEQ(value, "ntlm")) {
270 repo->authmethods |= CURLAUTH_NTLM;
271 } else if(xstrEQ(value, "any")) {
272 repo->authmethods = CURLAUTH_ANY;
273 } else if(xstrEQ(value, "none")) {
274 /* skip */
275 } else {
276 fprintf(stderr, "Unknown authentication method: %s\n", value);
277 }
278 meth = strtok(NULL, delims);
279 }
280 free(meths);
256 } else { 281 } else {
257 return -1; 282 return -1;
258 } 283 }
259 return 0; 284 return 0;
260 } 285 }

mercurial