mutt/mutt-1.5.17-gnutls.patch
Miroslav Lichvar c9d9f8cab0 - fix sending long commands when using gnutls (#438275)
- glob tilde in smime_keys (#424311)
- fix awk script in mutt_ldap_query
- force building with libdb
- make enabling/disabling features in spec easier
2008-04-04 11:50:26 +00:00

43 lines
1.0 KiB
Diff

diff -r e3bc99a4a6bd -r c10d4343a17f mutt_ssl_gnutls.c
--- a/mutt_ssl_gnutls.c Tue Mar 11 17:20:48 2008 -0700
+++ b/mutt_ssl_gnutls.c Thu Apr 03 17:08:13 2008 +0200
@@ -112,6 +112,7 @@ static int tls_socket_write (CONNECTION*
{
tlssockdata *data = conn->sockdata;
int ret;
+ size_t sent = 0;
if (!data)
{
@@ -120,14 +121,23 @@ static int tls_socket_write (CONNECTION*
return -1;
}
- ret = gnutls_record_send (data->state, buf, len);
- if (ret < 0 && gnutls_error_is_fatal(ret) == 1)
+ do
{
- mutt_error ("tls_socket_write (%s)", gnutls_strerror (ret));
- mutt_sleep (4);
- return -1;
- }
- return ret;
+ ret = gnutls_record_send (data->state, buf + sent, len - sent);
+ if (ret < 0)
+ {
+ if (gnutls_error_is_fatal(ret) == 1)
+ {
+ mutt_error ("tls_socket_write (%s)", gnutls_strerror (ret));
+ mutt_sleep (4);
+ return -1;
+ }
+ return ret;
+ }
+ sent += ret;
+ } while (sent < len);
+
+ return sent;
}
static int tls_socket_open (CONNECTION* conn)