Commit Graph

28 Commits

Author SHA1 Message Date
Michael Davidsaver
e6902ee41f avoid UB in decodeAsIPv6Address()
Order of evaluation within an expression is
undefined behavior.
2018-10-02 12:52:24 -07:00
Michael Davidsaver
93dc0f4f1a drop unused 2018-07-06 11:20:34 -07:00
Michael Davidsaver
59a65ce317 discoverInterfaces() fixup bcast address on win32
Apparently SIO_GET_INTERFACE_LIST sometimes gives
the global broadcast (255.255.255.255) for one of
the interfaces.  In this case silently compute
the iface bcast address.
2018-07-02 18:54:05 -07:00
Michael Davidsaver
7912718664 discoverInterfaces() compat RTEMS 2018-07-02 15:32:10 -07:00
Michael Davidsaver
fc037f0a39 drop getBroadcastAddresses()
in favor of discoverInterfaces().

if we have to do NIC discovery ourselves, then at least
avoid mixing our results with the similar, but not identical
results of osiSockDiscoverBroadcastAddresses() from Base.
2018-07-02 14:39:37 -07:00
Michael Davidsaver
c5419f9487 revise discoverInterfaces()
change interface to distingush between bcast and point2point.
add netmask to truly distinguish unicast from bcast.
fix some minor (I think) errors in the bsd socks impl (use of clobbered buffer).
cleanup win32 impl. bcast and p2p handling.
2018-07-02 14:39:36 -07:00
Michael Davidsaver
53a63f9a1f inetAddressUtil: save ifr_addr before query of IFFLAGS
Save before later calls clobber the buffer (was corrupting
sin_family).
2018-07-02 14:39:36 -07:00
Michael Davidsaver
0161799c93 must zero osiSockAddr prior to use!
RTEMS depends on this or eg. bind()
will fail because comparison with
list of interface addresses is done
with memcmp()!
2017-11-28 17:54:25 -06:00
Michael Davidsaver
90e8276758 fixup point to point interface handling.
with bcast interfaces, send searches to bcast address
and !WIN32 binds bcast address to receive searches.

with point to point, send searches to dest address.
can't bind dest address (not local).

quiets spurious error message:

> Error binding socket: Cannot assign requested address.

Encountered with a P2P link setup by openvpn.
2017-09-06 10:38:20 -05:00
Michael Davidsaver
e8adc57897 getBroadcastAddresses oops 2017-09-02 10:22:08 -05:00
Michael Davidsaver
27ec187bd4 inetAddressUtil no more new vector
no more allocating vector.
2017-09-02 09:55:15 -05:00
Michael Davidsaver
6fb8385d29 avoid op on uninitialized value warnings 2017-07-11 14:38:07 +02:00
Andrew Johnson
1e031bf393 Reorder some include lines
Order should be
    Compiler, OS, Base, pvData, pvAccess
This makes it much easier to get the epicsExport stuff right.
2016-04-06 10:59:23 -05:00
Matej Sekoranja
5279d247ca general indent beautification 2016-03-10 23:36:16 +01:00
Matej Sekoranja
87c11d83d2 win32 port 2016-03-06 21:21:26 +01:00
Matej Sekoranja
1ca3918afa local multicast reimplemented 2016-03-01 12:11:25 +01:00
Matej Sekoranja
9be026efc7 allow EPICS_PVAS_INTF_ADDR_LIST=127.0.0.1, tests pass now 2016-02-25 10:37:44 +01:00
Matej Sekoranja
21a1dad07f server: multiple NIF support for UDP 2016-01-04 14:12:19 +01:00
Matej Sekoranja
63a0c71fe9 local multicast revised for multiple NIF (server side only) 2015-12-31 11:18:49 +01:00
Matej Sekoranja
91b5cc707d fixed testChannelAccess 2015-12-16 13:52:56 +01:00
Matej Sekoranja
0a82f3c60a getSocketAddressList leading spaces handling and tests 2014-11-17 09:56:40 +01:00
Matej Sekoranja
ac13dc19fd pvlist now in an usable shape, requires eget 2014-10-14 12:01:13 +02:00
Matej Sekoranja
64b057c3ac relaxed handling of ipV6 search response address 2014-10-08 10:24:22 +02:00
Matej Sekoranja
6bd1efa313 decoding of IPv6 fixed 2014-09-02 01:23:57 +02:00
Matej Sekoranja
b7f545aa06 multicast test added 2014-08-20 00:24:42 +02:00
Matej Sekoranja
ba4102639e String -> std::string, toString methods removed 2014-06-19 14:29:41 +02:00
Matej Sekoranja
99df13dc72 completed merge 2014-06-10 00:09:08 +02:00
Andrew Johnson
a886984258 Rename pvAccessApp to src, adjust Makefiles 2014-03-28 11:53:02 -05:00