0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-07 11:08:34 +02:00
Commit graph

336 commits

Author SHA1 Message Date
Jason Volk db30477e51 ircd::net::acceptor: Relax default flags. 2019-03-10 16:55:39 -07:00
Jason Volk a4f02e4e4a ircd::net::acceptor: Remove any default DH params when nothing supplied in config. 2019-03-10 14:31:54 -07:00
Jason Volk c220c0abaf ircd::net::acceptor: Allow all flags to be set through options structure. 2019-03-10 14:16:33 -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 a9969bfb4b ircd::net: Show current cipher in handshake debug log msgs. 2019-03-05 11:37:49 -08:00
Jason Volk e33c4861cb ircd::net: Disable TLS 1.0. 2019-03-04 16:48:05 -08:00
Jason Volk b398e8f424 ircd::net: Ignore empty string values in listener config object. 2019-03-04 16:38:39 -08:00
Jason Volk 5752c32de9 ircd::net: Eliminate the handle_set unset on exception. 2019-03-04 14:29:21 -08:00
Jason Volk fbbbb38e75 ircd::net: Fix alignment of address in net::ipport. 2019-02-28 17:12:04 -08:00
Jason Volk af6ac4a2ac ircd: Replace various unwind count patterns with scope_count. 2019-02-28 17:12:03 -08:00
Jason Volk 4f721f48e5 Eliminate friend-injection. 2019-02-15 18:48:59 -08:00
Jason Volk 810a6017dc ircd::net: Allow allow_self_signed to cover more cases. 2019-02-07 02:36:02 -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 cbf456a388 ircd: Rename and refactor ircd::assertion interface into ircd::panic. 2019-01-13 16:37:31 -08:00
Jason Volk 136d3a61a3 ircd::net::acceptor: Move socket close calls to exception handlers. 2019-01-04 12:44:29 -08:00
Jason Volk c15a44f921 ircd::net: Improve socket identification in various log messages. 2018-12-31 12:57:32 -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 a3f831e64f ircd::net: Simplify various log messages with loghead(). 2018-12-12 10:12:24 -08:00
Jason Volk e97742ef39 ircd::net: Add loghead() similar to client::loghead(). 2018-12-12 10:12:24 -08:00
Jason Volk 45bf911952 ircd::conf: Add feature to toggle whether conf item is persisted in a db. 2018-12-08 16:27:32 -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 b0bfd87e9f ircd::net: Support interruption of UDP listening. 2018-11-29 19:16:05 -08:00
Jason Volk 13bce714ab ircd::rfc1035: Add constant for name buffer size. 2018-11-29 18:04:19 -08:00
Jason Volk ae1c6cc680 ircd::net: Catch std::system_error rather than boost here. 2018-11-14 18:57:42 -08:00
Jason Volk 9e97ac0564 ircd: Simplify system_category / posix errno code test. 2018-11-09 00:29:31 -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 0df3eafea2 modules/s_dns: Simplify/breakdown callback stack related. 2018-10-03 14:33:53 -07:00
Jason Volk 58c7a4885b ircd::server: Remove redundant strings; minor cleanup. 2018-10-02 22:37:07 -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 0e6221b8dc ircd::net::dns: Move closure chains out to modules/s_dns; minor reorg. 2018-10-01 12:47:49 -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 33a8430661 ircd::net: Reduce string allocations from various log compositions. 2018-09-29 17:40:45 -07:00
Jason Volk d1c28abf7e ircd::net: Minor cleanup various log calls. 2018-09-29 17:28:11 -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 ca8082d01b ircd::net: Relax this assertion with a log warning. 2018-09-24 23:10:27 -07:00
Jason Volk 8d435305d0 ircd::net: Wait for pending resolver tags to complete on shutdown. 2018-09-17 21:31:23 -07:00
Jason Volk bbc26ebb75 ircd::net: Minor cleanup. 2018-09-01 22:21:42 -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 a4bb471cf7 ircd::openssl/ircd::net: Add presupplied rfc3526 DH parameters. 2018-08-29 16:16:55 -07:00
Jason Volk fcb5965e45 ircd::net: Save listener opts and add accessor. 2018-08-29 15:52:37 -07:00
Jason Volk 2b199ae3ed ircd::net/ircd::server/ircd::client: Various cleanup; log messages. 2018-08-28 12:06:45 -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 1c6a4bc8d1 ircd::net: Ensure flag happens before cancel. 2018-07-06 18:40:58 -07:00
Jason Volk 02fcdc8635 ircd::net::listener: Add callback-action for proper abstraction. 2018-07-06 18:38:08 -07:00
Jason Volk d3f8a84ca8 ircd::net::listener: Add default generated paths for some ssl options. 2018-07-01 02:16:00 -07:00
Jason Volk 7cafbc972a ircd::net: Listener defaults to all interfaces. 2018-07-01 02:13:29 -07:00
Jason Volk abe921c3ad ircd::net: Add conf item for default close opts. 2018-06-01 04:08:20 -07:00
Jason Volk 8c5b47950f ircd::net: Add conf items for default open_opts. 2018-06-01 04:05:19 -07:00
Jason Volk 5a058be4ba ircd::net: Use specific canon service/port variables. 2018-05-19 18:49:08 -07:00
Jason Volk a7b0246830 ircd::net: Increase default acceptor timeout for spinapps friends. 2018-05-19 18:49:05 -07:00
Jason Volk 0abfc6e927 ircd::net: Minor fix spacing. 2018-05-19 18:49:02 -07:00
Jason Volk 3e877ebad3 ircd::net: Elaborate the peer_cert stack: add sha256; add b64 of sha256. 2018-05-10 21:00:32 -07:00
Jason Volk 3f296f2108 ircd::net: Fix error fmtstr; use static exception instance for copy. 2018-05-09 21:12:01 -07:00
Jason Volk c47324f741 ircd::net::dns: Add retries. 2018-05-08 16:03:56 -07:00
Jason Volk 477fe01e40 ircd::net::dns: Write question into tag buffer; add send_burst conf item. 2018-05-08 16:03:55 -07:00
Jason Volk a318319ba4 ircd::net: attribute noreturn upon advice. 2018-05-08 14:32:40 -07:00
Jason Volk 79a44e4587 ircd::net: No need to hold this pointer in closure. 2018-05-08 14:31:39 -07:00
Jason Volk 618fc8a95e ircd::net::dns: Tweak reference prototypes. 2018-05-08 14:29:44 -07:00
Jason Volk 003ecf6357 ircd: Remove / update various ctx::interrupted catch blocks for ctx::terminated. 2018-05-06 02:06:08 -07:00
Jason Volk 386901f4c2 ircd::net: Fix conditions for eptr creation from cached error. 2018-05-05 00:55:42 -07:00
Jason Volk 5ba64df248 ircd::net: Explicitly construct these things here. 2018-05-04 20:43:05 -07:00
Jason Volk 695fb4c9b0 ircd::net: Ensure proper string() is resolved; minor cleanup. 2018-05-02 12:15:04 -07:00
Jason Volk 4c61eeba89 ircd::net::dns: Use explicit static empty record instances. 2018-05-02 11:28:34 -07:00
Jason Volk fb53069c6f ircd::net::dns Include query in callback arguments to prevent any stale captures. 2018-05-01 18:56:22 -07:00
Jason Volk 3f2320c49e ircd::net::dns: Strip the cached-error SRV target of its prefix; minor fixes. 2018-04-28 17:47:59 -07:00
Jason Volk 30d8c0b961 ircd::net::dns: Allocate separate reply buffer in resolver. 2018-04-28 17:47:59 -07:00
Jason Volk a3bea15eef ircd::net::dns: Various send cleanup/asserts; fix hostport reference in eh. 2018-04-28 17:47:59 -07:00
Jason Volk 2b41672259 ircd::net::dns: Improve the SRV -> A callback chain. 2018-04-28 17:47:59 -07:00
Jason Volk 4e796c896a ircd::net::dns: Allow an exception to calling back with nxdomain as an exception. 2018-04-28 17:47:58 -07:00
Jason Volk 1d408173dc ircd::net: Return pointer to cached error record for put_error(). 2018-04-28 16:25:20 -07:00
Jason Volk 48abece29b ircd::net: Improve dns::resolver instance init/fini. 2018-04-28 15:31:07 -07:00
Jason Volk 49d83de384 ircd::net: Propagate ctx interruption to socket. 2018-04-15 17:46:20 -07:00
Jason Volk f4b2273a4b ircd::net: Add a semaphore to the socket timer to invalidate queued callbacks. 2018-04-15 17:46:20 -07:00
Jason Volk 5be18475df ircd::net: Move scope_timeout from socket:: to net:: w/ exposure. 2018-04-15 16:43:09 -07:00
Jason Volk 2dad8d8832 ircd::net::dns: Empty cache key assertions. 2018-04-15 02:44:28 -07:00
Jason Volk f37176d698 ircd::net::dns: Enforce min ttl for cache entries; add conf option. 2018-04-14 18:35:48 -07:00
Jason Volk de295777d0 ircd::net::dns: Improve/fix cache management related. 2018-04-14 18:13:19 -07:00
Jason Volk 1ad4d58e43 ircd::net::dns: Move cache interfaces into cache class. 2018-04-14 17:34:07 -07:00
Jason Volk cf22eacfd3 ircd::net::dns: Add static fire-and-forget callbacks for prefetching. 2018-04-14 17:15:06 -07:00
Jason Volk dc81d77c19 ircd::net: Improve/comment on various sundry DNS cache related. 2018-04-13 18:34:48 -07:00
Jason Volk 6ca4f6eec5 ircd::net: Expose interface for socket stat counter. 2018-04-13 17:24:07 -07:00
Jason Volk 9dfd9f8258 ircd::net: No propagation from accept/handshake handlers; use debug error. 2018-04-12 23:07:45 -07:00
Jason Volk 8bf0b4d093 ircd::net: Assert proper socket object semantics. 2018-04-12 12:52:14 -07:00
Jason Volk 37a0b0362b ircd::net::dns: Post callback away from timeout worker ctx's stack. 2018-04-07 11:20:22 -07:00
Jason Volk 603658c722 ircd::net: Increase default resolver rate limiting. 2018-04-03 23:34:10 -07:00
Jason Volk 751b896c3d ircd:Ⓜ️ Improve various initial conf related keys and routines. 2018-03-28 14:11:33 -07:00
Jason Volk 26b33a1845 ircd::ctx: Remove the cv_status enum. 2018-03-26 23:29:58 -07:00
Jason Volk 980d24b38e ircd::net: Simplify listener config object. 2018-03-23 22:17:10 -07:00
Jason Volk d29b98b0ea ircd::net: Fix these conf item paths. 2018-03-22 15:11:29 -07:00
Jason Volk f5fa5100de ircd::net: Revert no-readahead; post immediate continuation to next stack. 2018-03-18 13:51:43 -07:00
Jason Volk 01fc6db0c5 ircd::net: Disable readahead for socket's SSL_CTX. 2018-03-15 22:25:16 -07:00
Jason Volk df3243e31d ircd::net: Eliminate the existing net::remote. 2018-03-13 22:44:13 -07:00
Jason Volk cadabb5521 ircd::net: Add suite to print a hostname and port or just hostname based on portnum canon. 2018-03-13 22:44:13 -07:00
Jason Volk 79f6974f86 ircd::net: Wait for destruction of all sockets on shutdown. 2018-03-12 18:50:36 -07:00
Jason Volk 949a006950 ircd::net: Close socket before its dtor on accept except. 2018-03-12 15:56:30 -07:00
Jason Volk cabeb4c128 ircd::net::dns: Add send rate-limiting for resolver queries. 2018-03-12 12:20:22 -07:00
Jason Volk 8653d62c37 ircd::net: Handle case for belated timeout callback after socket close. 2018-03-11 14:51:14 -07:00
Jason Volk bbd2cbc15b ircd::net: Checkpoint case for read eof in the readiness handler; should split. 2018-03-11 13:40:24 -07:00
Jason Volk 94716e5ea7 ircd::net: Use socket fini state to condition automatic close on open error. 2018-03-10 23:04:58 -08:00
Jason Volk 9f7aa315fa ircd::net: Recondition socket handlers to not cancel socket timer. 2018-03-10 23:04:58 -08:00
Jason Volk 49d6d2b8ea ircd::net: Add socket state and assertion for fini. 2018-03-09 19:41:16 -08:00
Jason Volk e59c04e2a5 ircd::net: Indicate no timeout before any handler invocation on cancel. 2018-03-09 17:10:46 -08:00
Jason Volk e4a4526b0c ircd::net: Add additional conf items; update resolver timeout to use ms. 2018-03-09 17:10:45 -08:00
Jason Volk 4670fdbd1b ircd: Remove ircd::error_code typedef with more local typedefs. 2018-03-08 10:08:38 -08:00
Jason Volk eafa9fd5b2 ircd: Move boost system error related out of ios.h to exception.h et al. 2018-03-08 08:40:26 -08:00
Jason Volk 2ec4bd025f ircd::net: Underp the cache map until heterogeneous key support in stdlib. 2018-03-06 04:03:31 -08:00
Jason Volk 581e804e37 ircd::net::dns: Use conf item for DNS resolver timeout value. 2018-03-02 08:02:20 -08:00
Jason Volk d54d6b687c ircd::net::dns: Add crucial support for caching errors. 2018-03-02 08:02:20 -08:00
Jason Volk 3aea407a85 ircd::net::dns: Add dns::cache. 2018-03-01 23:08:22 -08:00
Jason Volk 0e9a1e5109 ircd::net: wat. 2018-02-28 00:00:19 -08:00
Jason Volk 03034723df ircd::net: Update socket handler conditions to ignore timeout if data is there too. 2018-02-27 18:08:15 -08:00
Jason Volk a5389dfd95 ircd::net: Assertion found case where (timedout && !ec) is valid:
This happens when handle_timeout is executed while handle_ready has
already hit the asio queue. The sd.cancel() is too late to cause
ec==operation_canceled.
2018-02-27 07:12:04 -08:00
Jason Volk 7f77c68232 ircd::net/ircd::server: Rename misleading functions. 2018-02-26 22:49:44 -08:00
Jason Volk de08752853 ircd::net: Remove unused/erroneous has_timeout(). 2018-02-18 22:38:23 -08:00
Jason Volk 0dc8593b9c ircd::net: Add open() option to allow expired certificates. 2018-02-10 18:37:06 -08:00
Jason Volk 09b0c3d20d ircd::net::dns: Don't log.error common NXDOMAIN rcodes. 2018-02-07 12:16:17 -08:00
Jason Volk 12f1bf97b4 ircd::net: Move the timedout nulling to here. 2018-02-07 12:16:17 -08:00
Jason Volk dc4d827def ircd::net::dns: Improve the resolution handlers and callback chain. 2018-02-07 00:24:54 -08:00
Jason Volk 7b4906e85f ircd::net: Throw net::not_found for the ipport_one convenience if no A record. 2018-02-06 13:20:24 -08:00
Jason Volk be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk 565a760255 ircd::net: Integrate SRV query composition; RFC1035 records to the user interface. 2018-02-05 18:54:56 -08:00
Jason Volk 3441368b25 ircd::net: Use "service" string in net::hostport. 2018-02-05 18:54:55 -08:00
Jason Volk a9ac7fd8d9 ircd::net: Add constructions for ipport from rfc1035 resource records. 2018-02-05 18:54:55 -08:00
Jason Volk d53eef4ab6 ircd: Eliminate the raw_buffer concept. 2018-02-05 18:54:55 -08:00
Jason Volk cde4507ef6 ircd::rfc1035: Put the record structs into record:: for possible vtable opportunity. 2018-02-03 14:10:49 -08:00
Jason Volk c3ceb94478 ircd: These should be rvalue refs. 2018-01-30 23:13:27 -08:00
Jason Volk 5f6b5852b1 ircd::rfc1035: Add CNAME RR; minor cleanup. 2018-01-28 21:18:26 -08:00
Jason Volk 9a2714f5aa ircd::net: Replace asio::ip::tcp::resolver / threaded getaddrinfo() with solution. 2018-01-28 21:18:26 -08:00
Jason Volk 670b4b8e23 ircd::net: Add UDP analogues for the make_endpoint() related. 2018-01-28 21:18:26 -08:00
Jason Volk 513082b656 ircd::net: Reorg DNS related; move resolver into header. 2018-01-28 14:28:33 -08:00
Jason Volk e95dd21e9e ircd::net: Decay this array to properly pun the header. 2018-01-26 22:22:09 -08:00
Jason Volk 1cdb893b1b ircd: Replace various log.critical+assert(0) with ircd::assertives; minor cleanup. 2018-01-24 18:40:19 -08:00
Jason Volk d56cc60b88 ircd::net: Tweak these error handlers and log facilities. 2018-01-24 14:38:12 -08:00
Jason Volk 7bf9ce225c ircd::net: Tweak what's left of the socket handle_ready cattle grid. 2018-01-24 14:12:38 -08:00
Jason Volk e99b32a176 ircd::net: Hit cancel() before any of the disconnect sequences. 2018-01-23 16:35:28 -08:00
Jason Volk 354cadb7dc ircd::net: Close the socket on a handler unexpected. 2018-01-23 15:07:05 -08:00
Jason Volk b3b424a531 ircd::net: Add option to bypass CN verification of self-signed certs. 2018-01-22 00:54:53 -08:00