aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathijs van Veluw <[email protected]>2023-12-04 20:20:13 +0100
committerGitHub <[email protected]>2023-12-04 20:20:13 +0100
commit0fdda3bc2f22b1881ac265d08e24ab9ef9402f9e (patch)
tree9841b20819abbdf46328211c8a82939501dca344
parent48836501bf348386d9bb1378fb56db33c19d3732 (diff)
downloadvaultwarden-0fdda3bc2f22b1881ac265d08e24ab9ef9402f9e.tar.gz
vaultwarden-0fdda3bc2f22b1881ac265d08e24ab9ef9402f9e.zip
Prevent generating an error during ws close (#4127)
When a WebSocket connection was closing it was sending a message after it was closed already. This generated an error in the logs. While this error didn't harm any of the functionallity of Vaultwarden it isn't nice to see them of course. This PR Fixes this by catching the close message and breaks the loop at that point. This prevents the `_` catch-all from replying the close message back to the client, which was causing the error message. Fixes #4090
-rw-r--r--src/api/notifications.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/api/notifications.rs b/src/api/notifications.rs
index 5bcc59b5..da2664cf 100644
--- a/src/api/notifications.rs
+++ b/src/api/notifications.rs
@@ -164,6 +164,11 @@ fn websockets_hub<'r>(
continue;
}
}
+
+ // Prevent sending anything back when a `Close` Message is received.
+ // Just break the loop
+ Message::Close(_) => break,
+
// Just echo anything else the client sends
_ => yield message,
}
@@ -230,6 +235,11 @@ fn anonymous_websockets_hub<'r>(
continue;
}
}
+
+ // Prevent sending anything back when a `Close` Message is received.
+ // Just break the loop
+ Message::Close(_) => break,
+
// Just echo anything else the client sends
_ => yield message,
}