[WINSOCK_LIBS=''])
AC_SUBST([WINSOCK_LIBS])
+do_have_ssl="no";
AC_CHECK_LIB(ssl, SSL_read, [
AC_CHECK_LIB(crypto, X509_new, [
AC_CHECK_HEADERS(openssl/ssl.h openssl/err.h openssl/rand.h, [
- LIBS="$LIBS -lssl -lcrypto"
- AC_DEFINE([HAVE_SSL], 1, [Define if you are using SSL])
+ do_have_ssl="yes";
])
])
])
+if test x"$do_have_ssl" = xyes; then
+ LIBS="$LIBS -lssl -lcrypto"
+ AC_DEFINE([HAVE_SSL], 1, [Define if you are using SSL])
+fi
+
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h unistd.h windows.h winsock2.h])
sock->bufferpos += i;
}
} else {
- if(!(sock->flags & SOCKET_FLAG_SSL) || (bytes = ssl_read(sock, buffer, sizeof(buffer))) == -2) {
+ if(!(sock->flags & SOCKET_FLAG_SSL) || (bytes = ssl_read(sock, sock->buffer, sizeof(sock->buffer))) == -2) {
#ifdef WIN32
bytes = recv(sock->sock, sock->buffer, sizeof(sock->buffer), 0);
#else
void ssl_init() {
#ifdef HAVE_SSL
SSL_library_init();
+ SSL_load_error_strings();
#endif
}
if(!SSL_set_fd(sslconn->sslHandle, client->sock)) goto ssl_connect_err;
if(SSL_connect(sslconn->sslHandle) != 1) goto ssl_connect_err;
client->sslconn = sslconn;
+ return;
ssl_connect_err:
free(sslconn);
#endif