Move s->s3->wnum to s->rlayer.wnum
authorMatt Caswell <matt@openssl.org>
Tue, 3 Feb 2015 11:16:30 +0000 (11:16 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 26 Mar 2015 15:02:00 +0000 (15:02 +0000)
Reviewed-by: Richard Levitte <levitte@openssl.org>
ssl/record/rec_layer.h
ssl/record/s3_pkt.c
ssl/ssl_locl.h

index 9111741f054970b129757a2d93c9b2dcfc3fd26d..0bdb7f527c236a619404d22d929cf809b9d6f3dd 100644 (file)
@@ -155,6 +155,8 @@ typedef struct record_layer_st {
     unsigned char *packet;
     unsigned int packet_length;
 
+    /* number of bytes sent so far */
+    unsigned int wnum;
 } RECORD_LAYER;
 
 
index f024ff58e60843c98ffd0709aec4b3a48da67b3f..30b5e37e81a1bfb04f79a3bf61f0d51a9c0b1923 100644 (file)
@@ -434,9 +434,9 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
     }
 
     s->rwstate = SSL_NOTHING;
-    OPENSSL_assert(s->s3->wnum <= INT_MAX);
-    tot = s->s3->wnum;
-    s->s3->wnum = 0;
+    OPENSSL_assert(s->rlayer.wnum <= INT_MAX);
+    tot = s->rlayer.wnum;
+    s->rlayer.wnum = 0;
 
     if (SSL_in_init(s) && !s->in_handshake) {
         i = s->handshake_func(s);
@@ -470,7 +470,7 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
         i = ssl3_write_pending(s, type, &buf[tot], s->s3->wpend_tot);
         if (i <= 0) {
             /* XXX should we ssl3_release_write_buffer if i<0? */
-            s->s3->wnum = tot;
+            s->rlayer.wnum = tot;
             return i;
         }
         tot += i;               /* this might be last fragment */
@@ -531,7 +531,7 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
             if (s->s3->alert_dispatch) {
                 i = s->method->ssl_dispatch_alert(s);
                 if (i <= 0) {
-                    s->s3->wnum = tot;
+                    s->rlayer.wnum = tot;
                     return i;
                 }
             }
@@ -590,7 +590,7 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
                     OPENSSL_free(wb->buf);
                     wb->buf = NULL;
                 }
-                s->s3->wnum = tot;
+                s->rlayer.wnum = tot;
                 return i;
             }
             if (i == (int)n) {
@@ -620,7 +620,7 @@ int ssl3_write_bytes(SSL *s, int type, const void *buf_, int len)
         i = do_ssl3_write(s, type, &(buf[tot]), nw, 0);
         if (i <= 0) {
             /* XXX should we ssl3_release_write_buffer if i<0? */
-            s->s3->wnum = tot;
+            s->rlayer.wnum = tot;
             return i;
         }
 
index 056051a2e131e37eec190f211e90377719d0c562..64962d9439274057fbce09d251700eaf4fe60209 100644 (file)
@@ -1246,7 +1246,6 @@ typedef struct ssl3_state_st {
     unsigned char handshake_fragment[4];
     unsigned int handshake_fragment_len;
     /* partial write - check the numbers match */
-    unsigned int wnum;          /* number of bytes sent so far */
     int wpend_tot;              /* number bytes written */
     int wpend_type;
     int wpend_ret;              /* number of bytes submitted */