MCPcopy Create free account
hub / github.com/acl-dev/acl / setup_ssl

Method setup_ssl

app/wizard/tmpl/http/master_fiber.cpp:62–98  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

60}
61
62acl::sslbase_io* master_service::setup_ssl(acl::socket_stream& conn,
63 acl::sslbase_conf& conf)
64{
65 acl::sslbase_io* hook = (acl::sslbase_io*) conn.get_hook();
66 if (hook != NULL) {
67 return hook;
68 }
69
70 // ����ʹ�� SSL ��ʽ����������Ҫ�� SSL IO ������ע��������
71 // �����������У����� ssl io �滻 stream ��Ĭ�ϵĵײ� IO ����
72
73 //logger("begin setup ssl hook...");
74
75 // �������� SSL ���ַ�ʽ
76 acl::sslbase_io* ssl = conf.create(false);
77 if (conn.setup_hook(ssl) == ssl) {
78 logger_error("setup_hook error!");
79 ssl->destroy();
80 return NULL;
81 }
82
83 if (!ssl->handshake()) {
84 logger_error("ssl handshake failed");
85 ssl->destroy();
86 return NULL;
87 }
88
89 if (!ssl->handshake_ok()) {
90 logger("handshake trying again...");
91 ssl->destroy();
92 return NULL;
93 }
94
95 logger("handshake_ok");
96
97 return ssl;
98}
99
100void master_service::on_accept(acl::socket_stream& conn)
101{

Callers

nothing calls this directly

Calls 5

get_hookMethod · 0.45
createMethod · 0.45
setup_hookMethod · 0.45
destroyMethod · 0.45
handshakeMethod · 0.45

Tested by

no test coverage detected