about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-06-18 12:16:09 -0400
committerJune McEnroe <june@causal.agency>2021-06-18 12:16:09 -0400
commitda6dcf06bf90423525e3c94a9ec808a32445285a (patch)
tree884c929690144753f7bac7637a55d256e04d34f7
parentDocument channel keys in join option (diff)
downloadpounce-da6dcf06bf90423525e3c94a9ec808a32445285a.tar.gz
pounce-da6dcf06bf90423525e3c94a9ec808a32445285a.zip
Add -m mode option to set user modes
-rw-r--r--bounce.c4
-rw-r--r--pounce.17
2 files changed, 10 insertions, 1 deletions
diff --git a/bounce.c b/bounce.c
index 4872814..d135f97 100644
--- a/bounce.c
+++ b/bounce.c
@@ -221,6 +221,7 @@ int main(int argc, char *argv[]) {
 	const char *user = NULL;
 	const char *real = NULL;
 
+	const char *mode = NULL;
 	const char *join = NULL;
 	const char *quit = "connection reset by purr";
 
@@ -247,6 +248,7 @@ int main(int argc, char *argv[]) {
 		{ .val = 'h', .name = "host", required_argument },
 		{ .val = 'j', .name = "join", required_argument },
 		{ .val = 'k', .name = "client-priv", required_argument },
+		{ .val = 'm', .name = "mode", required_argument },
 		{ .val = 'n', .name = "nick", required_argument },
 		{ .val = 'o', .name = "print-cert", no_argument },
 		{ .val = 'p', .name = "port", required_argument },
@@ -291,6 +293,7 @@ int main(int argc, char *argv[]) {
 			break; case 'h': host = optarg;
 			break; case 'j': join = optarg;
 			break; case 'k': clientPriv = optarg;
+			break; case 'm': mode = optarg;
 			break; case 'n': nick = optarg;
 			break; case 'o': insecure = true; printCert = true;
 			break; case 'p': port = optarg;
@@ -465,6 +468,7 @@ int main(int argc, char *argv[]) {
 
 	while (!stateReady()) serverRecv();
 	serverFormat("AWAY :%s\r\n", clientAway);
+	if (mode) serverFormat("MODE %s %s\r\n", stateNick(), mode);
 	if (join) serverFormat("JOIN %s\r\n", join);
 
 	signal(SIGINT, signalHandler);
diff --git a/pounce.1 b/pounce.1
index bc4b93b..14794cb 100644
--- a/pounce.1
+++ b/pounce.1
@@ -1,4 +1,4 @@
-.Dd January 23, 2021
+.Dd June 18, 2021
 .Dt POUNCE 1
 .Os
 .
@@ -25,6 +25,7 @@
 .Op Fl h Ar host
 .Op Fl j Ar join
 .Op Fl k Ar client-priv
+.Op Fl m Ar mode
 .Op Fl n Ar nick
 .Op Fl p Ar port
 .Op Fl q Ar quit
@@ -307,6 +308,10 @@ with the optional comma-separated list of channel
 Load the TLS client private key from
 .Ar path .
 .
+.It Fl m Ar mode | Cm mode No = Ar mode
+Set the user
+.Ar mode .
+.
 .It Fl n Ar nick | Cm nick No = Ar nick
 Set nickname to
 .Ar nick .