summary refs log tree commit diff
path: root/handle.c
diff options
context:
space:
mode:
authorNakidai <nakidai@disroot.org>2026-02-01 18:09:54 +0300
committerNakidai <nakidai@disroot.org>2026-02-01 18:09:54 +0300
commitf47f9d10f8aa3ace1f2d93d0aa6ab090f782328b (patch)
tree44e49c0f2a98e6ba90d7ec79591e51bfd7719a93 /handle.c
parent62869d341d2a4e959b60865076287701694859dd (diff)
downloadlibreircd-f47f9d10f8aa3ace1f2d93d0aa6ab090f782328b.tar.gz
libreircd-f47f9d10f8aa3ace1f2d93d0aa6ab090f782328b.zip
Add ping system
Now users will be kicked for inactivity o.o
Diffstat (limited to 'handle.c')
-rw-r--r--handle.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/handle.c b/handle.c
index df36e1f..2f4d0b8 100644
--- a/handle.c
+++ b/handle.c
@@ -167,6 +167,14 @@ ping(struct Message *msg, struct Peer *peer)
 }
 
 static int
+pong(struct Message *msg, struct Peer *peer)
+{
+	peer->ping = 0;
+
+	return 0;
+}
+
+static int
 privmsg(struct Message *msg, struct Peer *peer)
 {
 	size_t i;
@@ -290,6 +298,7 @@ static struct Handler {
 	{ "notice", privmsg },
 	{ "part", part },
 	{ "ping", ping },
+	{ "pong", pong },
 	{ "privmsg", privmsg },
 	{ "quit", quit },
 	{ "user", user },