diff options
author | Henri Herscher <henri@oreka.org> | 2006-05-12 20:33:48 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2006-05-12 20:33:48 +0000 |
commit | 63b53233c75648ca091441f31b743e7f89401e31 (patch) | |
tree | 89991ef0acc009db019a54d5cb52ec4f2b5d8eaa /orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.cpp | |
parent | fb1bfa344b72875abc135b48394a56620a0b3319 (diff) |
Skinny messages now sanity checked.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@228 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.cpp')
-rw-r--r-- | orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.cpp b/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.cpp index cb9b53d..2d3cfe3 100644 --- a/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.cpp +++ b/orkaudio/audiocaptureplugins/voip/PacketHeaderDefs.cpp @@ -51,3 +51,73 @@ CStdString SkinnyMessageToString(int msgEnum) } return msgString; } + + +bool SkinnyValidateStartMediaTransmission(SkStartMediaTransmissionStruct* smt) +{ + bool valid = true; + if (smt->remoteTcpPort > 65535) + { + valid = false; + } + return valid; +} + +bool checkPartyString(char* string, int size) +{ + bool valid = false; + bool invalidCharFound = false; + bool endOfStringFound = false; + for(int i=0; i<size && invalidCharFound == false && endOfStringFound == false; i++) + { + if(string[i] == 0) + { + endOfStringFound = true; + } + else if(string[i] > 122 || string[i] < 32) + { + invalidCharFound = true; + } + } + if(invalidCharFound == false && endOfStringFound == true) + { + valid = true; + } + return valid; +} + +bool SkinnyValidateCallInfo(SkCallInfoStruct* sci) +{ + bool valid = true; + if (sci->callType > SKINNY_CALL_TYPE_FORWARD) + { + valid = false; + } + if(valid) + { + valid = checkPartyString(sci->calledParty, SKINNY_CALLED_PARTY_SIZE); + } + if(valid) + { + valid = checkPartyString(sci->callingParty, SKINNY_CALLING_PARTY_SIZE); + } + if(valid) + { + valid = checkPartyString(sci->calledPartyName, SKINNY_CALLED_PARTY_NAME_SIZE); + } + if(valid) + { + valid = checkPartyString(sci->callingPartyName, SKINNY_CALLING_PARTY_NAME_SIZE); + } + return valid; +} + +bool SkinnyValidateOpenReceiveChannelAck(SkOpenReceiveChannelAckStruct* orca) +{ + bool valid = true; + if (orca->endpointTcpPort > 65535) + { + valid = false; + } + return valid; +} |