forked from External/ergo
support USER from both RFCs 1459 and 2812
This commit is contained in:
parent
bb64d38684
commit
baf83e73d2
3 changed files with 71 additions and 20 deletions
|
|
@ -283,9 +283,25 @@ func (m *NickCommand) HandleRegServer(s *Server) {
|
|||
s.tryRegister(client)
|
||||
}
|
||||
|
||||
func (msg *UserMsgCommand) HandleRegServer(server *Server) {
|
||||
func (msg *RFC1459UserCommand) HandleRegServer(server *Server) {
|
||||
msg.HandleRegServer2(server)
|
||||
}
|
||||
|
||||
func (msg *RFC2812UserCommand) HandleRegServer(server *Server) {
|
||||
client := msg.Client()
|
||||
client.username, client.realname = msg.user, msg.realname
|
||||
flags := msg.Flags()
|
||||
if len(flags) > 0 {
|
||||
for _, mode := range msg.Flags() {
|
||||
client.flags[mode] = true
|
||||
}
|
||||
client.Reply(RplUModeIs(server, client))
|
||||
}
|
||||
msg.HandleRegServer2(server)
|
||||
}
|
||||
|
||||
func (msg *UserCommand) HandleRegServer2(server *Server) {
|
||||
client := msg.Client()
|
||||
client.username, client.realname = msg.username, msg.realname
|
||||
server.tryRegister(client)
|
||||
}
|
||||
|
||||
|
|
@ -323,7 +339,7 @@ func (msg *NickCommand) HandleServer(server *Server) {
|
|||
server.clients.Add(client)
|
||||
}
|
||||
|
||||
func (m *UserMsgCommand) HandleServer(s *Server) {
|
||||
func (m *UserCommand) HandleServer(s *Server) {
|
||||
m.Client().Reply(ErrAlreadyRegistered(s))
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue