Doug Freed
1cad0654b7
librb: call rb_set_cloexec in rb_setup_fd
2021-01-26 00:03:48 -05:00
Doug Freed
34a2afbc28
librb: add rb_{set,clear}_cloexec
2021-01-26 00:03:48 -05:00
Simon Arlott
8679c0fe3c
Fix Clang 6 compiler warnings
2019-09-15 11:28:48 +01:00
Simon Arlott
17809d2db7
librb: Fix type of dst for rb_inet_pton_sock()
2019-08-31 16:10:50 +01:00
Simon Arlott
268044ea40
Add workaround for Linux SCTP_I_WANT_MAPPED_V4_ADDR bug on older kernels
2017-08-24 20:08:22 +01:00
Simon Arlott
6003ce763c
Add outgoing SCTP connect support
2017-08-24 20:08:21 +01:00
Simon Arlott
c6ad9b0c5f
Add basic SCTP listener support that binds to multiple addresses
...
This only supports two addresses as the intended use is 1 IPv4 and 1 IPv6
address on a single-homed host, and the only supported configuration of
outgoing connections to other servers is to bind a single IPv4 or IPv6
address.
2017-08-24 20:08:20 +01:00
Simon Arlott
589dbf4d0f
rb_connect: use SO_ERROR
2017-08-24 20:08:19 +01:00
Simon Arlott
9caecc9348
rb_inet_pton_sock: initialise sockaddr to zero
2017-08-24 20:08:19 +01:00
Simon Arlott
de2934965c
remove RB_IPV6
2017-08-20 12:54:46 +01:00
Simon Arlott
b0adc7bf97
librb: commio: Must set addrlen before every call to accept()
...
If an IPv4 connection is dropped by the pre-callback, and there is a
pending IPv6 connection on the same listening socket then the retried
accept() will be unable to populate `st` because `addrlen` will be too
small. Also initialise `st` each time to avoid a clang static analysis
warning.
2017-07-29 22:20:05 +01:00
Simon Arlott
1315fd5920
librb: set sockaddr port to 0 in success path
...
Instead of only in the failure path, which causes
all sorts of annoying server connection failures
when we try to repeatedly reuse the same port.
2016-09-03 14:36:17 +01:00
Aaron Jones
92706fd551
librb: silence some fairly harmless compiler warnings
...
These include warnings about "break" statements that will never be
executed (because they are after "return" statements), unused macros
(lost to code refactoring or never even used in the first place),
functions that call abort() or loop indefinitely but aren't marked with
the "noreturn" attribute, and use of variables possibly uninitialised
(a false positive).
2016-06-01 19:50:09 +00:00
Simon Arlott
8a29e7cd1e
librb: shutdown() listening sockets pending close() so that listeners can be reopened reliably
2016-04-30 11:36:28 +01:00
Simon Arlott
ff0414c856
librb: close FDs when they're freed (outside of select handler)
2016-04-29 16:19:08 -05:00
Simon Arlott
5ad62c80ee
librb: remove socklen parameter from rb_connect_tcp
2016-04-24 17:11:20 +01:00
Elizabeth Myers
4eafa9e62f
ipv4_from_ipv6: move to librb
2016-04-08 03:49:23 -05:00
Elizabeth Myers
d86692fa44
Add new sockaddr_storage port retrieval/setting macros
...
These macros are safe for use on IPv6 and clean up a lot of code.
2016-03-31 03:00:29 -05:00
Matt Ullman
c056dba233
Remove the rest of the SVN id tags
2016-03-23 20:13:12 -04:00
Matt Ullman
e23126c83b
Cleanup warnings
2016-03-21 22:28:41 -04:00
William Pitcock
d24856d228
librb: commio: squelch setsockopt(3) warnings
2016-03-20 04:18:42 -05:00
William Pitcock
b1f7e4098f
librb: win32: more cleanups
2016-03-20 00:41:01 -05:00
William Pitcock
e49147e56e
commio: even more win32 fixes
2016-03-20 00:38:46 -05:00
William Pitcock
339150ec60
commio: further win32 fixes
2016-03-20 00:37:50 -05:00
William Pitcock
7dbf237f93
commio: win32 fixes
2016-03-20 00:36:35 -05:00
William Pitcock
dc7e6b42ca
librb: some win32 fixes
2016-03-20 00:33:19 -05:00
Elizabeth Myers
fe037171d6
Change all leftover libratbox stuff to librb.
2016-03-06 03:49:27 -06:00
William Pitcock
c83f2f5e12
rename libratbox to librb, since its pretty modified anyway
2016-03-06 02:30:20 -06:00