cURL / Mailing Lists / curl-library / Single Mail

curl-library

RE: multi_perform blocks and never returns when built with schannel WinIDN

From: Pär Björklund <per.bjorklund_at_gmail.com>
Date: Mon, 1 Jun 2015 18:10:45 +0200

> Can you dig a little deeper and make sure schannel_recv() returns
> CURLE_AGAIN in the 'err' field when there's nothing more to read?

Testing with a 100mb download it never returned anything else than CURLE_OK from schannel_recv or Curl_read

>There is still a bug in schannel [1]. My existing draft is pretty close but it's not easy to cover all corner cases. I will get on this tomorrow. Pär >can you please try building from
>https://github.com/jay/curl/commit/9d0abb1 and let us know what happens.

Issue remains, tested it both with Kodi and with curl command line and both behave the same.
Below is a snippet of the verbose output during a download. Let me know if there's anything else you want me to test

{ [16384 bytes data]
* schannel: client wants to read 16384 bytes
* schannel: encrypted data buffer: offset 630 length 17083
* schannel: encrypted data got 16453
* schannel: encrypted data buffer: offset 17083 length 17083
* schannel: decrypted data length: 16384
* schannel: decrypted data added: 16384
* schannel: decrypted data cached: offset 16651 length 16651
* schannel: encrypted data length: 630
* schannel: encrypted data cached: offset 630 length 17083
* schannel: decrypted data buffer: offset 16651 length 16651
* schannel: decrypted data returned 16384
* schannel: decrypted data buffer: offset 267 length 16651
{ [16384 bytes data]
* schannel: client wants to read 16384 bytes
* schannel: encrypted data buffer: offset 630 length 17083
* schannel: encrypted data got 16453
* schannel: encrypted data buffer: offset 17083 length 17083
* schannel: decrypted data length: 16384
* schannel: decrypted data added: 16384
* schannel: decrypted data cached: offset 16651 length 16651
* schannel: encrypted data length: 630
* schannel: encrypted data cached: offset 630 length 17083
* schannel: decrypted data buffer: offset 16651 length 16651
* schannel: decrypted data returned 16384
* schannel: decrypted data buffer: offset 267 length 16651
{ [16384 bytes data]
* schannel: client wants to read 16384 bytes
* schannel: encrypted data buffer: offset 630 length 17083
* schannel: encrypted data got 16453
* schannel: encrypted data buffer: offset 17083 length 17083
* schannel: decrypted data length: 16384
* schannel: decrypted data added: 16384
* schannel: decrypted data cached: offset 16651 length 16651
* schannel: encrypted data length: 630
* schannel: encrypted data cached: offset 630 length 17083
* schannel: decrypted data buffer: offset 16651 length 16651
* schannel: decrypted data returned 16384
* schannel: decrypted data buffer: offset 267 length 16651
{ [16384 bytes data]
* schannel: client wants to read 16384 bytes
* schannel: encrypted data buffer: offset 630 length 17083
* schannel: encrypted data got 16453
* schannel: encrypted data buffer: offset 17083 length 17083
* schannel: decrypted data length: 16384
* schannel: decrypted data added: 16384
* schannel: decrypted data cached: offset 16651 length 16651
* schannel: encrypted data length: 630
* schannel: encrypted data cached: offset 630 length 17083
* schannel: decrypted data buffer: offset 16651 length 16651
* schannel: decrypted data returned 16384
* schannel: decrypted data buffer: offset 267 length 16651
{ [16384 bytes data]
* schannel: client wants to read 16384 bytes
* schannel: encrypted data buffer: offset 630 length 17083
* schannel: encrypted data got 16453
* schannel: encrypted data buffer: offset 17083 length 17083
* schannel: decrypted data length: 16384
* schannel: decrypted data added: 16384
* schannel: decrypted data cached: offset 16651 length 16651
* schannel: encrypted data length: 630
* schannel: encrypted data cached: offset 630 length 17083
* schannel: decrypted data buffer: offset 16651 length 16651
* schannel: decrypted data returned 16384
* schannel: decrypted data buffer: offset 267 length 16651

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2015-06-01