Summary: | mDNS reply is not bound to the network interface the request came from | ||
---|---|---|---|
Product: | [Applications] kdeconnect | Reporter: | valdikss |
Component: | common | Assignee: | Albert Vaca Cintora <albertvaka> |
Status: | REPORTED --- | ||
Severity: | normal | CC: | andrew.g.r.holmes |
Priority: | NOR | ||
Version First Reported In: | 25.04.3 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
valdikss
2025-08-06 20:53:57 UTC
In lanlinkprovider.cpp, there's already code for Windows and FreeBSD which "sends the reply over all available interfaces", I bevieve to fix this error. But for some reason it is put behind ifdef. https://invent.kde.org/network/kdeconnect-kde/-/blob/release/25.04/core/backends/lan/lanlinkprovider.cpp?ref_type=heads#L194 The lazy fix is: * To enable this code for Linux * To use setsockopt SO_BINDTODEVICE for Linux The proper fix is to bind to the same interface with SO_BINDTODEVICE (or at least find the interface with the same source IP from which the incoming packet was from) and send it from that interface. |