ext/openssl/ossl_ssl.c File Reference

#include "ossl.h"

Go to the source code of this file.

Defines

#define numberof(ary)   (int)(sizeof(ary)/sizeof((ary)[0]))
#define TO_SOCKET(s)   (s)
#define ossl_sslctx_set_cert(o, v)   rb_iv_set((o),"@cert",(v))
#define ossl_sslctx_set_key(o, v)   rb_iv_set((o),"@key",(v))
#define ossl_sslctx_set_client_ca(o, v)   rb_iv_set((o),"@client_ca",(v))
#define ossl_sslctx_set_ca_file(o, v)   rb_iv_set((o),"@ca_file",(v))
#define ossl_sslctx_set_ca_path(o, v)   rb_iv_set((o),"@ca_path",(v))
#define ossl_sslctx_set_timeout(o, v)   rb_iv_set((o),"@timeout",(v))
#define ossl_sslctx_set_verify_mode(o, v)   rb_iv_set((o),"@verify_mode",(v))
#define ossl_sslctx_set_verify_dep(o, v)   rb_iv_set((o),"@verify_depth",(v))
#define ossl_sslctx_set_verify_cb(o, v)   rb_iv_set((o),"@verify_callback",(v))
#define ossl_sslctx_set_options(o, v)   rb_iv_set((o),"@options",(v))
#define ossl_sslctx_set_cert_store(o, v)   rb_iv_set((o),"@cert_store",(v))
#define ossl_sslctx_set_extra_cert(o, v)   rb_iv_set((o),"@extra_chain_cert",(v))
#define ossl_sslctx_set_client_cert_cb(o, v)   rb_iv_set((o),"@client_cert_cb",(v))
#define ossl_sslctx_set_tmp_dh_cb(o, v)   rb_iv_set((o),"@tmp_dh_callback",(v))
#define ossl_sslctx_set_sess_id_ctx(o, v)   rb_iv_set((o),"@session_id_context",(v))
#define ossl_sslctx_get_cert(o)   rb_iv_get((o),"@cert")
#define ossl_sslctx_get_key(o)   rb_iv_get((o),"@key")
#define ossl_sslctx_get_client_ca(o)   rb_iv_get((o),"@client_ca")
#define ossl_sslctx_get_ca_file(o)   rb_iv_get((o),"@ca_file")
#define ossl_sslctx_get_ca_path(o)   rb_iv_get((o),"@ca_path")
#define ossl_sslctx_get_timeout(o)   rb_iv_get((o),"@timeout")
#define ossl_sslctx_get_verify_mode(o)   rb_iv_get((o),"@verify_mode")
#define ossl_sslctx_get_verify_dep(o)   rb_iv_get((o),"@verify_depth")
#define ossl_sslctx_get_verify_cb(o)   rb_iv_get((o),"@verify_callback")
#define ossl_sslctx_get_options(o)   rb_iv_get((o),"@options")
#define ossl_sslctx_get_cert_store(o)   rb_iv_get((o),"@cert_store")
#define ossl_sslctx_get_extra_cert(o)   rb_iv_get((o),"@extra_chain_cert")
#define ossl_sslctx_get_client_cert_cb(o)   rb_iv_get((o),"@client_cert_cb")
#define ossl_sslctx_get_tmp_dh_cb(o)   rb_iv_get((o),"@tmp_dh_callback")
#define ossl_sslctx_get_sess_id_ctx(o)   rb_iv_get((o),"@session_id_context")
#define ossl_ssl_get_io(o)   rb_iv_get((o),"@io")
#define ossl_ssl_get_ctx(o)   rb_iv_get((o),"@context")
#define ossl_ssl_get_sync_close(o)   rb_iv_get((o),"@sync_close")
#define ossl_ssl_get_x509(o)   rb_iv_get((o),"@x509")
#define ossl_ssl_get_key(o)   rb_iv_get((o),"@key")
#define ossl_ssl_get_tmp_dh(o)   rb_iv_get((o),"@tmp_dh")
#define ossl_ssl_set_io(o, v)   rb_iv_set((o),"@io",(v))
#define ossl_ssl_set_ctx(o, v)   rb_iv_set((o),"@context",(v))
#define ossl_ssl_set_sync_close(o, v)   rb_iv_set((o),"@sync_close",(v))
#define ossl_ssl_set_x509(o, v)   rb_iv_set((o),"@x509",(v))
#define ossl_ssl_set_key(o, v)   rb_iv_set((o),"@key",(v))
#define ossl_ssl_set_tmp_dh(o, v)   rb_iv_set((o),"@tmp_dh",(v))
#define OSSL_SSL_METHOD_ENTRY(name)   { #name, (SSL_METHOD *(*)(void))name##_method }
#define ssl_get_error(ssl, ret)   SSL_get_error((ssl), (ret))
#define ossl_ssl_data_get_struct(v, ssl)
#define ossl_ssl_def_const(x)   rb_define_const(mSSL, #x, INT2NUM(SSL_##x))

Functions

