From b1dc52c7d014c5b51d62f53b79d875861b27e3fe Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Mon, 28 Oct 2019 01:48:34 -0400 Subject: Add quit message option --- bounce.c | 6 ++++-- pounce.1 | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/bounce.c b/bounce.c index 38ddf28..65789ab 100644 --- a/bounce.c +++ b/bounce.c @@ -104,9 +104,10 @@ int main(int argc, char *argv[]) { const char *real = NULL; const char *join = NULL; const char *away = "pounced :3"; + const char *quit = "connection reset by purr"; int opt; - while (0 < (opt = getopt(argc, argv, "!A:C:H:K:NP:W:a:h:j:n:p:r:u:vw:"))) { + while (0 < (opt = getopt(argc, argv, "!A:C:H:K:NP:Q:W:a:h:j:n:p:r:u:vw:"))) { switch (opt) { break; case '!': insecure = true; break; case 'A': away = optarg; @@ -115,6 +116,7 @@ int main(int argc, char *argv[]) { break; case 'K': strlcpy(privPath, optarg, sizeof(privPath)); break; case 'N': stateJoinNames = true; break; case 'P': localPort = optarg; + break; case 'Q': quit = optarg; break; case 'W': clientPass = sensitive(optarg); break; case 'a': auth = sensitive(optarg); break; case 'h': host = optarg; @@ -234,7 +236,7 @@ int main(int argc, char *argv[]) { } } - serverFormat("QUIT\r\n"); + serverFormat("QUIT :%s\r\n", quit); for (size_t i = 0; i < event.len; ++i) { if (event.clients[i]) { clientFormat(event.clients[i], "ERROR :Disconnecting\r\n"); diff --git a/pounce.1 b/pounce.1 index 34f10d2..41555ed 100644 --- a/pounce.1 +++ b/pounce.1 @@ -1,4 +1,4 @@ -.Dd October 27, 2019 +.Dd October 28, 2019 .Dt POUNCE 1 .Os . @@ -14,6 +14,7 @@ .Op Fl H Ar host .Op Fl K Ar priv .Op Fl P Ar port +.Op Fl Q Ar quit .Op Fl W Ar pass .Op Fl a Ar auth .Op Fl h Ar host @@ -80,6 +81,11 @@ Bind to local .Ar port . The default port is 6697. . +.It Fl Q Ar quit +Quit with message +.Ar quit +when shutting down. +. .It Fl W Ar pass Require the password .Ar pass -- cgit 1.4.1