summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-12-04 10:39:38 -0500
committerJune McEnroe <june@causal.agency>2018-12-04 10:39:38 -0500
commit9106bd61fa1a7ecff0ea8d805295ed3d3aa68c20 (patch)
tree8b01397e267ee42e4ff3c7f5cd769a8cb1e00236
parentImplement base64 encoding (diff)
downloadcatgirl-9106bd61fa1a7ecff0ea8d805295ed3d3aa68c20.tar.gz
catgirl-9106bd61fa1a7ecff0ea8d805295ed3d3aa68c20.zip
Add -a auth option for unimplemented SASL
Diffstat (limited to '')
-rw-r--r--catgirl.17
-rw-r--r--chat.c3
-rw-r--r--chat.h1
3 files changed, 10 insertions, 1 deletions
diff --git a/catgirl.1 b/catgirl.1
index ef15890..84ed857 100644
--- a/catgirl.1
+++ b/catgirl.1
@@ -10,6 +10,7 @@
 .Nm
 .Op Fl Nv
 .Op Fl W Ar pass
+.Op Fl a Ar auth
 .Op Fl h Ar host
 .Op Fl j Ar chan
 .Op Fl l Ar path
@@ -40,6 +41,12 @@ See
 .Sx ENVIRONMENT
 for details.
 .
+.It Fl a Ar auth
+Authenticate with SASL PLAIN.
+.Ar auth
+is a colon-separated
+username and password pair.
+.
 .It Fl h Ar host
 Connect to
 .Ar host .
diff --git a/chat.c b/chat.c
index fede433..f3d7cc2 100644
--- a/chat.c
+++ b/chat.c
@@ -50,10 +50,11 @@ static char *prompt(const char *prompt) {
 
 int main(int argc, char *argv[]) {
 	int opt;
-	while (0 < (opt = getopt(argc, argv, "NW:h:j:l:n:p:r:u:vw:"))) {
+	while (0 < (opt = getopt(argc, argv, "NW:a:h:j:l:n:p:r:u:vw:"))) {
 		switch (opt) {
 			break; case 'N': self.notify = true;
 			break; case 'W': self.webp = dupe(optarg);
+			break; case 'a': self.auth = dupe(optarg);
 			break; case 'h': self.host = dupe(optarg);
 			break; case 'j': self.join = dupe(optarg);
 			break; case 'l': logOpen(optarg);
diff --git a/chat.h b/chat.h
index 6c1cf0f..7e320eb 100644
--- a/chat.h
+++ b/chat.h
@@ -35,6 +35,7 @@ typedef unsigned char byte;
 struct {
 	char *host;
 	char *port;
+	char *auth;
 	char *pass;
 	char *webp;
 	char *nick;
gheader'>2019-10-27Only increment consumer after successful sendJune McEnroe 2019-10-27Set SO_REUSEADDR on bindsJune McEnroe 2019-10-27Output ring info on SIGINFOJune McEnroe 2019-10-27Improve client/server error messagesJune McEnroe 2019-10-27Add reload cmd to rc scriptJune McEnroe Using daemon(8) makes this way more awkward than it should be. 2019-10-27Reload certificate on SIGUSR1June McEnroe 2019-10-27Drop clients on zero-length readsJune McEnroe 2019-10-27Explicitly tls_handshake new clientsJune McEnroe This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately. 2019-10-26Document rationaleJune McEnroe 2019-10-26Handle nick collisionJune McEnroe 2019-10-26Wait for AUTHENTICATE + from serverJune McEnroe 2019-10-26Respond to PING with same parameterJune McEnroe 2019-10-26Add undocumented flag to disable verificationJune McEnroe 2019-10-26Do not require RPL_ISUPPORT for stateReadyJune McEnroe 2019-10-26Implement graceful shutdownJune McEnroe 2019-10-26Require PASS before USERJune McEnroe Prevent creating a ring consumer without authentication. 2019-10-26Track channel topicsJune McEnroe 2019-10-26Set AWAY when no clients are connectedJune McEnroe 2019-10-26Add flags to request TOPIC and NAMES on client connectJune McEnroe 2019-10-26OopsJune McEnroe 2019-10-26Disconnect client on unknown commandJune McEnroe During registration, no other commands should be sent. Afterwards, only intercepted commands will get parsed. 2019-10-26Allow reading sensitive information from filesJune McEnroe 2019-10-26Add rc scriptJune McEnroe 2019-10-25Add install and uninstall targetsJune McEnroe 2019-10-25Expand documentationJune McEnroe 2019-10-25Add AGPLv3 notice on client registrationJune McEnroe OwO 2019-10-25Rename project pounceJune McEnroe