diff options
| author | Nakidai <nakidai@disroot.org> | 2026-02-04 12:21:47 +0300 |
|---|---|---|
| committer | Nakidai <nakidai@disroot.org> | 2026-02-04 12:21:47 +0300 |
| commit | ce0f41da41a2d97d4a8e7159747464ecef72de4c (patch) | |
| tree | 7e09329f15932710eb9fc14d18053c812c55515f /reply.c | |
| parent | 58a7e4a4d7449d58732e024ea07ea3623c10d8de (diff) | |
| download | libreircd-ce0f41da41a2d97d4a8e7159747464ecef72de4c.tar.gz libreircd-ce0f41da41a2d97d4a8e7159747464ecef72de4c.zip | |
Add WHOIS and config parsing
Now users can query each other Plus, server info and creation date can be changed without recompiling using configuration file in IRC message format which is loaded on startup TODO: since readcfg uses IRC logic, handle() now should be able to deal with commands ending with simply \n
Diffstat (limited to 'reply.c')
| -rw-r--r-- | reply.c | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/reply.c b/reply.c index 2cd8c04..a295da8 100644 --- a/reply.c +++ b/reply.c @@ -81,9 +81,10 @@ vreply(const struct Peer *peer, int number, va_list ap) hostname ), _); REPLY(3, WRITE( - ":%s 003 %s :This server was created " CREATION_DATE, + ":%s 003 %s :This server was created %s", hostname, - getnick(peer) + getnick(peer), + creation ), _); REPLY(4, WRITE( ":%s 004 %s :%s libreircd-" IRCD_VERSION " aiwroOs :", @@ -103,6 +104,35 @@ vreply(const struct Peer *peer, int number, va_list ap) peer->modes & LOCALOPER ? "O" : "", peer->modes & SNOTICE ? "s" : "" ), _); + REPLY(311, WRITE( + ":%s 311 %s %s %s %s * :%s", + hostname, + getnick(peer), + nick, + user, + host, + real + ), nick, user, host, real, _); + REPLY(312, WRITE( + ":%s 312 %s %s %s :%s", + hostname, + getnick(peer), + nick, + server, + info + ), nick, server, info, _); + REPLY(313, WRITE( + ":%s 313 %s %s :is an IRC operator", + hostname, + getnick(peer), + nick + ), nick, _); + REPLY(318, WRITE( + ":%s 318 %s %s :End of WHOIS list", + hostname, + getnick(peer), + nick + ), nick, _); REPLY(401, WRITE( ":%s 401 %s %s :No such nick/channel", hostname, @@ -187,6 +217,12 @@ vreply(const struct Peer *peer, int number, va_list ap) getnick(peer), channel ), channel, _); + REPLY(481, WRITE( + ":%s 481 %s :Permission Denied- %s", + hostname, + getnick(peer), + reason + ), reason, _); REPLY(484, WRITE( ":%s 484 %s :Your connection is restricted!", hostname, |