]> sjero.net Git - wget/commitdiff
[svn] Clean up prototypes and definitions of ssl_init and ssl_connect.
authorhniksic <devnull@localhost>
Mon, 11 Apr 2005 14:33:36 +0000 (07:33 -0700)
committerhniksic <devnull@localhost>
Mon, 11 Apr 2005 14:33:36 +0000 (07:33 -0700)
Don't include SSL headers in retr.c.

src/ChangeLog
src/gen_sslfunc.c
src/gen_sslfunc.h
src/retr.c

index 63385a9433a4d5b17be7a6ab3d54fb3c134fae94..e11914e97ab4b7e2b99e4d5e364705cedfab4e11 100644 (file)
@@ -1,3 +1,17 @@
+2005-04-11  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * gen_sslfunc.c (ssl_print_errors): Made static.
+       (ssl_print_errors): Eliminate potentially dangerous fixed-size
+       error buffer.  Passing NULL to ERR_error_string causes it to use
+       its own static buffer, which is fine for our purposes.
+
+       * gen_sslfunc.c: Include gen_sslfunc.h.  Make the declarations of
+       ssl_init and ssl_conect match the actual definitions.
+       (ssl_connect): Simply return a boolean, the SSL context is no
+       longer useful as a return value.
+
+       * retr.c: Don't include SSL headers; we don't need them.
+
 2005-04-11  Hrvoje Niksic  <hniksic@xemacs.org>
 
        * config-post.h: Don't define _VA_LIST under Solaris; it breaks
index 98e75a1dba6258d77b840a1b05b093aae79b3010..5b13f992a5831350f3208cdb386f1e6ef850db0a 100644 (file)
@@ -53,6 +53,7 @@ so, delete this exception statement from your version.  */
 #include "utils.h"
 #include "connect.h"
 #include "url.h"
+#include "gen_sslfunc.h"
 
 #ifndef errno
 extern int errno;
@@ -138,15 +139,12 @@ verify_callback (int ok, X509_STORE_CTX *ctx)
 
 /* Print SSL errors. */
 
-void
+static void
 ssl_print_errors (void) 
 {
   unsigned long curerr = 0;
-  char errbuff[1024];
-  xzero (errbuff);
   while ((curerr = ERR_get_error ()) != 0)
-    logprintf (LOG_NOTQUIET, "OpenSSL: %s\n",
-              ERR_error_string (curerr, errbuff));
+    logprintf (LOG_NOTQUIET, "OpenSSL: %s\n", ERR_error_string (curerr, NULL));
 }
 
 /* Creates a SSL Context and sets some defaults for it */
@@ -329,9 +327,14 @@ ssl_close (int fd, void *ctx)
   DEBUGP (("Closed %d/SSL 0x%0lx\n", fd, (unsigned long) ssl));
 }
 
-/* Sets up a SSL structure and performs the handshake on fd. */
+/* Sets up a SSL structure and performs the handshake on fd.  The
+   resulting SSL structure is registered with the file descriptor FD
+   using fd_register_transport.  That way subsequent calls to xread,
+   xwrite, etc., will use the appropriate SSL functions.
+
+   Returns 1 on success, 0 on failure.  */
 
-SSL *
+int
 ssl_connect (int fd) 
 {
   SSL *ssl;
@@ -352,12 +355,13 @@ ssl_connect (int fd)
      friends and not care what happens underneath.  */
   fd_register_transport (fd, ssl_read, ssl_write, ssl_poll, ssl_peek,
                         ssl_close, ssl);
-  DEBUGP (("Connected %d to SSL 0x%0lx\n", fd, (unsigned long) ssl));
-  return ssl;
+  DEBUGP (("Connected %d to SSL 0x%0*lx\n", fd, 2 * sizeof (void *),
+          (unsigned long) ssl));
+  return 1;
 
  err:
   ssl_print_errors ();
   if (ssl)
     SSL_free (ssl);
-  return NULL;
+  return 0;
 }
index a3650d091ae99e51d41cf6457f99205b5c3e01fa..14e65f05cedc8da0d644b2648904f56e91d67251 100644 (file)
@@ -31,9 +31,7 @@ so, delete this exception statement from your version.  */
 #ifndef GEN_SSLFUNC_H
 #define GEN_SSLFUNC_H
 
-int ssl_init PARAMS ((void));
-
+uerr_t ssl_init PARAMS ((void));
 int ssl_connect PARAMS ((int));
-int ssl_print_error PARAMS ((void)); 
 
 #endif /* GEN_SSLFUNC_H */
index 59a1af3886d88f4aa6e325ac064d615e57dc44e3..842eaaae116d88c9a70d73fc67740464bb2e4e9b 100644 (file)
@@ -56,10 +56,6 @@ so, delete this exception statement from your version.  */
 #include "convert.h"
 #include "ptimer.h"
 
-#ifdef HAVE_SSL
-# include "gen_sslfunc.h"      /* for ssl_iread */
-#endif
-
 #ifndef errno
 extern int errno;
 #endif