static void ossl_sslctx_free (SSL_CTX *ctx)
static VALUE ossl_sslctx_s_alloc (VALUE klass)
static VALUE ossl_sslctx_set_ssl_version (VALUE self, VALUE ssl_method)
static VALUE ossl_sslctx_initialize (int argc, VALUE *argv, VALUE self)
static VALUE ossl_call_client_cert_cb (VALUE obj)
static int ossl_client_cert_cb (SSL *ssl, X509 **x509, EVP_PKEY **pkey)
static VALUE ossl_call_tmp_dh_callback (VALUE *args)
static DH * ossl_tmp_dh_callback (SSL *ssl, int is_export, int keylength)
static DH * ossl_default_tmp_dh_callback (SSL *ssl, int is_export, int keylength)
static int ossl_ssl_verify_callback (int preverify_ok, X509_STORE_CTX *ctx)
static VALUE ossl_call_session_get_cb (VALUE ary)
static SSL_SESSION * ossl_sslctx_session_get_cb (SSL *ssl, unsigned char *buf, int len, int *copy)
static VALUE ossl_call_session_new_cb (VALUE ary)
static int ossl_sslctx_session_new_cb (SSL *ssl, SSL_SESSION *sess)
static VALUE ossl_call_session_remove_cb (VALUE ary)
static void ossl_sslctx_session_remove_cb (SSL_CTX *ctx, SSL_SESSION *sess)
static VALUE ossl_sslctx_add_extra_chain_cert_i (RB_BLOCK_CALL_FUNC_ARGLIST(i, arg))
static VALUE ossl_sslctx_setup (VALUE self)
static void ssl_renegotiation_cb (const SSL *ssl)
static void ssl_info_cb (const SSL *ssl, int where, int val)
static VALUE ossl_ssl_cipher_to_ary (SSL_CIPHER *cipher)
static VALUE ossl_sslctx_get_ciphers (VALUE self)
static VALUE ossl_sslctx_set_ciphers (VALUE self, VALUE v)
static VALUE ossl_sslctx_session_add (VALUE self, VALUE arg)
static VALUE ossl_sslctx_session_remove (VALUE self, VALUE arg)
static VALUE ossl_sslctx_get_session_cache_mode (VALUE self)
static VALUE ossl_sslctx_set_session_cache_mode (VALUE self, VALUE arg)
static VALUE ossl_sslctx_get_session_cache_size (VALUE self)
static VALUE ossl_sslctx_set_session_cache_size (VALUE self, VALUE arg)
static VALUE ossl_sslctx_get_session_cache_stats (VALUE self)
static VALUE ossl_sslctx_flush_sessions (int argc, VALUE *argv, VALUE self)
static void ossl_ssl_shutdown (SSL *ssl)
static void ossl_ssl_free (SSL *ssl)
static VALUE ossl_ssl_s_alloc (VALUE klass)
static VALUE ossl_ssl_initialize (int argc, VALUE *argv, VALUE self)
static VALUE ossl_ssl_setup (VALUE self)
static void write_would_block (int nonblock)
static void read_would_block (int nonblock)
static VALUE ossl_start_ssl (VALUE self, int(*func)(), const char *funcname, int nonblock)
static VALUE ossl_ssl_connect (VALUE self)
static VALUE ossl_ssl_connect_nonblock (VALUE self)
static VALUE ossl_ssl_accept (VALUE self)
static VALUE ossl_ssl_accept_nonblock (VALUE self)
static VALUE ossl_ssl_read_internal (int argc, VALUE *argv, VALUE self, int nonblock)
static VALUE ossl_ssl_read (int argc, VALUE *argv, VALUE self)
static VALUE ossl_ssl_read_nonblock (int argc, VALUE *argv, VALUE self)
static VALUE ossl_ssl_write_internal (VALUE self, VALUE str, int nonblock, int no_exception)
static VALUE ossl_ssl_write (VALUE self, VALUE str)
static VALUE ossl_ssl_write_nonblock (int argc, VALUE *argv, VALUE self)
static VALUE ossl_ssl_close (VALUE self)
static VALUE ossl_ssl_get_cert (VALUE self)
static VALUE ossl_ssl_get_peer_cert (VALUE self)
static VALUE ossl_ssl_get_peer_cert_chain (VALUE self)
static VALUE ossl_ssl_get_version (VALUE self)
static VALUE ossl_ssl_get_cipher (VALUE self)
static VALUE ossl_ssl_get_state (VALUE self)
static VALUE ossl_ssl_pending (VALUE self)
static VALUE ossl_ssl_session_reused (VALUE self)
static VALUE ossl_ssl_set_session (VALUE self, VALUE arg1)
static VALUE ossl_ssl_get_verify_result (VALUE self)
static VALUE ossl_ssl_get_client_ca_list (VALUE self)
void Init_ossl_ssl ()

Variables

VALUE mSSL
VALUE eSSLError
VALUE cSSLContext
VALUE cSSLSocket
static VALUE eSSLErrorWaitReadable
static VALUE eSSLErrorWaitWritable
static const char * ossl_sslctx_attrs []
static const char * ossl_ssl_attr_readers [] = { "io", "context", }
static const char * ossl_ssl_attrs []
ID ID_callback_state
static VALUE sym_exception
struct {
   const char *   name
   SSL_METHOD *(*   func )(void)
ossl_ssl_method_tab []
int ossl_ssl_ex_vcb_idx
int ossl_ssl_ex_store_p
int ossl_ssl_ex_ptr_idx
int ossl_ssl_ex_client_cert_cb_idx
int ossl_ssl_ex_tmp_dh_callback_idx


Define Documentation

#define numberof ( ary   )     (int)(sizeof(ary)/sizeof((ary)[0]))

Definition at line 19 of file ossl_ssl.c.

#define ossl_ssl_data_get_struct ( v,
ssl   ) 

Value:

do {                                                    \
    Data_Get_Struct((v), SSL, (ssl));                   \
    if (!(ssl)) {                                       \
        rb_warning("SSL session is not started yet.");  \
        return Qnil;                                    \
    }                                                   \
} while (0)

Definition at line 1225 of file ossl_ssl.c.

Referenced by ossl_ssl_close(), ossl_ssl_get_cert(), ossl_ssl_get_cipher(), ossl_ssl_get_client_ca_list(), ossl_ssl_get_peer_cert(), ossl_ssl_get_peer_cert_chain(), ossl_ssl_get_state(), ossl_ssl_get_verify_result(), ossl_ssl_get_version(), ossl_ssl_pending(), ossl_ssl_session_reused(), ossl_ssl_set_session(), and ossl_start_ssl().

#define ossl_ssl_def_const (  )     rb_define_const(mSSL, #x, INT2NUM(SSL_##x))

Referenced by Init_ossl_ssl().

#define ossl_ssl_get_ctx (  )     rb_iv_get((o),"@context")

Definition at line 83 of file ossl_ssl.c.

Referenced by ossl_ssl_setup().

#define ossl_ssl_get_io (  )     rb_iv_get((o),"@io")

Definition at line 82 of file ossl_ssl.c.

Referenced by ossl_ssl_close(), ossl_ssl_read_internal(), ossl_ssl_setup(), ossl_ssl_write_internal(), and ossl_start_ssl().

