qlot icon indicating copy to clipboard operation
qlot copied to clipboard

Error with SSL error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version

Open anquegi opened this issue 8 years ago • 1 comments

I get the following error

qlot install                                                                                                                                                                                                       
Reading '/Users/toni/learn/lisp/weblocks/qlot-weblocks/qlfile'...
; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp.txt">
; 0.40KB
==================================================
408 bytes in 0.00 seconds (0.00KB/sec)
Already have dist "quicklisp" version "2018-03-28".
Installing dist "log4cl".
Unhandled CL+SSL::SSL-ERROR-SSL in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                             {10005505B3}>:
  A failure in the SSL library occurred on handle #.(SB-SYS:INT-SAP #X00401140) (return code: 1).
SSL error queue:
error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version


Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005505B3}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<CL+SSL::SSL-ERROR-SSL {1003E080E3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<CL+SSL::SSL-ERROR-SSL {1003E080E3}>)
2: (INVOKE-DEBUGGER #<CL+SSL::SSL-ERROR-SSL {1003E080E3}>)
3: (ERROR CL+SSL::SSL-ERROR-SSL :HANDLE #.(SB-SYS:INT-SAP #X00401140) :RET 1 :QUEUE (336032814))
4: (CL+SSL::SSL-SIGNAL-ERROR #.(SB-SYS:INT-SAP #X00401140) #<FUNCTION CL+SSL::SSL-CONNECT> 1 -1)
5: (CL+SSL:MAKE-SSL-CLIENT-STREAM #<unavailable argument> :CERTIFICATE #<unavailable argument> :KEY #<unavailable argument> :PASSWORD #<unavailable argument> :METHOD #<unavailable argument> :EXTERNAL-FORMAT #<unavailable argument> :CLOSE-CALLBACK #<unavailable argument> :UNWRAP-STREAM-P #<unavailable argument> :CIPHER-LIST #<unavailable argument> :VERIFY #<unavailable argument> :HOSTNAME #<unavailable argument>)
6: (CL+SSL::CALL-WITH-GLOBAL-CONTEXT #.(SB-SYS:INT-SAP #X00212950) T #<CLOSURE (LAMBDA NIL :IN DEXADOR.BACKEND.USOCKET:REQUEST) {1003BF412B}>)
7: ((LABELS DEXADOR.BACKEND.USOCKET::MAKE-NEW-CONNECTION :IN DEXADOR.BACKEND.USOCKET:REQUEST) #<QURI.URI.HTTP:URI-HTTPS https://github.com/40ants/log4cl/archive/master.tar.gz>)
8: (DEXADOR.BACKEND.USOCKET:REQUEST #<unavailable argument> :METHOD :GET :WANT-STREAM T :FORCE-BINARY T :VERBOSE NIL :PROXY NIL :INSECURE NIL)
9: (DEXADOR:FETCH "https://github.com/40ants/log4cl/archive/master.tar.gz" #P"/Users/toni/learn/lisp/weblocks/qlot-weblocks/quicklisp/tmp/qlot/AAURSO1/source-github/archive/log4cl.tar.gz" :IF-EXISTS :SUPERSEDE :VERBOSE NIL :PROXY NIL :INSECURE NIL)
10: ((:METHOD QLOT/SOURCE:PREPARE (QLOT.SOURCE.HTTP:SOURCE-HTTP)) #<QLOT.SOURCE.GITHUB:SOURCE-GITHUB log4cl https://github.com/40ants/log4cl/archive/master.tar.gz>) [fast-method]
11: ((SB-PCL::EMF QLOT/SOURCE:PREPARE) #<unused argument> #<unused argument> #<QLOT.SOURCE.GITHUB:SOURCE-GITHUB log4cl https://github.com/40ants/log4cl/archive/master.tar.gz>)
12: ((LAMBDA NIL :IN QLOT/SERVER::MAKE-APP))
13: ((LAMBDA (QLOT/SERVER::ENV) :IN QLOT/SERVER::MAKE-APP) (:PATH-INFO "qlot://localhost/log4cl.txt"))
14: (QLOT/SERVER::QLOT-FETCH "qlot://localhost/log4cl.txt" #P"/Users/toni/learn/lisp/weblocks/qlot-weblocks/quicklisp/tmp/install-dist-distinfo.txt" :FOLLOW-REDIRECTS #<unused argument> :QUIETLY #<unused argument> :MAXIMUM-REDIRECTS #<unused argument>)
15: (QL-DIST:INSTALL-DIST #<QL-HTTP:URL "qlot://localhost/log4cl.txt"> :PROMPT NIL :REPLACE NIL)
16: (QLOT/INSTALL::INSTALL-SOURCE #<QLOT.SOURCE.GITHUB:SOURCE-GITHUB log4cl https://github.com/40ants/log4cl/archive/master.tar.gz>)
17: (QLOT/INSTALL::APPLY-QLFILE-TO-QLHOME #P"/Users/toni/learn/lisp/weblocks/qlot-weblocks/qlfile" #P"/Users/toni/learn/lisp/weblocks/qlot-weblocks/quicklisp/" :IGNORE-LOCK NIL)
18: (QLOT/INSTALL:INSTALL-QLFILE #P"/Users/toni/learn/lisp/weblocks/qlot-weblocks/qlfile" :QUICKLISP-HOME #P"/Users/toni/learn/lisp/weblocks/qlot-weblocks/quicklisp/")
19: (MAIN "install")
20: (SB-INT:SIMPLE-EVAL-IN-LEXENV (APPLY (QUOTE MAIN) ROSWELL:*ARGV*) #<NULL-LEXENV>)
21: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) #<NULL-LEXENV>)
22: (SB-EXT:EVAL-TLF (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL NIL)
23: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL)
24: (SB-INT:LOAD-AS-SOURCE #<CONCATENATED-STREAM :STREAMS NIL {10034EC723}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
25: ((FLET SB-FASL::THUNK :IN LOAD))
26: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<CLOSURE (FLET SB-FASL::THUNK :IN LOAD) {19FF53B}> #<CONCATENATED-STREAM :STREAMS NIL {10034EC723}>)
27: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<CONCATENATED-STREAM :STREAMS NIL {10034EC723}> NIL)
28: (LOAD #<CONCATENATED-STREAM :STREAMS NIL {10034EC723}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
29: ((FLET ROSWELL::BODY :IN ROSWELL:SCRIPT) #<SB-SYS:FD-STREAM for "file /Users/toni/.roswell/bin/qlot" {10034E7EC3}>)
30: (ROSWELL:SCRIPT "/Users/toni/.roswell/bin/qlot" "install")
31: (ROSWELL:RUN ((:SCRIPT "/Users/toni/.roswell/bin/qlot" "install") (:QUIT NIL)))
32: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:SCRIPT "/Users/toni/.roswell/bin/qlot" "install") (:QUIT NIL)))) #<NULL-LEXENV>)
33: (EVAL (ROSWELL:RUN (QUOTE ((:SCRIPT "/Users/toni/.roswell/bin/qlot" "install") (:QUIT NIL)))))
34: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"/usr/local/Cellar/roswell/18.1.10.87/etc/roswell/init.lisp\"))") (:EVAL . "(ros:run '((:script \"/Users/toni/.roswell/bin/qlot\"\"install\")(:quit ())))")))
35: (SB-IMPL::TOPLEVEL-INIT)
36: ((FLET SB-UNIX::BODY :IN SB-EXT:SAVE-LISP-AND-DIE))
37: ((FLET "WITHOUT-INTERRUPTS-BODY-36" :IN SB-EXT:SAVE-LISP-AND-DIE))
38: ((LABELS SB-IMPL::RESTART-LISP :IN SB-EXT:SAVE-LISP-AND-DIE))

unhandled condition in --disable-debugger mode, quitting

when applied to this file:

cat qlfile                                                                                                                                                                                                         
ql :all :latest

github log4cl 40ants/log4cl
github log4cl-json 40ants/log4cl-json
github cl-prevalence 40ants/cl-prevalence
github weblocks 40ants/weblocks :ref v0.27.2
github weblocks-ui 40ants/weblocks-ui :ref v0.7.1
github weblocks-lass 40ants/weblocks-lass
github weblocks-parenscript 40ants/weblocks-parenscript
github weblocks-navigation-widget 40ants/weblocks-navigation-widget :ref v0.4.0

This is an error in clçssl I also try to use dexador directly on the file and I get this,

CL-USER> (dex:get "https://github.com/40ants/log4cl/archive/master.tar.gz")
; Debugger entered on #<CL+SSL::SSL-ERROR-SSL {1004D9BE63}>
A failure in the SSL library occurred on handle #.(SB-SYS:INT-SAP #X018D5360) (return code: 1).
SSL error queue:
error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
   [Condition of type CL+SSL::SSL-ERROR-SSL]

Restarts:
 0: [RETRY-REQUEST] Retry the same request.
 1: [RETRY] Retry SLY mREPL evaluation request.
 2: [*ABORT] Return to SLY's top level.
 3: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING {1003E25CE3}>)

Backtrace:
  0: (CL+SSL::SSL-SIGNAL-ERROR #.(SB-SYS:INT-SAP #X018D5360) #<FUNCTION CL+SSL::SSL-CONNECT> 1 -1)
  1: (CL+SSL:MAKE-SSL-CLIENT-STREAM #<unavailable argument> :CERTIFICATE #<unavailable argument> :KEY #<unavailable argument> :PASSWORD #<unavailable argument> :METHOD #<unavailable argument> :EXTERNAL-FOR..
  2: (CL+SSL::CALL-WITH-GLOBAL-CONTEXT #.(SB-SYS:INT-SAP #X01812290) T #<CLOSURE (LAMBDA NIL :IN DEXADOR.BACKEND.USOCKET:REQUEST) {1004B4A03B}>)
  3: ((LABELS DEXADOR.BACKEND.USOCKET::MAKE-NEW-CONNECTION :IN DEXADOR.BACKEND.USOCKET:REQUEST) #<QURI.URI.HTTP:URI-HTTPS https://github.com/40ants/log4cl/archive/master.tar.gz>)
  4: (DEXADOR.BACKEND.USOCKET:REQUEST #<unavailable argument> :METHOD :GET)
  5: (SB-INT:SIMPLE-EVAL-IN-LEXENV (DEXADOR:GET "https://github.com/40ants/log4cl/archive/master.tar.gz") #<NULL-LEXENV>)
  6: (EVAL (DEXADOR:GET "https://github.com/40ants/log4cl/archive/master.tar.gz"))
  7: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1))
  8: (SLYNK::CALL-WITH-RETRY-RESTART "Retry SLY mREPL evaluation request." #<CLOSURE (LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1) {10049C078B}>)
  9: ((LAMBDA NIL :IN SLYNK-MREPL::MREPL-EVAL-1))
 10: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER))
 11: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (* . #1=(:DEXADOR)) (**) (***) (/ #1#) (//) ...) #<CLOSURE (LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER) {10049C03FB}>)
 12: (SLYNK-MREPL::MREPL-EVAL-1 #<SLYNK-MREPL::MREPL mrepl-1-1> "(dex:get \"https://github.com/40ants/log4cl/archive/master.tar.gz\")")
 13: (SLYNK-MREPL::MREPL-EVAL #<SLYNK-MREPL::MREPL mrepl-1-1> "(dex:get \"https://github.com/40ants/log4cl/archive/master.tar.gz\")")
 14: (SLYNK::PROCESS-REQUESTS NIL)
 15: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD))
 16: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD))
 17: (SLYNK-SBCL::CALL-WITH-BREAK-HOOK #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {1003E2802B}>)
 18: ((FLET SLYNK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/Users/toni/.emacs.d/.cask/27.0/elpa/sly-20180221.1414/slynk/backend/sbcl.lisp") #<FUNCTION SLYNK:SLYNK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SLYNK..
 19: ((LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER))
 20: (SLYNK::CALL-WITH-BINDINGS ((*PACKAGE* . #<PACKAGE "COMMON-LISP-USER">) (* . #1=(:DEXADOR)) (**) (***) (/ #1#) (//) ...) #<CLOSURE (LAMBDA NIL :IN SLYNK::CALL-WITH-LISTENER) {1003E2806B}>)
 21: ((LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD))
 22: ((FLET SB-UNIX::BODY :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
 23: ((FLET "WITHOUT-INTERRUPTS-BODY-4" :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
 24: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
 25: ((FLET "WITHOUT-INTERRUPTS-BODY-1" :IN SB-THREAD::CALL-WITH-MUTEX))
 26: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {4A41D3B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THREAD "..
 27: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "sly-channel-1-mrepl-remote-1" RUNNING {1003E25CE3}> NIL #<CLOSURE (LAMBDA NIL :IN SLYNK::SPAWN-CHANNEL-THREAD) {1003E252DB}> NIL)
 28: ("foreign function: call_into_lisp")
 29: ("foreign function: new_thread_trampoline")
 30: ("foreign function: _pthread_body")
 31: ("foreign function: _pthread_body")
 32: ("foreign function: thread_start")

There is a workaround for this, or I need a new version of openssl, or I can make insecure as in dexador. I do not if there is workaround or is an issue

anquegi avatar Apr 12 '18 12:04 anquegi

I was playing with openssl versions. finaly I read this issue https://github.com/cl-plus-ssl/cl-plus-ssl/issues/56, so I created this in order to get the correct version of openssl https://github.com/cl-plus-ssl/cl-plus-ssl/issues/65

Finally looking at the documentation I tested with


openssl version 
OpenSSL 1.0.2o  27 Mar 2018

and

ln -s /usr/local/Cellar/openssl/1.0.2o_1/lib/libssl.1.0.0.dylib /usr/local/lib/libssl.dylib

And finally it works,

qlot install Reading '/Users/toni/learn/lisp/weblocks/qlot-weblocks/qlfile'... ; Fetching #<URL "http://beta.quicklisp.org/dist/quicklisp.txt"> ; 0.40KB

408 bytes in 0.00 seconds (398.44KB/sec) Already have dist "quicklisp" version "2018-03-28". Installing dist "log4cl". Installing dist "log4cl-json". Installing dist "cl-prevalence". Installing dist "weblocks". Installing dist "weblocks-ui". Installing dist "weblocks-lass". Installing dist "weblocks-parenscript". Installing dist "weblocks-navigation-widget". Successfully installed.

or with dexador:

CL-USER> (dex:get "https://github.com/40ants/log4cl/archive/master.tar.gz")
#(31 139 8 0 0 0 0 0 0 3 236 91 255 115 219 54 150 239 207 254 ...)
200 (8 bits, #xC8, #o310, #b11001000)
#<HASH-TABLE :TEST EQUAL :COUNT 14 {1002386D53}>
#<QURI.URI.HTTP:URI-HTTPS https://codeload.github.com/40ants/log4cl/tar.gz/master>
#<CL+SSL::SSL-STREAM for #<FD-STREAM for "socket 172.16.0.39:53140, peer: 192.30.253.121:443" {100229EC13}>>

But I'm bnot sure if it is the correct version

anquegi avatar Apr 13 '18 06:04 anquegi