Ruby  3.1.0dev(2021-09-10revisionb76ad15ed0da636161de0243c547ee1e6fc95681)
Macros | Functions | Variables
ossl.h File Reference

(b76ad15ed0da636161de0243c547ee1e6fc95681)

#include <RUBY_EXTCONF_H>
#include <assert.h>
#include <ruby.h>
#include <errno.h>
#include <ruby/io.h>
#include <ruby/thread.h>
#include <openssl/opensslv.h>
#include <openssl/err.h>
#include <openssl/asn1.h>
#include <openssl/x509v3.h>
#include <openssl/ssl.h>
#include <openssl/pkcs12.h>
#include <openssl/pkcs7.h>
#include <openssl/rand.h>
#include <openssl/conf.h>
#include <openssl/ts.h>
#include <openssl/crypto.h>
#include <openssl/engine.h>
#include <openssl/ocsp.h>
#include <openssl/bn.h>
#include <openssl/rsa.h>
#include <openssl/dsa.h>
#include <openssl/evp.h>
#include <openssl/dh.h>
#include "openssl_missing.h"
#include "ruby_missing.h"
#include "ossl_asn1.h"
#include "ossl_bio.h"
#include "ossl_bn.h"
#include "ossl_cipher.h"
#include "ossl_config.h"
#include "ossl_digest.h"
#include "ossl_hmac.h"
#include "ossl_ns_spki.h"
#include "ossl_ocsp.h"
#include "ossl_pkcs12.h"
#include "ossl_pkcs7.h"
#include "ossl_pkey.h"
#include "ossl_rand.h"
#include "ossl_ssl.h"
#include "ossl_ts.h"
#include "ossl_x509.h"
#include "ossl_engine.h"
#include "ossl_kdf.h"
Include dependency graph for ossl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define OSSL_Check_Kind(obj, klass)
 
#define ossl_str_adjust(str, p)
 
#define OSSL_BIO_reset(bio)
 
#define OSSL_Debug(...)
 

Functions

 STACK_OF (X509) *ossl_x509_ary2sk(VALUE)
 
int *VALUE ossl_x509_sk2ary (const STACK_OF(X509) *certs)
 
VALUE ossl_x509crl_sk2ary (const STACK_OF(X509_CRL) *crl)
 
VALUE ossl_x509name_sk2ary (const STACK_OF(X509_NAME) *names)
 
VALUE ossl_buf2str (char *buf, int len)
 
VALUE ossl_str_new (const char *, long, int *)
 
void ossl_bin2hex (unsigned char *in, char *out, size_t len)
 
VALUE ossl_pem_passwd_value (VALUE)
 
int ossl_pem_passwd_cb (char *, int, int, void *)
 
 NORETURN (void ossl_raise(VALUE, const char *,...))
 
void ossl_clear_error (void)
 
VALUE ossl_to_der (VALUE)
 
VALUE ossl_to_der_if_possible (VALUE)
 
void Init_openssl (void)
 

Variables

VALUE mOSSL
 
VALUE eOSSLError
 
VALUE dOSSL
 

Macro Definition Documentation

◆ OSSL_BIO_reset

#define OSSL_BIO_reset (   bio)
Value:
do { \
(void)BIO_reset((bio)); \
ossl_clear_error(); \
} while (0)

Definition at line 115 of file ossl.h.

◆ OSSL_Check_Kind

#define OSSL_Check_Kind (   obj,
  klass 
)
Value:
do {\
if (!rb_obj_is_kind_of((obj), (klass))) {\
ossl_raise(rb_eTypeError, "wrong argument (%"PRIsVALUE")! (Expected kind of %"PRIsVALUE")",\
rb_obj_class(obj), (klass));\
}\
} while (0)

Definition at line 58 of file ossl.h.

◆ OSSL_Debug

#define OSSL_Debug (   ...)
Value:
do { \
if (dOSSL == Qtrue) { \
fprintf(stderr, "OSSL_DEBUG: "); \
fprintf(stderr, __VA_ARGS__); \
fprintf(stderr, " [%s:%d]\n", __FILE__, __LINE__); \
} \
} while (0)

