: do-ssl-accept ( ssl-handle -- )
dup dup handle>> SSL_accept check-accept-response dup
- [ >r dup file>> r> wait-for-fd do-ssl-accept ] [ 2drop ] if ;
+ [ >r dup file>> r> wait-for-fd drop do-ssl-accept ] [ 2drop ] if ;
-M: ssl (accept)
+M: secure (accept)
[
- addrspec>> (accept) |dispose <ssl-socket> |dispose
- dup do-ssl-accept
+ addrspec>> (accept) >r
+ |dispose <ssl-socket> t >>connected |dispose
+ dup do-ssl-accept r>
] with-destructors ;
- : check-shutdown-response ( handle r -- event ) USING: io prettyprint ;
+ : check-shutdown-response ( handle r -- event )
#! SSL_shutdown always returns 0 due to openssl bugs?
{
{ 1 [ drop f ] }
M: unix ssl-shutdown
dup connected>> [
- dup handle>> dup SSL_shutdown check-shutdown-response
+ dup dup handle>> SSL_shutdown check-shutdown-response
- dup [ dupd wait-for-fd ssl-shutdown ] [ 2drop ] if
+ dup [ dupd wait-for-fd drop ssl-shutdown ] [ 2drop ] if
] [ drop ] if ;