Unchecked *_set_* calls
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- Calme
- Domaine
- cryptography, security
Piste de recherche
Passez en revue les setters côté Ruby qui appellent X509_STORE_set_trust, X509_STORE_set_flags, X509_STORE_set_purpose, SSL_SESSION_set_timeout et TS_RESP_CTX_set_signer_key. Vérifiez comment chaque valeur de retour d’OpenSSL est gérée et déterminez le comportement attendu lorsqu’un setter échoue. Done doit inclure une politique de gestion des erreurs définie et une couverture des appels concernés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
There's a few calls to setter functions that are unchecked.
- X509_STORE_set_trust (can fail with invalid argument)
- X509_STORE_set_flags (can't fail with the current implementation, but docs don't confirm this)
- X509_STORE_set_purpose (can fail with invalid argument)
- SSL_SESSION_set_timeout (can fail with negative argument)
- TS_RESP_CTX_set_signer_key (can't fail with the current implementation, but docs don't confirm this, depends on failure of up_ref)
- Probably some more
Yet the setters on Ruby's side don't check the return value of these OpenSSL calls. That means that the user is not informed that their setter has failed. It also returns the new value even though the new value may not have been set.
It may be desirable to raise an exception. On the other hand it may break some code (although you could argue that the code was already wrong to begin with).
Could you please share your opinion on this? If wanted, I can send a PR.
- Langage dominant
- C
- Étoiles
- 276
- Forks
- 204
- Merge moyen
- 1 j 3 h
- PR mergées (30 j)
- 8
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de ruby/openssl
-
Add OpenSSL::SSL::SSLContext#client_hello_cb= (binding for SSL_CTX_set_client_hello_cb())Peut-être pris @kou l’a pris il y a 12 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 53/100
ruby/openssl#1125 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
ruby/openssl#1118 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Expose XOFs like SHAKE128 and SHAKE256Peut-être pris @rhenium l’a pris il y a 109 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
ruby/openssl#1082 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
ruby/openssl#1075 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 Une demi-journée Accessibilité débutants 45/100
ruby/openssl#975 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de ruby/openssl
Issues similaires
-
Add `CPC_TAKE_TILL_CHARS`Ouvertedifficulty: easy
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
performance solver
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
ChefKissInc/Inferno#319 ·
-
llvm-tools
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
llvm/llvm-project#235522 ·
Les mainteneurs répondent en général sous 1 jour