#ifndef UCSPITLS_H #define UCSPITLS_H #include #include #include #include "stralloc.h" #define SSL_NAME_LEN 256 #define OPENSSL_VERSION_NUMBER 0x101010100L #if (OPENSSL_VERSION_NUMBER < 0x10100000L) #define ssl_client() (ssl_context(SSLv23_client_method())) #define ssl_server() (ssl_context(SSLv23_server_method())) #else #define ssl_client() (ssl_context(TLS_client_method())) #define ssl_server() (ssl_context(TLS_server_method())) #endif extern int ssl_errno; int ssl_io(SSL *,int,int,unsigned int); SSL_CTX *ssl_context(SSL_METHOD *); int ssl_timeoutconn(SSL *,unsigned int); int ssl_timeoutaccept(SSL *,unsigned int); SSL *ssl_new(SSL_CTX *,int); int ssl_certkey(SSL_CTX *,const char *,const char *,pem_password_cb *); int ssl_ca(SSL_CTX *,const char *,const char *,int); int ssl_cca(SSL_CTX *,const char *); int ssl_ciphers(SSL_CTX *,const char *); int ssl_verify(SSL *,const char *); int ssl_params(SSL_CTX *,const char *,int); int ssl_server_env(SSL *,stralloc *); int ssl_client_env(SSL *,stralloc *); char *ssl_error_str(int); #define ssl_errstr() (SSL_load_error_strings()) #define ssl_free(ssl) (SSL_free((ssl))) #define ssl_close(ssl) (close(SSL_get_fd((ssl)))) #define ssl_pending(ssl) (SSL_pending((ssl))) #define ssl_shutdown(ssl) (SSL_shutdown((ssl))) #define ssl_shutdown_pending(ssl) (SSL_get_shutdown((ssl)) & SSL_RECEIVED_SHUTDOWN) #define ssl_shutdown_sent(ssl) (SSL_get_shutdown((ssl)) & SSL_SENT_SHUTDOWN) #endif