mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-19 21:18:05 +01:00
enforce provisioning websocket timeouts
This commit is contained in:
committed by
ravi-signal
parent
8c2f3c839f
commit
c2e3ab832c
@@ -61,16 +61,14 @@ public class ProvisioningConnectListener implements WebSocketConnectListener {
|
||||
public void onWebSocketConnect(WebSocketSessionContext context) {
|
||||
openWebSocketCounter.countOpenWebSocket(context);
|
||||
|
||||
final Optional<ScheduledFuture<?>> maybeTimeoutFuture = context.getClient().supportsProvisioningSocketTimeouts()
|
||||
? Optional.of(timeoutExecutor.schedule(() ->
|
||||
context.getClient().close(1000, "Timeout"), timeout.toSeconds(), TimeUnit.SECONDS))
|
||||
: Optional.empty();
|
||||
final ScheduledFuture<?> timeoutFuture = timeoutExecutor.schedule(() ->
|
||||
context.getClient().close(1000, "Timeout"), timeout.toSeconds(), TimeUnit.SECONDS);
|
||||
|
||||
final String provisioningAddress = generateProvisioningAddress();
|
||||
|
||||
context.addWebsocketClosedListener((context1, statusCode, reason) -> {
|
||||
provisioningManager.removeListener(provisioningAddress);
|
||||
maybeTimeoutFuture.ifPresent(future -> future.cancel(false));
|
||||
timeoutFuture.cancel(false);
|
||||
});
|
||||
|
||||
provisioningManager.addListener(provisioningAddress, message -> {
|
||||
|
||||
Reference in New Issue
Block a user