mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-26 22:09:24 +01:00
commit
c13bb116c0
@ -34,7 +34,6 @@ _Copyright © 2018 Daniel Oaks <daniel@danieloaks.net>_
|
||||
- Commands
|
||||
- Working with other software
|
||||
- HOPM
|
||||
- ZNC
|
||||
- Tor
|
||||
- Acknowledgements
|
||||
|
||||
@ -594,11 +593,6 @@ connregex = ".+-.+CONNECT.+-.+ Client Connected \\[([^ ]+)\\] \\[u:([^ ]+)\\] \\
|
||||
kline = "DLINE ANDKILL 2h %i :Open proxy found on your host.";
|
||||
````
|
||||
|
||||
## ZNC
|
||||
|
||||
Versions of ZNC prior to 1.7 have a [bug](https://github.com/znc/znc/issues/1212) in their SASL implementation that renders them incompatible with Oragono. However, you should be able to authenticate from ZNC using its [NickServ](https://wiki.znc.in/Nickserv) module.
|
||||
|
||||
|
||||
## Tor
|
||||
|
||||
Oragono has code support for adding an .onion address to an IRC server, or operating an IRC server as a Tor hidden service. This is subtle, so you should be familiar with the [Tor Project](https://www.torproject.org/) and the concept of a [hidden service](https://www.torproject.org/docs/tor-onion-service.html.en).
|
||||
|
@ -534,6 +534,11 @@ func (channel *Channel) Join(client *Client, key string, isSajoin bool, rb *Resp
|
||||
return
|
||||
}
|
||||
|
||||
if !hasPrivs && channel.flags.HasMode(modes.RegisteredOnly) && details.account == "" && !isInvited {
|
||||
rb.Add(nil, client.server.name, ERR_BANNEDFROMCHAN, details.nick, chname, client.t("You must be registered to join that channel"))
|
||||
return
|
||||
}
|
||||
|
||||
client.server.logger.Debug("join", fmt.Sprintf("%s joined channel %s", details.nick, chname))
|
||||
|
||||
var message utils.SplitMessage
|
||||
|
@ -1034,7 +1034,7 @@ func (client *Client) destroy(beingResumed bool, session *Session) {
|
||||
|
||||
// send quit messages to friends
|
||||
if !beingResumed {
|
||||
if client.Registered() {
|
||||
if registered {
|
||||
client.server.stats.ChangeTotal(-1)
|
||||
}
|
||||
if client.HasMode(modes.Invisible) {
|
||||
@ -1054,7 +1054,7 @@ func (client *Client) destroy(beingResumed bool, session *Session) {
|
||||
if !client.exitedSnomaskSent {
|
||||
if beingResumed {
|
||||
client.server.snomasks.Send(sno.LocalQuits, fmt.Sprintf(ircfmt.Unescape("%s$r is resuming their connection, old client has been destroyed"), client.nick))
|
||||
} else {
|
||||
} else if registered {
|
||||
client.server.snomasks.Send(sno.LocalQuits, fmt.Sprintf(ircfmt.Unescape("%s$r exited the network"), details.nick))
|
||||
}
|
||||
}
|
||||
|
@ -1075,6 +1075,11 @@ Get an explanation of <argument>, or "index" for a list of help topics.`), rb)
|
||||
// HISTORY me 15
|
||||
func historyHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *ResponseBuffer) bool {
|
||||
config := server.Config()
|
||||
if !config.History.Enabled {
|
||||
rb.Notice(client.t("This command has been disabled by the server administrators"))
|
||||
return false
|
||||
}
|
||||
|
||||
target := msg.Params[0]
|
||||
var hist *history.Buffer
|
||||
channel := server.channels.Get(target)
|
||||
|
@ -70,7 +70,11 @@ func performNickChange(server *Server, client *Client, target *Client, session *
|
||||
|
||||
client.server.logger.Debug("nick", fmt.Sprintf("%s changed nickname to %s [%s]", origNickMask, nickname, cfnick))
|
||||
if hadNick {
|
||||
target.server.snomasks.Send(sno.LocalNicks, fmt.Sprintf(ircfmt.Unescape("$%s$r changed nickname to %s"), details.nick, nickname))
|
||||
if client == target {
|
||||
target.server.snomasks.Send(sno.LocalNicks, fmt.Sprintf(ircfmt.Unescape("$%s$r changed nickname to %s"), details.nick, nickname))
|
||||
} else {
|
||||
target.server.snomasks.Send(sno.LocalNicks, fmt.Sprintf(ircfmt.Unescape("Operator %s changed nickname of $%s$r to %s"), client.Nick(), details.nick, nickname))
|
||||
}
|
||||
target.server.whoWas.Append(details.WhoWas)
|
||||
rb.AddFromClient(message.Time, message.Msgid, origNickMask, details.accountName, nil, "NICK", nickname)
|
||||
for session := range target.Friends() {
|
||||
|
Loading…
Reference in New Issue
Block a user