diff -r 067ea2315a8a -r 5da2cf15eb44 libidav/resource.c --- a/libidav/resource.c Mon Dec 18 11:56:11 2017 +0100 +++ b/libidav/resource.c Mon Dec 18 16:24:32 2017 +0100 @@ -765,9 +765,21 @@ curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, write_fnc); curl_easy_setopt(handle, CURLOPT_WRITEDATA, stream); + if(sn->get_progress) { + curl_easy_setopt(handle, CURLOPT_XFERINFOFUNCTION, dav_session_get_progress); + curl_easy_setopt(handle, CURLOPT_XFERINFODATA, res); + curl_easy_setopt(handle, CURLOPT_NOPROGRESS, 0L); + } + long status = 0; CURLcode ret = dav_session_curl_perform(sn, &status); + if(sn->get_progress) { + curl_easy_setopt(handle, CURLOPT_XFERINFOFUNCTION, NULL); + curl_easy_setopt(handle, CURLOPT_XFERINFODATA, NULL); + curl_easy_setopt(handle, CURLOPT_NOPROGRESS, 1L); + } + char *hash = NULL; if(dec) { aes_decrypter_shutdown(dec); // get final bytes