sslv3 alert handshake failure sur un flux rss avec rss-synd.tcl
#1
Star 
Bonjour.

J'utilise Eggdrop RSS Syndication pour afficher des flux RSS.
La version du package TLS installée est la 1.7.18 sur Eggdrop 1.8.4 et la 1.6.7.1 sur Eggdrop 1.6.21
La version du package HTTP installée est la 2.8.12 sur Eggdrop 1.8.4 et la 2.7.13 sur Eggdrop 1.6.21


Depuis le 14 juillet, le flux https://korben.info/feed produit l'erreur suivante :

sur Eggdrop 1.8.4 :
RSS HTTP Error: https://korben.info/feed (State: {error flushing "sock6077beb70": software caused connection abort} {error flushing "sock6077beb70": software caused connection abort while executing "flush $sock"} {POSIX ECONNABORTED {software caused connection abort}})
Tcl error: SSL channel "sock6077beb70": error: sslv3 alert handshake failure

sur Eggdrop 1.6.21 :
RSS HTTP Error: https://korben.info/feed (State: {error flushing "sock13": too many users} {error flushing "sock13": too many users
Tcl error: SSL channel "sock13": error: sslv3 alert handshake failure

Je récupère d'autres flux RSS en https et ils n'ont aucun souci.


Je ne détaille pas les nombreux tests et recherches que j'ai pu faire pendant les (trop) nombreuses heures que j'y ai passé, en voici la synthèse.

https://www.ssllabs.com/ssltest/analyze....04.26.2.94 montre que les protocoles suivants sont actifs / inactifs :
TLS 1.3 Yes
TLS 1.2 Yes
TLS 1.1 No
TLS 1.0 No
SSL 3 No
SSL 2 No
For TLS 1.3 tests, we only support RFC 8446.

La configuration du socket https utilisée jusqu'à ce jour était la suivante :
tcl
::http::register https 443 [list ::tls::socket -tls1 1]



J'ai donc testé avec -tls1.2 1 puis -tls1.2 1 -tls1.3 1

D'autres options que j'ai testées sans trop y croire mais histoire de dire que j'ai tout essayé :
-ssl2 0 -ssl3 0 -myaddr $::vhost4 (ou $::my-ip sur Egg 1.6.21) -request 1 -require 0

Des idées ?
  Répondre
#2
As tu testé :
tcl
http::register https 443 [list ::tls::socket -servername korben.info]



Pour info:
tcl
package require http
package require tls
bind pub - "!poc" poc
 
variable useragent "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
 
proc poc {user host handle chan args} {
       ::http::register https 443 [list tls::socket -servername korben.info]
       ::http::config -useragent $::useragent
       catch { set token [::http::geturl https://korben.info/feed]}
       if {[info exists token] && [::http::status $token]=="ok"} {
               putserv "privmsg $chan :ok"
       } else {
               putserv "privmsg $chan :**KO**"
       }
}



Code :
08:50:25 <@CrazyCat> !poc
08:50:29 <@Artus> ok

Nota: Eggdrop 1.8.4 sous linux avec http 2.8.9 1.0 et tls 1.6.7
  Répondre
#3
Je vais tester ça et je te tiens au courant, mais ça oblige à mettre une ligne spécifique à un seul flux RSS dans le code de rss-synd.tcl alors la solution n'est pas   top.



Edit : Je confirme que ça fonctionne mais comme je le disais, j'ai dû prévoir un cas spécifique pour ce RSS dans le code.
Pourquoi ce paramètre est-il requis pour le site korben.info et pas pour les autres ?
Toute l'actualité de mes scripts ici     (dernière mise à jour le 14/07/2018)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#4
Il est requis pour de plus en plus de sites, c'est d'ailleurs parce que j'ai eu ce souci que j'ai trouvé l'astuce.
Si j'ai bien tout compris, c'est utile lorsque le même serveur présente plusieurs certificats (serveurs mutualisés ?, différents sous-domaines sur le même espace ?)

Le plus simple et la plus perenne serait peut-être d'ajouter une variable domain dans le tableau de configuration et dans les rss() qui le nécessite pour adapter le ::http::register. Sinon, une variable ssl-options qui comprendrait toute la chaine d'options à ajouter.
  Répondre
#5
Thumbsup 
Merci pour le coup de main et l'explication.
Toute l'actualité de mes scripts ici     (dernière mise à jour le 14/07/2018)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [Résolu] Problème d'encodage avec rss-synd Naruto 24 7,889 18/05/2014, 21:16
Dernier message: CrazyCat
  [Bug] bug lien court rss-synd.tcl pingyan 1 1,870 04/11/2013, 10:16
Dernier message: CrazyCat
  rss-synd.tcl EleKtrO 3 3,076 30/08/2011, 19:50
Dernier message: aliasangelius
  problème avec rss-synd prates 0 2,137 08/08/2010, 08:21
Dernier message: prates

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)