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 } |