MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / Process

Method Process

extra/yassl/src/yassl_imp.cpp:697–722  ·  view source on GitHub ↗

HandShake Header Processing function

Source from the content-addressed store, hash-verified

695
696// HandShake Header Processing function
697void HandShakeHeader::Process(input_buffer& input, SSL& ssl)
698{
699 ssl.verifyState(*this);
700 if (ssl.GetError()) return;
701 if (input.get_error()) {
702 ssl.SetError(bad_input);
703 return;
704 }
705 const HandShakeFactory& hsf = ssl.getFactory().getHandShake();
706 mySTL::auto_ptr<HandShakeBase> hs(hsf.CreateObject(type_));
707 if (!hs.get()) {
708 ssl.SetError(factory_error);
709 return;
710 }
711
712 uint len = c24to32(length_);
713 if (len > input.get_remaining()) {
714 ssl.SetError(bad_input);
715 return;
716 }
717 hashHandShake(ssl, input, len);
718
719 hs->set_length(len);
720 input >> *hs;
721 hs->Process(input, ssl);
722}
723
724
725ContentType HandShakeHeader::get_type() const

Callers 4

ProcessOldClientHelloFunction · 0.45
DoProcessReplyFunction · 0.45
encryptMethod · 0.45
decryptMethod · 0.45

Calls 15

c24to32Function · 0.85
hashHandShakeFunction · 0.85
buildFinishedFunction · 0.85
get_lengthFunction · 0.85
TLS_hmacFunction · 0.85
hmacFunction · 0.85
YasslErrorEnum · 0.85
timing_verifyFunction · 0.85
constant_compareFunction · 0.85
DeCompressFunction · 0.85
DecodeDSA_SignatureFunction · 0.85
build_certHashesFunction · 0.85

Tested by

no test coverage detected