0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-09-30 20:58:51 +02:00
Commit graph

253 commits

Author SHA1 Message Date
Jason Volk
c1737e167c ircd::ios: Employ the asio::executor abstraction w/ backward-compat. 2020-02-27 12:44:57 -08:00
Jason Volk
51e62a56f6 ircd::net::socket: Switch to deadline timer. 2019-10-08 19:30:48 -07:00
Jason Volk
2b2374db6c ircd: Split all non-matrix definitions back to lib; rename module to net_dns_cache. 2019-10-05 17:37:44 -07:00
Jason Volk
cfc76f1777 ircd::net::dns: Move resolver into libircd proper. 2019-10-03 12:14:29 -07:00
Jason Volk
035ec56bc3 ircd::net::acceptor: Condition accepted SNI from listener's certificate for now. 2019-09-30 14:23:28 -07:00
Jason Volk
43a86a428c ircd::net::acceptor: Split/cleanup the acceptor configuration related. 2019-09-30 14:23:28 -07:00
Jason Volk
7d1da07894 ircd::net::wait: Simplify ctor stack for noexcept suggestion. 2019-09-26 14:03:43 -07:00
Jason Volk
56c025ab7b ircd::net::socket: Minor cleanup; move warning into unlikely branch. 2019-09-14 12:17:07 -07:00
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
Jason Volk
721039f359 ircd::net::acceptor: Add conf::item to blacklist ciphers out of the supported cipher list. 2019-03-12 18:41:05 -07:00
Jason Volk
969a15c341 ircd::net::acceptor: Add conf::item to specify a default whitelist of ciphers in openssl format. 2019-03-12 18:41:05 -07:00
Jason Volk
38f7d61020 ircd::net::socket: Add non-blocking check() query with interface. 2019-03-12 18:41:05 -07:00
Jason Volk
ae4dc7db9b ircd::net::dns: Add a named logger specifically for net::dns; addl debug msgs. 2019-03-11 18:16:04 -07:00
Jason Volk
d58b67bca8 ircd::net: Split headers for UDP and TCP for listener related. 2019-03-10 14:07:56 -07:00
Jason Volk
c6975804e7 ircd::net: Move acceptors class from being nested in listeners. 2019-03-10 14:04:03 -07:00
Jason Volk
98a3535e06 ircd::net: Elaborate ipaddr interface; move apropos string utils from ipport.h 2019-03-08 11:46:50 -08:00
Jason Volk
9c62b0f61a ircd::net::hostport: Add complementary boolean conversion. 2019-03-05 20:49:23 -08:00
Jason Volk
fbbbb38e75 ircd::net: Fix alignment of address in net::ipport. 2019-02-28 17:12:04 -08:00
Jason Volk
9df879a8f8 ircd: Fix additional friend injections. 2019-02-16 13:25:18 -08:00
Jason Volk
4f721f48e5 Eliminate friend-injection. 2019-02-15 18:48:59 -08:00
Jason Volk
a30c808b0e ircd: Start a README.md for any directory missing one; fix conformity of existing. 2019-01-26 12:29:08 -08:00
Jason Volk
aeea524ac9 ircd::net: Improve listener interface w/ instance reference in callbacks. 2019-01-18 10:14:37 -08:00
Jason Volk
29e7fa3515 ircd::ctx: Use closure for continuation. 2018-12-22 21:03:14 -08:00
Jason Volk
37ba013413 ircd::ctx: Simplify continuation; eliminate to_asio derived type. 2018-12-22 20:11:00 -08:00
Jason Volk
c2b344b74e ircd: Allow exceptions to propagate from various interruptors. 2018-12-22 17:24:48 -08:00
Jason Volk
e97742ef39 ircd::net: Add loghead() similar to client::loghead(). 2018-12-12 10:12:24 -08:00
Jason Volk
1ba22a21ba ircd: Disperse accumulated global options as conf items in namespaces. 2018-12-08 15:36:34 -08:00
Jason Volk
af93d55927 ircd: Minor cleanup: simplify decl; fix comment; relax log level. 2018-11-08 23:05:12 -08:00
Jason Volk
36bb0d3175 ircd: Integrate all boost::system::system_error with stdlib. 2018-11-08 23:05:11 -08:00
Jason Volk
02f64c7f34 ircd: Add ios unit to provide a more central control point for asio. 2018-10-17 05:12:10 -07:00
Jason Volk
0e5f8141c3 ircd::net: Add more tls cert verification exceptions w/ conf. 2018-10-04 15:16:15 -07:00
Jason Volk
66ab3d85a5 ircd::net: Use ip to test ipport falsiness; typedef a resource record vector. 2018-10-03 14:17:27 -07:00
Jason Volk
95c6f69e5d ircd::net::dns: Add explicit qtype to opts and integrate w/ query stack. 2018-10-02 22:53:23 -07:00
Jason Volk
14a1be0aaf ircd::net: Add validations on hostport constructions. 2018-10-02 18:39:34 -07:00
Jason Volk
450ec3523e modules/s_dns: Consolidate DNS related into units of a single module. 2018-10-01 13:56:00 -07:00
Jason Volk
5b7cf5a8eb ircd::net::dns: Reorg namespace structure related. 2018-10-01 12:03:31 -07:00
Jason Volk
05cc6ddf83 ircd::net: Move resolver service out to modules/s_resolver. 2018-09-30 20:18:32 -07:00
Jason Volk
5a627efaad ircd::net::dns: Move cache related out to modules/s_dns. 2018-09-30 20:18:32 -07:00
Jason Volk
ccaaf22cac ircd::net::dns: Use conf item for resolver servers. 2018-09-29 19:56:22 -07:00
Jason Volk
cb6f0032a4 ircd::net: Expose interface to get socket counter as an ID. 2018-09-29 17:15:45 -07:00
Jason Volk
5f37100236 ircd::net: Add some specific comparators for ipport. 2018-09-29 16:46:02 -07:00
Jason Volk
b4e4f0165f ircd::net: Deinline some ipport ctors. 2018-09-29 16:39:14 -07:00
Jason Volk
384f5917d0 ircd::net::listener: Add callback to proffer the connection before handshake. 2018-09-01 22:12:49 -07:00
Jason Volk
60b3cd828e ircd::net: Add listener::name() interface method. 2018-08-30 19:15:28 -07:00
Jason Volk
fcb5965e45 ircd::net: Save listener opts and add accessor. 2018-08-29 15:52:37 -07:00
Jason Volk
570f715c87 ircd::net: Improve listener to-string related. 2018-08-17 12:51:48 -07:00
Jason Volk
e5834065ed ircd::net: Unionize datagram for bidirections. 2018-07-07 22:10:29 -07:00
Jason Volk
fe0bd19763 ircd::net: Add udp listener. 2018-07-07 21:33:23 -07:00
Jason Volk
8abfe6adf5 ircd::net: Inherit from closer net::error for listener::error. 2018-07-07 19:44:45 -07:00
Jason Volk
02fcdc8635 ircd::net::listener: Add callback-action for proper abstraction. 2018-07-06 18:38:08 -07:00
Jason Volk
abe921c3ad ircd::net: Add conf item for default close opts. 2018-06-01 04:08:20 -07:00