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