chacha20 added
This commit is contained in:
@@ -167,12 +167,6 @@ final class AgentClient
|
||||
|
||||
private function handleInitialRequest(TcpConnection $connection, string $data): void
|
||||
{
|
||||
if (!$this->authenticated || $this->pop === null) {
|
||||
$connection->send("ERR pop_not_connected\n");
|
||||
$connection->close();
|
||||
return;
|
||||
}
|
||||
|
||||
$buffer = ($this->initialBuffers[$connection->id] ?? '') . $data;
|
||||
$this->initialBuffers[$connection->id] = $buffer;
|
||||
|
||||
@@ -428,6 +422,11 @@ final class AgentClient
|
||||
|
||||
private function startPopSession(TcpConnection $connection, array $request, string $payloadBytes, string $ingressProtocol): void
|
||||
{
|
||||
if (!$this->authenticated || $this->pop === null) {
|
||||
$this->failOpeningLocalClient($connection, $ingressProtocol, 'pop_not_connected');
|
||||
return;
|
||||
}
|
||||
|
||||
$sessionId = Uuid::v4();
|
||||
$this->connectionSessionIds[$connection->id] = $sessionId;
|
||||
$this->clients[$sessionId] = $connection;
|
||||
@@ -448,6 +447,18 @@ final class AgentClient
|
||||
]));
|
||||
}
|
||||
|
||||
private function failOpeningLocalClient(TcpConnection $connection, string $ingressProtocol, string $reason): void
|
||||
{
|
||||
if ($ingressProtocol === 'socks5') {
|
||||
$connection->send($this->socks5Reply(1));
|
||||
} elseif (str_starts_with($ingressProtocol, 'http')) {
|
||||
$connection->send("HTTP/1.1 502 Bad Gateway\r\nConnection: close\r\nX-LayLink-Error: {$reason}\r\n\r\n");
|
||||
} else {
|
||||
$connection->send("ERR {$reason}\n");
|
||||
}
|
||||
$connection->close();
|
||||
}
|
||||
|
||||
private function onSocks5UdpMessage(UdpConnection $connection, string $data): void
|
||||
{
|
||||
if (!$this->authenticated || $this->pop === null || strlen($data) < 10) {
|
||||
|
||||
Reference in New Issue
Block a user