0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-07 19:18:35 +02:00
Commit graph

212 commits

Author SHA1 Message Date
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
Jason Volk ac77dfd4f0 ircd::net: Better to not invoke the callback in these places. 2018-01-20 13:59:24 -08:00
Jason Volk 103ff45553 ircd::net: Translate operation_canceled into timed_out where appropos. 2018-01-20 13:59:24 -08:00
Jason Volk 6e2cf45571 ircd::net: Move acceptor into header; minor cleanup. 2018-01-19 06:55:48 -08:00
Jason Volk 6682f0ce80 ircd::net: On disconnect, turn an EOF ec into a success. 2018-01-15 19:46:23 -08:00
Jason Volk 1e0fe2b3d5 ircd::server/net: Proper snomask on these log calls. 2018-01-15 19:28:55 -08:00
Jason Volk 368838d5a5 ircd::server: Add preliminary write loop; minor cleanup. 2018-01-15 03:12:56 -08:00
Jason Volk d62afeb0a7 ircd::net: Add RFC1035 preliminary stub; minor reorg of resolver related. 2018-01-14 20:45:30 -08:00
Jason Volk 314bcb3d30 ircd::net: Update read()/write() strategies. 2018-01-14 20:45:30 -08:00
Jason Volk 15bf7f5f6d ircd::net: Add non-blocking discard_any(socket). 2018-01-13 20:21:29 -08:00
Jason Volk c3423ad80b ircd::net: Fix error. 2018-01-13 19:19:29 -08:00
Jason Volk f71a728225 ircd::net: Fix bug where received data is stuck in SSL buffer. 2018-01-13 17:58:11 -08:00
Jason Volk 4d14adc961 ircd::net: Debug print certificate subject rather than whole cert. 2018-01-12 15:38:14 -08:00
Jason Volk 06cf9031b7 ircd::net: Increase buffer size for cert debug print. 2018-01-12 15:22:48 -08:00
Jason Volk 88e4445f0e ircd::net: Move error checking fix back to initiator out of handler. 2018-01-12 14:14:01 -08:00
Jason Volk 11adbae89a ircd::net: decorate the peek. 2018-01-12 03:13:49 -08:00
Jason Volk 3d8d6f47b4 ircd::net: Ensure ordering of various operations if immediately dispatched. 2018-01-11 22:28:59 -08:00
Jason Volk 4d310ac22b ircd: Towards debug message uniformity. 2018-01-11 22:02:34 -08:00
Jason Volk f99461481c ircd: Take some buffers off the stack. 2018-01-11 22:02:34 -08:00
Jason Volk a135227370 ircd::net: Tighten assumptions on cancel(). 2018-01-11 22:02:33 -08:00
Jason Volk 725f069621 ircd::net: Add discard_all() convenience. 2018-01-11 22:02:33 -08:00
Jason Volk 382d1b0bf3 ircd::net: Close the sd in dc handler unconditionally; align the peek buf. 2018-01-11 03:23:40 -08:00
Jason Volk fcfa386e33 ircd::net: Remove impossible log conditional; minor cleanup. 2018-01-11 03:22:17 -08:00
Jason Volk 76e16e4d80 ircd::net: Improve remote construction; hostport/ipport related. 2018-01-10 01:20:16 -08:00
Jason Volk c03bb7e4f2 ircd: Various fixes and elaborations to client/net. 2018-01-08 21:49:00 -08:00