SphereServer BugTracker - SphereServer
View Issue Details
0001900SphereServerexecutable - genericpublic28-01-11 17:5424-07-14 18:08
Terrikate 
XuN 
normaltweakalways
resolvedfixed 
 
0.56c Nightly 
Automated (specify build number)
None
None
1402
0001900: Skipping any control speech (including default spk_player)
You can skip any sections speech check if the sentence begins with ()=
No tags attached.
related to 0001739resolved Ben ">" in QVAL check is read as QVAL end 
Issue History
28-01-11 17:54TerrikateNew Issue
29-01-11 14:04MrSugarCubeNote Added: 0000880
29-01-11 16:26TerrikateNote Added: 0000883
29-01-11 16:27TerrikateNote Added: 0000884
29-01-11 17:13MrSugarCubeRelationship addedparent of 0001739
29-01-11 17:14MrSugarCubeRelationship replacedrelated to 0001739
23-03-11 09:01babidiNote Added: 0000974
23-07-14 19:47XuNNote Added: 0002365
24-07-14 18:08XuNNote Added: 0002367
24-07-14 18:08XuNStatusnew => resolved
24-07-14 18:08XuNFixed in Version => 0.56c Nightly
24-07-14 18:08XuNResolutionopen => fixed
24-07-14 18:08XuNAssigned To => XuN

Notes
(0000880)
MrSugarCube   
29-01-11 14:04   
Do you have an example?

Each of the following worked fine for me (in spk_player):


ON=*boo* // accepts "boo", "()=boo", "(boo)", "boo()="
    SYSMESSAGE You said *boo*!
    RETURN 2
ON=*boo // accepts "boo", "()=boo"
    SYSMESSAGE You said *boo!
    RETURN 2
ON=boo* // accepts "boo", "boo()="
    SYSMESSAGE You said boo*!
    RETURN 2
(0000883)
Terrikate   
29-01-11 16:26   
Sorry!. It is a failure of long ago and spoke from memory without remembering the exact failure ... The problem is the comparison with STRCMPI, STRCMP and STRMATCH. If you use the characters () = you skip the checks and fails on the console.

EXAMPLE


ON=*
SERV.LOG <ARGS>
IF (<SRC.FLAGS>&STATF_DEAD)
    IF !STRCMPI(<ARGS>,all come)
    ELSEIF !STRCMPI(<ARGS>,all stop)
    ELSEIF !STRCMPI(<ARGS>,navegacion)
    ELSE
        RETURN 1
    ENDIF
ENDIF

16:11:ERROR:(sphere_speech.scp,54)Undefined symbol 'SDGG'
16:11:(sphere_speech.scp,61)()=SDGG
(0000884)
Terrikate   
29-01-11 16:27   
Affect any system that uses comparisons.

Another flaw is that the comparators allow the use of asterisks and question marks as wildcards, so if you put an * when you are asking for a 3 digit code will pass the test. Also if you put three characters of interrogations.
(0000974)
babidi   
23-03-11 09:01   
can be a way to inject code this way?
(0002365)
XuN   
23-07-14 19:47   
Not happening me, can you still reproduce it?
(0002367)
XuN   
24-07-14 18:08   
Closed since there's no problem anymore.