CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]   2020/09/11 11:36:27

Modified files:
        lib/libssl     : ssl_ciph.c ssl_ciphers.c ssl_clnt.c ssl_lib.c 
                         ssl_locl.h ssl_srvr.c tls13_client.c 

Log message:
Remove cipher_list_by_id.

When parsing a cipher string, a cipher list is created, before being
duplicated and sorted - the second copy being stored as cipher_list_by_id.
This is done only so that a client can ensure that the cipher selected by
a server is in the cipher list. This is pretty pointless given that most
clients are short-lived and that we already had to iterate over the cipher
list in order to build the client hello. Additionally, any update to the
cipher list requires that cipher_list_by_id also be updated and kept in
sync.

Remove all of this and replace it with a simple linear scan - the overhead
of duplicating and sorting the cipher list likely exceeds that of a simple
linear scan over the cipher list (64 maximum, more typically ~9 or so).

ok beck@ tb@

Reply via email to