View Issue Details

IDProjectCategoryView StatusLast Update
0003569unrealircdpublic2019-10-14 15:44
ReporterargvxAssigned Tosyzop 
PrioritynormalSeveritytweakReproducibilityalways
Status resolvedResolutionfixed 
PlatformOSFreeBSDOS Version6.2
Product Version3.2.8 
Target VersionFixed in Version4.2.4 
Summary0003569: Channel +b/+e/+I after netsplit
Descriptionif server was in split and on channel someone set +b (or +eI) at the other server(s), after netsplit in who set that ban on that server not show real nick, only servername and this is very bad.. SJOIN protocol need some improvement for that..
TagsNo tags attached.
3rd party modules

Activities

w00t

2008-01-05 14:12

reporter   ~0014951

I can't find the report, but you will find that this is intentional (from memory), as it is/was considered useless use of bandwidth.

argvx

2008-01-05 14:14

developer   ~0014954

then it can be optional in include/config.h

Shining Phoenix

2008-01-07 22:30

reporter   ~0014966

Useless use of bandwidth? Hell no, I want to know who set which bans in my channel so I can ask them what happened or remind them to not forget to remove bans.

Stealth

2009-07-23 18:07

reporter   ~0015890

This does seem like a good idea. Does anyone have any ideas on how to do this without client breakage or confusion?

The best I can come up with is have the bans set using the servername on resync, then send another command with the original setter and time set, then give the proper information to clients when they request a ban listing.

driew

2010-04-03 11:41

reporter   ~0016051

I would recommend a configurable option similar to the vhost setting.

Since, almost no matter what you do, there's going to be a client desync somewhere.
Either, a client freaking out that a nick on the channel doesn't exist or isn't an op (bots mostly)
Or, lying to the client about the real data.

Maybe have three configurable options:
set::resync::modes = "server"; - server sets them, current behavior
set::resync::modes = "users"; - user appears to set them, regardless if they are active or opped
set::resync::modes = "server-initial"; - server sets them on the sync, but a /mode #chan +b/e/I, shows the user and original timestamp

syzop

2019-10-14 15:44

administrator   ~0020981

UnrealIRCd 4.2.4 (or .3?) syncs this information nowadays, the PROTOCTL options is called SJSBY

Issue History

Date Modified Username Field Change
2008-01-05 13:22 argvx New Issue
2008-01-05 14:12 w00t Note Added: 0014951
2008-01-05 14:14 argvx Note Added: 0014954
2008-01-07 22:30 Shining Phoenix Note Added: 0014966
2009-07-23 18:07 Stealth Note Added: 0015890
2010-04-03 11:41 driew Note Added: 0016051
2019-10-14 15:44 syzop Assigned To => syzop
2019-10-14 15:44 syzop Status new => resolved
2019-10-14 15:44 syzop Resolution open => fixed
2019-10-14 15:44 syzop Fixed in Version => 4.2.4
2019-10-14 15:44 syzop Note Added: 0020981