net.openssl #
Constants #
const (
is_used = 1
)
fn new_ssl_conn #
fn new_ssl_conn() &SSLConn
new_ssl_conn instance an new SSLCon struct
fn ssl_error #
fn ssl_error(ret int, ssl voidptr) ?SSLError
ssl_error returns non error ssl code or error if unrecoverable and we should panic
enum SSLError #
enum SSLError {
ssl_error_none = 0 // SSL_ERROR_NONE
ssl_error_ssl = 1 // SSL_ERROR_SSL
ssl_error_want_read = 2 // SSL_ERROR_WANT_READ
ssl_error_want_write = 3 // SSL_ERROR_WANT_WRITE
ssl_error_want_x509_lookup = 4 // SSL_ERROR_WANT_X509_LOOKUP
ssl_error_syscall = 5 // SSL_ERROR_SYSCALL
ssl_error_zero_return = 6 // SSL_ERROR_ZERO_RETURN
ssl_error_want_connect = 7 // SSL_ERROR_WANT_CONNECT
ssl_error_want_accept = 8 // SSL_ERROR_WANT_ACCEPT
ssl_error_want_async = 9 // SSL_ERROR_WANT_ASYNC
ssl_error_want_async_job = 10 // SSL_ERROR_WANT_ASYNC_JOB
ssl_error_want_early = 11 // SSL_ERROR_WANT_EARLY
}
struct C.SSL #
struct C.SSL {
}
struct OPENSSL_INIT_SETTINGS #
struct OPENSSL_INIT_SETTINGS {
}
struct SSL #
struct SSL {
}
struct SSL_CTX #
struct SSL_CTX {
}
struct SSL_METHOD #
struct SSL_METHOD {
}
struct SSLConn #
struct SSLConn {
mut:
sslctx &C.SSL_CTX
ssl &C.SSL
handle int
duration time.Duration
}
SSLConn is the current connection
fn (SSLConn) shutdown #
fn (mut s SSLConn) shutdown() ?
shutdown closes the ssl connection and does cleanup
fn (SSLConn) connect #
fn (mut s SSLConn) connect(mut tcp_conn net.TcpConn, hostname string) ?
connect to server using OpenSSL
fn (SSLConn) socket_read_into_ptr #
fn (mut s SSLConn) socket_read_into_ptr(buf_ptr &u8, len int) ?int
fn (SSLConn) read #
fn (mut s SSLConn) read(mut buffer []u8) ?int
fn (SSLConn) write #
fn (mut s SSLConn) write(bytes []u8) ?int
write number of bytes to SSL connection