mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-07-13 14:24:06 -04:00
9632d6d9c7deb34916c6eca7bba78c93f2c4a100
Fix mDNS discovery ambiguity where multiple devices across
different network segments/subnets can advertise the same hostname (e.g.
"ip:pluto.local"), resulting in non-unique or misleading URIs.
Replace unresolved mDNS hostnames with the actual discovered endpoint
reported in the scan description.
- Detect ".local" URIs on IP backend and substitute hostname with
resolved endpoint from libiio scan results.
- Preserve URI semantics:
- Keep backend prefix ("ip:")
- Preserve optional port suffix
- Correctly format IPv6 literals with RFC2732 bracket notation when
required
- Add replaceHostnameWithIP() to perform URI normalization during scan:
- Only applies to IP backend URIs
- Only triggers for mDNS-based ".local" hostnames
- Uses scan-provided endpoint (from description string) as authoritative
address instead of advertised hostname
- Extend scan() to emit both original and resolved URIs for debugging
and verification during device discovery.
This resolves inconsistent device addressing when multiple PlutoSDRs
are accessible via mDNS across different subnets or network segments.
No change to backend enumeration or device identity logic; this only
normalizes .local IP URI resolution at scan time.
Signed-off-by: Robin Getz <rgetz503@gmail.com>
SDRangel is an open-source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
Wiki: Most of the information and documentation related to SDRangel can be found in the Wiki. Please make sure to check it in case of questions or trouble and before you post issues on GitHub. You may also seek help from other users using the discussion group below. Before running the program, make sure you read at least the Home and Quick Start pages.
Discussion group: You can ask other users for help or discuss subjects related to SDRangel and its ancillary projects here.
Ancillary projects
- SDRangelcli is a web application that can be used to control a headless (server flavor) instance of SDRangel. It can also be used as a remote control for the GUI flavor.
- SDRangel-Docker is a collection of Docker files and scripts to facilitate building and running SDRangel in a Docker container. Works for either the GUI (only on a Linux host) or the server.
Languages
C++
69.8%
JavaScript
27.5%
CMake
0.9%
C
0.8%
Python
0.3%
Other
0.6%
