diff -r e554f3d72d9e -r 067ea2315a8a libidav/resource.c --- a/libidav/resource.c Tue Dec 12 23:58:54 2017 +0100 +++ b/libidav/resource.c Mon Dec 18 11:56:11 2017 +0100 @@ -656,7 +656,7 @@ // put resource ret = do_put_request( - sn->handle, + sn, locktoken, TRUE, enc, @@ -683,7 +683,7 @@ free(enc_hash); } else { ret = do_put_request( - sn->handle, + sn, locktoken, TRUE, data->content, @@ -716,7 +716,7 @@ UcxBuffer *response = ucx_buffer_new(NULL, 1024, UCX_BUFFER_AUTOEXTEND); //printf("request:\n%.*s\n\n", request->pos, request->space); - CURLcode ret = do_proppatch_request(sn->handle, locktoken, request, response); + CURLcode ret = do_proppatch_request(sn, locktoken, request, response); long status = 0; curl_easy_getinfo (sn->handle, CURLINFO_RESPONSE_CODE, &status); if(ret == CURLE_OK && status == 207) { @@ -765,7 +765,8 @@ curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_fnc); curl_easy_setopt(handle, CURLOPT_WRITEDATA, stream); - CURLcode ret = curl_easy_perform(handle); + long status = 0; + CURLcode ret = dav_session_curl_perform(sn, &status); char *hash = NULL; if(dec) { @@ -779,8 +780,6 @@ aes_decrypter_close(dec); } - long status = 0; - curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); if(ret == CURLE_OK && (status >= 200 && status < 300)) { int verify_failed = 0; if(DAV_DECRYPT_CONTENT(sn) && key) { @@ -836,7 +835,7 @@ char *locktoken = lock ? lock->token : NULL; UcxBuffer *response = ucx_buffer_new(NULL, 4096, UCX_BUFFER_AUTOEXTEND); - CURLcode ret = do_delete_request(handle, locktoken, response); + CURLcode ret = do_delete_request(res->session, locktoken, response); long status = 0; curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); int r = 0; @@ -873,7 +872,7 @@ for(int i=0;i<2;i++) { util_set_url(sn, h); - code = do_mkcol_request(handle, locktoken); + code = do_mkcol_request(sn, locktoken); curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE, &status); if(status == 201) { // resource successfully created @@ -918,9 +917,9 @@ CURLcode code; if(res->iscollection) { - code = do_mkcol_request(handle, locktoken); + code = do_mkcol_request(sn, locktoken); } else { - code = do_put_request(handle, locktoken, TRUE, "", NULL, 0); + code = do_put_request(sn, locktoken, TRUE, "", NULL, 0); } long s = 0; curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE, &s); @@ -965,7 +964,7 @@ CURL *handle = sn->handle; util_set_url(sn, dav_resource_get_href(res)); - CURLcode ret = do_head_request(handle); + CURLcode ret = do_head_request(sn); long status = 0; curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); if(ret == CURLE_OK && (status >= 200 && status < 300)) { @@ -984,7 +983,7 @@ DavLock *lock = dav_get_lock(sn, res->path); char *locktoken = lock ? lock->token : NULL; - CURLcode ret = do_copy_move_request(handle, desturl, locktoken, copy, override); + CURLcode ret = do_copy_move_request(sn, desturl, locktoken, copy, override); long status = 0; curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); @@ -1041,7 +1040,7 @@ UcxBuffer *request = create_lock_request(); UcxBuffer *response = ucx_buffer_new(NULL, 512, UCX_BUFFER_AUTOEXTEND); - CURLcode ret = do_lock_request(handle, request, response, timeout); + CURLcode ret = do_lock_request(sn, request, response, timeout); //printf("\nlock\n"); //printf("%.*s\n\n", request->size, request->space); @@ -1097,7 +1096,7 @@ return -1; } - CURLcode ret = do_unlock_request(handle, lock->token); + CURLcode ret = do_unlock_request(sn, lock->token); long status = 0; curl_easy_getinfo (handle, CURLINFO_RESPONSE_CODE, &status); if(ret == CURLE_OK && (status >= 200 && status < 300)) { @@ -1121,7 +1120,7 @@ util_set_url(sn, href); // TODO: lock - CURLcode ret = do_proppatch_request(sn->handle, NULL, request, response); + CURLcode ret = do_proppatch_request(sn, NULL, request, response); ucx_buffer_free(request); long status = 0; curl_easy_getinfo (sn->handle, CURLINFO_RESPONSE_CODE, &status);