Users with h can't kick users with o or h

This commit is contained in:
raylu 2010-10-26 18:42:26 -04:00
parent 8684e37727
commit 2c1e5641ab
1 changed files with 8 additions and 1 deletions

View File

@ -462,6 +462,12 @@ func kick(conn *irc.Conn, nick *irc.Nick, args, target string) {
} }
split := strings.Split(args, " ", 2) split := strings.Split(args, " ", 2)
if n := conn.GetNick(split[0]); n == nil ||
(!hasAccess(conn, nick, channel, "o") && hasAccess(conn, n, channel, "oh")) {
// if we only have h, we can't kick people with o or h
return
}
reason := "(" + nick.Nick + ")" reason := "(" + nick.Nick + ")"
if len(split) == 2 { if len(split) == 2 {
reason += " " + split[1] reason += " " + split[1]
@ -527,7 +533,8 @@ func kickban(conn *irc.Conn, nick *irc.Nick, args, target string) {
split := strings.Split(args, " ", 2) split := strings.Split(args, " ", 2)
n := conn.GetNick(split[0]) n := conn.GetNick(split[0])
if n == nil { if n == nil ||
(!hasAccess(conn, nick, channel, "o") && hasAccess(conn, n, channel, "oh")) {
return return
} }
conn.Mode(channel, "+b *!*@" + n.Host) conn.Mode(channel, "+b *!*@" + n.Host)