#define ossl_ssl_get_key (  )     rb_iv_get((o),"@key")

Definition at line 86 of file ossl_ssl.c.

Referenced by ossl_client_cert_cb().

#define ossl_ssl_get_sync_close (  )     rb_iv_get((o),"@sync_close")

Definition at line 84 of file ossl_ssl.c.

Referenced by ossl_ssl_close().

#define ossl_ssl_get_tmp_dh (  )     rb_iv_get((o),"@tmp_dh")

Definition at line 87 of file ossl_ssl.c.

Referenced by ossl_tmp_dh_callback().

#define ossl_ssl_get_x509 (  )     rb_iv_get((o),"@x509")

Definition at line 85 of file ossl_ssl.c.

Referenced by ossl_client_cert_cb().

#define OSSL_SSL_METHOD_ENTRY ( name   )     { #name, (SSL_METHOD *(*)(void))name##_method }

#define ossl_ssl_set_ctx ( o,
 )     rb_iv_set((o),"@context",(v))

Definition at line 90 of file ossl_ssl.c.

Referenced by ossl_ssl_initialize().

#define ossl_ssl_set_io ( o,
 )     rb_iv_set((o),"@io",(v))

Definition at line 89 of file ossl_ssl.c.

Referenced by ossl_ssl_initialize().

#define ossl_ssl_set_key ( o,
 )     rb_iv_set((o),"@key",(v))

Definition at line 93 of file ossl_ssl.c.

Referenced by ossl_call_client_cert_cb().

#define ossl_ssl_set_sync_close ( o,
 )     rb_iv_set((o),"@sync_close",(v))

Definition at line 91 of file ossl_ssl.c.

Referenced by ossl_ssl_initialize().

#define ossl_ssl_set_tmp_dh ( o,
 )     rb_iv_set((o),"@tmp_dh",(v))

Definition at line 94 of file ossl_ssl.c.

Referenced by ossl_call_tmp_dh_callback().

#define ossl_ssl_set_x509 ( o,
 )     rb_iv_set((o),"@x509",(v))

Definition at line 92 of file ossl_ssl.c.

Referenced by ossl_call_client_cert_cb().

#define ossl_sslctx_get_ca_file (  )     rb_iv_get((o),"@ca_file")

Definition at line 54 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_ca_path (  )     rb_iv_get((o),"@ca_path")

Definition at line 55 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_cert (  )     rb_iv_get((o),"@cert")

Definition at line 51 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_cert_store (  )     rb_iv_get((o),"@cert_store")

Definition at line 61 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_client_ca (  )     rb_iv_get((o),"@client_ca")

Definition at line 53 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_client_cert_cb (  )     rb_iv_get((o),"@client_cert_cb")

Definition at line 63 of file ossl_ssl.c.

Referenced by ossl_ssl_setup(), and ossl_sslctx_setup().

#define ossl_sslctx_get_extra_cert (  )     rb_iv_get((o),"@extra_chain_cert")

Definition at line 62 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_key (  )     rb_iv_get((o),"@key")

Definition at line 52 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_options (  )     rb_iv_get((o),"@options")

Definition at line 60 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_sess_id_ctx (  )     rb_iv_get((o),"@session_id_context")

Definition at line 65 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_timeout (  )     rb_iv_get((o),"@timeout")

Definition at line 56 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_tmp_dh_cb (  )     rb_iv_get((o),"@tmp_dh_callback")

Definition at line 64 of file ossl_ssl.c.

Referenced by ossl_ssl_setup(), and ossl_sslctx_setup().

#define ossl_sslctx_get_verify_cb (  )     rb_iv_get((o),"@verify_callback")

Definition at line 59 of file ossl_ssl.c.

Referenced by ossl_ssl_setup().

#define ossl_sslctx_get_verify_dep (  )     rb_iv_get((o),"@verify_depth")

Definition at line 58 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_get_verify_mode (  )     rb_iv_get((o),"@verify_mode")

Definition at line 57 of file ossl_ssl.c.

Referenced by ossl_sslctx_setup().

#define ossl_sslctx_set_ca_file ( o,
 )     rb_iv_set((o),"@ca_file",(v))

Definition at line 38 of file ossl_ssl.c.

#define ossl_sslctx_set_ca_path ( o,
 )     rb_iv_set((o),"@ca_path",(v))

Definition at line 39 of file ossl_ssl.c.

#define ossl_sslctx_set_cert ( o,
 )     rb_iv_set((o),"@cert",(v))

Definition at line 35 of file ossl_ssl.c.

#define ossl_sslctx_set_cert_store ( o,
 )     rb_iv_set((o),"@cert_store",(v))

Definition at line 45 of file ossl_ssl.c.

#define ossl_sslctx_set_client_ca ( o,
 )     rb_iv_set((o),"@client_ca",(v))

Definition at line 37 of file ossl_ssl.c.

#define ossl_sslctx_set_client_cert_cb ( o,
 )     rb_iv_set((o),"@client_cert_cb",(v))

Definition at line 47 of file ossl_ssl.c.

#define ossl_sslctx_set_extra_cert ( o,
 )     rb_iv_set((o),"@extra_chain_cert",(v))

Definition at line 46 of file ossl_ssl.c.

#define ossl_sslctx_set_key ( o,
 )     rb_iv_set((o),"@key",(v))

Definition at line 36 of file ossl_ssl.c.

#define ossl_sslctx_set_options ( o,
 )     rb_iv_set((o),"@options",(v))

Definition at line 44 of file ossl_ssl.c.

#define ossl_sslctx_set_sess_id_ctx ( o,
 )     rb_iv_set((o),"@session_id_context",(v))

Definition at line 49 of file ossl_ssl.c.

#define ossl_sslctx_set_timeout ( o,
 )     rb_iv_set((o),"@timeout",(v))

Definition at line 40 of file ossl_ssl.c.

#define ossl_sslctx_set_tmp_dh_cb ( o,
 )     rb_iv_set((o),"@tmp_dh_callback",(v))

Definition at line 48 of file ossl_ssl.c.

