diff options
Diffstat (limited to 'ssl/internal.h')
-rw-r--r-- | ssl/internal.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ssl/internal.h b/ssl/internal.h index 232364ee..fca2dda7 100644 --- a/ssl/internal.h +++ b/ssl/internal.h @@ -1014,6 +1014,22 @@ int ssl_client_cipher_list_contains_cipher( const struct ssl_early_callback_ctx *client_hello, uint16_t id); +/* GREASE. */ + +enum ssl_grease_index_t { + ssl_grease_cipher = 0, + ssl_grease_group, + ssl_grease_extension1, + ssl_grease_extension2, +}; + +/* ssl_get_grease_value returns a GREASE value for |ssl|. For a given + * connection, the values for each index will be deterministic. This allows the + * same ClientHello be sent twice for a HelloRetryRequest or the same group be + * advertised in both supported_groups and key_shares. */ +uint16_t ssl_get_grease_value(const SSL *ssl, enum ssl_grease_index_t index); + + /* Underdocumented functions. * * Functions below here haven't been touched up and may be underdocumented. */ |