0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-30 02:32:43 +01:00
Commit graph

1784 commits

Author SHA1 Message Date
Jason Volk
ef0a3d6e6c ircd::http: Write fixed sized integer for chunk size. 2018-03-21 23:20:33 -07:00
Jason Volk
679f3e760a ircd::http: Add 411 Length Required. 2018-03-21 23:01:23 -07:00
Jason Volk
503ab33c38 ircd::json: Stricter escape conditions in string values. 2018-03-21 18:47:56 -07:00
Jason Volk
df7b6f0ca9 ircd::json: Extend escaped unicode codepoint target. 2018-03-21 17:12:48 -07:00
Jason Volk
0e7ef9ef7d ircd::json: Fix value type LITERAL serialize/stringify consistency. 2018-03-21 17:12:48 -07:00
Jason Volk
502675e527 ircd::json: Minor cleanup of function static grammar type decls. 2018-03-21 17:12:48 -07:00
Jason Volk
b949a1f3dc ircd::json: Checkpoint output grammar cleanup. 2018-03-21 17:12:48 -07:00
Jason Volk
99608b6bd2 ircd::json: Sort json::member vectors on stringify; w/ recursive reentrance. 2018-03-21 13:55:58 -07:00
Jason Volk
0483a381f8 ircd::json: Move member.h definitions to proper dependency ordered location. 2018-03-21 13:49:00 -07:00
Jason Volk
df605d5646 ircd::json: Add functions to determine if object members are sorted. 2018-03-21 12:33:43 -07:00
Jason Volk
d01aef9c35 ircd::json: Sort object members for stringify; recursive reentrant tls. 2018-03-21 01:09:41 -07:00
Jason Volk
d75e8d50b9 ircd:Ⓜ️ Branch to remove hashes/signatures if defined when hashing. 2018-03-21 00:23:27 -07:00
Jason Volk
615ccdc426 ircd::json: Hello, goodbye. 2018-03-20 23:51:14 -07:00
Jason Volk
fef1c0b1b8 ircd::json: Add stringify vector of object::member. 2018-03-20 23:40:31 -07:00
Jason Volk
9f256b9cb4 ircd:Ⓜ️ Distill essential key selection into separate functions. 2018-03-20 22:03:53 -07:00
Jason Volk
7f06300cb8 ircd:Ⓜ️ Extend the verify() stack with overloads that yield for IO. 2018-03-20 19:26:59 -07:00
Jason Volk
f121509dba ircd:Ⓜ️ Event verification. 2018-03-20 19:16:04 -07:00
Jason Volk
0b3ec2b476 ircd:Ⓜ️ Convenience to close over decoded ed25519::pk directly. 2018-03-20 18:46:20 -07:00
Jason Volk
e74fb81860 ircd:Ⓜ️ Overloads to sign event with supplied sk / json::object. 2018-03-20 18:19:45 -07:00
Jason Volk
53a4fae580 ircd::json: Recursive output grammar. 2018-03-20 17:39:57 -07:00
Jason Volk
7a9bb89506 ircd::json: All output through the generator. 2018-03-20 17:39:57 -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
09d971fa9e ircd::json: Make print_error an assertion; improve output validation messages. 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
f9c0ed49b1 ircd::http: Improve chunk header parsing device. 2018-03-19 14:42:40 -07:00
Jason Volk
bf91eb6883 ircd::http: Grammar exception translator can be made aware of request vs. response. 2018-03-19 14:40:04 -07:00
Jason Volk
daae800cc1 ircd::http: Utils to read and write chunk size line. 2018-03-18 21:51:55 -07:00
Jason Volk
9723eec4e8 ircd::http: Cleanup cruft; remove old chunking. 2018-03-18 21:18:00 -07:00
Jason Volk
b169ac1ce8 ircd::json: Whitespace monoid. 2018-03-18 21:17:54 -07:00
Jason Volk
7f2f855c4e ircd::server: Reinstall the read handler after discard. 2018-03-18 13:51:43 -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
1780504cba ircd:Ⓜ️ Cope with raii fails in m::init for right now. 2018-03-17 21:40:27 -07:00
Jason Volk
2b72fae7a1 ircd:Ⓜ️ Move the event max_size conf item; add a MAX_SIZE constexpr. 2018-03-17 21:40:27 -07:00
Jason Volk
931fe2439e ircd::json: Introduce the json::stack device. 2018-03-17 21:40:27 -07:00
Jason Volk
373a791158 ircd::json: Limit IOV size and take stringify buffer off-stack. 2018-03-17 11:53:21 -07:00
Jason Volk
30eb9178bd ircd: Consolidate spirit typedefs from all relevant units into spirit.h. 2018-03-17 10:44:40 -07:00
Jason Volk
d751255c5a ircd::magic: Avoid stderr pollution by checking if the file exists first. 2018-03-16 23:13:37 -07:00
Jason Volk
2a2c05e641 ircd::client: Handle exceptions below main. 2018-03-16 23:02:08 -07:00
Jason Volk
4211671698 ircd::ctx: Reason about exception propagation at stack base; minor cleanup. 2018-03-16 21:42:22 -07:00
Jason Volk
af8835aa5c construct/ircd: Add option to soft-indicate no modules should be loaded on startup. 2018-03-16 21:42:22 -07:00
Jason Volk
7daef82218 construct/ircd: Add option to soft-indicate no listening sockets should be bound. 2018-03-16 21:42:22 -07:00
Jason Volk
486ddf8c8f ircd: More accurate assertion message. 2018-03-16 21:42:22 -07:00
Jason Volk
03651c2274 ircd: ircd::main() exception specification. 2018-03-16 21:42:22 -07:00
Jason Volk
61009aed64 ircd:Ⓜ️🆔 Improve expectation failure element propagation into error strings. 2018-03-16 21:42:22 -07:00
Jason Volk
8eb1f4df40 ircd/modules: Consistent hook site names "vm notify" -> "vm.notify". 2018-03-16 21:42:22 -07:00
Jason Volk
969bc127e8 ircd:Ⓜ️:vm: Fix return values for commit() suite. 2018-03-16 21:42:21 -07:00
Jason Volk
7180eae4af ircd:Ⓜ️:vm: Option for infolog post-commit. 2018-03-16 13:19:52 -07:00
Jason Volk
c83a47eb0f ircd:Ⓜ️ Handle and report hookfn exception. 2018-03-16 13:13:33 -07:00
Jason Volk
2ea245bf58 ircd: Improve bad_lex_cast message with demangled typeid. 2018-03-16 12:44:12 -07:00
Jason Volk
01fc6db0c5 ircd::net: Disable readahead for socket's SSL_CTX. 2018-03-15 22:25:16 -07:00
Jason Volk
a585a86717 ircd::client: Tweak internal error catch points; remove workaround from 79800a66. 2018-03-15 22:25:16 -07:00
Jason Volk
3810b8d57f ircd: Various exception assertions; minor cleanup. 2018-03-15 22:25:16 -07:00
Jason Volk
a48426e25d ircd/modules: Migrate some log messages to new facilities. 2018-03-15 22:25:16 -07:00
Jason Volk
bd60c2cd80 ircd::log: Add two new log facilities; comments on facilities. 2018-03-15 22:25:16 -07:00
Jason Volk
150831cd83 ircd:Ⓜ️ Add option to elide content keys for pretty_oneline(event). 2018-03-14 23:58:34 -07:00
Jason Volk
be6a5b7767 modules/m_receipt: Add committer w/ central linkage; read_markers. 2018-03-14 22:53:34 -07:00
Jason Volk
7b2758a90d ircd:Ⓜ️:vm: Fix regression removing content from event_id preimage. 2018-03-14 17:56:50 -07:00
Jason Volk
bda7836ebe ircd:Ⓜ️ Move typing commitment to modules/m_typing; central interface/linkage. 2018-03-14 17:47:59 -07:00
Jason Volk
7ae6ad47ea ircd:Ⓜ️:vm: Options to generate event_id, origin, origin_server_ts. 2018-03-14 16:26:16 -07:00
Jason Volk
e8c10977a1 ircd: More descriptive warning message. 2018-03-14 16:26:16 -07:00
Jason Volk
2e9ef15cf5 ircd:Ⓜ️ Use vector_view here. 2018-03-14 16:26:16 -07:00
Jason Volk
68b5d53ae8 ircd:Ⓜ️ Improve my(event): check origin, then id, otherwise false. 2018-03-14 14:00:10 -07:00
Jason Volk
44caf92dd7 ircd:Ⓜ️🆔 Minor cleanup. 2018-03-13 23:33:37 -07:00
Jason Volk
0ffa3b6257 ircd::server: Condition before killing link on open error. 2018-03-13 22:44:13 -07:00
Jason Volk
23f294df86 ircd::db: Timers on has() and commit paths. 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
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
368b8c4516 ircd:Ⓜ️🆔 Implement MXID interface suite with grammars. 2018-03-13 22:44:13 -07:00
Jason Volk
7deebfd344 ircd:Ⓜ️🆔 Improve the validator error msg propagation; minor cleanup. 2018-03-13 22:44:13 -07:00
Jason Volk
0f5e84b2e0 ircd::rfc3986: Copy relevant grammar from m::id; TODO: share. 2018-03-13 22:44:13 -07:00
Jason Volk
83d5f494bc ircd:Ⓜ️🆔 Add RFC3986 grammar here for now. 2018-03-13 22:44:13 -07:00
Jason Volk
4aaeaff8fb ircd:Ⓜ️:vm: Add options for pre-checked event conformity or skip entirely. 2018-03-12 19:38:27 -07:00
Jason Volk
9749d7c609 ircd:Ⓜ️:vm: Add wrapping to accepted event notify; further merge EDU and PDU core path. 2018-03-12 19:27:53 -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
79f6974f86 ircd::net: Wait for destruction of all sockets on shutdown. 2018-03-12 18:50:36 -07:00
Jason Volk
eaadc4b36d ircd::fs::aio: Synchronize interruption and shutdown. 2018-03-12 16:44:16 -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
f7ecc4342b ircd::ctx: Avoid any alloc for current reassertion on spawn. 2018-03-12 15:44:55 -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
cabeb4c128 ircd::net::dns: Add send rate-limiting for resolver queries. 2018-03-12 12:20:22 -07:00
Jason Volk
a00a71e34c ircd::openssl: Add stringify x509 to JSON. 2018-03-12 11:16:49 -07:00
Jason Volk
ed0a62701d ircd::openssl: Utils dealing with ASN1/X509 time related. 2018-03-12 11:16:26 -07:00
Jason Volk
973f02360c ircd::openssl: X509_NAME iteration closure. 2018-03-12 11:14:11 -07:00
Jason Volk
78d5825315 ircd::json: Deeper copying on value copy ctor. 2018-03-12 11:14:11 -07:00
Jason Volk
c2fbe50bce ircd:Ⓜ️ Add additional event conformity checks. 2018-03-12 09:55:45 -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
27b0dfffa4 ircd::server: Fix condition for link finished; add assertion here. 2018-03-11 13:54:51 -07:00
Jason Volk
edd03e58af ircd: Disregard repeat attempts to close client socket; return proper future. 2018-03-11 13:54:51 -07:00
Jason Volk
f5904dc69d ircd: Simplify the exception flow for request auth even though it separates throw points. 2018-03-11 13:40:24 -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
79800a666c ircd::client: Mark bug TODO; temp bandaid. 2018-03-11 13:40:24 -07:00
Jason Volk
f0b5656fda ircd:Ⓜ️ Push user creation out to module. 2018-03-11 13:40:24 -07:00
Jason Volk
f11be8a0d8 ircd: Replace the client write_closure thing. 2018-03-11 13:40:24 -07:00
Jason Volk
bbc1844c61 ircd::http: Status code signage consistency. 2018-03-11 10:23:06 -07:00
Jason Volk
ba6832b420 ircd: Split out allow methods list generator. 2018-03-11 10:22:10 -07:00
Jason Volk
e4d891abac ircd:Ⓜ️ Remove duplicate exists(event_id) util. 2018-03-10 23:04:59 -08: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
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
2c4498502a ircd:Ⓜ️ Add txn creation util. 2018-03-09 19:41:16 -08:00
Jason Volk
28c7826032 ircd::db: Add txn::append optimization allowing tuple to make direct column deltas. 2018-03-09 19:41:16 -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
e09111ff4e ircd::server: Case for close during init. 2018-03-09 17:10:46 -08:00
Jason Volk
e2569b4cb6 ircd: Disambiguate the litany of response argument variations. 2018-03-09 17:10:45 -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
4145a94fc8 ircd::conf: Abstraction for all lex_cast'able types; add additional duration specializations. 2018-03-09 17:10:45 -08:00
Jason Volk
27b01a58eb ircd: Tweak client stack error related; fix missing content-type; assert all responses. 2018-03-09 17:10:45 -08:00
Jason Volk
b1a4ca6852 ircd::server: More descriptive message in this error. 2018-03-09 17:10:45 -08:00
Jason Volk
1dec67d81e ircd: Catch inner timeouts on client request. 2018-03-09 17:10:45 -08:00
Jason Volk
50a721d311 ircd:Ⓜ️:v1: Ensure urlencoding of parameters. 2018-03-09 17:10:45 -08:00
Jason Volk
b284f707e5 ircd:Ⓜ️:v1: Support query for client_keys; add console command. 2018-03-09 17:10:45 -08:00
Jason Volk
9b6ef1189b ircd:Ⓜ️:v1: Support query for user_devices; add console command. 2018-03-09 17:10:45 -08:00
Jason Volk
08fc944021 ircd:Ⓜ️ Tweak specifics of user/account creation/activation related. 2018-03-09 17:10:45 -08:00
Jason Volk
30532b47ff ircd:Ⓜ️:vm: Mask conform allowing us to issue events on behalf of remote users. 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
1cfe841462 ircd:Ⓜ️ Add additional event::conforms checks; comments. 2018-03-09 07:46:26 -08:00
Jason Volk
57deb2212a ircd:Ⓜ️ Add room::messages iterator event_id cast operator. 2018-03-08 19:11:47 -08:00
Jason Volk
4a5bea668c ircd/ircd:Ⓜ️ extern event_max_size conf item; minor cleanup. 2018-03-08 16:36:49 -08:00
Jason Volk
84e37b9635 modules/client/account: Fix user account activation related. 2018-03-08 16:29:51 -08:00
Jason Volk
f2a39394cd ircd:Ⓜ️:vm: Add opts for dbs history/present; use more efficient iov pusher. 2018-03-08 15:55:54 -08:00
Jason Volk
e2db58bd81 ircd:Ⓜ️:v1: Fix send_join argument. 2018-03-08 15:55:02 -08:00
Jason Volk
b9400e1698 ircd:Ⓜ️ Branch for spec essential keys in event signing. 2018-03-08 14:17:47 -08:00
Jason Volk
1e041deb55 ircd: Add head-only resource::response; cleanup comments / cruft. 2018-03-08 11:42:43 -08:00
Jason Volk
be2a7007fa ircd:Ⓜ️ Add exists(room_alias) with option for remote query; translate not_found exception. 2018-03-08 11:39:37 -08:00
Jason Volk
dc59cb8880 ircd:Ⓜ️ Overload exists(room) in addition to room::id. 2018-03-08 11:38:29 -08:00
Jason Volk
b5ad6b55a6 ircd:Ⓜ️:vm: Add eval options for hashing signing and pre-commit debuglog. 2018-03-08 10:08:38 -08:00
Jason Volk
1e6d3d3294 ircd:Ⓜ️:vm: Add opts argument to event commission; comment cleanup. 2018-03-08 10:08:38 -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
f10c61e046 ircd: Add integration utils for system and boost error related. 2018-03-08 09:35:59 -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
f1fb3d8b49 ircd::server: Add peer::err object. 2018-03-08 08:24:19 -08:00
Jason Volk
8c02823d49 ircd: Tweak client error handling; fwddecl json::expectation_failure. 2018-03-08 07:40:41 -08:00
Jason Volk
4dd97298f5 ircd:Ⓜ️ Improve pretty_oneline format. 2018-03-07 17:37:15 -08:00
Jason Volk
f1a45cc9df ircd:Ⓜ️ Libify hashing/signing functions out of vm::commit(). 2018-03-07 13:28:15 -08:00
Jason Volk
901a77266e ircd:Ⓜ️:vm: Massage edus through the core eval path; rename inserted to accept. 2018-03-07 13:28:15 -08:00