Package: libgnutls11
Version: 1.0.16-13.1
Severity: normal

When using a non-blocking socket (created by the socket() call)_gnutls_read fails with EAGAIN which propagates up the call stack accompanied by the following assertions. Where upon in gnutls_recv_client_cert it gets converted to GNUTLS_E_NO_CERTIFICATE if CERT_REQUIRE is set. However the client hasn't had anywhere near enough time to send the certificate.

Debug output from gnutls:

ASSERT: gnutls_buffers.c:231
ASSERT: gnutls_buffers.c:888
ASSERT: gnutls_handshake.c:851
ASSERT: gnutls_kx.c:473
ASSERT: gnutls_handshake.c:2254

Thus either this should be well documented as a fundamental flaw of GnuTLS (i.e. it does not fully support non-blocking sockets) or patched to propagate GNUTLS_E_AGAIN to the caller of gnutls_handshake instead of E_NO_CERTIFICATE, so the caller can decide when to abandon the quest for a client certificate. I haven't checked whether receiveing another header that isn't a cert causes an appropriate failiure, if we just naively pass E_AGAIN back up the stack.

(Posted on behalf of Ian Abel, [EMAIL PROTECTED])


-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.11.9-p2-smp-1
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)

Versions of packages libgnutls11 depends on:
ii  libc6                         2.3.5-6    GNU C Library: Shared libraries an
ii  libgcrypt11                   1.2.1-4    LGPL Crypto library - runtime libr
ii  libgpg-error0                 1.1-4      library for common error values an
ii  liblzo1                       1.08-2     data compression library
ii  libopencdk8                   0.5.7-2    Open Crypto Development Kit (OpenC
ii  libtasn1-2                    0.2.13-1   Manage ASN.1 structures (runtime)
ii  zlib1g                        1:1.2.3-4  compression library - runtime

libgnutls11 recommends no packages.

-- debconf-show failed




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to