#define ossl_sslctx_set_verify_cb ( o,
 )     rb_iv_set((o),"@verify_callback",(v))

Definition at line 43 of file ossl_ssl.c.

#define ossl_sslctx_set_verify_dep ( o,
 )     rb_iv_set((o),"@verify_depth",(v))

Definition at line 42 of file ossl_ssl.c.

#define ossl_sslctx_set_verify_mode ( o,
 )     rb_iv_set((o),"@verify_mode",(v))

Definition at line 41 of file ossl_ssl.c.

#define ssl_get_error ( ssl,
ret   )     SSL_get_error((ssl), (ret))

Definition at line 1222 of file ossl_ssl.c.

Referenced by ossl_ssl_read_internal(), ossl_ssl_write_internal(), and ossl_start_ssl().

#define TO_SOCKET (  )     (s)

Definition at line 24 of file ossl_ssl.c.

Referenced by fcntl(), ossl_ssl_setup(), overlapped_socket_io(), rb_w32_accept(), rb_w32_bind(), rb_w32_close(), rb_w32_connect(), rb_w32_fclose(), rb_w32_fdclr(), rb_w32_fdisset(), rb_w32_getpeername(), rb_w32_getsockname(), rb_w32_getsockopt(), rb_w32_io_cancelable_p(), rb_w32_ioctlsocket(), rb_w32_is_socket(), rb_w32_listen(), rb_w32_read(), rb_w32_setsockopt(), rb_w32_shutdown(), rb_w32_unwrap_io_handle(), rb_w32_write(), recvmsg(), and sendmsg().


Function Documentation

void Init_ossl_ssl ( void   ) 

Definition at line 1853 of file ossl_ssl.c.

References cSSLContext, cSSLSocket, eOSSLError, eSSLError, eSSLErrorWaitReadable, eSSLErrorWaitWritable, ID2SYM, ID_callback_state, Init_ossl_ssl_session(), LONG2FIX, mOSSL, mSSL, name, numberof, ossl_ssl_accept(), ossl_ssl_accept_nonblock(), ossl_ssl_attr_readers, ossl_ssl_attrs, ossl_ssl_close(), ossl_ssl_connect(), ossl_ssl_connect_nonblock(), ossl_ssl_def_const, ossl_ssl_ex_client_cert_cb_idx, ossl_ssl_ex_ptr_idx, ossl_ssl_ex_store_p, ossl_ssl_ex_tmp_dh_callback_idx, ossl_ssl_ex_vcb_idx, ossl_ssl_get_cert(), ossl_ssl_get_cipher(), ossl_ssl_get_client_ca_list(), ossl_ssl_get_peer_cert(), ossl_ssl_get_peer_cert_chain(), ossl_ssl_get_state(), ossl_ssl_get_verify_result(), ossl_ssl_get_version(), ossl_ssl_initialize(), ossl_ssl_method_tab, ossl_ssl_pending(), ossl_ssl_read(), ossl_ssl_read_nonblock(), ossl_ssl_s_alloc(), ossl_ssl_session_reused(), ossl_ssl_set_session(), ossl_ssl_write(), ossl_ssl_write_nonblock(), ossl_sslctx_flush_sessions(), ossl_sslctx_get_ciphers(), ossl_sslctx_get_session_cache_mode(), ossl_sslctx_get_session_cache_size(), ossl_sslctx_get_session_cache_stats(), ossl_sslctx_initialize(), ossl_sslctx_s_alloc(), ossl_sslctx_session_add(), ossl_sslctx_session_remove(), ossl_sslctx_set_ciphers(), ossl_sslctx_set_session_cache_mode(), ossl_sslctx_set_session_cache_size(), ossl_sslctx_set_ssl_version(), ossl_sslctx_setup(), Qfalse, rb_ary_new2, rb_ary_push(), rb_attr(), rb_cObject, rb_define_alias(), rb_define_alloc_func(), rb_define_class_under(), rb_define_const(), rb_define_method(), rb_define_module(), rb_define_module_under(), rb_define_private_method(), rb_include_module(), rb_intern, rb_mWaitReadable, rb_mWaitWritable, rb_notimplement(), rb_obj_freeze(), sym_exception, and VALUE.

Referenced by Init_openssl().

static VALUE ossl_call_client_cert_cb ( VALUE  obj  )  [static]

Definition at line 242 of file ossl_ssl.c.

References Check_Type, Data_Get_Struct, GetPKeyPtr(), GetX509CertPtr(), key, NIL_P, ossl_ssl_ex_client_cert_cb_idx, ossl_ssl_set_key, ossl_ssl_set_x509, Qfalse, Qtrue, rb_ary_entry(), rb_funcall(), rb_intern, T_ARRAY, and VALUE.

Referenced by ossl_client_cert_cb().

static VALUE ossl_call_session_get_cb ( VALUE  ary  )  [static]

Definition at line 337 of file ossl_ssl.c.

References Check_Type, NIL_P, Qnil, rb_ary_entry(), rb_funcall(), rb_intern, rb_iv_get(), T_ARRAY, and VALUE.

Referenced by ossl_sslctx_session_get_cb().

static VALUE ossl_call_session_new_cb ( VALUE  ary  )  [static]

Definition at line 384 of file ossl_ssl.c.

References Check_Type, NIL_P, Qnil, rb_ary_entry(), rb_funcall(), rb_intern, rb_iv_get(), T_ARRAY, and VALUE.

Referenced by ossl_sslctx_session_new_cb().

static VALUE ossl_call_session_remove_cb ( VALUE  ary  )  [static]

Definition at line 436 of file ossl_ssl.c.

References Check_Type, NIL_P, Qnil, rb_ary_entry(), rb_funcall(), rb_intern, rb_iv_get(), T_ARRAY, and VALUE.

Referenced by ossl_sslctx_session_remove_cb().

static VALUE ossl_call_tmp_dh_callback ( VALUE *  args  )  [static]

Definition at line 277 of file ossl_ssl.c.

References Data_Get_Struct, GetPKeyPtr(), NIL_P, ossl_ssl_ex_tmp_dh_callback_idx, ossl_ssl_set_tmp_dh, Qfalse, Qtrue, rb_funcall(), rb_intern, and VALUE.

