aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/libbb.h b/include/libbb.h
index aa9e9d019..b041ce047 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -736,10 +736,17 @@ struct hostent *xgethostbyname(const char *name) FAST_FUNC;
736// + inet_common.c has additional IPv4-only stuff 736// + inet_common.c has additional IPv4-only stuff
737 737
738 738
739struct tls_aes {
740 uint32_t key[60];
741 unsigned rounds;
742};
739#define TLS_MAX_MAC_SIZE 32 743#define TLS_MAX_MAC_SIZE 32
740#define TLS_MAX_KEY_SIZE 32 744#define TLS_MAX_KEY_SIZE 32
745#define TLS_MAX_IV_SIZE 4
741struct tls_handshake_data; /* opaque */ 746struct tls_handshake_data; /* opaque */
742typedef struct tls_state { 747typedef struct tls_state {
748 unsigned flags;
749
743 int ofd; 750 int ofd;
744 int ifd; 751 int ifd;
745 752
@@ -748,6 +755,7 @@ typedef struct tls_state {
748 uint8_t encrypt_on_write; 755 uint8_t encrypt_on_write;
749 unsigned MAC_size; 756 unsigned MAC_size;
750 unsigned key_size; 757 unsigned key_size;
758 unsigned IV_size;
751 759
752 uint8_t *outbuf; 760 uint8_t *outbuf;
753 int outbuf_size; 761 int outbuf_size;
@@ -769,12 +777,21 @@ typedef struct tls_state {
769 /*uint64_t read_seq64_be;*/ 777 /*uint64_t read_seq64_be;*/
770 uint64_t write_seq64_be; 778 uint64_t write_seq64_be;
771 779
780 /*uint8_t *server_write_MAC_key;*/
772 uint8_t *client_write_key; 781 uint8_t *client_write_key;
773 uint8_t *server_write_key; 782 uint8_t *server_write_key;
783 uint8_t *client_write_IV;
784 uint8_t *server_write_IV;
774 uint8_t client_write_MAC_key[TLS_MAX_MAC_SIZE]; 785 uint8_t client_write_MAC_key[TLS_MAX_MAC_SIZE];
775 uint8_t server_write_MAC_k__[TLS_MAX_MAC_SIZE]; 786 uint8_t server_write_MAC_k__[TLS_MAX_MAC_SIZE];
776 uint8_t client_write_k__[TLS_MAX_KEY_SIZE]; 787 uint8_t client_write_k__[TLS_MAX_KEY_SIZE];
777 uint8_t server_write_k__[TLS_MAX_KEY_SIZE]; 788 uint8_t server_write_k__[TLS_MAX_KEY_SIZE];
789 uint8_t client_write_I_[TLS_MAX_IV_SIZE];
790 uint8_t server_write_I_[TLS_MAX_IV_SIZE];
791
792 struct tls_aes aes_encrypt;
793 struct tls_aes aes_decrypt;
794 uint8_t H[16]; //used by AES_GCM
778} tls_state_t; 795} tls_state_t;
779 796
780static inline tls_state_t *new_tls_state(void) 797static inline tls_state_t *new_tls_state(void)