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