Referenced by ossl_tmp_dh_callback().

static int ossl_client_cert_cb ( SSL *  ssl,
X509 **  x509,
EVP_PKEY **  pkey 
) [static]

Definition at line 261 of file ossl_ssl.c.

References _, DupPKeyPtr(), DupX509CertPtr(), NULL, ossl_call_client_cert_cb(), ossl_ssl_ex_ptr_idx, ossl_ssl_get_key, ossl_ssl_get_x509, rb_protect(), RTEST, and VALUE.

Referenced by ossl_sslctx_setup().

static DH* ossl_default_tmp_dh_callback ( SSL *  ssl,
int  is_export,
int  keylength 
) [static]

Definition at line 310 of file ossl_ssl.c.

References NULL, OSSL_DEFAULT_DH_1024, OSSL_DEFAULT_DH_512, and rb_warning().

Referenced by ossl_sslctx_setup().

static VALUE ossl_ssl_accept ( VALUE  self  )  [static]

Definition at line 1342 of file ossl_ssl.c.

References ossl_ssl_setup(), and ossl_start_ssl().

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_accept_nonblock ( VALUE  self  )  [static]

Definition at line 1367 of file ossl_ssl.c.

References ossl_ssl_setup(), and ossl_start_ssl().

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_cipher_to_ary ( SSL_CIPHER *  cipher  )  [static]

Definition at line 814 of file ossl_ssl.c.

References INT2FIX, rb_ary_new2, rb_ary_push(), rb_str_new2, and VALUE.

Referenced by ossl_ssl_get_cipher(), and ossl_sslctx_get_ciphers().

static VALUE ossl_ssl_close ( VALUE  self  )  [static]

Definition at line 1562 of file ossl_ssl.c.

References DATA_PTR, NULL, ossl_ssl_data_get_struct, ossl_ssl_get_io, ossl_ssl_get_sync_close, ossl_ssl_shutdown(), Qnil, rb_funcall(), rb_intern, RTEST, and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_connect ( VALUE  self  )  [static]

Definition at line 1303 of file ossl_ssl.c.

References ossl_ssl_setup(), and ossl_start_ssl().

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_connect_nonblock ( VALUE  self  )  [static]

Definition at line 1328 of file ossl_ssl.c.

References ossl_ssl_setup(), and ossl_start_ssl().

Referenced by Init_ossl_ssl().

static void ossl_ssl_free ( SSL *  ssl  )  [static]

Definition at line 1123 of file ossl_ssl.c.

Referenced by ossl_ssl_s_alloc().

static VALUE ossl_ssl_get_cert ( VALUE  self  )  [static]

Definition at line 1589 of file ossl_ssl.c.

References NULL, ossl_ssl_data_get_struct, ossl_x509_new(), and Qnil.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_get_cipher ( VALUE  self  )  [static]

Definition at line 1687 of file ossl_ssl.c.

References ossl_ssl_cipher_to_ary(), and ossl_ssl_data_get_struct.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_get_client_ca_list ( VALUE  self  )  [static]

Definition at line 1815 of file ossl_ssl.c.

References ossl_ssl_data_get_struct, ossl_x509name_sk2ary(), and STACK_OF().

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_get_peer_cert ( VALUE  self  )  [static]

Definition at line 1615 of file ossl_ssl.c.

References NULL, ossl_ssl_data_get_struct, ossl_x509_new(), Qnil, and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_get_peer_cert_chain ( VALUE  self  )  [static]

Definition at line 1641 of file ossl_ssl.c.

References ossl_ssl_data_get_struct, ossl_x509_new(), Qnil, rb_ary_new2, rb_ary_push(), STACK_OF(), and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_get_state ( VALUE  self  )  [static]

Definition at line 1706 of file ossl_ssl.c.

References ossl_ssl_data_get_struct, rb_str_cat2(), rb_str_new2, ruby_verbose, and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_get_verify_result ( VALUE  self  )  [static]

Definition at line 1794 of file ossl_ssl.c.

References INT2FIX, and ossl_ssl_data_get_struct.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_get_version ( VALUE  self  )  [static]

Definition at line 1671 of file ossl_ssl.c.

References ossl_ssl_data_get_struct, and rb_str_new2.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_initialize ( int  argc,
VALUE *  argv,
VALUE  self 
) [static]

Definition at line 1151 of file ossl_ssl.c.

References Check_Type, cSSLContext, OSSL_Check_Kind, ossl_ssl_set_ctx, ossl_ssl_set_io, ossl_ssl_set_sync_close, ossl_sslctx_setup(), Qfalse, Qnil, rb_call_super(), rb_funcall(), rb_intern, rb_iv_set(), rb_scan_args(), T_FILE, and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_pending ( VALUE  self  )  [static]

Definition at line 1728 of file ossl_ssl.c.

References INT2NUM, and ossl_ssl_data_get_struct.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_read ( int  argc,
VALUE *  argv,
VALUE  self 
) [static]

Definition at line 1453 of file ossl_ssl.c.

References ossl_ssl_read_internal().

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_read_internal ( int  argc,
VALUE *  argv,
VALUE  self,
int  nonblock 
) [static]

Definition at line 1374 of file ossl_ssl.c.

References Data_Get_Struct, eSSLError, FPTR_TO_FD, GetOpenFile, ID2SYM, NIL_P, NUM2INT, OBJ_TAINT, ossl_raise(), ossl_ssl_get_io, Qfalse, Qnil, rb_eof_error(), rb_funcall(), rb_hash_aref(), rb_intern, rb_io_wait_readable(), rb_io_wait_writable(), rb_scan_args(), rb_str_modify(), rb_str_new(), rb_str_resize(), rb_str_set_len(), rb_sys_fail(), rb_thread_wait_fd(), rb_warning(), read_would_block(), RSTRING_LENINT, RSTRING_PTR, ssl_get_error, StringValue, sym_exception, VALUE, and write_would_block().

Referenced by ossl_ssl_read(), and ossl_ssl_read_nonblock().

