aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoah Pederson <noah@packetlost.dev>2019-12-28 14:25:43 -0500
committerC. McEnroe <june@causal.agency>2019-12-28 14:42:28 -0500
commit34ef6ee5a76cac3408fd03a14c3d97ffdc0b7305 (patch)
tree2fee7a2f41754e5b926be935b699003fb7111d48
parentRename catgirl.7 to README.7 (diff)
downloadcatgirl-legacy.tar.gz
catgirl-legacy.zip
Adds insecure flag to skip certificate validationlegacy
Usage: catgirl -! -h ...
-rw-r--r--chat.c3
-rw-r--r--chat.h1
-rw-r--r--irc.c5
3 files changed, 7 insertions, 2 deletions
diff --git a/chat.c b/chat.c
index b3e4b58..3a1cfe9 100644
--- a/chat.c
+++ b/chat.c
@@ -53,8 +53,9 @@ int main(int argc, char *argv[]) {
setlocale(LC_CTYPE, "");
int opt;
- while (0 < (opt = getopt(argc, argv, "NPRa:h:j:k:l:n:p:r:u:vw:"))) {
+ while (0 < (opt = getopt(argc, argv, "!NPRa:h:j:k:l:n:p:r:u:vw:"))) {
switch (opt) {
+ break; case '!': self.insecure = true;
break; case 'N': self.notify = true;
break; case 'P': self.nick = prompt("Name: ");
break; case 'R': self.limit = true;
diff --git a/chat.h b/chat.h
index ee7a087..01bab21 100644
--- a/chat.h
+++ b/chat.h
@@ -34,6 +34,7 @@ typedef unsigned uint;
typedef unsigned char byte;
struct {
+ bool insecure;
char *host;
char *port;
char *auth;
diff --git a/irc.c b/irc.c
index 66ffddb..56a5dc0 100644
--- a/irc.c
+++ b/irc.c
@@ -42,6 +42,10 @@ int ircConnect(void) {
if (!client) errx(EX_SOFTWARE, "tls_client");
error = tls_configure(client, config);
+ if (self.insecure) {
+ tls_config_insecure_noverifycert(config);
+ tls_config_insecure_noverifyname(config);
+ }
if (error) errx(EX_SOFTWARE, "tls_configure: %s", tls_error(client));
tls_config_free(config);
@@ -58,7 +62,6 @@ int ircConnect(void) {
for (struct addrinfo *ai = head; ai; ai = ai->ai_next) {
sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
if (sock < 0) err(EX_OSERR, "socket");
-
error = connect(sock, ai->ai_addr, ai->ai_addrlen);
if (!error) break;