--- /n/sources/plan9/sys/src/cmd/tlsclient.c Thu Sep 26 23:01:17 2002 +++ /sys/src/cmd/tlsclient.c Thu Jun 18 00:00:00 2026 @@ -6,7 +6,7 @@ void usage(void) { - fprint(2, "usage: tlsclient [-t /sys/lib/tls/xxx] [-x /sys/lib/tls/xxx.exclude] dialstring\n"); + fprint(2, "usage: tlsclient [-t /sys/lib/tls/xxx] [-x /sys/lib/tls/xxx.exclude] [-n servername] dialstring\n"); exits("usage"); } @@ -27,11 +27,12 @@ int fd, netfd; uchar digest[20]; TLSconn conn; - char *addr, *file, *filex; + char *addr, *file, *filex, *servername; Thumbprint *thumb; file = nil; filex = nil; + servername = nil; thumb = nil; ARGBEGIN{ case 't': @@ -40,6 +41,9 @@ case 'x': filex = EARGF(usage()); break; + case 'n': + servername = EARGF(usage()); + break; default: usage(); }ARGEND @@ -60,6 +64,7 @@ sysfatal("dial %s: %r", addr); memset(&conn, 0, sizeof conn); + conn.serverName = servername; fd = tlsClient(netfd, &conn); if(fd < 0) sysfatal("tlsclient: %r"); --- /n/sources/plan9/sys/man/8/tlssrv Sat Dec 9 06:00:04 2006 +++ /sys/man/8/tlssrv Thu Jun 18 00:00:00 2026 @@ -35,6 +35,10 @@ .B -x .I excludedkeys ] +[ +.B -n +.I servername +] .I address .PP .B tlssrvtunnel @@ -94,6 +98,12 @@ See .IR thumbprint (6) for more information. +The +.B -n +option sends +.I servername +as the TLS server name indication (SNI), +which many HTTPS servers now require to select a certificate. .PP .I Tlssrvtunnel and