1
0
mirror of https://codeberg.org/cage/tinmop/ synced 2025-02-11 07:30:34 +01:00

- [gemini] allowed to connect to host using ip address instead of hostname.

This commit is contained in:
cage 2021-04-16 15:03:58 +02:00
parent 90bad8b21c
commit 7c9a8e3ee2

View File

@ -356,15 +356,19 @@
:fragment (percent-encode-fragment fragment))) :fragment (percent-encode-fragment fragment)))
(ctx (cl+ssl:make-context :verify-mode cl+ssl:+ssl-verify-none+))) (ctx (cl+ssl:make-context :verify-mode cl+ssl:+ssl-verify-none+)))
(cl+ssl:with-global-context (ctx :auto-free-p t) (cl+ssl:with-global-context (ctx :auto-free-p t)
(when-let* ((socket (open-tls-socket host port)) (let* ((socket (open-tls-socket host port))
(stream (usocket:socket-stream socket)) (stream (usocket:socket-stream socket))
(ssl-stream (cl+ssl:make-ssl-client-stream stream (ssl-hostname (if (or (iri:ipv4-address-p host)
:certificate client-certificate (iri:ipv6-address-p host))
:key certificate-key nil
:external-format nil host))
:unwrap-stream-p t (ssl-stream (cl+ssl:make-ssl-client-stream stream
:verify nil :certificate client-certificate
:hostname host)) :key certificate-key
:external-format nil
:unwrap-stream-p t
:verify nil
:hostname ssl-hostname))
(request (format nil "~a~a~a" iri #\return #\newline)) (request (format nil "~a~a~a" iri #\return #\newline))
(cert-hash (crypto-shortcuts:sha512 (x509:dump-certificate ssl-stream)))) (cert-hash (crypto-shortcuts:sha512 (x509:dump-certificate ssl-stream))))
(debug-gemini "sending request ~a" request) (debug-gemini "sending request ~a" request)