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
Jason Volk
d59de1a391
ircd::server: Improve peer state transitions and destruction paths.
2018-03-10 23:04:58 -08:00
Jason Volk
e09111ff4e
ircd::server: Case for close during init.
2018-03-09 17:10:46 -08:00
Jason Volk
b1a4ca6852
ircd::server: More descriptive message in this error.
2018-03-09 17:10:45 -08:00
Jason Volk
4e75566c94
ircd::server: Break down the shutdown process further.
2018-03-09 17:10:44 -08:00
Jason Volk
7f336200ea
ircd::server: Check and clear peer error after timeout.
2018-03-09 12:45:25 -08:00
Jason Volk
81b3916953
ircd::server: Simplify without refcounting async ops.
2018-03-09 12:45:25 -08:00
Jason Volk
f1fb3d8b49
ircd::server: Add peer::err object.
2018-03-08 08:24:19 -08:00
Jason Volk
9b44217ea4
ircd::server: Rename opts member pointer to opt.
2018-03-07 07:23:35 -08:00
Jason Volk
37753a9648
ircd::server: Make close timeout shorter on close_all (shutdown).
2018-03-06 07:50:14 -08:00
Jason Volk
ea3f7abde5
ircd::server: Add state to deny any resubmission on peer close.
2018-03-06 04:51:20 -08:00
Jason Volk
327e4da356
ircd::server: Rename node to peer.
2018-03-05 06:59:10 -08:00
Jason Volk
c7ae8d3f27
ircd::server: Fix conditions for link removal from link::close().
2018-03-04 02:09:41 -08:00
Jason Volk
90b7810921
ircd::server: Reset necessary link state if any exception before handler.
2018-03-04 02:09:41 -08:00
Jason Volk
92bef88b6c
ircd::server: Improve tag cancellation/dispersal on closing/shutdown; minor cleanup.
2018-03-03 21:56:50 -08:00