MantisBT - Doomseeker
View Issue Details
0003624Doomseeker[All Projects] Bugpublic2019-03-31 21:172022-05-02 17:18
WubTheCaptain 
Pol M 
hightrivialrandom
closedfixed 
1.2 
1.31.3 
0003624: User may be prompted to download an optional WAD file with no file name
A Zandronum server can advertise a WAD with no file name (?) and Doomseeker offers to download it as an optional file (or something). However this seems harmless, as nothing is eventually downloaded and the file is ignored if other WADs are found.

See the attachments.
Zandronum server running at 212.113.152.45:6660 (mail.eyecalm.org:6660) right now. (No better idea what's going on.) Be sure to have at least one required WAD file not available from WAD path, to prompt downloading it.
The server's name was "QC:DE official maps - QCDE 2.1 - Quake Champions: Doom Edition".

Quote from Show join command line
/usr/bin/zandronum -connect 212.113.152.45:6660 -iwad '' -file /home/wub/.local/share/games/doom/pwad/qcdev2.1.pk3 
-file /home/wub/.local/share/games/doom/pwad/qcdemaps2.1.pk3 -file /home/wub/.local/share/games/doom/pwad/georgeexleyannouncer.pk3 
-file /home/wub/.local/share/games/doom/pwad/qcde--hdfaces2.1.pk3 -file /home/wub/.local/share/games/doom/pwad/qcde--voxels2.0.pk3 
-file /home/wub/.local/share/games/doom/pwad/qcdemus2.0.pk3
No tags attached.
png 2019-03-31-210712_maim.png (16,218) 2019-03-31 21:17
/tracker/file_download.php?file_id=2463&type=bug
png

png WADs-tooltip.png (83,625) 2019-03-31 21:23
/tracker/file_download.php?file_id=2464&type=bug
png
Issue History
2019-03-31 21:17WubTheCaptainNew Issue
2019-03-31 21:17WubTheCaptainFile Added: 2019-03-31-210712_maim.png
2019-03-31 21:23WubTheCaptainFile Added: WADs-tooltip.png
2019-03-31 21:26WubTheCaptainSummaryWadseeker may prompt to download an optional WAD file with no file name => User may be prompted to download an optional WAD file with no file name
2019-03-31 21:26WubTheCaptainSeverityminor => trivial
2019-03-31 21:29WubTheCaptainNote Added: 0020462
2019-04-01 20:14Pol MNote Added: 0020466
2019-04-01 20:14Pol MAssigned To => Pol M
2019-04-01 20:14Pol MStatusnew => feedback
2019-04-02 20:18WubTheCaptainNote Added: 0020467
2019-04-02 20:18WubTheCaptainStatusfeedback => assigned
2019-04-02 20:18WubTheCaptainStatusassigned => confirmed
2019-04-02 20:19WubTheCaptainPrioritynone => normal
2019-04-02 20:19Pol MStatusconfirmed => assigned
2019-04-02 21:06Pol MNote Added: 0020468
2019-04-02 21:06Pol MStatusassigned => needs testing
2019-04-02 22:47WubTheCaptainPrioritynormal => high
2019-04-02 22:49WubTheCaptainNote Added: 0020469
2019-04-08 21:01WubTheCaptainTarget Version => 1.3
2019-04-14 15:42WubTheCaptainNote Added: 0020491
2019-04-14 15:42WubTheCaptainStatusneeds testing => resolved
2019-04-14 15:42WubTheCaptainFixed in Version => 1.3
2019-04-14 15:42WubTheCaptainResolutionopen => fixed
2019-07-30 10:13WubTheCaptainStatusresolved => closed
2022-05-02 17:18ZalewaNote Added: 0022202

Notes
(0020462)
WubTheCaptain   
2019-03-31 21:29   
I don't actually know better myself if the file name is just a space character, or empty.
(0020466)
Pol M   
2019-04-01 20:14   
Monitoring the data we receive, it seems that this particular server is sending for some reason an empty wad entry. This can be prevented with a simple check at src/plugins/zandronum/zandronumserver.cpp:298, but just to make this clear, this is actually an issue in their server. I'm okay with adding an "if (!wad.isEmpty())" to prevent confusion.

Affected servers are hosted in mail.eyecalm.org, on ports 6660 and 6663
(0020467)
WubTheCaptain   
2019-04-02 20:18   
I can agree on the solution. (Set this issue's task to "assigned" if you'll work on it.)
(0020468)
Pol M   
2019-04-02 21:06   
pr
(0020469)
WubTheCaptain   
2019-04-02 22:49   
Ok to merge, seems simple enough and the fix seems to work with a quick test.
(0020491)
WubTheCaptain   
2019-04-14 15:42   
I didn't see this merged, but it was:'https://bitbucket.org/Doomseeker/doomseeker/commits/fd4341f17c77 [^]'
(0022202)
Zalewa   
2022-05-02 17:18   
I had to amend this solution a bit because, as it turns out, these "empty" PWADs seemingly have MD5 checksums and the servers send those checksums to the browser. The sanitizer will now handle that.
'https://bitbucket.org/Doomseeker/doomseeker/commits/026948807ee6b9e2f1232c1ef5b0d61e60fd926c [^]'