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

Function sendServerHello

extra/yassl/src/handshake.cpp:1071–1095  ·  view source on GitHub ↗

send server hello

Source from the content-addressed store, hash-verified

1069
1070// send server hello
1071void sendServerHello(SSL& ssl, BufferOutput buffer)
1072{
1073 if (ssl.getSecurity().get_resuming())
1074 ssl.verifyState(clientKeyExchangeComplete);
1075 else
1076 ssl.verifyState(clientHelloComplete);
1077 if (ssl.GetError()) return;
1078
1079 ServerHello sh(ssl.getSecurity().get_connection().version_,
1080 ssl.getSecurity().get_connection().compression_);
1081 RecordLayerHeader rlHeader;
1082 HandShakeHeader hsHeader;
1083 mySTL::auto_ptr<output_buffer> out(NEW_YS output_buffer);
1084
1085 buildServerHello(ssl, sh);
1086 ssl.set_random(sh.get_random(), server_end);
1087 buildHeaders(ssl, hsHeader, rlHeader, sh);
1088 buildOutput(*out.get(), rlHeader, hsHeader, sh);
1089 hashHandShake(ssl, *out.get());
1090
1091 if (buffer == buffered)
1092 ssl.addBuffer(out.release());
1093 else
1094 ssl.Send(out->get_buffer(), out->get_size());
1095}
1096
1097
1098// send server hello done

Callers 1

SSL_acceptFunction · 0.85

Calls 15

buildServerHelloFunction · 0.85
buildHeadersFunction · 0.85
buildOutputFunction · 0.85
hashHandShakeFunction · 0.85
get_resumingMethod · 0.80
verifyStateMethod · 0.80
set_randomMethod · 0.80
get_randomMethod · 0.80
addBufferMethod · 0.80
SendMethod · 0.80
get_sizeMethod · 0.80
GetErrorMethod · 0.45

Tested by

no test coverage detected