Definition at line 139 of file ossl.h.

◆ ossl_str_adjust

#define ossl_str_adjust (   str,
 
)
Value:
do{\
long newlen = (long)((p) - (unsigned char*)RSTRING_PTR(str));\
assert(newlen <= RSTRING_LEN(str));\
rb_str_set_len((str), newlen);\
}while(0)

Definition at line 88 of file ossl.h.

Function Documentation

◆ Init_openssl()

void Init_openssl ( void  )

◆ NORETURN()

NORETURN ( void   ossl_raiseVALUE, const char *,...)

◆ ossl_bin2hex()

void ossl_bin2hex ( unsigned char *  in,
char *  out,
size_t  len 
)

Definition at line 139 of file ossl.c.

References assert, and LONG_MAX.

◆ ossl_buf2str()

VALUE ossl_buf2str ( char *  buf,
int  len 
)

Definition at line 126 of file ossl.c.

References buf, len, ossl_str_new(), rb_jump_tag(), and str.

◆ ossl_clear_error()

void ossl_clear_error ( void  )

Definition at line 310 of file ossl.c.

References dOSSL, NULL, Qtrue, and rb_warn().

◆ ossl_pem_passwd_cb()

int ossl_pem_passwd_cb ( char *  ,
int  ,
int  ,
void *   
)

Definition at line 183 of file ossl.c.

References len, and RTEST.

Referenced by ossl_pkey_export_traditional(), and ossl_pkey_read_generic().

◆ ossl_pem_passwd_value()

VALUE ossl_pem_passwd_value ( VALUE  )

Definition at line 157 of file ossl.c.

References eOSSLError, NIL_P, ossl_raise(), Qnil, RSTRING_LEN, and StringValue.

Referenced by ossl_pkey_export_traditional().

◆ ossl_str_new()

VALUE ossl_str_new ( const char *  ,
long  ,
int *   
)

Definition at line 107 of file ossl.c.

References rb_protect(), and str.

Referenced by ossl_buf2str(), and ossl_membio2str().

◆ ossl_to_der()

VALUE ossl_to_der ( VALUE  )

Definition at line 250 of file ossl.c.

References rb_funcall().

◆ ossl_to_der_if_possible()

VALUE ossl_to_der_if_possible ( VALUE  )

Definition at line 261 of file ossl.c.

References rb_respond_to().

◆ ossl_x509_sk2ary()

int* VALUE ossl_x509_sk2ary ( const STACK_OF(X509) *  certs)

◆ ossl_x509crl_sk2ary()

VALUE ossl_x509crl_sk2ary ( const STACK_OF(X509_CRL) *  crl)

◆ ossl_x509name_sk2ary()

VALUE ossl_x509name_sk2ary ( const STACK_OF(X509_NAME) *  names)

◆ STACK_OF()

STACK_OF ( X509  )

Variable Documentation

◆ dOSSL

VALUE dOSSL

Definition at line 363 of file ossl.c.

Referenced by ossl_clear_error().

◆ eOSSLError

VALUE eOSSLError

◆ mOSSL

VALUE mOSSL
dOSSL
VALUE dOSSL
Definition: ossl.c:363
PRIsVALUE
#define PRIsVALUE
Definition: inttypes.h:77
RSTRING_LEN
#define RSTRING_LEN(string)
Definition: fbuffer.h:22
rb_obj_class
VALUE rb_obj_class(VALUE)
Definition: object.c:243
rb_eTypeError
VALUE rb_eTypeError
Definition: error.c:1093
Qtrue
#define Qtrue
Definition: special_consts.h:52
RSTRING_PTR
#define RSTRING_PTR(string)
Definition: fbuffer.h:19
str
char str[HTML_ESCAPE_MAX_LEN+1]
Definition: escape.c:18
rb_obj_is_kind_of
VALUE rb_obj_is_kind_of(VALUE, VALUE)
Determines if obj is a kind of c.
Definition: object.c:729