Add OpenSSL::SSL::SSLContext#client_hello_cb= (binding for SSL_CTX_set_client_hello_cb())
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 53/100
Direção de pesquisa
Start by reading the existing OpenSSL::SSL::SSLContext#servername_cb= binding and its tests, then inspect how the project handles OpenSSL version and LibreSSL support. Add the client_hello_cb= binding for OpenSSL 1.1.1 or later and AWS-LC, and verify it can switch contexts early enough for SNI-selected version settings to take effect.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
How about adding OpenSSL::SSL::SSLContext#client_hello_cb=, a binding for SSL_CTX_set_client_hello_cb()?
Motivation
Apache httpd and nginx use the ClientHello callback for SNI-based virtual host selection:
- Apache httpd (mod_ssl): https://github.com/apache/httpd/commit/076e28399c7336f2b287b102a6e4e40934f2057d
- nginx: https://github.com/nginx/nginx/commit/0373fe5d98c1
OpenSSL::SSL::SSLContext#servername_cb= uses the servername callback (SSL_CTX_set_tlsext_servername_callback()) for the same purpose.
The ClientHello callback is invoked at the beginning of ClientHello processing, before the protocol version is negotiated. The servername callback is invoked after that. So settings of the SSLContext selected by SNI, such as min_version and max_version, can take effect only when the context is switched in the ClientHello callback. Both commits above describe this as the reason for the change.
Compatibility
- OpenSSL 1.1.1 or later: supported
- AWS-LC: supported (
SSL_CTX_set_client_hello_cb()is available) - LibreSSL: not supported (the API isn't available)
- Linguagem predominante
- C
- Estrelas
- 276
- Forks
- 203
- Merge médio
- 1d 41min
- PRs com merge (30d)
- 8
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ruby/openssl
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
ruby/openssl#1118 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
-
Expose XOFs like SHAKE128 and SHAKE256Talvez já em andamento @rhenium assumiu há 99 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
ruby/openssl#1082 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
ruby/openssl#1075 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
Unchecked *_set_* callsTalvez já em andamento @ndossche assumiu há 169 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
ruby/openssl#1038 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Add a method OpenSSL::PKey#sizeTalvez já em andamento @herwinw assumiu há 296 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
ruby/openssl#988 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de ruby/openssl
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 2 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
ChrisTitusTech/dwm-titus#397 ·
Mantenedores costumam responder em até 1 dia
-
good first issue help wanted language:fr translation
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 85/100
mrvi0/cli-cheatsheet#160 ·
-
Test modules use volatile int for cross-thread flags instead of atomicsTalvez já em andamento @rahimuddin140 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
valkey-io/valkey#4899 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
Profiler (Remotery) leaks a socket for every connection that fails the WebSocket handshakeTalvez já em andamento @rthery assumiu hoje. Abertatriage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia