From bf7b88a9914343808cc010487bc7461296a45499 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sun, 4 Jul 2021 08:49:26 -0400 Subject: Explicitly tls_handshake(3) in ircPrintCert Otherwise we won't have any certificate to print yet, as reported by Klemens Nanni. Fixes 981ebc4f12b88fbf52ed0352428a0612dd2c2568. --- irc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/irc.c b/irc.c index dc40201..5f14c9e 100644 --- a/irc.c +++ b/irc.c @@ -166,6 +166,12 @@ int ircConnect(const char *bindHost, const char *host, const char *port) { } void ircPrintCert(void) { + int error; + do { + error = tls_handshake(client); + } while (error == TLS_WANT_POLLIN || error == TLS_WANT_POLLOUT); + if (error) errx(EX_PROTOCOL, "tls_handshake: %s", tls_error(client)); + size_t len; const byte *pem = tls_peer_cert_chain_pem(client, &len); printf("subject= %s\n", tls_peer_cert_subject(client)); -- cgit 1.4.1