summaryrefslogtreecommitdiff
path: root/src/SSL_Message.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/SSL_Message.h')
-rw-r--r--src/SSL_Message.h101
1 files changed, 34 insertions, 67 deletions
diff --git a/src/SSL_Message.h b/src/SSL_Message.h
index 4f525c9..fbefeed 100644
--- a/src/SSL_Message.h
+++ b/src/SSL_Message.h
@@ -1,34 +1,19 @@
-
-#ifndef H_SSL_MESSAGE_H
-#define H_SSL_MESSAGE_H
-
-#include <stdio.h>
-#include <string.h>
+#pragma once
#define MIN(a, b) ((a) <= (b) ? (a):(b))
-#define MAX_DATA_BUFFER 10240
-
#define SSL_HEADER_LEN 5+1 //use the hand_shake first bytes
-#define SSL_KEY 3
-#define SSL_TRUE 1
-#define SSL_FLASE 0
+#define SSL_KEY 3
+#define SSL_CONTINUE 2
+#define SSL_TRUE 1
+#define SSL_FLASE 0
#define RANDOM_TIME_LEN 4
#define SSL_RANDOM_SIZE 28
-/**SSL versions**/
-#define UNKNOWN_VERSION 0x0000
-#define SSLV3_VERSION 0x0300
-#define SSLV2_VERSION 0x0002
-#define TLSV1_VERSION 0x0301
-#define TLSV1_2_VERSION 0x0303
-#define TLSV1DOT1_VERSION 0x0302
-#define DTLSV1DOT0_VERSION 0xfeff
-#define DTLSV1DOT0_VERSION_NOT 0x0100
#define SSL_HANDSHAKE_MSG_HDRLEN 4
#define SSL_RECORD_HDRLEN 5
@@ -49,70 +34,52 @@
//#############################################client hello
#define CLIENT_HELLO_HDRLEN 4
-typedef struct _st_client_server_name_t
+struct client_server_name
{
- short server_name_list_len;
- unsigned short server_name_type;
- unsigned char server_name_len;
- unsigned char* server_name_data;
-}__attribute__((packed))st_client_server_name_t;
+ short list_len;
+ unsigned short type;
+ unsigned char len;
+ unsigned char* data;
+}__attribute__((packed));
-//#############################################server hello
#define SERVER_HELLO_HDRLEN 4
-//#############################################certificate
#define CERTIFICATE_HDRLEN 7
#define SSL_CERTIFICATE_HDRLEN 3
-
-typedef struct _stValueString_t
+struct ssl_value2string
{
- unsigned int uiValue;
- const char *pcString;
-}stValueString_t;
+ unsigned int value;
+ const char *string;
+};
-typedef struct _stSerialString_t
+struct ssl_serial_string
{
- unsigned char aucSerial[16];
- const char *pcString;
-}stSerialString_t;
+ unsigned char serial[16];
+ const char *string;
+};
-typedef struct _stSSLRecordHdr_t
+struct ssl_record_header
{
- unsigned char ucContType;
- unsigned short usVersion;
- unsigned short usTotalLen;
+ unsigned char content_type;
+ unsigned short version;
+ unsigned short total_len;
+}__attribute__((packed));
-}__attribute__((packed))stSSLRecordHdr_t;
-
-typedef struct _stHandShakeTypeHdr_t
-{
- unsigned char ucContType;
-}__attribute__((packed))stHandShakeTypeHdr_t;
-
-typedef struct _stHSkCertificateHdr_t
+struct ssl_handshake_type
{
- //unsigned char pacCertLen[3];
-}stHSkCertificateHdr_t;
+ unsigned char content_type;
+}__attribute__((packed));
-typedef enum _emHelloMsgType_m
+enum SSL_HANDSHAKE_TYPE
{
-// HELLO_REQUEST = 0,
- CLIENT_HELLO = 1,
- SERVER_HELLO = 2,
- CERTIFICATE = 11,
- // SERVER_KEY_EXCHANGE = 12,
-// CERTIFICATE_REQUEST = 13,
-// SERVER_HELLO_DONE = 14,
-// CERTIFICATE_VERIFY = 15,
-// CLIENT_KEY_EXCHANGE = 16,
-// FINISHED = 20,
+ CLIENT_HELLO=1,
+ SERVER_HELLO=2,
+ CERTIFICATE=11,
NEW_SESSION_TICKET=4,
- MSG_UNKNOWN = 255,
-}emHelloMsgType_m;
-
-UCHAR ssl_analyseStream(struct streaminfo *a_tcp, void** pme, int thread_seq, void *a_packet);
+ MSG_UNKNOWN=255,
+};
-#endif
+int ssl_parse_stream(const struct streaminfo *a_tcp, struct ssl_runtime_context *ssl_context, int thread_seq, const void *a_packet);