when CUDPSocket::open() is called with m_address (in CUDPSocket) is nothing,
IPv4 socket is created by "0.0.0.0" (INADDR_ANY) address.
This causes a problem that DMRGateway cannot connect to reflector on IPv6.
To choose default INADDR_ANY/IN6ADDR_ANY_INIT address, added
open(address_family) in UDPSocket.cpp.
Following code sets address string at construction, not modified.
NXDNNetwork.cpp
POCSAGNetwork.cpp
YSFNetwork.cpp
Other codes does not set, modified open() -> open(address_family)
DMRNetwork.cpp
DStarNetwork.cpp
MMDVMHost.cpp
MobileGPS.cpp
P25Network.cpp
RemoteCommand.cpp
RemoteControl.cpp
I think there is more clever method, but I have no other idea.
Maybe IPv6 support for digital radio works, but RemoteControl can work
IPv4 only.
match() checks address family, IP address and port between
two sockaddr_storages.
isnone() checks sockaddr_storage has INADDR_NONE IPv4 address.
(sockaddr_storage has this address when lookup() failed)