Fix compilation on windows for record layer
[openssl.git] / ssl / s23_clnt.c
index 21a32bce70613554e52b14c2876377e907762217..76ad876ec4d130d229781c34dfe268914ace55af 100644 (file)
@@ -263,6 +263,7 @@ int ssl23_connect(SSL *s)
 int ssl_fill_hello_random(SSL *s, int server, unsigned char *result, int len)
 {
     int send_time = 0;
+
     if (len < 4)
         return 0;
     if (server)
@@ -273,9 +274,9 @@ int ssl_fill_hello_random(SSL *s, int server, unsigned char *result, int len)
         unsigned long Time = (unsigned long)time(NULL);
         unsigned char *p = result;
         l2n(Time, p);
-        return RAND_pseudo_bytes(p, len - 4);
+        return RAND_bytes(p, len - 4);
     } else
-        return RAND_pseudo_bytes(result, len);
+        return RAND_bytes(result, len);
 }
 
 static int ssl23_client_hello(SSL *s)
@@ -480,7 +481,7 @@ static int ssl23_client_hello(SSL *s)
 
 static int ssl23_get_server_hello(SSL *s)
 {
-    char buf[8];
+    unsigned char buf[8];
     unsigned char *p;
     int i;
     int n;
@@ -489,7 +490,7 @@ static int ssl23_get_server_hello(SSL *s)
 
     if (n != 7)
         return (n);
-    p = s->packet;
+    p = RECORD_LAYER_get_packet(&s->rlayer);
 
     memcpy(buf, p, n);
 
@@ -572,15 +573,8 @@ static int ssl23_get_server_hello(SSL *s)
         /*
          * put the 7 bytes we have read into the input buffer for SSLv3
          */
-        s->rstate = SSL_ST_READ_HEADER;
-        s->packet_length = n;
-        if (s->s3->rbuf.buf == NULL)
-            if (!ssl3_setup_read_buffer(s))
-                goto err;
-        s->packet = &(s->s3->rbuf.buf[0]);
-        memcpy(s->packet, buf, n);
-        s->s3->rbuf.left = n;
-        s->s3->rbuf.offset = 0;
+        if(!RECORD_LAYER_set_data(&s->rlayer, buf, n))
+            goto err;
 
         s->handshake_func = s->method->ssl_connect;
     } else {