summary refs log tree commit diff
path: root/bounce.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-10-28 01:48:34 -0400
committerJune McEnroe <june@causal.agency>2019-10-28 01:48:34 -0400
commitb1dc52c7d014c5b51d62f53b79d875861b27e3fe (patch)
tree18c3cbfa3cedc70b994eef4a781a758cbd138249 /bounce.c
parentSpecify when command is allowed in Handlers list (diff)
downloadpounce-b1dc52c7d014c5b51d62f53b79d875861b27e3fe.tar.gz
pounce-b1dc52c7d014c5b51d62f53b79d875861b27e3fe.zip
Add quit message option
Diffstat (limited to 'bounce.c')
-rw-r--r--bounce.c6
1 files changed, 4 insertions, 2 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");