Skip to content

Commit 6abd972

Browse files
committed
Revert "Allow RENAME to a different case"
Always send the JOIN-PART couple because oragono might consider channels name to be equivalent while clients would not. See <ircv3/ircv3-specifications#420 (comment)> This reverts commit 0103e14.
1 parent ef704d9 commit 6abd972

File tree

3 files changed

+13
-23
lines changed

3 files changed

+13
-23
lines changed

irc/channelmanager.go

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -258,19 +258,19 @@ func (cm *ChannelManager) SetUnregistered(channelName string, account string) (e
258258
}
259259

260260
// Rename renames a channel (but does not notify the members)
261-
func (cm *ChannelManager) Rename(name string, newName string) (caseOnly bool, err error) {
261+
func (cm *ChannelManager) Rename(name string, newName string) (err error) {
262262
cfname, err := CasefoldChannel(name)
263263
if err != nil {
264-
return false, errNoSuchChannel
264+
return errNoSuchChannel
265265
}
266266

267267
newCfname, err := CasefoldChannel(newName)
268268
if err != nil {
269-
return false, errInvalidChannelName
269+
return errInvalidChannelName
270270
}
271271
newSkeleton, err := Skeleton(newName)
272272
if err != nil {
273-
return false, errInvalidChannelName
273+
return errInvalidChannelName
274274
}
275275

276276
var channel *Channel
@@ -287,23 +287,15 @@ func (cm *ChannelManager) Rename(name string, newName string) (caseOnly bool, er
287287
cm.Lock()
288288
defer cm.Unlock()
289289

290-
if newCfname == cfname {
291-
entry := cm.chans[cfname]
292-
if entry == nil || !entry.channel.IsLoaded() {
293-
return false, errNoSuchChannel
294-
}
295-
entry.channel.Rename(newName, cfname)
296-
return true, nil
297-
}
298290
if cm.chans[newCfname] != nil || cm.registeredChannels.Has(newCfname) {
299-
return false, errChannelNameInUse
291+
return errChannelNameInUse
300292
}
301293
if cm.chansSkeletons.Has(newSkeleton) || cm.registeredSkeletons.Has(newSkeleton) {
302-
return false, errChannelNameInUse
294+
return errChannelNameInUse
303295
}
304296
entry := cm.chans[cfname]
305297
if entry == nil || !entry.channel.IsLoaded() {
306-
return false, errNoSuchChannel
298+
return errNoSuchChannel
307299
}
308300
channel = entry.channel
309301
info = channel.ExportRegistration(IncludeInitial)
@@ -324,7 +316,7 @@ func (cm *ChannelManager) Rename(name string, newName string) (caseOnly bool, er
324316
cm.chans[cfname] = entry
325317
}
326318
entry.channel.Rename(newName, newCfname)
327-
return false, nil
319+
return nil
328320
}
329321

330322
// Len returns the number of channels

irc/getters.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -453,11 +453,9 @@ func (channel *Channel) NameCasefolded() string {
453453
func (channel *Channel) Rename(name, nameCasefolded string) {
454454
channel.stateMutex.Lock()
455455
channel.name = name
456-
if channel.nameCasefolded != nameCasefolded {
457-
channel.nameCasefolded = nameCasefolded
458-
if channel.registeredFounder != "" {
459-
channel.registeredTime = time.Now().UTC()
460-
}
456+
channel.nameCasefolded = nameCasefolded
457+
if channel.registeredFounder != "" {
458+
channel.registeredTime = time.Now().UTC()
461459
}
462460
channel.stateMutex.Unlock()
463461
}

irc/handlers.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2452,7 +2452,7 @@ func renameHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *Re
24522452
}
24532453

24542454
// perform the channel rename
2455-
caseOnly, err := server.channels.Rename(oldName, newName)
2455+
err := server.channels.Rename(oldName, newName)
24562456
if err == errInvalidChannelName {
24572457
rb.Add(nil, server.name, ERR_NOSUCHCHANNEL, client.Nick(), utils.SafeErrorParam(newName), client.t(err.Error()))
24582458
} else if err == errChannelNameInUse {
@@ -2481,7 +2481,7 @@ func renameHandler(server *Server, client *Client, msg ircmsg.IrcMessage, rb *Re
24812481
} else {
24822482
targetRb.Add(nil, clientPrefix, "RENAME", oldName, newName)
24832483
}
2484-
} else if !caseOnly {
2484+
} else {
24852485
if reason != "" {
24862486
targetRb.Add(nil, targetPrefix, "PART", oldName, fmt.Sprintf(mcl.t("Channel renamed: %s"), reason))
24872487
} else {

0 commit comments

Comments
 (0)