0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-10 22:18:54 +02:00
Commit graph

315 commits

Author SHA1 Message Date
Jason Volk 0dea9db7ea ircd::server: Move socket check earlier in handlers. 2019-09-10 21:56:17 -07:00
Jason Volk 5e06c3d05a ircd::server: Minor reorg. 2019-09-10 21:39:00 -07:00
Jason Volk 71f922d3a1 ircd::server: Qualify noexcept interface functions. 2019-09-10 16:54:41 -07:00
Jason Volk 568acd46c4 ircd::server: Add throwing socket check before read. 2019-09-09 18:29:24 -07:00
Jason Volk f912cc9cb2 ircd::server: Reduce discard log message verbosity. 2019-09-09 18:04:42 -07:00
Jason Volk fa8f70a38e ircd::server: Simplify discard condition when no tags committed to remote. 2019-09-09 17:38:50 -07:00
Jason Volk 0307fe629e ircd::server: Compute the cancellation size before any disassociations. 2019-09-09 16:59:57 -07:00
Jason Volk 71fa1c068b ircd::server: Skip CLOSE_NOTIFY after peer EOF on link close. 2019-09-09 16:00:37 -07:00
Jason Volk 80af481076 ircd::server: Simplify read discarding. (#19) 2019-09-09 16:00:37 -07:00
Jason Volk 98a5a09c92 ircd::server: Log a dwarning on any canceled cleanups. 2019-09-09 16:00:37 -07:00
Jason Volk 844bf46a5c ircd::server: Add a canceled tag reaper. 2019-09-06 20:10:09 -07:00
Jason Volk 5ead261243 ircd::server:🔗 Add read_ts and write_ts last operation timestamp. 2019-09-06 19:56:18 -07:00
Jason Volk f9b5b2ee5b ircd::server: Attempt hard close on discard error. 2019-09-06 19:22:58 -07:00
Jason Volk 4b24f74d19 ircd::server: Increase peer link max default. 2019-09-06 18:11:13 -07:00
Jason Volk 693ee3665c ircd::server: Tolerate multiple peer::close() calls for now. 2019-09-06 14:33:35 -07:00
Jason Volk 396dfc0a79 ircd::server: Tweak assertion conditions. 2019-09-03 20:26:39 -07:00
Jason Volk aec2074eb1 ircd::server: Improve abandoned() check to prevent duplicate promise satisfaction. 2019-08-29 22:14:07 -07:00
Jason Volk da0827dbbb ircd::server: Fix content_read synchronization with chunk_read. (Fixes #116) 2019-08-08 18:39:20 -07:00
Jason Volk 3f418bf1ed ircd::server: Add a request log. 2019-07-25 23:12:18 -07:00
Jason Volk 58dd728f49 ircd::client: Record all stuck clients in dwarning on shutdown.
ircd::server: Record all stuck peers in dwarning on shutdown.
2019-07-25 15:28:40 -07:00
Jason Volk cd3d2c1c8c ircd::server: Increase wait loop timer here. 2019-07-24 13:25:23 -07:00
Jason Volk feaa05157e ircd::server: Simplify and conform loghead format. 2019-07-19 20:35:42 -07:00
Jason Volk 91af1a17fd ircd::server: Add timestamp of when link's socket was estab. 2019-07-14 12:19:31 -07:00
Jason Volk fe0bffae98 ircd::server: Tweak assertions. 2019-07-14 11:54:13 -07:00
Jason Volk ca8dcb3271 ircd::server: Avoid unnecessary tail call on empty overrun buffer. 2019-06-28 21:26:33 -07:00
Jason Volk 1e45ffcba2 ircd::server: Additional assertions. 2019-06-28 21:26:33 -07:00
Jason Volk 60fda46bdf ircd::http: Consolidate line terminator static strings. 2019-06-28 18:23:43 -07:00
Jason Volk ee23c98eda ircd::server: Call the progress callbacks before the completion routines. 2019-06-28 18:13:25 -07:00
Jason Volk a21f054cfc ircd::server: Handle exception when starting DNS resolution for peer. 2019-06-27 00:43:05 -07:00
Jason Volk 6379813950 ircd::server: Additional assertions; minor cleanup. 2019-06-26 00:27:41 -07:00
Jason Volk b1974871c8 ircd::server: Split out content completion branches into internal subroutines. 2019-06-25 21:08:27 -07:00
Jason Volk 87dafbf8ea ircd::server: Fix assertion. 2019-06-18 00:22:16 -07:00
Jason Volk ab61b38ad0 ircd::server:🔗 Add noexcept on handlers. 2019-05-02 15:35:26 -07:00
Jason Volk 6bd26ecbb3 ircd::server: Use zero ipv4 addr for null string here. 2019-04-25 03:16:24 -07:00
Jason Volk 5bb98356e0 ircd::server: Relax assertion. 2019-04-24 18:20:47 -07:00
Jason Volk c2cd18ea56 ircd::server: Minor readability cleanup. 2019-04-24 16:29:29 -07:00
Jason Volk d442327101 ircd::server: Minor log cleanup. 2019-04-24 16:16:57 -07:00
Jason Volk c7dadc513b ircd::server: Minor cleanup log message formats. 2019-04-23 20:06:52 -07:00
Jason Volk 8b89b9caaf ircd: Simplify log msgs. 2019-04-23 18:15:47 -07:00
Jason Volk 4c44738dc3 ircd::server: Increase tls buffer size. 2019-04-22 12:13:34 -07:00
Jason Volk e0b4dc4450 ircd::server: Use a uniform log prefix for link related. 2019-04-22 12:13:27 -07:00
Jason Volk 477090ff52 ircd::server: Minor assertions. 2019-04-18 01:19:02 -07:00
Jason Volk 83193d0ff9 ircd::server: Add an op_open; handle control return to link::open(). 2019-04-16 22:37:44 -07:00
Jason Volk 46acff07b7 ircd::server: Elide allocations for these stringifies. 2019-04-16 20:57:06 -07:00
Jason Volk 903a6e7f57 ircd::server: Copy the eptr so it doesn't get robbed on forwarding constructions. 2019-04-16 19:04:23 -07:00
Jason Volk b56df6677e ircd::server: Set SNI explicitly here rather than through fallback.
ircd::server: Detect IP literal to set the peer::remote/open_opts directly.
2019-04-15 17:09:32 -07:00
Jason Volk 7d021f9430 ircd::server: Rename server_name to server_version. 2019-04-15 15:23:44 -07:00
Jason Volk 7a055e22ef ircd::server: Disassociate tag from request on cancel. 2019-04-15 11:43:53 -07:00
Jason Volk 0ce0fe3890 ircd::server: Enable the cancel debug msg.
modules/s_fetch: Improve log level.
2019-04-12 14:26:10 -07:00
Jason Volk 34e35d97fe ircd::server: Additional assertions. 2019-04-12 07:12:49 -07:00
Jason Volk 3865326d71 ircd::server: Add additional loghead(link, request) with more data. 2019-04-11 22:26:11 -07:00
Jason Volk 4f27526e9b ircd::server: Add monotonic identity counters for peers and links. 2019-04-11 22:26:11 -07:00
Jason Volk d38c5801c9 ircd::server: Add interface to iterate all requests. 2019-04-11 21:40:59 -07:00
Jason Volk 5f1f0d0d7f ircd::server: Distill out functions to parse HTTP head from in/out buffers. 2019-04-11 21:13:42 -07:00
Jason Volk 9a6c5f5fe4 ircd::server: Don't parse from outbound buffer for canceled requests. 2019-04-11 20:49:29 -07:00
Jason Volk 446964bb67 ircd::server: Apply stack protected canary on key frames. 2019-04-10 22:32:06 -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 97ee68d4f3 ircd::server: Don't alter open_opts.hostport here. 2019-03-25 19:14:49 -07:00
Jason Volk 0f184cd449 ircd::server: Fix loghead() failure conditions. 2019-03-25 18:48:32 -07:00
Jason Volk 6b3a459d29 Revert "ircd::server: Fix concurrency assumptions in server::get()."
This reverts commit 3db83faac3.
2019-03-25 18:31:05 -07:00
Jason Volk 195937cd08 ircd::server: Condition the next query after SRV on ipv6 state. 2019-03-25 15:20:01 -07:00
Jason Volk 672e9dd712 ircd::server: Add conf item to toggle ipv6 use. 2019-03-25 15:18:06 -07:00
Jason Volk a43c0e5798 ircd::server: Split AAAA and A handlers for chaining. 2019-03-25 14:37:01 -07:00
Jason Volk d7631dc39b ircd::server: Skip DNS resolution on IP literals. 2019-03-25 12:26:56 -07:00
Jason Volk c5088c3af2 ircd::server: Show response code in tag completion debug log msg. 2019-03-25 12:25:25 -07:00
Jason Volk d149c540f4 ircd::server: Split link opening routine from resolver handler. 2019-03-24 20:50:16 -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 e640e6ac62 ircd::server: Perform DNS resolution sequence and handler logic externally here. 2019-03-24 15:28:07 -07:00
Jason Volk dbb965ce48 ircd::server: Add loghead() and display request method/paths in some debug log msgs. 2019-03-24 14:10:11 -07:00
Jason Volk b72758f904 ircd::server: Fix insertion/resolver reentrancy conflict. 2019-03-22 21:06:28 -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 3db83faac3 ircd::server: Fix concurrency assumptions in server::get(). 2019-03-22 15:13:55 -07:00
Jason Volk 8f41687940 modules/s_dns: Fix exception propagation to callback. 2019-03-22 13:51:28 -07:00
Jason Volk e62e65df6b ircd::server: Add peer to map before resolve. 2019-03-22 10:51:11 -07:00
Jason Volk 68e3655a1d ircd::net::dns: Refactor system for the !dns room. 2019-03-21 18:24:36 -07:00
Jason Volk cff17eaa40 ircd: Add exception tools which elide copying. 2019-03-16 16:28:28 -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 395a6ceabd ircd::server: Add request option to control whether content overrun is an error. 2019-03-08 16:52:48 -08:00
Jason Volk 6d9fb00d8c ircd::server: Fix discard buffering. 2019-03-08 16:32:37 -08:00
Jason Volk 62d33e2f7a ircd::server: Improve this error information. 2019-03-01 10:07:56 -08:00
Jason Volk d639eceba2 ircd: Move runlevel related into ircd::run:: namespace. 2019-01-18 09:08:56 -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 e4922772f4 ircd::server: Fix issues with non-matrix peer construction. 2018-12-05 19:38:40 -08:00
Jason Volk 36bb0d3175 ircd: Integrate all boost::system::system_error with stdlib. 2018-11-08 23:05:11 -08:00
Jason Volk 3a36bbfca5 ircd::server: Fix dangling-type exception_ptr in peer::err by clearing peers here.
This will destruct the exception first before the module which introduced the
exception's type unloads. On daemon shutdown, the module will unload and if
an instance of the exception is still held by peer::err bad things happen.
2018-10-24 17:31:22 -07:00
Jason Volk 100325b5a8 ircd::server: deinline peer::err ctor. 2018-10-21 05:35:02 -07:00
Jason Volk 58c7a4885b ircd::server: Remove redundant strings; minor cleanup. 2018-10-02 22:37:07 -07:00
Jason Volk 5b7cf5a8eb ircd::net::dns: Reorg namespace structure related. 2018-10-01 12:03:31 -07:00
Jason Volk 2e245dacd1 ircd::server: Minor move handler binding. 2018-09-18 23:47:52 -07:00
Jason Volk 5a32754937 ircd::server: Catch anything at these handlers. 2018-09-18 21:48:40 -07:00
Jason Volk 3b960d2576 ircd: Add misc assertions. 2018-09-18 21:24:19 -07:00
Jason Volk dadf237bb5 ircd::server: Minor cleanup; modernize some log calls. 2018-09-18 15:10:10 -07:00
Jason Volk a4f8cf83f6 ircd::server: Handle unfavorable runlevel in resolver callback. 2018-09-17 21:06:38 -07:00
Jason Volk 439e8618d6 ircd: Simplify/cleanup the coarse controls for client/server subsystems. 2018-09-17 16:47:36 -07:00
Jason Volk bc88a4cf6d ircd::server: Assertion on tag removal. 2018-09-04 20:27:30 -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 b13193611d ircd::server: Rename peer::interrupt() to peer::cancel(). 2018-05-29 11:53:37 -07:00
Jason Volk 69e9c9bbc6 ircd::server: Fix peer hostname string discrepancy. 2018-05-19 18:49:08 -07:00
Jason Volk 65f7adc8c6 ircd::server: Internalize more references to the peer instance; various cleanup. 2018-05-19 18:49:07 -07:00
Jason Volk dcbbaf2579 ircd::server: Add opts::prio value; special case prio value in link selection. 2018-05-09 17:07:37 -07:00
Jason Volk 6b0c011535 ircd::server: Copies of the link pointers must be on stack. 2018-05-08 16:03:56 -07:00
Jason Volk 51d0f1a6a4 ircd::server: Use fixed tls vector for copying link pointers. 2018-05-07 23:24:51 -07:00
Jason Volk 9a3bda06af ircd::server: Copy link pointers while iterating for open(). 2018-05-07 23:09:06 -07:00
Jason Volk b113322a28 ircd::server: Improve assertion for no key movement. 2018-05-07 16:34:59 -07:00
Jason Volk 292e8c5a12 ircd::server: Remove deprecated assertion. 2018-05-02 22:22:12 -07:00
Jason Volk 1d0ae3855a ircd::server: Close link if the only commitment is a cancelled tag. 2018-05-02 12:33:08 -07:00
Jason Volk c84fe8d962 ircd::server: Fix preservation of nullity for in.content through cancellation. 2018-05-02 12:00:32 -07:00
Jason Volk 8f7a05c9ed ircd::server: Minor cleanup / assertions / comments. 2018-05-02 12:00:26 -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 9c5b10fb61 ircd::server: Preserve nullity of cancellation tag's in.content. 2018-04-26 21:35:55 -07:00
Jason Volk 6add3e9952 ircd::server: Limit recursion of chunk head parses. 2018-04-25 20:52:27 -07:00
Jason Volk e2568457f4 ircd::server: Add dynamic chunk vectoring. 2018-04-25 20:52:26 -07:00
Jason Volk 7e32d3cbaa ircd::server: Checkpoint preliminary chunk vectoring; state, options. 2018-04-25 15:10:04 -07:00
Jason Volk 7c92eb2757 ircd::server: Use system time for error time state. 2018-04-13 20:02:48 -07:00
Jason Volk 516d1797c9 ircd::server: Clear op_fini flag on err_clear(). 2018-04-10 21:02:34 -07:00
Jason Volk 331d0a955d ircd::server: Yield in exception handler. 2018-04-07 11:05:54 -07:00
Jason Volk 0012793bf6 ircd::server: Ensure open_opts references are fresh after resolve comes back. 2018-04-07 06:16:41 -07:00
Jason Volk 6488141f64 ircd::server: Additional assertions. 2018-04-07 06:16:24 -07:00
Jason Volk db93acf8fb ircd::server: Fix condition for promise resolution on cancel(). 2018-04-07 05:00:55 -07:00
Jason Volk c2b2dc8d69 ircd::server: Use disassociate() during cancel(); tweak assertions. 2018-04-07 05:00:55 -07:00
Jason Volk 4c26b65613 ircd::server: Add head bytes when calculating read total. 2018-04-06 02:50:29 -07:00
Jason Volk 5648903998 ircd::server: Adjust discard error expectations. 2018-04-06 02:50:29 -07:00
Jason Volk c4b18438ce ircd::server: Additional debug logging / tweaks. 2018-04-06 02:50:29 -07:00
Jason Volk d2388a1abf ircd::server: Discard reads when tag has committed no writes. 2018-04-06 01:05:04 -07:00
Jason Volk c79cbe670b ircd::server: Additional assertions that buffers are not zero size. 2018-04-06 00:33:09 -07:00
Jason Volk 47edaed3a6 ircd::server: Add stats for total bytes up and down to peer and links. 2018-03-26 23:29:58 -07:00
Jason Volk 270120c922 ircd::server: Rename _total() to _size() for bytes accounting. 2018-03-26 23:29:58 -07:00
Jason Volk 26b33a1845 ircd::ctx: Remove the cv_status enum. 2018-03-26 23:29:58 -07:00
Jason Volk 05ded4f0e4 ircd::server: Checkpoint discard based on ssl pending; move branch. 2018-03-26 02:24:29 -07:00
Jason Volk 968ef4115c ircd: Fix signage related. 2018-03-23 23:19:53 -07:00
Jason Volk 84ede3ceac ircd::server: Support tag::cancel() case for chunked encoding. 2018-03-20 16:31:02 -07:00
Jason Volk bc8f5cba05 ircd::server: Use better buffer sizes and offsets in tag::cancel() procedure. 2018-03-20 16:31:02 -07:00
Jason Volk d21c2fc37c ircd::server: Separate out the link's socket read function. 2018-03-20 16:31:02 -07:00
Jason Volk 6e7751eaf3 ircd::server: Receive chunked transfer-encoding. 2018-03-20 14:12:44 -07:00
Jason Volk bd80297733 ircd::server: Minor cleanup: relocate the contiguous / dynamic feature branches. 2018-03-20 01:26:42 -07:00
Jason Volk 5a1057a6a5 ircd::server: Check against a null status code to leave head mode. 2018-03-20 01:24:42 -07:00
Jason Volk 0ba91776d1 ircd::server: Move insufficient buffer checks into the creator functions. 2018-03-20 01:23:42 -07:00
Jason Volk c8b80046d1 ircd::server: Aggregate all accounting values riding on tag into one struct. 2018-03-19 20:37:28 -07:00
Jason Volk 2e801a0219 ircd::server: Remove content_over from the state and calculate functionally. 2018-03-19 20:26:23 -07:00
Jason Volk 90bbbeaf02 ircd::server: Save content_length in tag state; fix stepping on content_over calculation. 2018-03-19 20:26:23 -07:00
Jason Volk c5addbd450 ircd::server: Minor cleanup/reorg; Add unsupported encoding exception branch. 2018-03-19 16:07:42 -07:00
Jason Volk 7f2f855c4e ircd::server: Reinstall the read handler after discard. 2018-03-18 13:51:43 -07:00
Jason Volk a48426e25d ircd/modules: Migrate some log messages to new facilities. 2018-03-15 22:25:16 -07:00
Jason Volk 0ffa3b6257 ircd::server: Condition before killing link on open error. 2018-03-13 22:44:13 -07:00
Jason Volk b16e53337c ircd::server: Use canonized hostport as peer remote; store net::open_opts; minor cleanup. 2018-03-13 22:44:13 -07:00
Jason Volk 8091bdd007 ircd::server: Fix the interrupted link open to close to delete transit. 2018-03-12 18:59:38 -07:00
Jason Volk 09923ff758 ircd::server: Add external interface to clear a peer error; w/ console command. 2018-03-12 14:20:39 -07:00
Jason Volk a22e45a9f5 ircd: Break down client shutdown; improve various shutdown refusals. 2018-03-12 14:20:39 -07:00
Jason Volk 27b0dfffa4 ircd::server: Fix condition for link finished; add assertion here. 2018-03-11 13:54:51 -07:00
Jason Volk 00ba8ebdb4 ircd::ctx: Factor shared_ptr out of promise/future. 2018-03-10 23:04:58 -08:00