On Sat, Nov 01, 2014 at 01:47:04PM +0100, Andreas Metzler wrote:
> #1 Use gnutls_priority_set_direct():
> 
> > @@ -553,6 +557,9 @@ struct connection_state *initialize_gnut
> 
> >     assert(gnutls_init(&scs->tls_state, GNUTLS_CLIENT) == 0);
> >     {
> > +#if 1 // HAVE_GNUTLS_PRIORITY_SET_DIRECT
> > +           assert(gnutls_priority_set_direct(scs->tls_state, "NORMAL", 
> > NULL) == 0);
> > +#else
> >             const int protocols[] = { GNUTLS_TLS1, GNUTLS_SSL3, 0 };
> >             const int ciphers[] =
> >                     { GNUTLS_CIPHER_RIJNDAEL_128_CBC, 
> > GNUTLS_CIPHER_3DES_CBC,

You were correct. This is the required change. I have not tried backing out all
of deprecation and warning fixes, but backing out this change alone causes the
problem to come back.

HAVE_GNUTLS_PRIORITY_SET_DIRECT should probably be added to the configure
script accordingly. I don't know what the policy is for altering the configure
script in wmbiff so I'll leave that up to you :)

That said.... the rest of the warnings should probably be fixed as well,
including the one in tlscomm_printf which I forgot to include in my patch:

--- a/wmbiff/tlsComm.c
+++ b/wmbiff/tlsComm.c
@@ -305,9 +305,10 @@
        va_end(args);
 
        if (scs->sd != -1) {
+               int written;
 #ifdef USE_GNUTLS
                if (scs->tls_state) {
-                       int written = gnutls_write(scs->tls_state, buf, bytes);
+                       written = gnutls_write(scs->tls_state, buf, bytes);
                        if (written < bytes) {
                                TDM(DEBUG_ERROR,
                                        "Error %s prevented writing: %*s\n",
@@ -316,7 +317,15 @@
                        }
                } else
 #endif
-                       (void) write(scs->sd, buf, bytes);
+               {
+                       written = write(scs->sd, buf, bytes);
+                       if (written < bytes) {
+                               TDM(DEBUG_ERROR,
+                                       "Error %s prevented writing: %*s\n",
+                                       strerror(written), bytes, buf);
+                               return;
+                       }
+               }
        } else {
                printf
                        ("warning: tlscomm_printf called with an invalid socket 
descriptor\n");


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to