Seit kurzer Zeit wird in der ttrss-Installation auf einem debian 6 (Squeeze) – System der Feed von netzpolitik.org nicht mehr aktualisiert. Stattdessen erscheint folgender Fehler:
Couldn’t download the specified URL: 35 error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Die letzten Updates des Feeds waren von Ende Dezember 2013. Interessanterweise wurde in der Zwischenzeit die Tiny-Tiny-Installation nicht upgedatet.
Die Vermutung ist, daß netzpolitik.org gegen Ende Dezember eine Umleitung von http://netzpolitik.org/feed/ auf https://netzpolitik.org/feed eingerichtet hat und dadurch der Fehler getriggered wurde.
Der Hintergrund des Fehlers ist ein Workaround in ttrss für einen openssl-Bug, siehe dazu auch die Einträge im ttrss-Forum. Es gibt wohl bei einer bestimmten openssl-Versions-Konstellation Probleme sich mit Servern mit TLSv1 zu verbinden. Im ursprüngliche Fehler-Bericht ist von https://planet.gnome.org/atom.xml die Rede. Der Workaround in ttrss war einfach für alle Verbindungen SSLv3 fix vorzugeben, falls eine betroffene openssl-Version verwendet wird.
Allerdings zwingt das alle https – Verbindungen auf SSLv3 – auch solche, die das gar nicht unterstützen:
$ sslscan netzpolitik.org|grep Accepted Accepted TLSv1 256 bits DHE-RSA-AES256-SHA Accepted TLSv1 256 bits AES256-SHA Accepted TLSv1 128 bits DHE-RSA-AES128-SHA Accepted TLSv1 128 bits AES128-SHA
Folgerichtig geht die Verbindung schief:
$ curl -3 -v https://netzpolitik.org * About to connect() to netzpolitik.org port 443 (#0) * Trying 46.4.67.51... connected * Connected to netzpolitik.org (46.4.67.51) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * SSLv3, TLS alert, Server hello (2): * error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure * Closing connection #0 curl: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Nachdem ich außer netzpolitik keine anderen Feeds mit zwangsweiser https-Umleitung habe, habe ich mich kurzerhand entschlossen, lokal den Quellcode in include/functions.php zu patchen und die harte SSLv3-Einstellung rückgängig zu machen:
/* if ((OPENSSL_VERSION_NUMBER >= 0x0090808f) && (OPENSSL_VERSION_NUMBER < 0x10000000)) { curl_setopt($ch, CURLOPT_SSLVERSION, 3); } */
Das ist keine schöne Lösung, aber auf die Schnelle fällt mir nichts Besseres ein.
Hier hat jemand die entsprechende Zeile so geändert, dass stattdessen auf TLSv1 gewechselt wird: http://tt-rss.org/forum/viewtopic.php?t=2420&p=13734#p16511
Aber in Trunk ist das noch nicht behoben.
Danke! Ich hab’ das Problem schon seit einer Weile und kann es jetzt auch endlich “beheben”.