about summary refs log tree commit diff
diff options
context:
space:
mode:
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;