Add back the SNI addr reconstructor

This commit is contained in:
Max Lv
2018-03-30 01:14:44 -07:00
parent 0e9b87eb05
commit 66ed595c52
+14
View File
@@ -826,6 +826,20 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
// Not bypass
if (remote == NULL) {
remote = create_remote(server->listener, NULL);
if (sni_detected) {
// Reconstruct address buffer
abuf->len = 0;
abuf->data[abuf->len++] = 3;
abuf->data[abuf->len++] = ret;
memcpy(abuf->data + abuf->len, hostname, ret);
abuf->len += ret;
dst_port = htons(dst_port);
memcpy(abuf->data + abuf->len, &dst_port, 2);
abuf->len += 2;
ss_free(hostname);
}
}
if (remote == NULL) {