Zero the premaster secret after deriving the master secret in DH
[openssl.git] / ssl / ssl2.h
index db353f5841ab6e1165fe120f82bbe450ff428a4a..f8b56afb6b20ef37a005f975aecbbbbbd3de2997 100644 (file)
@@ -1,5 +1,5 @@
 /* ssl/ssl2.h */
-/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com)
+/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
  * This package is an SSL implementation written
@@ -64,8 +64,11 @@ extern "C" {
 #endif
 
 /* Protocol Version Codes */
-#define SSL2_CLIENT_VERSION    0x0002
-#define SSL2_SERVER_VERSION    0x0002
+#define SSL2_VERSION           0x0002
+#define SSL2_VERSION_MAJOR     0x00
+#define SSL2_VERSION_MINOR     0x02
+/* #define SSL2_CLIENT_VERSION 0x0002 */
+/* #define SSL2_SERVER_VERSION 0x0002 */
 
 /* Protocol Message Codes */
 #define SSL2_MT_ERROR                  0
@@ -130,8 +133,12 @@ extern "C" {
 
 /* Upper/Lower Bounds */
 #define SSL2_MAX_MASTER_KEY_LENGTH_IN_BITS     256
-#define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER   (unsigned int)32767 
-#define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER   16383 /**/
+#ifdef MPE
+#define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER   29998u
+#else
+#define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER   32767u  /* 2^15-1 */
+#endif
+#define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER   16383 /* 2^14-1 */
 
 #define SSL2_CHALLENGE_LENGTH  16
 /*#define SSL2_CHALLENGE_LENGTH        32 */
@@ -148,9 +155,8 @@ extern "C" {
 #define  CERT          char
 #endif
 
-typedef struct ssl2_ctx_st
+typedef struct ssl2_state_st
        {
-       int first_packet;       /* enable first packet checking in server */
        int three_byte_header;
        int clear_text;         /* clear text */
        int escape;             /* not used in SSLv2 */
@@ -160,7 +166,7 @@ typedef struct ssl2_ctx_st
         * args were passwd */
        unsigned int wnum;      /* number of bytes sent so far */
        int wpend_tot;
-       char *wpend_buf;
+       const unsigned char *wpend_buf;
 
        int wpend_off;  /* offset to data to write */
        int wpend_len;  /* number of bytes passwd to write */
@@ -212,7 +218,7 @@ typedef struct ssl2_ctx_st
                unsigned int clen;
                unsigned int rlen;
                } tmp;
-       } SSL2_CTX;
+       } SSL2_STATE;
 
 /* SSLv2 */
 /* client */