const UInt8* RTMP::ValidateClient(Crypto& crypto,BinaryReader& reader,bool& middleKey) { middleKey=false; UInt32 position = reader.position(); const UInt8* keyChallenge = ValidateClientScheme(crypto,reader, false); if (!keyChallenge) { keyChallenge = ValidateClientScheme(crypto,reader, true); middleKey = true; } reader.reset(position); return keyChallenge; }
bool InboundRTMPProtocol::ValidateClient(IOBuffer &inputBuffer) { if (_currentFPVersion == 0) { WARN("This version of player doesn't support validation"); return false; } if (ValidateClientScheme(inputBuffer, 0)) { _handshakeScheme = 0; return true; } if (ValidateClientScheme(inputBuffer, 1)) { _handshakeScheme = 1; return true; } FATAL("Unable to validate client"); return false; }