terminated/connected when SSL_ERROR_ZERO_RETURN
Related to #2487
{ SSL_ERROR_WANT_READ [ drop +input+ ] }
{ SSL_ERROR_WANT_WRITE [ drop +output+ ] }
{ SSL_ERROR_SYSCALL [ ssl-error-syscall ] }
- { SSL_ERROR_SSL [ drop (ssl-error) ] }
- { SSL_ERROR_ZERO_RETURN [ drop f ] }
+ { SSL_ERROR_SSL [ drop throw-ssl-error ] }
+ ! https://stackoverflow.com/questions/50223224/ssl-read-returns-ssl-error-zero-return-but-err-get-error-is-0
+ ! we got disconnected
+ { SSL_ERROR_ZERO_RETURN [ t >>terminated f >>connected drop f ] }
{ SSL_ERROR_WANT_ACCEPT [ drop +input+ ] }
} case ;
: ssl-error-string ( -- string )
ERR_get_error (ssl-error-string) ;
-: (ssl-error) ( -- * )
+: throw-ssl-error ( -- * )
ssl-error-string throw ;
: ssl-error ( obj -- )
- { f 0 } member? [ (ssl-error) ] when ;
+ { f 0 } member? [ throw-ssl-error ] when ;
: init-old-api ( -- )
SSL_library_init ssl-error