help-gnutls
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnutls_record_check_pending() returning non-0 but gnutls_record_recv


From: Wilmer van der Gaast
Subject: Re: gnutls_record_check_pending() returning non-0 but gnutls_record_recv() gives no data
Date: Tue, 10 Apr 2012 00:40:11 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20110505 Icedove/3.0.11

Hello Nikos,

On 09-04-12 13:34, Nikos Mavrogiannopoulos wrote:
  By checking your log I believe you are right. I see that you receive
a complete record packet split in many tcp segments and
gnutls_record_check_pending() deceives you by including the incomplete
packets to pending data. Would the attached patch solve the issue you
notice? If it works for you it will be included in the next version.

Yes, this works better:

0x995d30 gnutls_record_recv = -28
0x995d30 gnutls_record_check_pending = 0
2 ASSERT: gnutls_buffers.c:510
2 ASSERT: gnutls_record.c:1000
2 ASSERT: gnutls_record.c:1202
0x995d30 gnutls_record_recv = -28
0x995d30 gnutls_record_check_pending = 0
0x995d30 gnutls_record_recv = 2048
0x995d30 gnutls_record_check_pending = 8770
0x995d30 gnutls_record_recv = 2048
0x995d30 gnutls_record_check_pending = 6722
0x995d30 gnutls_record_recv = 2048

I'm getting my data now, without ending up in an almost infinite loop. Thank you!

Would you be able to tell me which versions of GnuTLS are affected by this by the way? I'm thinking of adding a work-around so BitlBee will still work properly with affected GnuTLS versions.


Cheers,

Wilmer van der Gaast.

--
+-------- .''`.     - -- ---+  +        - -- --- ---- ----- ------+
| wilmer : :'  :  gaast.net |  | OSS Programmer   www.bitlbee.org |
| lintux `. `~'  debian.org |  | Full-time geek  wilmer.gaast.net |
+--- -- -  ` ---------------+  +------ ----- ---- --- -- -        +



reply via email to

[Prev in Thread] Current Thread [Next in Thread]