Your message dated Fri, 24 Apr 2009 15:32:07 +0000
with message-id <[email protected]>
and subject line Bug#524816: fixed in libcsoap 1.1.0-16
has caused the Debian Bug report #524816,
regarding libnanohttp1: writing needs a timeout and needs to avoid EAGAIN
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
524816: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524816
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: libnanohttp1
Version: 1.1.0-15
Severity: normal

The current code in libnanohttp1 doesn't handle the case where more data is
written to the socket than can be sent immediately.  The below patch is a first
(untested) draft at fixing this.

diff -ru libcsoap-1.1.0.bak/nanohttp/nanohttp-ssl.c 
libcsoap-1.1.0/nanohttp/nanohttp-ssl.c
--- libcsoap-1.1.0.bak/nanohttp/nanohttp-ssl.c  2006-07-10 02:24:19.000000000 
+1000
+++ libcsoap-1.1.0/nanohttp/nanohttp-ssl.c      2009-04-20 15:27:09.000000000 
+1000
@@ -546,6 +546,18 @@
 hssl_write(hsocket_t * sock, const char *buf, size_t len, size_t * sent)
 {
   int count;
+  fd_set fds;
+  struct timeval timeout;
+
+  FD_ZERO(&fds);
+  FD_SET(dsock->sock, &fds);
+  timeout.tv_sec = httpd_get_timeout();
+  timeout.tv_usec = 0;
+  ret = select(dsock->sock + 1, NULL, &fds, NULL, &timeout);
+  if(ret == 0)
+    return herror_new("hssl_write", HSOCKET_ERROR_SEND, "Socket timeout");
+  if(ret == -1)
+    return herror_new("hssl_write", HSOCKET_ERROR_SEND, "select error");
 
 /*  log_verbose4("sock->sock=%d, sock->ssl=%p, len=%li", sock->sock, 
sock->ssl, len); */
 
@@ -586,6 +598,18 @@
 hssl_write(hsocket_t * sock, const char *buf, size_t len, size_t * sent)
 {
   int count;
+  fd_set fds;
+  struct timeval timeout;
+
+  FD_ZERO(&fds);
+  FD_SET(dsock->sock, &fds);
+  timeout.tv_sec = httpd_get_timeout();
+  timeout.tv_usec = 0;
+  ret = select(dsock->sock + 1, NULL, &fds, NULL, &timeout);
+  if(ret == 0)
+    return herror_new("hssl_write", HSOCKET_ERROR_SEND, "Socket timeout");
+  if(ret == -1)
+    return herror_new("hssl_write", HSOCKET_ERROR_SEND, "select error");
 
   if ((count = send(sock->sock, buf, len, 0)) == -1)
     return herror_new("hssl_write", HSOCKET_ERROR_SEND, "send failed (%s)",

-- System Information:
Debian Release: 5.0.1
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.26-1-686 (SMP w/1 CPU core)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=ANSI_X3.4-1968) 
(ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/bash

Versions of packages libnanohttp1 depends on:
ii  libc6                   2.7-18           GNU C Library: Shared libraries
ii  libssl0.9.8             0.9.8g-15+lenny1 SSL shared libraries
ii  libxml2                 2.6.32.dfsg-5    GNOME XML library

libnanohttp1 recommends no packages.

libnanohttp1 suggests no packages.

-- no debconf information



--- End Message ---
--- Begin Message ---
Source: libcsoap
Source-Version: 1.1.0-16

We believe that the bug you reported is fixed in the latest version of
libcsoap, which is due to be installed in the Debian FTP archive:

libcsoap-dev_1.1.0-16_i386.deb
  to pool/main/libc/libcsoap/libcsoap-dev_1.1.0-16_i386.deb
libcsoap1-dbg_1.1.0-16_i386.deb
  to pool/main/libc/libcsoap/libcsoap1-dbg_1.1.0-16_i386.deb
libcsoap1_1.1.0-16_i386.deb
  to pool/main/libc/libcsoap/libcsoap1_1.1.0-16_i386.deb
libcsoap_1.1.0-16.diff.gz
  to pool/main/libc/libcsoap/libcsoap_1.1.0-16.diff.gz
libcsoap_1.1.0-16.dsc
  to pool/main/libc/libcsoap/libcsoap_1.1.0-16.dsc
libnanohttp-dev_1.1.0-16_i386.deb
  to pool/main/libc/libcsoap/libnanohttp-dev_1.1.0-16_i386.deb
libnanohttp1-dbg_1.1.0-16_i386.deb
  to pool/main/libc/libcsoap/libnanohttp1-dbg_1.1.0-16_i386.deb
libnanohttp1_1.1.0-16_i386.deb
  to pool/main/libc/libcsoap/libnanohttp1_1.1.0-16_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Rudi Cilibrasi <[email protected]> (supplier of updated libcsoap package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Fri, 24 Apr 2009 08:23:23 -0700
Source: libcsoap
Binary: libcsoap-dev libnanohttp-dev libnanohttp1-dbg libcsoap1-dbg 
libnanohttp1 libcsoap1
Architecture: source i386
Version: 1.1.0-16
Distribution: unstable
Urgency: low
Maintainer: Rudi Cilibrasi <[email protected]>
Changed-By: Rudi Cilibrasi <[email protected]>
Description: 
 libcsoap-dev - development header files for CSOAP library
 libcsoap1  - shared CSOAP library for SOAP client/server in C
 libcsoap1-dbg - shared CSOAP library for SOAP client/server in C
 libnanohttp-dev - shared nanohttp header files for SOAP server apps in C
 libnanohttp1 - shared nanohttp library from CSOAP package
 libnanohttp1-dbg - shared nanohttp library from CSOAP package
Closes: 524816
Changes: 
 libcsoap (1.1.0-16) unstable; urgency=low
 .
   * Added write timeout patch.  Thanks Russel Coker. (Closes: #524816)
 .
   * Updated SOAP envelope xsi/xsd year from 1999 to 2001 for xsd:base64Binary.
Checksums-Sha1: 
 5caa387e9cb632817def701e8945dc0cdb179a7b 1123 libcsoap_1.1.0-16.dsc
 03b9e910764b57e57df11ba84fe9c3bd08923a45 6644 libcsoap_1.1.0-16.diff.gz
 8cc370b6e4c54e54f1b91c46efd76554e6057767 68758 libcsoap-dev_1.1.0-16_i386.deb
 3bd60d7a976c2d21ad791733c5960925a72c2e53 46336 
libnanohttp-dev_1.1.0-16_i386.deb
 6ea722df2fa41b97815d5b99e148234ce2c3c42f 65212 
libnanohttp1-dbg_1.1.0-16_i386.deb
 accb42b168c5e85159859eb2d1bb4972390b76ed 38782 libcsoap1-dbg_1.1.0-16_i386.deb
 0b261a7819b302081707224a605df76d58b7ef10 34148 libnanohttp1_1.1.0-16_i386.deb
 40ae0a4b220148a7ac32469b604640fc44f1fe35 18744 libcsoap1_1.1.0-16_i386.deb
Checksums-Sha256: 
 0f6d4d7b043fcb7fa567a964bba0b62426ad17a6e95e0db29b115385472d76a3 1123 
libcsoap_1.1.0-16.dsc
 cf58cf4821778635a813f877f846f96f6b8b98fbf20789831f6c2d3c30c344ac 6644 
libcsoap_1.1.0-16.diff.gz
 778050ee4574cc5090d132128ec0c274fae338d17877b5ac64c4a61b21264f0e 68758 
libcsoap-dev_1.1.0-16_i386.deb
 9096c4eca3b7d67c67d98c9012c012bee68f93926fb2f30f0d71d3c3fde2dc85 46336 
libnanohttp-dev_1.1.0-16_i386.deb
 6eee0800c20511e54dd67ab2aae9d040fe027e3343e3beb0afbbea8661236c06 65212 
libnanohttp1-dbg_1.1.0-16_i386.deb
 22e88d58e76c2d86f3f10190c00ac1056204870972279b23e36a2e4b8a65a6c9 38782 
libcsoap1-dbg_1.1.0-16_i386.deb
 b8332bf071e7a6b1e69c1c526363e20543a7844111a031fa579c80c801394994 34148 
libnanohttp1_1.1.0-16_i386.deb
 4bec0841e2f8d29f627c932573d5753b58cf19227e42a95c456e32cc45620f17 18744 
libcsoap1_1.1.0-16_i386.deb
Files: 
 07630d9db03350550fe758d5c1a59c42 1123 libs optional libcsoap_1.1.0-16.dsc
 74b7c716d487b4065511c21c4d0defcc 6644 libs optional libcsoap_1.1.0-16.diff.gz
 0efee0579a9530d01a0dd72c94f52a0b 68758 libdevel optional 
libcsoap-dev_1.1.0-16_i386.deb
 6f0cda6a8c1182060382e9d9f98cfbd5 46336 libdevel optional 
libnanohttp-dev_1.1.0-16_i386.deb
 7a35b311ad3370fcda9022b3c617d757 65212 debug extra 
libnanohttp1-dbg_1.1.0-16_i386.deb
 d2cb511c5333c47c566c56800fe993db 38782 debug extra 
libcsoap1-dbg_1.1.0-16_i386.deb
 8aa4b6c0bdc79780d4a6374c70b5624e 34148 libs optional 
libnanohttp1_1.1.0-16_i386.deb
 649edfc96e337940f00a84a1aa04813b 18744 libs optional 
libcsoap1_1.1.0-16_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFJ8dpXNuEPS+DPqOQRAnZrAKCRkm3CD5+bjFkFwhDnW//NtuJyMgCfaXQf
ytgng4sBOJ1Ux5BLsVBsq3Q=
=v1lt
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to