teeli / urltitle

Eggdrop scripts that display titles of URLs pasted on an IRC channel
MIT License
8 stars 10 forks source link

Certain HTTPS sites like imgur.com and xkcd.com not working #9

Closed OmkAR2013 closed 7 years ago

OmkAR2013 commented 7 years ago

Certain HTTPS sites like imgur.com and xkcd.com not working.

example:

Connection to https://imgur.com/gallery/jZCWbFf failed

not sure if its my eggdrop setup, or the urltitle script

teeli commented 7 years ago

Works ok when I test it. Do you have Tcl's tls extension properly installed? What version of Tcl and tls do you have?

OmkAR2013 commented 7 years ago

eggdrop v1.8.0 Tcl version: 8.5.19 (header version 8.5.19) TLS support is enabled. TLS library: OpenSSL 1.0.1 14 Mar 2012

tls1.6.7-src.tar.gz

http://tls.cvs.sourceforge.net/viewvc/tls/tls/tls.tcl?revision=1.14 http://tcllib.cvs.sourceforge.net/viewvc/tcllib/tcllib/modules/json/json.tcl?revision=1.7

source scripts/tls.tcl source scripts/json.tcl source scripts/urltitle.tcl


Just tried Tcl 8.6.5. Same issue.

eggdrop v1.8.0 Tcl library: /usr/share/tcltk/tcl8.6 Tcl version: 8.6.5 (header version 8.6.6) Tcl is threaded. TLS support is enabled. TLS library: OpenSSL 1.0.2g 1 Mar 2016

[07:52:52] Connection to https://raw.githubusercontent.com/teeli/urltitle/master/urltitle.tcl failed Am I not using the right tls.tcl file maybe?

teeli commented 7 years ago

Some HTTPS URLs require TCL TLS version 1.6.4 or newer. See #6 for more information.

OmkAR2013 commented 7 years ago

I'm using TLS 1.6.7. . Maybe I'll try downgrading . ..

teeli commented 7 years ago

Could you try applying this patch and see if it helps with 1.6.7:

diff --git urltitle.tcl urltitle.tcl
index 7628c04..03de92b 100644
--- urltitle.tcl
+++ urltitle.tcl
@@ -84,9 +84,6 @@ namespace eval UrlTitle {
     if {[package vcompare $tlsVersion 1.7.11] >= 0} {
       # tls version 1.7.11 should support autoservername
       ::tls::socket -autoservername true {*}$opts $host $port
-    } elseif {[package vcompare $tlsVersion 1.6.7] >= 0} {
-      # From version 1.6.7, it shouldn't be necessary to specify any ciphers.
-      ::tls::socket -servername $host {*}$opts $host $port
     } elseif {[package vcompare $tlsVersion 1.6.4] >= 0} {
       ::tls::socket -ssl3 false -ssl2 false -tls1 true -servername $host {*}$opts $host $port
     } else {
OmkAR2013 commented 7 years ago

Wow, that fixed it! Nice man. Thanks!

imgur.com and xkcd.com both work now.

teeli commented 7 years ago

Thanks for reporting. I'll update the script and push the change.

dchmelik commented 5 years ago

Do you also need to load json.tcl for this? Aren't there going to be any instructions for HTTPS url-titling setup?