OpenVPN
Macros | Typedefs | Functions
openssl_compat.h File Reference

OpenSSL compatibility stub. More...

#include "buffer.h"
#include <openssl/rsa.h>
#include <openssl/ssl.h>
#include <openssl/x509.h>
#include <openssl/err.h>
Include dependency graph for openssl_compat.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SSL_CTX_set1_groups   SSL_CTX_set1_curves
 
#define EVP_MD_get0_name   EVP_MD_name
 
#define EVP_CIPHER_get0_name   EVP_CIPHER_name
 
#define EVP_CIPHER_CTX_get_mode   EVP_CIPHER_CTX_mode
 
#define SSL_CTX_new_ex(libctx, propq, method)    SSL_CTX_new((method))
 Reduce SSL_CTX_new_ex() to SSL_CTX_new() for OpenSSL < 3.
 

Typedefs

typedef void OSSL_LIB_CTX
 
typedef void OSSL_PROVIDER
 

Functions

static int EVP_PKEY_get_group_name (EVP_PKEY *pkey, char *gname, size_t gname_sz, size_t *gname_len)
 
static const EVP_CIPHER * EVP_CIPHER_fetch (void *ctx, const char *algorithm, const char *properties)
 
static const EVP_MD * EVP_MD_fetch (void *ctx, const char *algorithm, const char *properties)
 
static void EVP_CIPHER_free (const EVP_CIPHER *cipher)
 
static void EVP_MD_free (const EVP_MD *md)
 
static unsigned long ERR_get_error_all (const char **file, int *line, const char **func, const char **data, int *flags)
 

Detailed Description

OpenSSL compatibility stub.

This file provide compatibility stubs for the OpenSSL libraries prior to version 1.1. This version introduces many changes in the library interface, including the fact that various objects and structures are not fully opaque.

Definition in file openssl_compat.h.

Macro Definition Documentation

◆ EVP_CIPHER_CTX_get_mode

#define EVP_CIPHER_CTX_get_mode   EVP_CIPHER_CTX_mode

Definition at line 123 of file openssl_compat.h.

◆ EVP_CIPHER_get0_name

#define EVP_CIPHER_get0_name   EVP_CIPHER_name

Definition at line 122 of file openssl_compat.h.

◆ EVP_MD_get0_name

#define EVP_MD_get0_name   EVP_MD_name

Definition at line 121 of file openssl_compat.h.

◆ SSL_CTX_new_ex

#define SSL_CTX_new_ex (   libctx,
  propq,
  method 
)     SSL_CTX_new((method))

Reduce SSL_CTX_new_ex() to SSL_CTX_new() for OpenSSL < 3.

Definition at line 126 of file openssl_compat.h.

◆ SSL_CTX_set1_groups

#define SSL_CTX_set1_groups   SSL_CTX_set1_curves

Definition at line 51 of file openssl_compat.h.

Typedef Documentation

◆ OSSL_LIB_CTX

typedef void OSSL_LIB_CTX

Definition at line 130 of file openssl_compat.h.

◆ OSSL_PROVIDER

typedef void OSSL_PROVIDER

Definition at line 131 of file openssl_compat.h.

Function Documentation

◆ ERR_get_error_all()

static unsigned long ERR_get_error_all ( const char **  file,
int *  line,
const char **  func,
const char **  data,
int *  flags 
)
inlinestatic

Definition at line 164 of file openssl_compat.h.

Referenced by crypto_print_openssl_errors().

◆ EVP_CIPHER_fetch()

static const EVP_CIPHER * EVP_CIPHER_fetch ( void *  ctx,
const char *  algorithm,
const char *  properties 
)
inlinestatic

Definition at line 136 of file openssl_compat.h.

References ASSERT.

Referenced by cipher_get(), and cipher_kt_block_size().

◆ EVP_CIPHER_free()

static void EVP_CIPHER_free ( const EVP_CIPHER *  cipher)
inlinestatic

◆ EVP_MD_fetch()

static const EVP_MD * EVP_MD_fetch ( void *  ctx,
const char *  algorithm,
const char *  properties 
)
inlinestatic

Definition at line 144 of file openssl_compat.h.

References ASSERT.

Referenced by md_get(), and md_valid().

◆ EVP_MD_free()

static void EVP_MD_free ( const EVP_MD *  md)
inlinestatic

Definition at line 158 of file openssl_compat.h.

Referenced by md_ctx_init(), md_full(), md_kt_name(), md_kt_size(), and md_valid().

◆ EVP_PKEY_get_group_name()

static int EVP_PKEY_get_group_name ( EVP_PKEY *  pkey,
char *  gname,
size_t  gname_sz,
size_t *  gname_len 
)
inlinestatic

Definition at line 91 of file openssl_compat.h.

References strncpynt().

Referenced by print_pkey_details().