Commit e2228d31 authored by Matt Caswell's avatar Matt Caswell
Browse files

Move s->s3->wnum to s->rlayer.wnum

parent 295c3f41
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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;


+7 −7
Original line number Diff line number Diff line
@@ -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;
        }

+0 −1
Original line number Diff line number Diff line
@@ -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 */