static VALUE ossl_ssl_read_nonblock ( int  argc,
VALUE *  argv,
VALUE  self 
) [static]

Definition at line 1472 of file ossl_ssl.c.

References ossl_ssl_read_internal().

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_s_alloc ( VALUE  klass  )  [static]

Definition at line 1129 of file ossl_ssl.c.

References Data_Wrap_Struct, NULL, and ossl_ssl_free().

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_session_reused ( VALUE  self  )  [static]

Definition at line 1744 of file ossl_ssl.c.

References eSSLError, ossl_raise(), ossl_ssl_data_get_struct, Qfalse, Qtrue, and UNREACHABLE.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_set_session ( VALUE  self,
VALUE  arg1 
) [static]

Definition at line 1766 of file ossl_ssl.c.

References eSSLError, ossl_raise(), ossl_ssl_data_get_struct, ossl_ssl_setup(), and SafeGetSSLSession.

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_setup ( VALUE  self  )  [static]

Definition at line 1173 of file ossl_ssl.c.

References Data_Get_Struct, DATA_PTR, eSSLError, FPTR_TO_FD, GetOpenFile, NIL_P, ossl_raise(), ossl_ssl_ex_client_cert_cb_idx, ossl_ssl_ex_ptr_idx, ossl_ssl_ex_tmp_dh_callback_idx, ossl_ssl_ex_vcb_idx, ossl_ssl_get_ctx, ossl_ssl_get_io, ossl_sslctx_get_client_cert_cb, ossl_sslctx_get_tmp_dh_cb, ossl_sslctx_get_verify_cb, Qtrue, rb_io_check_readable(), rb_io_check_writable(), rb_iv_get(), ssl_info_cb(), StringValuePtr, TO_SOCKET, and VALUE.

Referenced by ossl_ssl_accept(), ossl_ssl_accept_nonblock(), ossl_ssl_connect(), ossl_ssl_connect_nonblock(), and ossl_ssl_set_session().

static void ossl_ssl_shutdown ( SSL *  ssl  )  [static]

Definition at line 1102 of file ossl_ssl.c.

Referenced by ossl_ssl_close().

static int ossl_ssl_verify_callback ( int  preverify_ok,
X509_STORE_CTX *  ctx 
) [static]

Definition at line 325 of file ossl_ssl.c.

References ossl_ssl_ex_vcb_idx, ossl_verify_cb(), ossl_verify_cb_idx, and VALUE.

Referenced by ossl_sslctx_setup().

static VALUE ossl_ssl_write ( VALUE  self,
VALUE  str 
) [static]

Definition at line 1528 of file ossl_ssl.c.

References ossl_ssl_write_internal().

Referenced by Init_ossl_ssl().

static VALUE ossl_ssl_write_internal ( VALUE  self,
VALUE  str,
int  nonblock,
int  no_exception 
) [static]

Definition at line 1478 of file ossl_ssl.c.

References Data_Get_Struct, errno, eSSLError, FPTR_TO_FD, GetOpenFile, ID2SYM, INT2NUM, ossl_raise(), ossl_ssl_get_io, rb_funcall(), rb_intern, rb_io_wait_readable(), rb_io_wait_writable(), rb_sys_fail(), rb_warning(), read_would_block(), RSTRING_LENINT, RSTRING_PTR, ssl_get_error, StringValue, and write_would_block().

Referenced by ossl_ssl_write(), and ossl_ssl_write_nonblock().

static VALUE ossl_ssl_write_nonblock ( int  argc,
VALUE *  argv,
VALUE  self 
) [static]

Definition at line 1541 of file ossl_ssl.c.

References NIL_P, ossl_ssl_write_internal(), Qfalse, Qnil, rb_hash_aref(), rb_scan_args(), sym_exception, and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_add_extra_chain_cert_i ( RB_BLOCK_CALL_FUNC_ARGLIST(i, arg)   )  [static]

Definition at line 480 of file ossl_ssl.c.

References Data_Get_Struct, DupX509CertPtr(), eSSLError, NULL, and ossl_raise().

Referenced by ossl_sslctx_setup().

static VALUE ossl_sslctx_flush_sessions ( int  argc,
VALUE *  argv,
VALUE  self 
) [static]

Definition at line 1074 of file ossl_ssl.c.

References Data_Get_Struct, NIL_P, NUM2LONG, ossl_raise(), rb_cTime, rb_eArgError, rb_funcall(), rb_intern, rb_obj_is_instance_of(), rb_scan_args(), and VALUE.

Referenced by Init_ossl_ssl().

static void ossl_sslctx_free ( SSL_CTX *  ctx  )  [static]

Definition at line 153 of file ossl_ssl.c.

References NULL, and ossl_ssl_ex_store_p.

Referenced by ossl_sslctx_s_alloc().

static VALUE ossl_sslctx_get_ciphers ( VALUE  self  )  [static]

Definition at line 836 of file ossl_ssl.c.

References Data_Get_Struct, ossl_ssl_cipher_to_ary(), Qnil, rb_ary_new(), rb_ary_new2, rb_ary_push(), rb_warning(), STACK_OF(), and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_get_session_cache_mode ( VALUE  self  )  [static]

Definition at line 954 of file ossl_ssl.c.

References Data_Get_Struct, and LONG2NUM.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_get_session_cache_size ( VALUE  self  )  [static]

Definition at line 991 of file ossl_ssl.c.

References Data_Get_Struct, and LONG2NUM.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_get_session_cache_stats ( VALUE  self  )  [static]

Definition at line 1042 of file ossl_ssl.c.

References Data_Get_Struct, hash(), ID2SYM, LONG2NUM, rb_hash_aset(), rb_hash_new(), rb_intern, and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_initialize ( int  argc,
VALUE *  argv,
VALUE  self 
) [static]

Definition at line 223 of file ossl_ssl.c.

References buf, numberof, ossl_sslctx_attrs, ossl_sslctx_set_ssl_version(), Qnil, rb_iv_set(), rb_scan_args(), snprintf, and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_s_alloc ( VALUE  klass  )  [static]

Definition at line 161 of file ossl_ssl.c.

