Add socket wrapper

This commit is contained in:
Zhi Guan
2022-11-01 17:49:48 +08:00
parent 3484417cbe
commit 85e745121f
13 changed files with 105 additions and 281 deletions

View File

@@ -12,13 +12,6 @@
#ifndef GMSSL_TLS_H
#define GMSSL_TLS_H
#ifdef WIN32
#pragma comment (lib, "Ws2_32.lib")
#pragma comment (lib, "Mswsock.lib")
#pragma comment (lib, "AdvApi32.lib")
#include <winsock2.h>
#endif
#include <stdint.h>
#include <gmssl/sm2.h>
@@ -26,6 +19,7 @@
#include <gmssl/sm4.h>
#include <gmssl/digest.h>
#include <gmssl/block_cipher.h>
#include <gmssl/socket.h>
#ifdef __cplusplus
@@ -458,15 +452,9 @@ int tls_record_set_data(uint8_t *record, const uint8_t *data, size_t datalen);
int tls_record_print(FILE *fp, const uint8_t *record, size_t recordlen, int format, int indent);
int tlcp_record_print(FILE *fp, const uint8_t *record, size_t recordlen, int format, int indent);
#ifdef WIN32
int tls_record_send(const uint8_t* record, size_t recordlen, SOCKET sock);
int tls_record_recv(uint8_t* record, size_t* recordlen, SOCKET sock);
int tls12_record_recv(uint8_t* record, size_t* recordlen, SOCKET sock);
#else
int tls_record_send(const uint8_t *record, size_t recordlen, int sock);
int tls_record_recv(uint8_t *record, size_t *recordlen, int sock);
int tls12_record_recv(uint8_t *record, size_t *recordlen, int sock);
#endif
int tls_record_send(const uint8_t *record, size_t recordlen, tls_socket_t sock);
int tls_record_recv(uint8_t *record, size_t *recordlen, tls_socket_t sock);
int tls12_record_recv(uint8_t *record, size_t *recordlen, tls_socket_t sock);
// Handshake
@@ -752,12 +740,7 @@ typedef struct {
int is_client;
int cipher_suites[TLS_MAX_CIPHER_SUITES_COUNT];
size_t cipher_suites_cnt;
#ifdef WIN32
SOCKET sock;
#else
int sock;
#endif
tls_socket_t sock;
uint8_t enced_record[TLS_MAX_RECORD_SIZE];
size_t enced_record_len;
@@ -807,11 +790,7 @@ typedef struct {
int tls_init(TLS_CONNECT *conn, const TLS_CTX *ctx);
#ifdef WIN32
int tls_set_socket(TLS_CONNECT* conn, SOCKET sock);
#else
int tls_set_socket(TLS_CONNECT *conn, int sock);
#endif
int tls_set_socket(TLS_CONNECT *conn, tls_socket_t sock);
int tls_do_handshake(TLS_CONNECT *conn);
int tls_send(TLS_CONNECT *conn, const uint8_t *in, size_t inlen, size_t *sentlen);
int tls_recv(TLS_CONNECT *conn, uint8_t *out, size_t outlen, size_t *recvlen);