xpra icon
Bug tracker and wiki

Opened 6 months ago

Closed 5 months ago

#2317 closed enhancement (fixed)

python-zeroconf fixes - addresses

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 3.0
Component: network Version: 2.5.x
Keywords: Cc:

Change History (3)

comment:1 Changed 5 months ago by Antoine Martin

First some zeroconf fixes:

  • r23370 race condition introduced by r23347
  • r23371 support updating txt records (#2187)
  • r23372 python-zeroconf doesn't like spaces in the service name
  • r23375 preparatory refactoring
Last edited 5 months ago by Antoine Martin (previous) (diff)

comment:2 Changed 5 months ago by Antoine Martin

Status: newassigned
  • r23376 initial support for multi-address mode
  • r23377 listen on all interfaces enumerated
  • r23379 can disable multi-address mode with XPRA_ZEROCONF_MULTI=0
  • r23380 IPv6 bug
  • r23381 + r23382 refactoring
  • r23383 always add .local.
  • r23384 server bug: only remove duplicate interfaces for the same port
  • r23385 ssh-port 0 bug on ms windows, preserve TXT record order
  • r23386 auto-rename service name if we listen on more than one port for the same protocol (ie: ssh), keep track of all services (doh - non-multi mode), deal with race conditions during update_txt (just log a warning)

What doesn't work is per-interface handling, as per how-do-i-use-it: Discovery and service registration use all available network interfaces by default. If you want to customize that you need to specify interfaces argument when constructing Zeroconf object (see the code for details).

comment:3 Changed 5 months ago by Antoine Martin

Resolution: fixed
Status: assignedclosed
Summary: python-zeroconf 0.23 can handle multiple addressespython-zeroconf fixes - addresses

This ticket's summary was python-zeroconf 0.23 can handle multiple addresses when in fact that was not what we were really after. Changed.

And finally:

  • r23389 ensure addresses are correct by instantiating a different Zeroconf instance for each address
  • r23390 restores the IPv6 code, but it remains disabled by default zince Zeroconf will error out when given an IPv6 address...
  • r23391 + r23392 + r23393: makes the code more resilient when hitting those errors
  • r23394 deal with multiple ports (ie: ssh)
Note: See TracTickets for help on using tickets.