Jason Volk
a280350dee
ircd::net: Fix the asio callback and error_code interp on socket waits.
2019-09-13 12:44:59 -07:00
Jason Volk
b19ed6854b
ircd::net: Consolidate all eof error_code related.
2019-09-13 12:44:59 -07:00
Jason Volk
cb94558c4a
ircd: Ⓜ️ :fed: Remove opts inline constructor due to shared linkage issues.
2019-08-18 04:13:12 -07:00
Jason Volk
c64bb6850c
ircd::net: Fix/improve the v6/v4 check.
...
ircd::net: Add an is_null(ipport/ipaddr).
ircd::net: Improve the v6/v4 check efficiency.
ircd::net: Swap defaulting from v6 to v4 for better null address output.
2019-08-04 18:05:58 -07:00
Jason Volk
63a9f33d7c
ircd::net: Simplify socket check related.
2019-07-27 13:17:53 -07:00
Jason Volk
2a8162b2b7
ircd::net::hostport: Remove unique symbol.
2019-07-14 19:35:28 -07:00
Jason Volk
0f4d1e2869
ircd::net::socket: Convert totals counters to stats::items.
2019-07-11 15:51:09 -07:00
Jason Volk
015cbe53b1
ircd::net::socket: Add static counters for totals.
2019-07-08 06:03:20 -07:00
Jason Volk
cf3b1218c4
ircd: Misc fixes for clang.
2019-06-23 16:22:06 -06:00
Jason Volk
5bf62fc33f
ircd: Degrade enum addressing for clang.
2019-06-23 07:37:23 -06:00
Jason Volk
7aaee4c68d
ircd: Mark recommended noexcept on inline constructors.
2019-06-22 17:36:42 -06:00
Jason Volk
ce425b438d
ircd::net::acceptor: Elide the accepting list for single-accept [revertible].
2019-06-01 17:10:49 -07:00
Jason Volk
dafb8bd42f
ircd::net::acceptor: Track and limit operations based on configuration.
2019-06-01 17:10:49 -07:00
Jason Volk
d7edd1960e
ircd::net::listener: Add some doc comments on the structure.
2019-06-01 15:33:39 -07:00
Jason Volk
a08d5370f8
ircd::net::ipport: Add convenience conversion to ipaddr.
2019-06-01 15:33:39 -07:00
Jason Volk
3e43a10e6d
ircd::net: Improve loghead(acceptor) and loghead(acceptor_udp) related.
2019-05-31 02:35:22 -07:00
Jason Volk
2e525df668
ircd::net::acceptor: Add ALPN negotiation handler support.
2019-05-31 00:35:46 -07:00
Jason Volk
4aef8cfdf8
ircd::net::socket: Deinline the read/write member template suites.
2019-05-03 16:29:56 -07:00
Jason Volk
e2136a3157
ircd::net::dns: Minor cleanup.
2019-05-03 16:09:57 -07:00
Jason Volk
0f404a0bda
ircd::net: Addition assertions; use constrefs in handler cbs.
2019-04-16 21:39:43 -07:00
Jason Volk
92cdccf956
ircd::net: Add parent ssl_cipher conf items; add curve items.
2019-04-15 22:16:16 -07:00
Jason Volk
5c359f22f3
ircd::net::socket: Change behavior of non-blocking read_() calls to not throw for EAGAIN.
2019-04-09 21:08:15 -07:00
Jason Volk
3a9e85c294
ircd::net::addrs: Tweak interface detail; workaround issues.
2019-04-09 20:05:48 -07:00
Jason Volk
37ddf9f8fb
ircd::net: Make various conversions to ipaddr explicit.
2019-04-09 15:54:22 -07:00
Jason Volk
a54c5f44e4
ircd::net: Add conf item to toggle ipv6 for ircd::net::. Auto-detect viability on net::init.
2019-03-25 15:18:06 -07:00
Jason Volk
c0cbfd2d23
ircd::net: Add util to detect usable ipv6 interface.
2019-03-25 15:18:06 -07:00
Jason Volk
28569176f2
ircd::net: Use a structured argument to addrs closure; add more data.
2019-03-25 15:18:06 -07:00
Jason Volk
8c27cb847a
ircd::net: Add conditional interface to getifaddrs() w/ console cmd.
2019-03-25 13:56:08 -07:00
Jason Volk
4d3fd753e1
ircd::net: Add interface for listener bound socket information; improve net listen console cmd.
2019-03-25 12:55:59 -07:00
Jason Volk
7f5f07509a
ircd::net::dns: Add utils to properly check for empty records in JSON.
2019-03-24 20:13:23 -07:00
Jason Volk
8e15e5d09b
ircd::net: Add single-string amalgam construction to ipport.
2019-03-24 19:33:03 -07:00
Jason Volk
fe81c30806
ircd::net: Refactor dual stack integration.
2019-03-24 19:33:03 -07:00
Jason Volk
c3c99ecea8
ircd::net: Interface support for sockopt IPPROTO_IPV6 IP_V6ONLY.
2019-03-24 16:20:05 -07:00
Jason Volk
138b7bff65
ircd::net: Interface wrap boost::asio::ip::make_address().
2019-03-24 15:59:46 -07:00
Jason Volk
71b86df0fe
ircd::net::dns: Reorg various utilities from dns::cache:: to dns::.
2019-03-24 14:50:26 -07:00
Jason Volk
55af53e2a0
ircd::net::dns::cache: Add addl utils random_choice and is_error().
2019-03-24 14:47:07 -07:00
Jason Volk
a1ac9cb356
ircd::net::dns: Expose more cache utils to public interface.
2019-03-24 14:06:47 -07:00
Jason Volk
3c09d62934
modules/s_dns: Various cleanup / reorg of handlers.
2019-03-23 01:04:41 -07:00
Jason Volk
68e3655a1d
ircd::net::dns: Refactor system for the !dns room.
2019-03-21 18:24:36 -07:00
Jason Volk
e133cd5a25
ircd::net: Add specific allow(acceptor) rather than using start(acceptor).
2019-03-21 17:07:35 -07:00
Jason Volk
d03d2c1944
ircd::net::hostport: Add non-canonicalizing constructor.
2019-03-19 10:11:29 -07:00
Jason Volk
29ba0d214b
ircd::net: Reinterface string(ippaddr) related.
2019-03-18 12:39:21 -07:00
Jason Volk
2eb9fff55f
ircd::net: Reorg acceptor internal control panel; provide external start()/stop().
2019-03-16 16:28:28 -07:00
Jason Volk
f2f2afb8c4
ircd::net: Reorg listener/acceptor external interface.
2019-03-16 16:28:28 -07:00
Jason Volk
213c46d9f8
ircd::net: Add interface to get cipher list from acceptor w/ console cmd.
2019-03-13 17:32:39 -07:00
Jason Volk
8daddfb84a
ircd::net::listener: Add cast for internal acceptor access.
2019-03-13 17:32:16 -07:00
Jason Volk
d6e97f6aab
ircd::net: Send server name identification when opening client connections.
2019-03-13 13:44:41 -07:00
Jason Volk
cb979d96e7
ircd::net::acceptor: Add callback stack framework for dynamic server name identification.
2019-03-13 13:11:53 -07:00
Jason Volk
641a5546ae
ircd::net: Fix acceptor's inheritance of net::listener::error.
2019-03-13 13:11:53 -07:00
Jason Volk
d8ee9e9a10
ircd::net: Use more grammars in net::hostport construction.
2019-03-13 13:11:53 -07:00