Slight code cleanup for handling finished labels.
[openssl.git] / ssl / ssl3.h
index cf34e978f1d52157a290d0a75bebc262ca756eda..41a621bffc601b732df15c2f486a52c573a60cd3 100644 (file)
@@ -59,7 +59,9 @@
 #ifndef HEADER_SSL3_H 
 #define HEADER_SSL3_H 
 
-#include "buffer.h"
+#include <openssl/buffer.h>
+#include <openssl/evp.h>
+#include <openssl/ssl.h>
 
 #ifdef  __cplusplus
 extern "C" {
@@ -172,8 +174,8 @@ extern "C" {
 #define SSL3_RS_PART_READ              4
 #define SSL3_RS_PART_WRITE             5
 
-#define SSL3_MD_CLIENT_FINISHED_CONST  {0x43,0x4C,0x4E,0x54}
-#define SSL3_MD_SERVER_FINISHED_CONST  {0x53,0x52,0x56,0x52}
+#define SSL3_MD_CLIENT_FINISHED_CONST  "\x43\x4C\x4E\x54"
+#define SSL3_MD_SERVER_FINISHED_CONST  "\x53\x52\x56\x52"
 
 #define SSL3_VERSION                   0x0300
 #define SSL3_VERSION_MAJOR             0x03
@@ -286,7 +288,7 @@ typedef struct ssl3_ctx_st
        int wpend_tot;          /* number bytes written */
        int wpend_type;
        int wpend_ret;          /* number of bytes submitted */
-       const char *wpend_buf;
+       const unsigned char *wpend_buf;
 
        /* used during startup, digest all incoming/outgoing packets */
        EVP_MD_CTX finish_dgst1;
@@ -301,7 +303,7 @@ typedef struct ssl3_ctx_st
        /* we alow one fatal and one warning alert to be outstanding,
         * send close alert via the warning alert */
        int alert_dispatch;
-       char send_alert[2];
+       unsigned char send_alert[2];
 
        /* This flag is set when we should renegotiate ASAP, basically when
         * there is no more data in the read or write buffers */
@@ -320,8 +322,9 @@ typedef struct ssl3_ctx_st
 
                /* used to hold the new cipher we are going to use */
                SSL_CIPHER *new_cipher;
+#ifndef NO_DH
                DH *dh;
-
+#endif
                /* used when SSL_ST_FLUSH_DATA is entered */
                int next_state;                 
 
@@ -395,6 +398,7 @@ typedef struct ssl3_ctx_st
 #define SSL3_ST_SR_CLNT_HELLO_A                (0x110|SSL_ST_ACCEPT)
 #define SSL3_ST_SR_CLNT_HELLO_B                (0x111|SSL_ST_ACCEPT)
 #define SSL3_ST_SR_CLNT_HELLO_C                (0x112|SSL_ST_ACCEPT)
+#define SSL3_ST_SR_MS_SGC                      (0x113|SSL_ST_ACCEPT)
 /* write to client */
 #define SSL3_ST_SW_HELLO_REQ_A         (0x120|SSL_ST_ACCEPT)
 #define SSL3_ST_SW_HELLO_REQ_B         (0x121|SSL_ST_ACCEPT)