Ticket #12 (closed idea: fixed)
idee SSL natif
| Reported by: | thaeron | Owned by: | thaeron |
|---|---|---|---|
| Priority: | minor | Milestone: | Version 1.7 |
| Component: | kernel | Version: | |
| Keywords: | Cc: |
Description
Ajouter la possibilité d'avoir le SSL en natif sur NS (au lieu de passer par stunnel) via libssl. doc : http://www.openssl.org/docs/ssl/ssl.html
Attachments
Change History
comment:2 Changed 3 years ago by thaeron
Je viens d'ajouter le support SSL dans le kernel en utilisant 2 méthodes : soit par openssl (que je ne recommande pas tant valgrind n'est pas du tout content) soit par gnutls (que je recommande car à part "quelques" mem leaks ça reste très propre (sous valgrind)).
Pour gnutls le code est assez sommaire, il ne vérifie pas du tout le certificat, mais bon est ce bien utile pour des ircd ?
Quant à openssl il y a une fonction, mise en commentaire, qui permet de vérifier 2 points du certificat.
Pour l'instant ça n'est pas encore activable par le configure ni par les anciens makefile. Et il reste un truc assez moche : pour send & recv j'ai mis des define pour renvoyer vers les fonctions d'openssl ou de gnutls. Je pense qu'il vaudrait mieux modifier tous les appels à send et recv du bot pour envoyer vers ns_send() et ns_recv() qui se chargeront de dispatcher vers les lib de SSL.
Je fermerais le ticket quand l'activation du SSL sera faite ainsi que les changements pour send et recv.
comment:3 Changed 3 years ago by thaeron
Les flags pour activer/désactiver le SSL via OpenSSL ou GnuTLS ont été ajoutés dans le script configure [298]
comment:4 Changed 3 years ago by thaeron
- Status changed from new to closed
- Resolution set to fixed
L'implémentation de ns_send et ns_recv est terminée [309] . L'activation (à l'exécution) du SSL est définie par use_ssl=yes dans le fichier de configuration.
Je ferme le ticket, s'il y a des problèmes de sécu (au niveau des certificats qui ne sont pas vérifiés) il faudra ouvrir un nouveau ticket.
![(please configure the [header_logo] section in trac.ini)](http://cryptofractalx.ath.cx/imgs/ns-logo-complet.png)
J'ai déjà effectué un test qui a très bien fonctionné. Il faut maintenant l'implémenter proprement. Cependant, il semblerait que libssl soit contraire à l'esprit de NS d'être 100% valgrindable (sans leak et sans erreur) ce qui me gène un peu (voire pas mal).
Je passe le ticket dans la roadmap de la v1.7