[quake3-bugzilla] [Bug 4792] New: Global server list can contain duplicated entries

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Fri Nov 5 19:10:56 EDT 2010


http://bugzilla.icculus.org/show_bug.cgi?id=4792

           Summary: Global server list can contain duplicated entries
           Product: ioquake3
           Version: SVN HEAD
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: minor
          Priority: P3
         Component: Misc
        AssignedTo: zakk at icculus.org
        ReportedBy: bougard.g at gmail.com
         QAContact: quake3-bugzilla at icculus.org


Created an attachment (id=2472)
 --> (http://bugzilla.icculus.org/attachment.cgi?id=2472)
Patch to avoid to add a server in the global servers list if it is still in the
list 

It's possible to request servers list many time in a short time. In that case,
master server can return many packets with exactly/mostly the same server list.
The code handling master server packet doesn't check if a server is still in
the global server list.

To test that, if sv_master1 cvar is set to "master.quake3arena.com", just open
a console. Firstly enter the command: globalservers 0 68
You obtain a few hundred servers list.
Secondly enter on the console something like this: globalservers 0
68;globalservers 0 68;globalservers 0 68;globalservers 0 68
This will request 4 times the list in a short time. You'll obtain then a global
list 4 times bigger.

This bug is minor against ioQuake3 engine playing Quake3 as I can't really see
a big effect (This is why a set severity to minor). Btw this is an issue on
mods. In Smokin'Guns, it's easy to click quickly 2 or 3 times on a "Get New
List" button and obtain duplicated servers in the list. A friend told me this
is also an issue in another mod.

I know we may try better to fix the UI to avoid sending many requests to the
master server but I think we should also check the global list receiving master
packets as maybe servers could be found from different master server. 

The attachment is a patch to check is a server from a master server packet is
still in the global servers list. In that patch, the "#ifdef 0" is just to
provide a simple way to test the fix, that "#ifdef 0" part can just be removed
if this patch is a good candidate for head inclusion.

Regards,
Tequila,
Smokin'Guns team.

-- 
Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the quake3-bugzilla mailing list