References Data_Wrap_Struct, eSSLError, ossl_raise(), and ossl_sslctx_free().

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_session_add ( VALUE  self,
VALUE  arg 
) [static]

Definition at line 918 of file ossl_ssl.c.

References Data_Get_Struct, Qfalse, Qtrue, and SafeGetSSLSession.

Referenced by Init_ossl_ssl().

static SSL_SESSION* ossl_sslctx_session_get_cb ( SSL *  ssl,
unsigned char *  buf,
int  len,
int *  copy 
) [static]

Definition at line 354 of file ossl_ssl.c.

References _, cSSLSession, ID_callback_state, INT2NUM, NULL, ossl_call_session_get_cb(), OSSL_Debug, ossl_ssl_ex_ptr_idx, rb_ary_new2, rb_ary_push(), rb_ivar_set(), rb_obj_is_instance_of(), rb_protect(), rb_str_new(), SafeGetSSLSession, and VALUE.

Referenced by ossl_sslctx_setup().

static int ossl_sslctx_session_new_cb ( SSL *  ssl,
SSL_SESSION *  sess 
) [static]

Definition at line 401 of file ossl_ssl.c.

References _, cSSLSession, DATA_PTR, ID_callback_state, INT2NUM, NULL, ossl_call_session_new_cb(), OSSL_Debug, ossl_ssl_ex_ptr_idx, rb_ary_new2, rb_ary_push(), rb_ivar_set(), rb_obj_alloc(), rb_protect(), and VALUE.

Referenced by ossl_sslctx_setup().

static VALUE ossl_sslctx_session_remove ( VALUE  self,
VALUE  arg 
) [static]

Definition at line 936 of file ossl_ssl.c.

References Data_Get_Struct, Qfalse, Qtrue, and SafeGetSSLSession.

Referenced by Init_ossl_ssl().

static void ossl_sslctx_session_remove_cb ( SSL_CTX *  ctx,
SSL_SESSION *  sess 
) [static]

Definition at line 450 of file ossl_ssl.c.

References _, cSSLSession, DATA_PTR, NULL, ossl_call_session_remove_cb(), OSSL_Debug, ossl_ssl_ex_ptr_idx, rb_ary_new2, rb_ary_push(), rb_obj_alloc(), rb_protect(), and VALUE.

Referenced by ossl_sslctx_setup().

static VALUE ossl_sslctx_set_ciphers ( VALUE  self,
VALUE  v 
) [static]

Definition at line 876 of file ossl_ssl.c.

References Data_Get_Struct, eSSLError, NIL_P, ossl_raise(), Qnil, RARRAY_LEN, rb_ary_entry(), rb_check_frozen, rb_str_append(), rb_str_cat2(), rb_str_new(), rb_String(), RSTRING_PTR, StringValue, T_ARRAY, TYPE, and VALUE.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_set_session_cache_mode ( VALUE  self,
VALUE  arg 
) [static]

Definition at line 972 of file ossl_ssl.c.

References Data_Get_Struct, and NUM2LONG.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_set_session_cache_size ( VALUE  self,
VALUE  arg 
) [static]

Definition at line 1008 of file ossl_ssl.c.

References Data_Get_Struct, and NUM2LONG.

Referenced by Init_ossl_ssl().

static VALUE ossl_sslctx_set_ssl_version ( VALUE  self,
VALUE  ssl_method 
) [static]

Definition at line 186 of file ossl_ssl.c.

References Data_Get_Struct, eSSLError, name, NULL, numberof, ossl_raise(), ossl_ssl_method_tab, rb_eArgError, rb_id2name(), StringValuePtr, SYM2ID, T_SYMBOL, and TYPE.

Referenced by Init_ossl_ssl(), and ossl_sslctx_initialize().

static VALUE ossl_sslctx_setup ( VALUE  self  )  [static]

Definition at line 657 of file ossl_ssl.c.

References Data_Get_Struct, eSSLError, GetPKeyPtr(), GetX509CertPtr(), GetX509StorePtr(), key, NIL_P, NULL, NUM2INT, NUM2LONG, OBJ_FROZEN, ossl_client_cert_cb(), OSSL_Debug, ossl_default_tmp_dh_callback(), ossl_raise(), ossl_ssl_ex_ptr_idx, ossl_ssl_ex_store_p, ossl_ssl_verify_callback(), ossl_sslctx_add_extra_chain_cert_i(), ossl_sslctx_get_ca_file, ossl_sslctx_get_ca_path, ossl_sslctx_get_cert, ossl_sslctx_get_cert_store, ossl_sslctx_get_client_ca, ossl_sslctx_get_client_cert_cb, ossl_sslctx_get_extra_cert, ossl_sslctx_get_key, ossl_sslctx_get_options, ossl_sslctx_get_sess_id_ctx, ossl_sslctx_get_timeout, ossl_sslctx_get_tmp_dh_cb, ossl_sslctx_get_verify_dep, ossl_sslctx_get_verify_mode, ossl_sslctx_session_get_cb(), ossl_sslctx_session_new_cb(), ossl_sslctx_session_remove_cb(), ossl_tmp_dh_callback(), Qnil, Qtrue, RARRAY_LEN, RARRAY_PTR, rb_block_call(), rb_intern, rb_iv_get(), rb_obj_freeze(), rb_warning(), RSTRING_LENINT, RSTRING_PTR, RTEST, StringValue, StringValuePtr, T_ARRAY, TYPE, val, and VALUE.

Referenced by Init_ossl_ssl(), and ossl_ssl_initialize().

static VALUE ossl_start_ssl ( VALUE  self,
int(*)()  func,
const char *  funcname,
int  nonblock 
) [static]

Definition at line 1253 of file ossl_ssl.c.

References errno, eSSLError, FPTR_TO_FD, func, GetOpenFile, ID_callback_state, NIL_P, NUM2INT, ossl_raise(), ossl_ssl_data_get_struct, ossl_ssl_get_io, Qnil, rb_io_wait_readable(), rb_io_wait_writable(), rb_ivar_get(), rb_ivar_set(), rb_jump_tag(), rb_sys_fail(), read_would_block(), ssl_get_error, VALUE, and write_would_block().

