diff -r e48048334602 -r 458a8dc68048 libidav/methods.c --- a/libidav/methods.c Sat Oct 03 16:44:50 2015 +0200 +++ b/libidav/methods.c Sat Oct 03 18:11:07 2015 +0200 @@ -415,13 +415,14 @@ DavResource* response2resource(DavSession *sn, ResponseTag *response, char *parent_path) { // create resource char *name = NULL; - if(DAV_DECRYPT_NAME(sn) && response->crypto_name) { + DavKey *key = NULL; + if(DAV_DECRYPT_NAME(sn) && response->crypto_name && (key = dav_context_get_key(sn->context, response->crypto_key))) { if(!response->crypto_key) { // TODO: error fprintf(stderr, "encrypted resource without key\n"); return NULL; } - name = util_decrypt_str(sn, response->crypto_name, response->crypto_key); + name = util_decrypt_str_k(sn, response->crypto_name, key); if(!name) { // TODO: error fprintf(stderr, "decrypted name is null\n");