openssl: repairs related to listen on port number 0
Allow 0 as the port number in `ssl-listen`, and fix `ssl-addresses` to work on a listener. Update a test to use these features so that it won't conflict with other tests that listen on TCP addresses.
This commit is contained in:
parent
627d164a46
commit
85459e5fef
|
@ -265,7 +265,7 @@ current platform for client connections.
|
|||
@section{TCP-like Server Procedures}
|
||||
|
||||
@defproc[(ssl-listen
|
||||
[port-no (integer-in 1 65535)]
|
||||
[port-no listen-port-number?]
|
||||
[queue-k exact-nonnegative-integer? 5]
|
||||
[reuse? any/c #f]
|
||||
[hostname-or-#f (or/c string? #f) #f]
|
||||
|
|
|
@ -30,12 +30,17 @@
|
|||
ssl-server-context
|
||||
#t))
|
||||
|
||||
(define ssl-listener (ssl-listen 55000
|
||||
(define ssl-listener (ssl-listen 0
|
||||
4
|
||||
#t
|
||||
"127.0.0.1"
|
||||
ssl-server-context))
|
||||
|
||||
(define port-number (let ()
|
||||
(define-values (addr port-number other-addr other-port-number)
|
||||
(ssl-addresses ssl-listener #t))
|
||||
port-number))
|
||||
|
||||
(define listener-main
|
||||
(thread
|
||||
(lambda()
|
||||
|
@ -91,7 +96,7 @@
|
|||
(ssl-set-verify! ssl-client-context #t))
|
||||
|
||||
(let-values ([(in out) (ssl-connect "127.0.0.1"
|
||||
55000
|
||||
port-number
|
||||
ssl-client-context)])
|
||||
(check "Client: Made connection.~n" #t #t)
|
||||
(when later-mode
|
||||
|
|
|
@ -172,7 +172,7 @@ TO DO:
|
|||
#:hostname (or/c string? #f)]
|
||||
(values input-port? output-port?))]
|
||||
[ssl-listen
|
||||
(->* [(integer-in 1 (sub1 (expt 2 16)))]
|
||||
(->* [listen-port-number?]
|
||||
[exact-nonnegative-integer?
|
||||
any/c
|
||||
(or/c string? #f)
|
||||
|
@ -1545,7 +1545,8 @@ TO DO:
|
|||
(if (eq? 'listener input?)
|
||||
(ssl-listener-l mzssl)
|
||||
(if input? (mzssl-i mzssl) (mzssl-o mzssl))))
|
||||
(cond [(tcp-port? port) (tcp-addresses port port-numbers?)]
|
||||
(cond [(or (tcp-port? port) (tcp-listener? port))
|
||||
(tcp-addresses port port-numbers?)]
|
||||
[else (error 'ssl-addresses "not connected to TCP port")])))
|
||||
|
||||
(define (ssl-abandon-port p)
|
||||
|
|
Loading…
Reference in New Issue
Block a user