Referenced by ossl_ssl_accept(), ossl_ssl_accept_nonblock(), ossl_ssl_connect(), and ossl_ssl_connect_nonblock().

static DH* ossl_tmp_dh_callback ( SSL *  ssl,
int  is_export,
int  keylength 
) [static]

Definition at line 295 of file ossl_ssl.c.

References _, args, GetPKeyPtr(), INT2FIX, NULL, ossl_call_tmp_dh_callback(), ossl_ssl_ex_ptr_idx, ossl_ssl_get_tmp_dh, rb_protect(), RTEST, and VALUE.

Referenced by ossl_sslctx_setup().

static void read_would_block ( int  nonblock  )  [static]

Definition at line 1244 of file ossl_ssl.c.

References eSSLErrorWaitReadable, ossl_exc_new(), rb_exc_raise(), and VALUE.

Referenced by ossl_ssl_read_internal(), ossl_ssl_write_internal(), and ossl_start_ssl().

static void ssl_info_cb ( const SSL *  ssl,
int  where,
int  val 
) [static]

Definition at line 637 of file ossl_ssl.c.

References ssl_renegotiation_cb().

Referenced by ossl_ssl_setup().

static void ssl_renegotiation_cb ( const SSL *  ssl  )  [static]

Definition at line 555 of file ossl_ssl.c.

References eSSLError, NIL_P, NULL, ossl_raise(), ossl_ssl_ex_ptr_idx, rb_funcall(), rb_intern, rb_iv_get(), and VALUE.

Referenced by ssl_info_cb().

static void write_would_block ( int  nonblock  )  [static]

Definition at line 1235 of file ossl_ssl.c.

References eSSLErrorWaitWritable, ossl_exc_new(), rb_exc_raise(), and VALUE.

Referenced by ossl_ssl_read_internal(), ossl_ssl_write_internal(), and ossl_start_ssl().


Variable Documentation

VALUE cSSLContext

Definition at line 29 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), and ossl_ssl_initialize().

VALUE cSSLSocket

Definition at line 30 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), and ossl_ssl_session_initialize().

VALUE eSSLError

Definition at line 28 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), ossl_ssl_read_internal(), ossl_ssl_session_reused(), ossl_ssl_set_session(), ossl_ssl_setup(), ossl_ssl_write_internal(), ossl_sslctx_add_extra_chain_cert_i(), ossl_sslctx_s_alloc(), ossl_sslctx_set_ciphers(), ossl_sslctx_set_ssl_version(), ossl_sslctx_setup(), ossl_start_ssl(), and ssl_renegotiation_cb().

VALUE eSSLErrorWaitReadable [static]

Definition at line 32 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), and read_would_block().

VALUE eSSLErrorWaitWritable [static]

Definition at line 33 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), and write_would_block().

SSL_METHOD*(* func)(void)

Referenced by backtrace_collect(), call_without_gvl(), console_emulator_p(), default_handler(), dlhandle_sym(), do_checksum(), enum_count(), enum_find_index(), fiddle_handle_sym(), lazy_zip(), ossl_start_ssl(), parser_here_document(), parser_heredoc_identifier(), parser_parse_string(), rb_thread_io_blocking_region(), rollback_ensure_stack(), rsock_bsock_send(), rsock_connect(), sig_trap(), signal_ignored(), and trap_handler().

ID ID_callback_state

Definition at line 104 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), ossl_sslctx_session_get_cb(), ossl_sslctx_session_new_cb(), and ossl_start_ssl().

VALUE mSSL

Definition at line 27 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), and Init_ossl_ssl_session().

const char* name

Definition at line 112 of file ossl_ssl.c.

const char* ossl_ssl_attr_readers[] = { "io", "context", } [static]

Definition at line 96 of file ossl_ssl.c.

Referenced by Init_ossl_ssl().

const char* ossl_ssl_attrs[] [static]

Initial value:

 {



    "sync_close",
}

Definition at line 97 of file ossl_ssl.c.

Referenced by Init_ossl_ssl().

int ossl_ssl_ex_client_cert_cb_idx

Definition at line 149 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), ossl_call_client_cert_cb(), and ossl_ssl_setup().

int ossl_ssl_ex_ptr_idx

Definition at line 148 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), ossl_client_cert_cb(), ossl_ssl_setup(), ossl_sslctx_session_get_cb(), ossl_sslctx_session_new_cb(), ossl_sslctx_session_remove_cb(), ossl_sslctx_setup(), ossl_tmp_dh_callback(), and ssl_renegotiation_cb().

int ossl_ssl_ex_store_p

Definition at line 147 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), ossl_sslctx_free(), and ossl_sslctx_setup().

int ossl_ssl_ex_tmp_dh_callback_idx

Definition at line 150 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), ossl_call_tmp_dh_callback(), and ossl_ssl_setup().

int ossl_ssl_ex_vcb_idx

Definition at line 146 of file ossl_ssl.c.

Referenced by Init_ossl_ssl(), ossl_ssl_setup(), and ossl_ssl_verify_callback().

struct { ... } ossl_ssl_method_tab[]

Referenced by Init_ossl_ssl(), and ossl_sslctx_set_ssl_version().

const char* ossl_sslctx_attrs[] [static]

Initial value:

 {
    "cert", "key", "client_ca", "ca_file", "ca_path",
    "timeout", "verify_mode", "verify_depth", "renegotiation_cb",
    "verify_callback", "options", "cert_store", "extra_chain_cert",
    "client_cert_cb", "tmp_dh_callback", "session_id_context",
    "session_get_cb", "session_new_cb", "session_remove_cb",







}

Definition at line 67 of file ossl_ssl.c.

Referenced by ossl_sslctx_initialize().

VALUE sym_exception [static]

Definition at line 106 of file ossl_ssl.c.

Referenced by Init_IO(), Init_ossl_ssl(), Init_stringio(), io_read_nonblock(), ossl_ssl_read_internal(), ossl_ssl_write_nonblock(), rb_io_write_nonblock(), and strio_read_nonblock().


Generated on 19 Jul 2016 for Ruby by  doxygen 1.4.7