View Issue Details

IDProjectCategoryView StatusLast Update
0001347unrealircdpublic2003-11-20 19:43
ReporterAngryWolf Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.2-beta18 
Summary0001347: Desynch bug with the new extcmode system
DescriptionI have the following servers:

006 server1.test.com (1) 11
006 |-server2.test.com (1) 12
006 |-server3.test.com (0) 13
006 `-services.test.com (7)
007 End of /MAP

All my UnrealIRCd servers have the following modules loaded:

*** chmodetst - channelmode test (channelmode +w) [PERM]
*** commands - $Id: l_commands.c,v 1.1.2.49 2003/05/10 18:53:50 codemastr Exp $ (Wrapper library for m_ commands)

Now the description of how to reproduce the problem:

1. Preparation: all servers are linked
2. wolf1 connects to server1*, wolf2 connects to server2* and they both oper up and join #opers (automatically).
3. Mode change "+y 49" on channel #opers by wolf1
4. wolf1 squits server2*
5. Mode change "+y 5" on channel #opers by wolf1
6. server2* automatically connects back

wolf1 types /mode #opers
*** Mode for channel #opers is "+y 49"
wolf2 types /mode #opers
*** Mode for channel #opers is "+y 5"

I call this incident as a desynch.

I've checked the code of m_chmodetst.c, and I found that in modey_sjoin_check() both "our" and "their" are always having the same settings. I hope this helps.
3rd party modules

Activities

syzop

2003-11-07 19:43

administrator   ~0003989

(equal TS, so mode merge)
So on server A it is +y 5, and on server B it's +y 49... the function says the highest should win...
On server A it seems to correct this, coz when it links you see:
[20:42:44] *** server2.blah.net sets mode: +y 49
at the side of server B you don't see any mode (that's correct) but it silently sets the channel +y 5.. interresting.

This is indeed called a desync(h), I'll have a look at it soon :).

syzop

2003-11-09 02:54

administrator   ~0003992

Fixed in .1978 I think.

Issue History

Date Modified Username Field Change
2003-11-07 17:56 AngryWolf New Issue
2003-11-07 19:43 syzop Note Added: 0003989
2003-11-07 20:47 syzop Status new => assigned
2003-11-07 20:47 syzop Assigned To => syzop
2003-11-07 20:47 syzop ETA none => < 1 week
2003-11-09 02:54 syzop Status assigned => resolved
2003-11-09 02:54 syzop Resolution open => fixed
2003-11-09 02:54 syzop Note Added: 0003992
2003-11-20 19:43 syzop Status resolved => closed