diff --git a/src/utils/inetAddressUtil.cpp b/src/utils/inetAddressUtil.cpp index b5d1c18..a50741f 100644 --- a/src/utils/inetAddressUtil.cpp +++ b/src/utils/inetAddressUtil.cpp @@ -26,38 +26,6 @@ using namespace epics::pvData; namespace epics { namespace pvAccess { -void addDefaultBroadcastAddress(InetAddrVector* v, unsigned short p) { - osiSockAddr pNewNode; - memset(&pNewNode, 0, sizeof(pNewNode)); - pNewNode.ia.sin_family = AF_INET; - // TODO this does not work in case of no active interfaces, should return 127.0.0.1 then - pNewNode.ia.sin_addr.s_addr = htonl(INADDR_BROADCAST); - pNewNode.ia.sin_port = htons(p); - v->push_back(pNewNode); -} - -void getBroadcastAddresses(InetAddrVector& ret, - SOCKET sock, - unsigned short defaultPort) { - ret.clear(); - ELLLIST as; - ellInit(&as); - osiSockAddr serverAddr; - memset(&serverAddr, 0, sizeof(osiSockAddr)); - osiSockDiscoverBroadcastAddresses(&as, sock, &serverAddr); - for(ELLNODE * n = ellFirst(&as); n != NULL; n = ellNext(n)) - { - osiSockAddrNode * sn = (osiSockAddrNode *)n; - sn->addr.ia.sin_port = htons(defaultPort); - // TODO discover possible duplicates - ret.push_back(sn->addr); - } - ellFree(&as); - // add fallback address - if (!ret.size()) - addDefaultBroadcastAddress(&ret, defaultPort); -} - void encodeAsIPv6Address(ByteBuffer* buffer, const osiSockAddr* address) { // IPv4 compatible IPv6 address // first 80-bit are 0 diff --git a/src/utils/pv/inetAddressUtil.h b/src/utils/pv/inetAddressUtil.h index 3097a34..ce68923 100644 --- a/src/utils/pv/inetAddressUtil.h +++ b/src/utils/pv/inetAddressUtil.h @@ -23,14 +23,6 @@ namespace pvAccess { typedef std::vector InetAddrVector; -/** - * Populate a vector containing all the IPv4 broadcast addresses on this machine. - * IPv6 doesn't have a local broadcast address. - * Conversion of the defaultPort to network byte order performed by - * the function. - */ -epicsShareFunc void getBroadcastAddresses(InetAddrVector& ret, SOCKET sock, unsigned short defaultPort); - struct ifaceNode { osiSockAddr addr, //!< Our address peer, //!< point to point peer diff --git a/testApp/utils/testInetAddressUtils.cpp b/testApp/utils/testInetAddressUtils.cpp index 024ebd3..4893320 100644 --- a/testApp/utils/testInetAddressUtils.cpp +++ b/testApp/utils/testInetAddressUtils.cpp @@ -178,27 +178,6 @@ void test_isMulticastAddress() testOk1(isMulticastAddress(&vec.at(5))); } -void test_getBroadcastAddresses() -{ - testDiag("Test getBroadcastAddresses()"); - - osiSockAttach(); - - SOCKET socket = epicsSocketCreate(AF_INET, SOCK_STREAM, IPPROTO_TCP); - InetAddrVector broadcasts; - getBroadcastAddresses(broadcasts, socket, 6678); - // at least one is expected, in case of no network connection a fallback address is returned - testOk1(static_cast(0) < broadcasts.size()); - //testDiag("getBroadcastAddresses() returned %zu entry/-ies.", broadcasts->size()); - epicsSocketDestroy(socket); - - // debug - for(size_t i = 0; i