X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Ftlspicotls%2Ftls_picotls.h;h=92f7b0f9ed5f6cf52aad3a73d3a915a3f6c97d23;hb=9076789779c5a038ec17936130a556703c234fa8;hp=1a253f0e45c92835f51614aaed24e5690ad36f52;hpb=ed019eae2796453356bb78799507e67af3ab363d;p=vpp.git diff --git a/src/plugins/tlspicotls/tls_picotls.h b/src/plugins/tlspicotls/tls_picotls.h index 1a253f0e45c..92f7b0f9ed5 100644 --- a/src/plugins/tlspicotls/tls_picotls.h +++ b/src/plugins/tlspicotls/tls_picotls.h @@ -9,11 +9,15 @@ #define TLS_RX_LEN(x) ((x)->rx_content + (x)->rx_len) #define TLS_RX_OFFSET(x) ((x)->rx_content + (x)->rx_offset) -#define TLS_RX_IS_LEFT(x) ((x)->rx_len != (x)->rx_offset) +#define TLS_RX_IS_LEFT(x) ((x)->rx_len != 0 && (x)->rx_len != (x)->rx_offset) #define TLS_RX_LEFT_LEN(x) ((x)->rx_len - (x)->rx_offset) +#define TLS_READ_OFFSET(x) ((x)->read_buffer.base + (x)->read_buffer_offset) +#define TLS_READ_IS_LEFT(x) ((x)->read_buffer.off != 0 && (x)->read_buffer.off != (x)->read_buffer_offset) +#define TLS_READ_LEFT_LEN(x) ((x)->read_buffer.off - (x)->read_buffer_offset) + #define TLS_WRITE_OFFSET(x) ((x)->write_buffer.base + (x)->write_buffer_offset) -#define TLS_WRITE_IS_LEFT(x) ((x)->write_buffer.off == (x)->write_buffer_offset) +#define TLS_WRITE_IS_LEFT(x) ((x)->write_buffer.off != 0 && (x)->write_buffer.off != (x)->write_buffer_offset) typedef struct tls_ctx_picotls_ @@ -24,10 +28,11 @@ typedef struct tls_ctx_picotls_ u8 *rx_content; int rx_offset; int rx_len; + ptls_buffer_t read_buffer; ptls_buffer_t write_buffer; uint8_t *write_content; + int read_buffer_offset; int write_buffer_offset; - int is_write_buffer_finished; } picotls_ctx_t; typedef struct tls_listen_ctx_picotls_