summary refs log tree commit diff
diff options
context:
space:
mode:
authorC. McEnroe2021-01-10 11:47:48 -0500
committerC. McEnroe2021-01-10 11:47:48 -0500
commit7b8bd50063d15113a856f87045e6a1742b80638c (patch)
tree33d0731050bdfbcb3ec8fe282f62f7c777268b7b
parent7bf96ac8e13a1f0f3311c818f33304fd30886e86 (diff)
Exit immediately when using -o
-rw-r--r--catgirl.18
-rw-r--r--chat.c7
2 files changed, 10 insertions, 5 deletions
diff --git a/catgirl.1 b/catgirl.1
index 210c36a..2f30edd 100644
--- a/catgirl.1
+++ b/catgirl.1
@@ -1,4 +1,4 @@
-.Dd January  9, 2021
+.Dd January 10, 2021
 .Dt CATGIRL 1
 .Os
 .
@@ -219,10 +219,10 @@ Set nickname to
 The default nickname is the user's name.
 .
 .It Fl o Ar chain
-Write the server certificate chain to
+Write the server certificate chain
+in PEM format to
 .Ar chain
-in PEM format.
-This temporarily disables certificate verification!
+and exit.
 .
 .It Fl p Ar port , Cm port = Ar port
 Connect to
diff --git a/chat.c b/chat.c
index a9c204d..99a529c 100644
--- a/chat.c
+++ b/chat.c
@@ -238,6 +238,12 @@ int main(int argc, char *argv[]) {
 	commandCompleteAdd();
 
 	ircConfig(insecure, trust, cert, priv);
+	if (chain) {
+		ircConnect(bind, host, port);
+		ircWriteChain(chain);
+		ircClose();
+		return EX_OK;
+	}
 
 	uiInitEarly();
 	if (save) {
@@ -255,7 +261,6 @@ int main(int argc, char *argv[]) {
 	uiDraw();
 	
 	int irc = ircConnect(bind, host, port);
-	if (chain) ircWriteChain(chain);
 	if (pass) ircFormat("PASS :%s\r\n", pass);
 	if (sasl) ircFormat("CAP REQ :sasl\r\n");
 	ircFormat("CAP LS\r\n");