Include gnulib headers.
[elisp/starttls.git] / openssl.c
index 1eeff0a..89e5374 100644 (file)
--- a/openssl.c
+++ b/openssl.c
@@ -1,7 +1,5 @@
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-
+#include <stdio.h>
+#include <stdlib.h>
 #include <openssl/lhash.h>
 #include <openssl/bn.h>
 #include <openssl/err.h>
@@ -68,7 +66,7 @@ tls_ssl_new(ctx, s)
       session = SSL_get_session (tls_conn);
       if (session)
        SSL_CTX_remove_session (ctx, session);
-      if (tls_conn!=NULL)
+      if (tls_conn)
        SSL_free (tls_conn);
       return -1;
     }
@@ -76,73 +74,10 @@ tls_ssl_new(ctx, s)
   return 0;
 }
 
-int
-tls_connect (hostname, service)
-     const char *hostname, *service;
-{
-  int server, false = 0;
-#ifdef HAVE_ADDRINFO
-  struct addrinfo *in, *in0, hints;
-#else
-  struct hostent *host;
-  struct servent *serv;
-  struct sockaddr_in sin;
-#endif
-
-#ifdef HAVE_ADDRINFO
-  memset (&hints, 0, sizeof (hints));
-  hints.ai_family = AF_UNSPEC;
-  hints.ai_socktype = SOCK_STREAM;
-  if (getaddrinfo (hostname, service, &hints, &in0))
-    return -1;
-
-  for (in = in0; in; in = in->ai_next)
-    {
-      server = socket (in->ai_family, in->ai_socktype, in->ai_protocol);
-      if (server < 0)
-       continue;
-      if (connect (server, in->ai_addr, in->ai_addrlen) < 0)
-       {
-         server = -1;
-         continue;
-       }
-      break;
-  }
-
-  if (server < 0)
-    return -1;
-#else
-  memset (&sin, 0, sizeof (sin));
-  host = gethostbyname (hostname);
-  if (!host)
-    return -1;
-  memcpy (&sin.sin_addr, host->h_addr, host->h_length);
-  serv = getservbyname (service, "tcp");
-  if (serv)
-    sin.sin_port = serv->s_port;
-  else if (isdigit (service[0]))
-    sin.sin_port = htons (atoi (service));
-  sin.sin_family = AF_INET;
-  server = socket (sin.sin_family, SOCK_STREAM, 0);
-  if (server == -1)
-    return -1;
-
-  if (connect (server, (struct sockaddr *)&sin, sizeof (sin)) < 0)
-    {
-      close (server);
-      return -1;
-    }
-#endif
-
-  setsockopt (server, SOL_SOCKET, SO_KEEPALIVE, (const char *) &false,
-             sizeof (false));
-
-  return server;
-}
-
 void
 tls_negotiate (fd, cert_file, key_file)
      int fd;
+     const char *cert_file, *key_file;
 {
   if (tls_ssl_ctx_new (cert_file, key_file) == -1)
     return;
@@ -173,5 +108,5 @@ tls_read(fd, buf, num)
 int
 tls_pending()
 {
-  return tls_conn && SSL_pending(tls_conn);
+  return tls_conn && SSL_pending (tls_conn);
 }