From 832d8b89a2e6a13bf850ca7641a7203cbe64b413 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 2 Nov 2021 18:32:39 +0100 Subject: [PATCH] Mark bouncer users and BouncerServ as authenticated in WHOX/WHOIS --- downstream.go | 12 ++++++++++++ irc.go | 1 + 2 files changed, 13 insertions(+) diff --git a/downstream.go b/downstream.go index 97b7674..4b00f43 100644 --- a/downstream.go +++ b/downstream.go @@ -1938,6 +1938,7 @@ func (dc *downstreamConn) handleMessageRegistered(msg *irc.Message) error { Server: dc.srv.Hostname, Nickname: dc.nick, Flags: flags, + Account: dc.user.Username, Realname: dc.realname, } dc.SendMessage(generateWHOXReply(dc.srv.prefix(), dc.nick, fields, &info)) @@ -1956,6 +1957,7 @@ func (dc *downstreamConn) handleMessageRegistered(msg *irc.Message) error { Server: dc.srv.Hostname, Nickname: serviceNick, Flags: "H*", + Account: serviceNick, Realname: serviceRealname, } dc.SendMessage(generateWHOXReply(dc.srv.prefix(), dc.nick, fields, &info)) @@ -2021,6 +2023,11 @@ func (dc *downstreamConn) handleMessageRegistered(msg *irc.Message) error { Params: []string{dc.nick, dc.nick, "is a bouncer administrator"}, }) } + dc.SendMessage(&irc.Message{ + Prefix: dc.srv.prefix(), + Command: rpl_whoisaccount, + Params: []string{dc.nick, dc.nick, dc.user.Username, "is logged in as"}, + }) dc.SendMessage(&irc.Message{ Prefix: dc.srv.prefix(), Command: irc.RPL_ENDOFWHOIS, @@ -2044,6 +2051,11 @@ func (dc *downstreamConn) handleMessageRegistered(msg *irc.Message) error { Command: irc.RPL_WHOISOPERATOR, Params: []string{dc.nick, serviceNick, "is the bouncer service"}, }) + dc.SendMessage(&irc.Message{ + Prefix: dc.srv.prefix(), + Command: rpl_whoisaccount, + Params: []string{dc.nick, serviceNick, serviceNick, "is logged in as"}, + }) dc.SendMessage(&irc.Message{ Prefix: dc.srv.prefix(), Command: irc.RPL_ENDOFWHOIS, diff --git a/irc.go b/irc.go index 4d519c9..bc76efc 100644 --- a/irc.go +++ b/irc.go @@ -18,6 +18,7 @@ const ( rpl_creationtime = "329" rpl_topicwhotime = "333" rpl_whospcrpl = "354" + rpl_whoisaccount = "330" err_invalidcapcmd = "410" )