From da6dcf06bf90423525e3c94a9ec808a32445285a Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Fri, 18 Jun 2021 12:16:09 -0400 Subject: Add -m mode option to set user modes --- bounce.c | 4 ++++ pounce.1 | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) 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 . -- cgit 1.4.1