diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-10-01 09:49:58 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-10-01 09:49:58 +0200 |
| commit | 6426912946270bb02e7b94508008edf8f949d993 (patch) | |
| tree | 2541d1e091de7a80aa1b4f61e788aa009b669609 /packages/meshbay-node/src/meshbay_node/transport/webrtc/chat.py | |
| parent | 0d0898c656afb8c1faa9fa91ba525e8a3e6a34ee (diff) | |
| download | meshbay-6426912946270bb02e7b94508008edf8f949d993.tar.gz | |
fix(node): link previews connect to the address they checked, without blocking
The name is resolved off the event loop and every answer checked; the socket
is then opened to that IP literal through a pinned httpcore backend, TLS still
verifying the certificate for the name, and no proxy from the environment.
A name that answers clean and then with a LAN address no longer gets a
request sent there, and a slow name no longer stalls the node (F-12).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/transport/webrtc/chat.py')
| -rw-r--r-- | packages/meshbay-node/src/meshbay_node/transport/webrtc/chat.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/transport/webrtc/chat.py b/packages/meshbay-node/src/meshbay_node/transport/webrtc/chat.py index 26ec27c..5ef153e 100644 --- a/packages/meshbay-node/src/meshbay_node/transport/webrtc/chat.py +++ b/packages/meshbay-node/src/meshbay_node/transport/webrtc/chat.py @@ -598,7 +598,7 @@ class ChatMixin: the client asks, the node produces on demand, the asking device caches — nothing durable here). - `linkpreview.safe_url` is the SSRF gate: the URL a *member* chose + `linkpreview.check_url` is the SSRF gate: the URL a *member* chose decides an outbound request from the operator's machine, so http(s) only and the resolved address must be globally routable. Failure of any kind — blocked, unreachable, not HTML, nothing worth showing — |