Move connection notification, fix capdefs and tests
This commit is contained in:
parent
d73f0794eb
commit
8207859c7a
1
Makefile
1
Makefile
@ -30,7 +30,6 @@ test:
|
|||||||
cd irc/isupport && go test . && go vet .
|
cd irc/isupport && go test . && go vet .
|
||||||
cd irc/migrations && go test . && go vet .
|
cd irc/migrations && go test . && go vet .
|
||||||
cd irc/modes && go test . && go vet .
|
cd irc/modes && go test . && go vet .
|
||||||
cd irc/mysql && go test . && go vet .
|
|
||||||
cd irc/passwd && go test . && go vet .
|
cd irc/passwd && go test . && go vet .
|
||||||
cd irc/sno && go test . && go vet .
|
cd irc/sno && go test . && go vet .
|
||||||
cd irc/utils && go test . && go vet .
|
cd irc/utils && go test . && go vet .
|
||||||
|
@ -7,7 +7,7 @@ package caps
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
// number of recognized capabilities:
|
// number of recognized capabilities:
|
||||||
numCapabs = 28
|
numCapabs = 27
|
||||||
// length of the uint64 array that represents the bitset:
|
// length of the uint64 array that represents the bitset:
|
||||||
bitsetLen = 1
|
bitsetLen = 1
|
||||||
)
|
)
|
||||||
|
@ -337,15 +337,29 @@ func (server *Server) tryRegister(c *Client, session *Session) (exiting bool) {
|
|||||||
// count new user in statistics (before checking KLINEs, see #1303)
|
// count new user in statistics (before checking KLINEs, see #1303)
|
||||||
server.stats.Register(c.HasMode(modes.Invisible))
|
server.stats.Register(c.HasMode(modes.Invisible))
|
||||||
|
|
||||||
|
d := c.Details()
|
||||||
|
logMsg := "Client connected [%s] [u:%s] [r:%s]"
|
||||||
|
snoMsg := "Client connected [%s] [u:%s] [h:%s] [ip:%s] [r:%s]"
|
||||||
|
|
||||||
|
var isBanned bool
|
||||||
// check KLINEs (#671: ignore KLINEs for loopback connections)
|
// check KLINEs (#671: ignore KLINEs for loopback connections)
|
||||||
if !session.IP().IsLoopback() || session.isTor {
|
if !session.IP().IsLoopback() || session.isTor {
|
||||||
isBanned, info := server.klines.CheckMasks(c.AllNickmasks()...)
|
klined, info := server.klines.CheckMasks(c.AllNickmasks()...)
|
||||||
if isBanned {
|
if klined {
|
||||||
|
isBanned = true
|
||||||
|
logMsg = logMsg + " KLINED"
|
||||||
|
snoMsg = snoMsg + " KLINED"
|
||||||
c.Quit(info.BanMessage(c.t("you got klined. reach out if it was a mistake. (%s)")), nil)
|
c.Quit(info.BanMessage(c.t("you got klined. reach out if it was a mistake. (%s)")), nil)
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
server.logger.Info("connect", fmt.Sprintf(logMsg, d.nick, d.username, d.realname))
|
||||||
|
server.snomasks.Send(sno.LocalConnects, fmt.Sprintf(snoMsg, d.nick, d.username, session.rawHostname, session.IP().String(), d.realname))
|
||||||
|
|
||||||
|
if isBanned {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
server.playRegistrationBurst(session)
|
server.playRegistrationBurst(session)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -367,8 +381,6 @@ func (server *Server) playRegistrationBurst(session *Session) {
|
|||||||
c := session.client
|
c := session.client
|
||||||
// continue registration
|
// continue registration
|
||||||
d := c.Details()
|
d := c.Details()
|
||||||
server.logger.Info("connect", fmt.Sprintf("Client connected [%s] [u:%s] [r:%s]", d.nick, d.username, d.realname))
|
|
||||||
server.snomasks.Send(sno.LocalConnects, fmt.Sprintf("Client connected [%s] [u:%s] [h:%s] [ip:%s] [r:%s]", d.nick, d.username, session.rawHostname, session.IP().String(), d.realname))
|
|
||||||
if d.account != "" {
|
if d.account != "" {
|
||||||
server.sendLoginSnomask(d.nickMask, d.accountName)
|
server.sendLoginSnomask(d.nickMask, d.accountName)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user