CUBRID Engine  latest
cas_ssl.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <assert.h>
#include <unistd.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "cas_common.h"
#include "cas.h"
#include "cas_network.h"
#include "cas_function.h"
#include "cas_net_buf.h"
#include "cas_log.h"
#include "cas_util.h"
#include "broker_filename.h"
#include "cas_execute.h"
#include <openssl/crypto.h>
#include <openssl/x509.h>
#include <openssl/pem.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <fcntl.h>

Go to the source code of this file.

Macros

#define CERTF   "cas_ssl_cert.crt"
 
#define KEYF   "cas_ssl_cert.key"
 
#define CERT_FILENAME_LEN   512
 
#define ER_SSL_GENERAL   -1
 
#define ER_CERT_EXPIRED   -2
 
#define ER_CERT_COPPUPTED   -3
 
#define SOCKET_NONBLOCK   1
 
#define SOCKET_BLOCK   0
 

Functions

static int cas_ssl_validity_check (SSL_CTX *ctx)
 
int cas_init_ssl (int sd)
 
int cas_ssl_read (int sd, char *buf, int size)
 
int cas_ssl_write (int sd, const char *buf, int size)
 
void cas_ssl_close (int client_sock_fd)
 
bool is_ssl_data_ready (int sock_fd)
 

Variables

static SSL * ssl = NULL
 
bool ssl_client = false
 

Macro Definition Documentation

#define CERT_FILENAME_LEN   512

Definition at line 73 of file cas_ssl.c.

Referenced by cas_init_ssl().

#define CERTF   "cas_ssl_cert.crt"

Definition at line 71 of file cas_ssl.c.

Referenced by cas_init_ssl().

#define ER_CERT_COPPUPTED   -3

Definition at line 76 of file cas_ssl.c.

Referenced by cas_init_ssl().

#define ER_CERT_EXPIRED   -2

Definition at line 75 of file cas_ssl.c.

Referenced by cas_init_ssl(), and cas_ssl_validity_check().

#define ER_SSL_GENERAL   -1

Definition at line 74 of file cas_ssl.c.

Referenced by cas_init_ssl(), cas_ssl_read(), cas_ssl_validity_check(), and cas_ssl_write().

#define KEYF   "cas_ssl_cert.key"

Definition at line 72 of file cas_ssl.c.

Referenced by cas_init_ssl().

#define SOCKET_BLOCK   0

Definition at line 78 of file cas_ssl.c.

Referenced by cas_init_ssl(), cas_ssl_read(), and cas_ssl_write().

#define SOCKET_NONBLOCK   1

Definition at line 77 of file cas_ssl.c.

Referenced by cas_init_ssl(), cas_ssl_read(), and cas_ssl_write().

Function Documentation

int cas_init_ssl ( int  sd)

Definition at line 86 of file cas_ssl.c.

References cas_log_write(), cas_log_write_and_end(), cas_ssl_validity_check(), CERT_FILENAME_LEN, CERTF, ER_CERT_COPPUPTED, ER_CERT_EXPIRED, ER_SSL_GENERAL, err, KEYF, NULL, SOCKET_BLOCK, SOCKET_NONBLOCK, ssl, and ssl_client.

Referenced by cas_main().

Here is the caller graph for this function:

void cas_ssl_close ( int  client_sock_fd)

Definition at line 265 of file cas_ssl.c.

References NULL, and ssl.

Referenced by cas_main().

Here is the caller graph for this function:

int cas_ssl_read ( int  sd,
char *  buf,
int  size 
)
static int cas_ssl_validity_check ( SSL_CTX *  ctx)
static

Definition at line 275 of file cas_ssl.c.

References ER_CERT_EXPIRED, ER_SSL_GENERAL, and NULL.

Referenced by cas_init_ssl().

Here is the caller graph for this function:

int cas_ssl_write ( int  sd,
const char *  buf,
int  size 
)
bool is_ssl_data_ready ( int  sock_fd)

Definition at line 301 of file cas_ssl.c.

References ssl.

Referenced by read_buffer().

Here is the caller graph for this function:

Variable Documentation

SSL* ssl = NULL
static

Definition at line 80 of file cas_ssl.c.

Referenced by cas_init_ssl(), cas_ssl_close(), cas_ssl_read(), cas_ssl_write(), and is_ssl_data_ready().

bool ssl_client = false