diff src/process.c @ 110648:256dd50b2a63

Make sure all reads/writes to gnutls streams go via the gnutls functions.
author Lars Magne Ingebrigtsen <larsi@gnus.org>
date Wed, 29 Sep 2010 14:48:29 +0200
parents ddf04bc5ad27
children 3bc79f337a57
line wrap: on
line diff
--- a/src/process.c	Wed Sep 29 11:52:43 2010 +0200
+++ b/src/process.c	Wed Sep 29 14:48:29 2010 +0200
@@ -672,6 +672,7 @@
 #ifdef HAVE_GNUTLS
   p->gnutls_initstage = GNUTLS_STAGE_EMPTY;
   p->gnutls_log_level = 0;
+  p->gnutls_p = 0;
 #endif
 
   /* If name is already in use, modify it until it is unused.  */
@@ -5203,8 +5204,8 @@
   if (proc_buffered_char[channel] < 0)
     {
 #ifdef HAVE_GNUTLS
-      if (NETCONN_P(proc) && GNUTLS_PROCESS_USABLE (proc))
-	nbytes = emacs_gnutls_read (channel, XPROCESS (proc)->gnutls_state,
+      if (XPROCESS (proc)->gnutls_p)
+	nbytes = emacs_gnutls_read (channel, XPROCESS (proc),
                                     chars + carryover, readmax);
       else
 #endif
@@ -5242,8 +5243,8 @@
       chars[carryover] = proc_buffered_char[channel];
       proc_buffered_char[channel] = -1;
 #ifdef HAVE_GNUTLS
-      if (NETCONN_P(proc) && GNUTLS_PROCESS_USABLE (proc))
-	nbytes = emacs_gnutls_read (channel, XPROCESS (proc)->gnutls_state,
+      if (XPROCESS (proc)->gnutls_p)
+	nbytes = emacs_gnutls_read (channel, XPROCESS (proc),
                                     chars + carryover + 1, readmax - 1);
       else
 #endif
@@ -5658,9 +5659,9 @@
 #endif
 		{
 #ifdef HAVE_GNUTLS
-		  if (NETCONN_P(proc) && GNUTLS_PROCESS_USABLE (proc))
+		  if (XPROCESS (proc)->gnutls_p)
 		    rv = emacs_gnutls_write (outfd,
-					     XPROCESS (proc)->gnutls_state, 
+					     XPROCESS (proc), 
 					     (char *) buf, this);
 		  else
 #endif