Moved s3_pkt.c, s23_pkt.c and d1_pkt.c into the record layer.
Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
c103c7e266
commit
999005e493
6 changed files with 46 additions and 42 deletions
12
ssl/Makefile
12
ssl/Makefile
|
@ -21,11 +21,11 @@ APPS=
|
|||
LIB=$(TOP)/libssl.a
|
||||
SHARED_LIB= libssl$(SHLIB_EXT)
|
||||
LIBSRC= \
|
||||
s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c s3_pkt.c s3_both.c s3_cbc.c \
|
||||
s3_meth.c s3_srvr.c s3_clnt.c s3_lib.c s3_enc.c record/s3_pkt.c s3_both.c s3_cbc.c \
|
||||
s3_msg.c \
|
||||
s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c s23_pkt.c \
|
||||
s23_meth.c s23_srvr.c s23_clnt.c s23_lib.c record/s23_pkt.c \
|
||||
t1_meth.c t1_srvr.c t1_clnt.c t1_lib.c t1_enc.c t1_ext.c \
|
||||
d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c d1_pkt.c d1_msg.c \
|
||||
d1_meth.c d1_srvr.c d1_clnt.c d1_lib.c record/d1_pkt.c d1_msg.c \
|
||||
d1_both.c d1_srtp.c \
|
||||
ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c \
|
||||
ssl_ciph.c ssl_stat.c ssl_rsa.c \
|
||||
|
@ -33,11 +33,11 @@ LIBSRC= \
|
|||
bio_ssl.c ssl_err.c kssl.c t1_reneg.c tls_srp.c t1_trce.c ssl_utst.c \
|
||||
record/ssl3_buffer.c record/ssl3_record.c
|
||||
LIBOBJ= \
|
||||
s3_meth.o s3_srvr.o s3_clnt.o s3_lib.o s3_enc.o s3_pkt.o s3_both.o s3_cbc.o \
|
||||
s3_meth.o s3_srvr.o s3_clnt.o s3_lib.o s3_enc.o record/s3_pkt.o s3_both.o s3_cbc.o \
|
||||
s3_msg.o \
|
||||
s23_meth.o s23_srvr.o s23_clnt.o s23_lib.o s23_pkt.o \
|
||||
s23_meth.o s23_srvr.o s23_clnt.o s23_lib.o record/s23_pkt.o \
|
||||
t1_meth.o t1_srvr.o t1_clnt.o t1_lib.o t1_enc.o t1_ext.o \
|
||||
d1_meth.o d1_srvr.o d1_clnt.o d1_lib.o d1_pkt.o d1_msg.o \
|
||||
d1_meth.o d1_srvr.o d1_clnt.o d1_lib.o record/d1_pkt.o d1_msg.o \
|
||||
d1_both.o d1_srtp.o\
|
||||
ssl_lib.o ssl_err2.o ssl_cert.o ssl_sess.o \
|
||||
ssl_ciph.o ssl_stat.o ssl_rsa.o \
|
||||
|
|
|
@ -116,7 +116,7 @@
|
|||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#define USE_SOCKETS
|
||||
#include "ssl_locl.h"
|
||||
#include "../ssl_locl.h"
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/buffer.h>
|
||||
#include <openssl/pqueue.h>
|
|
@ -111,6 +111,19 @@
|
|||
|
||||
#include "../ssl_locl.h"
|
||||
|
||||
typedef struct dtls1_bitmap_st {
|
||||
unsigned long map; /* track 32 packets on 32-bit systems and 64
|
||||
* - on 64-bit systems */
|
||||
unsigned char max_seq_num[8]; /* max record number seen so far, 64-bit
|
||||
* value in big-endian encoding */
|
||||
} DTLS1_BITMAP;
|
||||
|
||||
|
||||
typedef struct record_pqueue_st {
|
||||
unsigned short epoch;
|
||||
pqueue q;
|
||||
} record_pqueue;
|
||||
|
||||
typedef struct record_layer_st {
|
||||
/* The parent SSL structure */
|
||||
SSL *s;
|
||||
|
@ -136,3 +149,27 @@ typedef struct record_layer_st {
|
|||
#define RECORD_LAYER_get_wbuf(rl) (&(rl)->wbuf)
|
||||
#define RECORD_LAYER_get_rrec(rl) (&(rl)->rrec)
|
||||
#define RECORD_LAYER_get_wrec(rl) (&(rl)->wrec)
|
||||
|
||||
__owur int ssl23_read_bytes(SSL *s, int n);
|
||||
__owur int ssl23_write_bytes(SSL *s);
|
||||
__owur int ssl3_read_n(SSL *s, int n, int max, int extend);
|
||||
__owur int ssl3_write_bytes(SSL *s, int type, const void *buf, int len);
|
||||
__owur int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
|
||||
unsigned int len, int create_empty_fragment);
|
||||
__owur int ssl3_write_pending(SSL *s, int type, const unsigned char *buf,
|
||||
unsigned int len);
|
||||
__owur int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek);
|
||||
__owur int dtls1_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek);
|
||||
int dtls1_write_bytes(SSL *s, int type, const void *buf, int len);
|
||||
__owur int do_dtls1_write(SSL *s, int type, const unsigned char *buf,
|
||||
unsigned int len, int create_empty_fragement);
|
||||
int dtls1_record_replay_check(SSL *s, DTLS1_BITMAP *bitmap);
|
||||
void dtls1_record_bitmap_update(SSL *s, DTLS1_BITMAP *bitmap);
|
||||
DTLS1_BITMAP *dtls1_get_bitmap(SSL *s, SSL3_RECORD *rr,
|
||||
unsigned int *is_next_epoch);
|
||||
int dtls1_process_buffered_records(SSL *s);
|
||||
int dtls1_retrieve_buffered_record(SSL *s, record_pqueue *queue);
|
||||
int dtls1_buffer_record(SSL *s, record_pqueue *q,
|
||||
unsigned char *priority);
|
||||
void dtls1_reset_seq_numbers(SSL *s, int rw);
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#define USE_SOCKETS
|
||||
#include "ssl_locl.h"
|
||||
#include "../ssl_locl.h"
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/buffer.h>
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
#include <limits.h>
|
||||
#include <errno.h>
|
||||
#define USE_SOCKETS
|
||||
#include "ssl_locl.h"
|
||||
#include "../ssl_locl.h"
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/buffer.h>
|
||||
#include <openssl/rand.h>
|
|
@ -1376,13 +1376,6 @@ typedef struct ssl3_state_st {
|
|||
/* Max MTU overhead we know about so far is 40 for IPv6 + 8 for UDP */
|
||||
# define DTLS1_MAX_MTU_OVERHEAD 48
|
||||
|
||||
typedef struct dtls1_bitmap_st {
|
||||
unsigned long map; /* track 32 packets on 32-bit systems and 64
|
||||
* - on 64-bit systems */
|
||||
unsigned char max_seq_num[8]; /* max record number seen so far, 64-bit
|
||||
* value in big-endian encoding */
|
||||
} DTLS1_BITMAP;
|
||||
|
||||
struct dtls1_retransmit_state {
|
||||
EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */
|
||||
EVP_MD_CTX *write_hash; /* used for mac generation */
|
||||
|
@ -1419,11 +1412,6 @@ struct dtls1_timeout_st {
|
|||
unsigned int num_alerts;
|
||||
};
|
||||
|
||||
typedef struct record_pqueue_st {
|
||||
unsigned short epoch;
|
||||
pqueue q;
|
||||
} record_pqueue;
|
||||
|
||||
typedef struct hm_fragment_st {
|
||||
struct hm_header_st msg_header;
|
||||
unsigned char *fragment;
|
||||
|
@ -2089,8 +2077,6 @@ __owur const SSL_CIPHER *ssl3_get_cipher(unsigned int u);
|
|||
int ssl3_renegotiate(SSL *ssl);
|
||||
int ssl3_renegotiate_check(SSL *ssl);
|
||||
__owur int ssl3_dispatch_alert(SSL *s);
|
||||
__owur int ssl3_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek);
|
||||
__owur int ssl3_write_bytes(SSL *s, int type, const void *buf, int len);
|
||||
__owur int ssl3_final_finish_mac(SSL *s, const char *sender, int slen,
|
||||
unsigned char *p);
|
||||
__owur int ssl3_cert_verify_mac(SSL *s, int md_nid, unsigned char *p);
|
||||
|
@ -2135,12 +2121,6 @@ __owur int ssl_allow_compression(SSL *s);
|
|||
|
||||
__owur long tls1_default_timeout(void);
|
||||
__owur int dtls1_do_write(SSL *s, int type);
|
||||
__owur int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
|
||||
unsigned int len, int create_empty_fragment);
|
||||
__owur int ssl3_read_n(SSL *s, int n, int max, int extend);
|
||||
__owur int dtls1_read_bytes(SSL *s, int type, unsigned char *buf, int len, int peek);
|
||||
__owur int ssl3_write_pending(SSL *s, int type, const unsigned char *buf,
|
||||
unsigned int len);
|
||||
void dtls1_set_message_header(SSL *s,
|
||||
unsigned char *p, unsigned char mt,
|
||||
unsigned long len,
|
||||
|
@ -2162,7 +2142,6 @@ void dtls1_clear_record_buffer(SSL *s);
|
|||
void dtls1_get_message_header(unsigned char *data,
|
||||
struct hm_header_st *msg_hdr);
|
||||
void dtls1_get_ccs_header(unsigned char *data, struct ccs_header_st *ccs_hdr);
|
||||
void dtls1_reset_seq_numbers(SSL *s, int rw);
|
||||
__owur long dtls1_default_timeout(void);
|
||||
__owur struct timeval *dtls1_get_timeout(SSL *s, struct timeval *timeleft);
|
||||
__owur int dtls1_check_timeout_num(SSL *s);
|
||||
|
@ -2176,14 +2155,6 @@ __owur int dtls1_send_newsession_ticket(SSL *s);
|
|||
__owur unsigned int dtls1_min_mtu(SSL *s);
|
||||
__owur unsigned int dtls1_link_min_mtu(void);
|
||||
void dtls1_hm_fragment_free(hm_fragment *frag);
|
||||
int dtls1_record_replay_check(SSL *s, DTLS1_BITMAP *bitmap);
|
||||
void dtls1_record_bitmap_update(SSL *s, DTLS1_BITMAP *bitmap);
|
||||
DTLS1_BITMAP *dtls1_get_bitmap(SSL *s, SSL3_RECORD *rr,
|
||||
unsigned int *is_next_epoch);
|
||||
int dtls1_process_buffered_records(SSL *s);
|
||||
int dtls1_retrieve_buffered_record(SSL *s, record_pqueue *queue);
|
||||
int dtls1_buffer_record(SSL *s, record_pqueue *q,
|
||||
unsigned char *priority);
|
||||
|
||||
/* some client-only functions */
|
||||
__owur int ssl3_client_hello(SSL *s);
|
||||
|
@ -2223,8 +2194,6 @@ __owur int ssl3_get_next_proto(SSL *s);
|
|||
|
||||
__owur int ssl23_accept(SSL *s);
|
||||
__owur int ssl23_connect(SSL *s);
|
||||
__owur int ssl23_read_bytes(SSL *s, int n);
|
||||
__owur int ssl23_write_bytes(SSL *s);
|
||||
|
||||
__owur int tls1_new(SSL *s);
|
||||
void tls1_free(SSL *s);
|
||||
|
@ -2241,8 +2210,6 @@ long dtls1_ctrl(SSL *s, int cmd, long larg, void *parg);
|
|||
__owur int dtls1_shutdown(SSL *s);
|
||||
|
||||
__owur long dtls1_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok);
|
||||
__owur int do_dtls1_write(SSL *s, int type, const unsigned char *buf,
|
||||
unsigned int len, int create_empty_fragement);
|
||||
__owur int dtls1_dispatch_alert(SSL *s);
|
||||
|
||||
__owur int ssl_init_wbio_buffer(SSL *s, int push);
|
||||
|
|
Loading…
Reference in a new issue