libidav/methods.c

changeset 147
458a8dc68048
parent 141
b0c44be83276
child 148
f21ee22170bf
equal deleted inserted replaced
146:e48048334602 147:458a8dc68048
413 } 413 }
414 414
415 DavResource* response2resource(DavSession *sn, ResponseTag *response, char *parent_path) { 415 DavResource* response2resource(DavSession *sn, ResponseTag *response, char *parent_path) {
416 // create resource 416 // create resource
417 char *name = NULL; 417 char *name = NULL;
418 if(DAV_DECRYPT_NAME(sn) && response->crypto_name) { 418 DavKey *key = NULL;
419 if(DAV_DECRYPT_NAME(sn) && response->crypto_name && (key = dav_context_get_key(sn->context, response->crypto_key))) {
419 if(!response->crypto_key) { 420 if(!response->crypto_key) {
420 // TODO: error 421 // TODO: error
421 fprintf(stderr, "encrypted resource without key\n"); 422 fprintf(stderr, "encrypted resource without key\n");
422 return NULL; 423 return NULL;
423 } 424 }
424 name = util_decrypt_str(sn, response->crypto_name, response->crypto_key); 425 name = util_decrypt_str_k(sn, response->crypto_name, key);
425 if(!name) { 426 if(!name) {
426 // TODO: error 427 // TODO: error
427 fprintf(stderr, "decrypted name is null\n"); 428 fprintf(stderr, "decrypted name is null\n");
428 return NULL; 429 return NULL;
429 } 430 }

mercurial