Skip to content

Commit d8af78a

Browse files
committed
+
1 parent ad353d8 commit d8af78a

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

src/https/mitm_svc.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,15 @@ namespace hcpp
9898
{
9999
ssl_m->set_sni(sni_host_);
100100
}
101-
auto verify_fun = [self = shared_from_this(), host = svc_host](bool preverified, auto &v_ctx)
101+
//XXX 这里不能用shared_from_this,因为回调会一直保持当前对象的智能指针,不释放
102+
auto verify_fun = [verify_fun_=verify_fun_, host = svc_host](bool preverified, auto &v_ctx)
102103
{
103104
if (ssl::host_name_verification(host)(preverified, v_ctx))
104105
{
105-
if (self->verify_fun_)
106+
if (verify_fun_)
106107
{
107-
return self->verify_fun_(preverified, v_ctx);
108+
log::info("mitm_svc::make_memory: 校验{}开始",host);
109+
return verify_fun_(preverified, v_ctx);
108110
}
109111
return true;
110112
}
@@ -183,14 +185,13 @@ namespace hcpp
183185
chc_->host_ = host;
184186
chc_->service_ = service;
185187
m->check(*this);
186-
spdlog::debug("建立channel tunnel {}", host);
187188
co_await channel_->async_send(asio::error_code{}, chc_);
189+
log::error("channel_tunnel::make_tunnel: 建立channel tunnel {}", host);
188190
}
189191

190192
void channel_tunnel::make(std::unique_ptr<tcp_socket> sock)
191193
{
192194
chc_->sock_ = std::move(sock);
193-
log::info("转移tcp_socket到channel");
194195
}
195196

196197
void channel_tunnel::make(std::unique_ptr<ssl_socket> sock)

src/httpserver.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ namespace hcpp
213213
auto hsc = std::make_unique<https_client>();
214214
hsc->host_ = cc->host_;
215215
hsc->service_ = cc->service_;
216-
log::info("channel_client: {}", hsc->host_);
216+
log::error("channel_client: {}", hsc->host_);
217217
if (!cc->sock_)
218218
{
219219
log::error("无法获取socket");
@@ -239,15 +239,17 @@ namespace hcpp
239239
{
240240
part_cert_info pci{};
241241
sk->add_SAN_collector(pci);
242-
log::info("mimt_https_server::wait_c:创建server_subject_map缓存 => {}", hsc->host_);
243242
co_await sk->make_memory(hsc->host_, hsc->service_);
244243
si = sk->make_fake_server_id(pci.dns_name_, ca_subject);
245244
// XXX 插入失败不用管
246245
server_subject_map.insert({hsc->host_, si});
246+
log::error("mimt_https_server::wait_c:创建server_subject_map缓存 => {}", hsc->host_);
247+
log::error("mimt_https_server::wait_c:当前缓存数量 {}", server_subject_map.size());
247248
}
248249

249250
hsc->set_mem(co_await std::move(*cc).make(std::move(si)));
250251

252+
log::error("开始http_do {}", hsc->host_);
251253
co_spawn(executor, http_do(std::move(hsc), std::move(sk)), detached);
252254
}
253255
catch (const std::exception &e)
@@ -285,7 +287,8 @@ namespace hcpp
285287
executor.stop();
286288
delete p; });
287289

288-
co_await https_listener();
290+
co_await co_spawn(executor,https_listener(),use_awaitable);
291+
// co_await https_listener();
289292
co_return;
290293
}
291294

0 commit comments

Comments
 (0)