0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-13 17:13:02 +01:00
Commit graph

385 commits

Author SHA1 Message Date
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
22471e9b4c ircd: Use conf items to get this info for now. 2019-09-28 14:13:58 -07:00
Jason Volk
d3809d43e5 Reorganize Makefiles. 2019-09-27 19:35:26 -07:00
Jason Volk
1128187bf5 ircd::net: Unconditionally check opened(); handle unexpected on dtor. 2019-09-17 20:17:37 -07:00
Jason Volk
9b5a391e14 ircd::net: Use non-future close() in open() callback on error. 2019-09-17 20:17:37 -07:00
Jason Volk
72744824ba ircd::net::socket: Assertions for API use in fini state. 2019-09-15 14:46:26 -07:00
Jason Volk
a322ff762d ircd::net: Terminate rather than throwing into noexcept. 2019-09-14 20:14:36 -07:00
Jason Volk
4c7f53fda9 ircd::net: Return ENOTCONN from net::check(socket) in fini state. 2019-09-14 20:14:35 -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
fcf19bc002 ircd::net: Increase the peek workaround buffer size. 2019-09-13 12:44:59 -07:00
Jason Volk
27dbc14b3a ircd::net: Cleanup asynchronous wait switch and ios descriptors. 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
e22baa8dde ircd::net: Add SSL_has_pending() to diagnostic for >= 1.1.x 2019-09-09 16:00:37 -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
b72b0ac110 ircd::net: Use buffer size consts. 2019-08-02 22:34:24 -07:00
Jason Volk
de00f3b0c3 ircd::net: Improve connect logmsg. 2019-08-02 22:34:12 -07:00
Jason Volk
48da12c306 ircd::net: Case transform in string()/canonize()/dns::make_SRV_key(). 2019-08-02 22:01:00 -07:00
Jason Volk
25d35181be ircd::net: Check if socket fd is open first before other checks. 2019-07-27 18:49:27 -07:00
Jason Volk
63a9f33d7c ircd::net: Simplify socket check related. 2019-07-27 13:17:53 -07:00
Jason Volk
7dcd3fdcd8 ircd: Improve log format consistency. 2019-07-23 17:31:16 -07:00
Jason Volk
3185653ce0 ircd::net: Appease clang-7 here. 2019-07-19 17:14:45 -07:00
Jason Volk
5d1e558c0e ircd::net: Gracefully handle unrecognized SNI. 2019-07-18 18:46:36 -07:00
Jason Volk
ceb9ca3db7 ircd::net: Improve log consistency. 2019-07-18 18:46:36 -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
7843925335 modules: Disperse modules to eliminate the s_ prefix-space. 2019-06-27 00:41:57 -07:00
Jason Volk
80655da66e Misc fixes for clang. 2019-06-24 01:34:14 -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
2a5d159d85 ircd::net::acceptor: Use consistent loghead in log format. 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
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
44cf572ee5 ircd::rfc1035: Rename constant.
ircd::rfc3986: Add additional convenience constants.
2019-05-26 18:37:40 -07:00
Jason Volk
abae2c02f5 ircd::net: Fix for 864f50da (kicks can down the road). 2019-05-03 18:13:01 -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
6500b8c3fc ircd::net: Disable socket ready debuglog msg by define. 2019-04-24 16:28:42 -07:00
Jason Volk
0f404a0bda ircd::net: Addition assertions; use constrefs in handler cbs. 2019-04-16 21:39:43 -07:00
Jason Volk
945ce126c5 ircd::net: Remove explicit string conversion. 2019-04-16 21:11:39 -07:00
Jason Volk
9a44188c00 ircd::net Increase buffer sizes. 2019-04-16 21:11:27 -07:00
Jason Volk
7c6c60960f ircd::net: Improve various callback fini/error conditions. 2019-04-16 20:10:24 -07:00
Jason Volk
6bf3ccb7b5 ircd::net: Bypass call to current_cipher() on error conditions. 2019-04-16 20:10:24 -07:00
Jason Volk
a24d3a1d96 ircd::net: Prevent any handshake on finished socket out of handle_connect. 2019-04-16 20:10:23 -07:00
Jason Volk
ff25a486a0 ircd::net: Bail from handle_verify() on socket fini. 2019-04-16 20:10:23 -07:00
Jason Volk
3b832db9a4 ircd::net: Add traps under reject()s. 2019-04-16 20:00:17 -07:00
Jason Volk
8cfc9e832e ircd::net: Fix scope_timeout move assignment. 2019-04-16 18:33:01 -07:00
Jason Volk
5d04c8c607 ircd::net: Shortcut string creation on closed / lame sockets. 2019-04-15 22:47:24 -07:00
Jason Volk
b51d5d1461 ircd::net: Add TLS buffers for various stringifies. 2019-04-15 22:47:24 -07:00
Jason Volk
74a28f2f10 ircd::net: Tweak calls to set socket non-blocking. 2019-04-15 22:47:24 -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
889b65a002 ircd::net: Additional traps / assertions. 2019-04-15 17:09:35 -07:00
Jason Volk
9b9f44d863 ircd::net: Skip call to set server_name when no server_name. 2019-04-15 15:23:44 -07:00
Jason Volk
79475d2ba3 ircd::net: Set socket non-blocking after handshake. 2019-04-12 05:54:11 -07:00
Jason Volk
6d15db176d ircd::net: Fix mislabeled ios::descriptor. 2019-04-10 22:59:23 -07:00
Jason Volk
1d45f0bc5b ircd::net: Remove this prefetch. 2019-04-10 22:35:11 -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
d2546120ee ircd: Add descriptor participation for all asynchronous operations. 2019-03-27 13:04:12 -07:00
Jason Volk
45d29ed5cf ircd::net: Add log messages reporting IPv6 init status; handle errors during check. 2019-03-25 16:33: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
9d552cd88a ircd::net: Improve ipport/ep to_string related. 2019-03-25 12:25:25 -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
fe81c30806 ircd::net: Refactor dual stack integration. 2019-03-24 19:33:03 -07:00
Jason Volk
be563a9f18 ircd::net: Fix constness. 2019-03-24 16:21:01 -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
77648137e9 Revert "ircd: Remove use of all unwind::exceptional and unwind::nominal devices."
This reverts commit 4f243826c2.
2019-03-22 21:06:28 -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
a6886dafe6 ircd::net: Bail early if no SNI sent by client. 2019-03-21 16:54:36 -07:00
Jason Volk
7db86a58c2 ircd::net: Tweak stringification of net::hostport. 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
b3a875bc63 ircd::net::acceptor: Don't condition response for SNI here. 2019-03-16 12:37:44 -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
b3526298a9 ircd::net::acceptor: Rename logger to net.listen. 2019-03-13 13:11:53 -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
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
4f243826c2 ircd: Remove use of all unwind::exceptional and unwind::nominal devices. 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
0c24ea5f40 ircd::net: Allow cipher list and curve list in the listener configuration object. 2019-03-10 16:59:35 -07:00
Jason Volk
d658729d07 ircd::net: Automate ecdh selections by default. 2019-03-10 16:55:39 -07:00
Jason Volk
db30477e51 ircd::net::acceptor: Relax default flags. 2019-03-10 16:55:39 -07:00