Commit Graph

39 Commits

Author SHA1 Message Date
Michael Davidsaver b31a354915 improve localhost multicast forwarding
On Linux (at least) packets received through the LO
may have non-LO origin addresses...
2023-04-10 08:44:37 -07:00
Michael Davidsaver 303bc61079 apply loc_bad_alloc to owned_ptr
Distinguish location of owned_ptr failure
2023-03-28 15:21:39 -07:00
Michael Davidsaver d692d7da2c loc_bad_alloc 2023-03-28 15:21:34 -07:00
Michael Davidsaver 8333ce30ec re-define user bufferevent limits in terms of OS buffer size 2022-10-14 10:20:51 -07:00
Michael Davidsaver e809da219d evsocket::ipstack 2022-04-05 07:57:16 -07:00
Michael Davidsaver 1be0477ee6 evsocket::canIPv6 once 2022-04-05 07:57:16 -07:00
Michael Davidsaver 8fb7956ca1 evsocket::bind() 2022-04-05 07:57:16 -07:00
Michael Davidsaver df4289b4e6 IPv6+mcast support 2022-04-05 07:57:16 -07:00
Michael Davidsaver f67f27e96b Portable capture of destination interface and IP address
Use recvmsg() and control messages IP_PKTINFO (Linux, OSX, Windows)
or IP_ORIGDSTADDR and IP_RECVIF (RTEMS w/ libbsd) to find the
index of the logical interface through which a UDP packet was received,
and the destination address from the IPv4 header.

Also, clear IP_MULTICAST_ALL on Linux to disable non-compliant legacy brokenness
and receive only those multicasts we are interested in.
2022-04-05 07:57:16 -07:00
Michael Davidsaver d811d5e17a minor 2021-08-30 13:54:12 -07:00
Michael Davidsaver d6bf565ed6 rename interfaces() -> broadcasts() 2021-08-04 17:26:10 -07:00
Michael Davidsaver dfbed0c850 server ExecOp timer 2021-07-17 08:22:25 -07:00
Michael Davidsaver 49c16e8d6a minor 2021-07-16 12:20:51 -07:00
Michael Davidsaver f8cdcd4f91 RTEMS5/libbsd support 2021-06-27 10:17:14 -07:00
Michael Davidsaver bcc46f0389 workaround limitations of moving std::function<void()> 2021-06-27 10:17:13 -07:00
Michael Davidsaver bd6fb00dd5 evhelper external/internal 2021-06-27 10:17:13 -07:00
Michael Davidsaver a051c27877 evbase constify 2020-12-29 12:52:54 -08:00
Michael Davidsaver 0395982691 add evsocket::interfaces() wrapper 2020-12-13 15:49:43 -08:00
Michael Davidsaver 33b6f362db client: Handle orphaned Operations
Allow Operation instances to outlive
the Context through which they were
created.
2020-08-10 12:09:55 -07:00
Michael Davidsaver 7a2ab35439 check instance counters in cleanup_for_valgrind() 2020-04-07 12:05:29 -07:00
Michael Davidsaver d852758b7b client: ensure worker is joined on close() 2020-04-07 12:05:28 -07:00
Michael Davidsaver 44331decf9 redo evhelper::dispatch()/call()
void races and
2020-03-04 19:34:16 -08:00
Michael Davidsaver c2a4224a21 server monitor 2020-01-22 12:25:21 -08:00
Michael Davidsaver 92c513d6dd de-templateize xcode 2019-12-10 19:28:54 -08:00
Michael Davidsaver 801d295c1f start PVD 2019-12-10 17:56:40 -08:00
Michael Davidsaver 083bad3e28 redo namespaces 2019-11-19 16:08:03 -08:00
Michael Davidsaver bab82affb8 redo packet build/parse
now with evbuffer
2019-11-19 16:06:43 -08:00
Michael Davidsaver 06e780872b progress 2019-11-19 16:06:43 -08:00
Michael Davidsaver 985687a54d test UDP handling 2019-10-27 20:57:11 -07:00
Michael Davidsaver c886205110 redo UDP handling 2019-10-27 16:19:59 -07:00
Michael Davidsaver cf64dad10d start on server 2019-10-24 16:47:37 -07:00
Michael Davidsaver 2497350fcd more shuffling 2019-10-24 13:27:54 -07:00
Michael Davidsaver 84ac6ed091 move sockaddr wrapper to public API 2019-10-24 10:38:25 -07:00
Michael Davidsaver 9134d8ad2f minor 2019-10-24 09:48:59 -07:00
Michael Davidsaver 8c40929e5c all sorts of changes 2019-10-23 13:29:31 -07:00
Michael Davidsaver 0b08678d1f simplify 2019-10-23 11:09:52 -07:00
Michael Davidsaver 5301785233 drop sockaddr_storage 2019-10-22 18:27:53 -07:00
Michael Davidsaver 87508ea279 automatic evhelper_ev2err 2019-10-21 16:27:47 -07:00
Michael Davidsaver 466044d6a5 initial 2019-10-19 20:17:39 -07:00