|
|
|
|
@ -20,7 +20,7 @@ struct UASYNC;
|
|
|
|
|
// Начать релей. Забирает владение client_sock (non-blocking, зарегистрирован
|
|
|
|
|
// в uasync) и проксирует его на dest ("host:port").
|
|
|
|
|
// initial_data/initial_len — уже прочитанные байты от клиента (ClientHello),
|
|
|
|
|
// отправляются на dest первыми (буфер переходит во владение модуля).
|
|
|
|
|
// отправляются на dest первыми (буфер КОПИРУЕТСЯ — владение остаётся у вызывающего).
|
|
|
|
|
// Возвращает 0 = ok, -1 = ошибка (client_sock уже закрыт внутри).
|
|
|
|
|
int reality_relay_start(struct UASYNC *ua, socket_t client_sock, |
|
|
|
|
const char *dest, |
|
|
|
|
|