Remove get_cipher from SSL_METHOD.
authorjsing <jsing@openbsd.org>
Tue, 23 Jul 2024 14:40:53 +0000 (14:40 +0000)
committerjsing <jsing@openbsd.org>
Tue, 23 Jul 2024 14:40:53 +0000 (14:40 +0000)
commitae0a25824ab36826911195649772780808244ba2
tree0b84f73891dd426422cbea97d2926442cbebdfad
parentba9ca4db980ab8e6dcf3fc3b889908ded605b595
Remove get_cipher from SSL_METHOD.

Inline the get_cipher implementation (including the special handling
for DTLS) in ssl_cipher_collect_ciphers() (the only consumer), remove
the get_cipher member of SSL_METHOD and mop up dtls1_get_cipher().

ssl3_get_cipher() has always had a strange property of being a reverse
index, which is relied on by the cipher list ordering code, since it
currently assumes that high cipher suite values are preferable. Rather
than complicating ssl3_get_cipher() (and regress), change the iteration
order in ssl_cipher_collect_ciphers() to match what it requires. Lastly,
rename ssl3_get_cipher() to be more descriptive.

ok tb@
lib/libssl/d1_lib.c
lib/libssl/s3_lib.c
lib/libssl/ssl_ciph.c
lib/libssl/ssl_local.h
lib/libssl/ssl_methods.c