0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-06 05:48:54 +01:00
Commit graph

2164 commits

Author SHA1 Message Date
Jason Volk
b90d4230ca modules/client/rooms/invite: Add invite commit / handler w/ central linkage. 2018-04-03 12:56:46 -07:00
Jason Volk
59531912e4 ircd:Ⓜ️ Add origins::has() to query if origin is in room. 2018-04-03 12:49:34 -07:00
Jason Volk
8b5d27d1fc ircd:Ⓜ️:dbs: Add overload to generate partial origins prefix key. 2018-04-03 12:49:03 -07:00
Jason Volk
2bce600a60 ircd::db: Wrap interface to get db's file list. 2018-04-03 11:44:57 -07:00
Jason Volk
1dc2daa5e9 ircd::db: Wrap interface to toggle file deletions. 2018-04-03 11:30:37 -07:00
Jason Volk
cfb80085a8 ircd::db: Support map-based property retrieval. 2018-04-03 11:14:47 -07:00
Jason Volk
0bf6742ac9 ircd::db: Typedef / minor reorg property related interface. 2018-04-03 11:01:28 -07:00
Jason Volk
199ccad3e1 ircd:Ⓜ️ Minor desc cleanup; minor cleanup exception rewrite. 2018-04-03 02:14:48 -07:00
Jason Volk
a2ecd6339c ircd:Ⓜ️ Stringify request verification into tls buffer. 2018-04-02 23:20:50 -07:00
Jason Volk
b9bb4b4a45 ircd::resource: Carry origin in the request object. 2018-04-02 23:20:50 -07:00
Jason Volk
c999036a03 ircd:Ⓜ️ Rewrite db::not_found to m::NOT_FOUND for room::state propagation. 2018-04-02 22:06:51 -07:00
Jason Volk
6976119109 ircd:Ⓜ️:state: Fix db::not_found propagating from nothrow'ing get(). 2018-04-02 22:04:17 -07:00
Jason Volk
7b38d216b4 ircd:Ⓜ️:v1: Fix user devices query and associated console cmd. 2018-04-02 18:40:52 -07:00
Jason Volk
e0130466e9 ircd:Ⓜ️:v1: Rename user::id to id::user to avoid local conflict. 2018-04-02 18:40:52 -07:00
Jason Volk
baccd4b767 ircd:Ⓜ️:v1: Support request to /state_ids/ as option in m::v1::state. 2018-04-02 18:40:52 -07:00
Jason Volk
b5060a5e46 ircd::db: Create specific DB dir manually to avoid rocksdb error log msg. 2018-04-02 17:19:01 -07:00
Jason Volk
14b7a088ee ircd::db: Minor cleanup. 2018-04-02 17:18:56 -07:00
Jason Volk
31c3dea483 ircd::info: Gather information from rlimit if available. 2018-04-02 17:03:05 -07:00
Jason Volk
c54e7f5afe configure.ac: Gather more information from git during configure. 2018-04-02 16:50:51 -07:00
Jason Volk
db9e5f3b78 ircd::json: Improve validator grammar; clarify magic number. 2018-03-28 22:19:26 -07:00
Jason Volk
4a1ca1a525 ircd::json: Deinline output validators from template. 2018-03-28 22:17:09 -07:00
Jason Volk
7ad99ab387 ircd::json: Add why() to specifically return err str from valid(). 2018-03-28 22:17:09 -07:00
Jason Volk
15b995cee8 modules/m_presence: Move presence committer/getter into client/presence. 2018-03-28 22:17:09 -07:00
Jason Volk
d48f46a0ac modules/m_typing: Move m.typing committer into client/rooms/typing. 2018-03-28 22:17:09 -07:00
Jason Volk
cbc4852e16 modules/m_receipt: Move m.receipt committer into client/ 2018-03-28 22:17:09 -07:00
Jason Volk
85bafcb7de ircd:Ⓜ️ Improve init ordering and process. 2018-03-28 14:11:33 -07:00
Jason Volk
43b92dc95d ircd:Ⓜ️ Minor cleanup. 2018-03-28 14:11:33 -07:00
Jason Volk
f07eed2ab9 ircd::ctx: Relax the assertion for uncaught exceptions on context switch. 2018-03-28 14:11:33 -07:00
Jason Volk
751b896c3d ircd:Ⓜ️ Improve various initial conf related keys and routines. 2018-03-28 14:11:33 -07:00
Jason Volk
14b540c6a8 ircd:Ⓜ️ Add v1::groups namespace; add publicised requestor. 2018-03-28 01:29:58 -07:00
Jason Volk
f01fdc0528 ircd::json: Return non-magic size; return stringify views of written data. 2018-03-27 21:44:01 -07:00
Jason Volk
fb58bdf7de ircd::json: Granular stringify size assertions. 2018-03-27 21:44:01 -07:00
Jason Volk
49cb8fee1a ircd::json: Assertions for empty object iterator equality. 2018-03-27 21:44:01 -07:00
Jason Volk
1436ce36c1 ircd::json: Checkpoint output escape echo. 2018-03-27 21:44:01 -07:00
Jason Volk
7657fde5db ircd::db: Add function to get single txn into closure by seqnum. 2018-03-27 21:44:01 -07:00
Jason Volk
ff1fe4284d ircd:Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join. 2018-03-27 21:44:01 -07:00
Jason Volk
8f9caa33c3 ircd::ctx: Conclude the best name for function after deliberation. 2018-03-27 00:52:02 -07:00
Jason Volk
e179915008 ircd:Ⓜ️ Indicate to event:🆔:buf it was written to. 2018-03-26 23:29:58 -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
c6b9c06302 ircd::ctx: Avoid any possible ambiguities with location of *current. 2018-03-26 23:29:57 -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
6574da4b22 ircd: Add tokens_before() to suite. 2018-03-25 17:32:57 -07:00
Jason Volk
34abaea046 ircd::mods: Move the call to the init function after the mod ctor. 2018-03-25 16:10:52 -07:00
Jason Volk
291b6dc286 ircd::mods: Add shared_from mod& sym_ptr ctor; adjust conversions. 2018-03-25 16:10:52 -07:00
Jason Volk
f36af09789 ircd::mods: Interface modernization; various cleanup; reorg. 2018-03-25 14:32:24 -07:00
Jason Volk
8050628748 ircd::aio: The io_getevents array can be off-stack because no ctx. 2018-03-25 02:04:42 -07:00
Jason Volk
a2eb756548 ircd::ctx: Split this_ctx:: from ctx.h; minor reorg. 2018-03-25 02:04:42 -07:00
Jason Volk
2a8f31c89c ircd:Ⓜ️:dbs: Add db::op to write_opts; support SET and DELETE write() via opts. 2018-03-24 23:29:46 -07:00
Jason Volk
daed99e94e ircd:Ⓜ️ Replace event membership ref conditional with the convenience. 2018-03-24 23:29:46 -07:00
Jason Volk
ef791ae46e ircd::client: Use ctx::exception_handler to respond to client from catch block. 2018-03-24 18:00:04 -07:00
Jason Volk
441a692dfc ircd::ctx: Device to allow context switching in exception handler. 2018-03-24 18:00:04 -07:00
Jason Volk
7dbfb061e9 ircd::ctx: Assert no yielding during exception handling due to ABI limitations. 2018-03-24 15:53:15 -07:00
Jason Volk
1e99077169 ircd::db: Fix erroneous param in debug log. 2018-03-24 14:55:53 -07:00
Jason Volk
065370c38a configure.ac: parameter package. 2018-03-24 03:19:16 -07:00
Jason Volk
c256b3fefb ircd:Ⓜ️ Fix various issues with request generation buffers. 2018-03-24 01:18:34 -07:00
Jason Volk
968ef4115c ircd: Fix signage related. 2018-03-23 23:19:53 -07:00
Jason Volk
d745e65ee1 ircd::mods: Split up; clean up; reorg. 2018-03-23 22:52:36 -07:00
Jason Volk
fe6f09d218 ircd::mods: Preliminary ADL wrappage of mods::mod. 2018-03-23 22:52:36 -07:00
Jason Volk
0dcf117910 ircd::mods: Provide a reference to the module's own handle inside the module. 2018-03-23 22:52:36 -07:00
Jason Volk
62861f2540 ircd::conf: No longer care about conf whitespace... 2018-03-23 22:52:36 -07:00
Jason Volk
a08670cf48 ircd::fs: Support the yielding stdin readline in libircd. 2018-03-23 22:52:36 -07:00
Jason Volk
db8810e397 ircd::ctx: Integrate custom interruption action. 2018-03-23 22:17:10 -07:00
Jason Volk
980d24b38e ircd::net: Simplify listener config object. 2018-03-23 22:17:10 -07:00
Jason Volk
439e212b90 ircd::conf: Remove old comment; implicit object brackets around conf file data. 2018-03-23 22:17:10 -07:00
Jason Volk
91c9737f29 ircd: Improve runlevel changed callback related. 2018-03-23 22:17:09 -07:00
Jason Volk
8ad264f72d ircd: Consolidate demangle related into interface / unit. 2018-03-23 22:17:09 -07:00
Jason Volk
4cae80f9b6 ircd:Ⓜ️ Make event interface consistent with proper ADL participation. 2018-03-23 00:21:27 -07:00
Jason Volk
50b21edb1c ircd:Ⓜ️ Event hash checking stack. 2018-03-23 00:19:55 -07:00
Jason Volk
83bdb7161c ircd::db: Add interface to iterate the database's txn log. 2018-03-22 20:52:14 -07:00
Jason Volk
2671f4eb90 ircd::db: Add txn ctor claiming a rocksdb::WriteBatch. 2018-03-22 20:52:14 -07:00
Jason Volk
d40b18633f ircd::db: Move txn::handler struct to db/database headers. 2018-03-22 20:47:46 -07:00
Jason Volk
fcbc2bf650 ircd::db: Add database checkpointing feature. 2018-03-22 20:08:50 -07:00
Jason Volk
421f2f5220 ircd::db: Util to flush all columns in db. 2018-03-22 19:55:15 -07:00
Jason Volk
cbfb105765 ircd::db: Minor cleanup; interface const consistency on our side. 2018-03-22 19:39:14 -07:00
Jason Volk
2116cf6254 ircd:Ⓜ️ Add user::profile suite w/ linkage to modules/client/profile. 2018-03-22 16:27:15 -07:00
Jason Volk
d29b98b0ea ircd::net: Fix these conf item paths. 2018-03-22 15:11:29 -07:00
Jason Volk
9c26c5facd ircd:Ⓜ️:vm: Option to verify origin signature on eval. 2018-03-22 01:31:17 -07:00
Jason Volk
51714d2b67 ircd::http: Response ctor content_length=-1 is chunked encoding. 2018-03-22 00:37:16 -07:00
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
Jason Volk
b7adb44429 ircd:Ⓜ️ Relax hook expectations for existing event fields. 2018-03-07 13:28:15 -08:00
Jason Volk
9b44217ea4 ircd::server: Rename opts member pointer to opt. 2018-03-07 07:23:35 -08:00
Jason Volk
daa1d6481c ircd::http: Remove the no-longer used content related. 2018-03-06 11:24:10 -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
2ec4bd025f ircd::net: Underp the cache map until heterogeneous key support in stdlib. 2018-03-06 04:03:31 -08:00
Jason Volk
c864a6b446 ircd:Ⓜ️ Move keys related into modules/key; keys into node's room; remaining keys.cc into m.cc. 2018-03-06 00:10:36 -08:00
Jason Volk
63614107f8 ircd:Ⓜ️ Introduce the node and the node::room. 2018-03-05 23:47:23 -08:00
Jason Volk
17833dc22d ircd:Ⓜ️ Merge remaining user.cc into m.cc. 2018-03-05 08:25:59 -08:00
Jason Volk
bbf1cff21b ircd:Ⓜ️🆔 Rename origin to node. 2018-03-05 08:22:24 -08:00
Jason Volk
327e4da356 ircd::server: Rename node to peer. 2018-03-05 06:59:10 -08:00
Jason Volk
76e16927c7 ircd:Ⓜ️ Move user activation definition into client/accounts near is_active(). 2018-03-05 05:24:45 -08:00
Jason Volk
ec0d151827 ircd:Ⓜ️ Move user::password related to modules/client/account/password. 2018-03-05 05:24:45 -08:00
Jason Volk
1723a48e89 ircd:Ⓜ️ Move user::is_active() to modules/client/account. 2018-03-05 05:24:45 -08:00
Jason Volk
f8dc84d46e ircd:Ⓜ️ Modularize the user::activate/user::deactivate definitions. 2018-03-05 05:24:45 -08:00
Jason Volk
b3816f3bfa ircd:Ⓜ️ Move these conf items and rename. 2018-03-05 05:24:45 -08:00
Jason Volk
5c1cb57e9c modules: Reorg conf/console related; add s_control. 2018-03-05 05:24:45 -08:00
Jason Volk
8de1fde58c ircd::resource: Minor cleanup; response related. 2018-03-05 02:41:24 -08:00
Jason Volk
f75a4bd95e ircd:Ⓜ️ Special case type=m.room.member state_key for user::id rewrite in hook ctor. 2018-03-05 02:10:18 -08:00
Jason Volk
bfc2ab4eef ircd:Ⓜ️ Improve error ctor related. 2018-03-05 01:34:03 -08:00
Jason Volk
b37bb580be ircd:Ⓜ️ Deinline these error ctors. 2018-03-05 01:07:52 -08:00
Jason Volk
a6814dd696 ircd:Ⓜ️ Unconditionally use a hash of user's mxid for user_room. 2018-03-05 00:53:59 -08:00
Jason Volk
cc7dd13e4e ircd::http: Fix enum decl related and struct packing of error. 2018-03-05 00:37:05 -08:00
Jason Volk
96eca6c744 ircd::http: Fix serial size case with empty vector. 2018-03-04 23:45:59 -08:00
Jason Volk
3b1cc75f10 ircd::http: Modernize the header vector string generator. 2018-03-04 23:45:23 -08:00
Jason Volk
ab9e9d698b ircd:Ⓜ️ Fix error. 2018-03-04 22:46:40 -08:00
Jason Volk
a39781924c ircd:Ⓜ️ Take this buffer off-stack. 2018-03-04 09:21:51 -08:00
Jason Volk
69b0acde63 ircd:Ⓜ️ Preliminary reorg around experimental presence interface. 2018-03-04 08:57:02 -08:00
Jason Volk
d3d58d8ee9 ircd:Ⓜ️ Generate user_room ID's for all users local and remote. 2018-03-04 08:57:02 -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
2e3d88057c ircd:Ⓜ️:dbs: Use null separators for prefixing. 2018-03-04 02:09:41 -08:00
Jason Volk
240e01a9b5 ircd:Ⓜ️ Integrate present room state table optimization into interface. 2018-03-04 02:09:41 -08:00
Jason Volk
5b4c65c875 ircd:Ⓜ️:dbs: Add and use origins key separator; minor cleanup. 2018-03-04 00:30:25 -08:00
Jason Volk
472aaecb0f ircd:Ⓜ️:dbs: Add back the sequential state index for present room state. 2018-03-04 00:30:25 -08:00
Jason Volk
505b3b5115 ircd: Add non-throwing/defaulting token() overload. 2018-03-03 23:37:17 -08:00
Jason Volk
92bef88b6c ircd::server: Improve tag cancellation/dispersal on closing/shutdown; minor cleanup. 2018-03-03 21:56:50 -08:00
Jason Volk
4df13f5d4f ircd::server: Add conf items for existing todos. 2018-03-03 21:54:42 -08:00
Jason Volk
28ab30e3a0 ircd:Ⓜ️ Minor cleanup: sv ctor is constexpr, don't need this. 2018-03-03 10:17:05 -08:00
Jason Volk
9cf25a2d3b ircd:Ⓜ️ Add optimized room::members event iteration for present membership=join. 2018-03-03 10:17:05 -08:00
Jason Volk
c676d56dcd ircd:Ⓜ️ Add room::members::count() with membership=join optimized path. 2018-03-03 10:17:05 -08:00
Jason Volk
7a860964c4 ircd:Ⓜ️ Split the origins iteration to also allow raw key iteration. 2018-03-03 10:17:05 -08:00
Jason Volk
8a5462063e ircd:Ⓜ️ Add util to get membership from either event.membership or event.content. 2018-03-03 10:17:05 -08:00
Jason Volk
e95b61d46b ircd:Ⓜ️ Add a room::origins::count()er. 2018-03-03 05:56:42 -08:00
Jason Volk
763c14fb7b ircd:Ⓜ️:dbs: Add crucial member key to origins sequence. 2018-03-03 05:47:15 -08:00
Jason Volk
d0ef714179 ircd:Ⓜ️🆔 Tighten exception spec on boolean validators; tweak test grammar. 2018-03-03 05:04:23 -08:00
Jason Volk
6db4b083a8 ircd:Ⓜ️🆔 Fix local,host generator ctor to account for existing sigil. 2018-03-03 04:06:49 -08:00
Jason Volk
90e3b90775 ircd:Ⓜ️ Hook ctor rewrites local m::id's with my_host(); update affected hooks. 2018-03-03 04:06:49 -08:00
Jason Volk
7eff71b9a3 ircd:Ⓜ️ Add function to check if and only if id is a valid localpart. 2018-03-03 04:06:49 -08:00
Jason Volk
6333003aad ircd:Ⓜ️ Move user::activate() out to modules/client/register. 2018-03-03 00:51:27 -08:00
Jason Volk
fa3d92103c ircd:Ⓜ️ Add event serial size check; check size during commit. 2018-03-03 00:04:43 -08:00
Jason Volk
c4d8b17ecb ircd:Ⓜ️ Add convenience sender for org.matrix.custom.html messages. 2018-03-02 23:22:52 -08:00
Jason Volk
b840156b37 ircd::server: Add preliminary node error state; keep erroneous node in map as cache. 2018-03-02 22:37:52 -08:00
Jason Volk
a99fff0988 ircd:Ⓜ️ Add meta column for sequential presently joined origins iteration. 2018-03-02 22:03:06 -08:00
Jason Volk
2be4d22403 ircd:Ⓜ️ Add slightly arbitrary hook msgtype matching. 2018-03-02 21:13:11 -08:00
Jason Volk
94087f6316 ircd:Ⓜ️ Add alternative hook ctor for simple argument syntax reversal. 2018-03-02 21:12:11 -08:00
Jason Volk
0d4083c487 ircd:Ⓜ️:dbs: Remove stale comment. 2018-03-02 08:33:40 -08:00
Jason Volk
f3d8cc7950 ircd:Ⓜ️ Set IRCd's presence status on startup and shutdown. 2018-03-02 08:02:21 -08:00
Jason Volk
150543ae91 ircd:Ⓜ️ Add linkage for user::presence;
modules/client/presence: reorg for linkage; minor cleanup.
2018-03-02 08:02:21 -08:00
Jason Volk
e8fd7eebe0 modules/conf: Introduce the !conf room and the !control interface. 2018-03-02 08:02:21 -08:00
Jason Volk
f7034d0bf5 ircd:Ⓜ️ Add convenience notice(room) suite. 2018-03-02 08:02:21 -08:00
Jason Volk
f8e356eb0e ircd::conf: Develop conf get/set by string; use mapping by item name. 2018-03-02 08:02:20 -08:00
Jason Volk
baa7a80b68 ircd: Various fixes; bump default db LRU cache sizes. 2018-03-02 08:02:20 -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
97e593a77e ircd: Mein conf. 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
b166d0744d ircd::rfc1035: Ensure record types default-construct the super with their type. 2018-03-01 23:34:59 -08:00
Jason Volk
3aea407a85 ircd::net::dns: Add dns::cache. 2018-03-01 23:08:22 -08:00
Jason Volk
b10d3498e3 ircd::rfc1035: Use string_view of namebuf rather than namelen. 2018-03-01 21:47:03 -08:00
Jason Volk
eed18331cd ircd::ed25519: Fix fs::read regression from fs:: exception changes. 2018-03-01 04:34:22 -08:00
Jason Volk
5a744debe2 ircd:Ⓜ️:vm: Fix b64 buffer size calc; minor cleanup. 2018-03-01 04:34:22 -08:00
Jason Volk
ebed17d9d0 ircd: Fix error / simplify. 2018-03-01 02:30:59 -08:00
Jason Volk
c31b072a82 ircd:Ⓜ️ Improve room::membership() convenience query interface. 2018-02-28 21:05:09 -08:00
Jason Volk
2a7d7fa8c8 ircd::json: Value stringify semantic fixes. 2018-02-28 03:12:17 -08:00
Jason Volk
0e9a1e5109 ircd::net: wat. 2018-02-28 00:00:19 -08:00
Jason Volk
a8569fb81b ircd::server: Improve conditional for dynamic content feature. 2018-02-27 23:12:26 -08:00
Jason Volk
bd065a826a ircd:Ⓜ️:vm: Add error class; add/checkin options; checkpoint preliminary eval. 2018-02-27 22:57:05 -08:00
Jason Volk
14d5bd4f99 ircd:Ⓜ️:state: Checkpoint removal entry point. 2018-02-27 22:57:05 -08:00
Jason Volk
f76d82a553 ircd:Ⓜ️ Fix/simplify xvalue. 2018-02-27 22:57:00 -08:00
Jason Volk
8f086aaed9 ircd:Ⓜ️ Add convenience operator|= to event::conforms for masking. 2018-02-27 20:55:59 -08:00
Jason Volk
ef9646e719 ircd:Ⓜ️ Add exists(event::id) database check. 2018-02-27 20:47:19 -08:00
Jason Volk
bd4da0dd0a ircd:Ⓜ️ Consider these not-errors to allow for forward-compat/reuse. 2018-02-27 20:25:23 -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
34ad473bdc ircd::server: Pass along remote's error content into our http::error. 2018-02-27 01:38:34 -08:00
Jason Volk
fc3b68b9e9 ircd::server: Add more state for async ops; adjust post points. 2018-02-27 01:00:12 -08:00
Jason Volk
7f77c68232 ircd::net/ircd::server: Rename misleading functions. 2018-02-26 22:49:44 -08:00
Jason Volk
b555e3f446 ircd:Ⓜ️:v1/modules/console: Checkpoint changes to buffers and opts for requests.
Issues:
- The move requirement here for opts is ugly without a better ctor.
- The ad hoc buffer reassignments in m::v1 need to be improved.
2018-02-26 22:02:47 -08:00
Jason Volk
c412beacbf ircd::server: Add dynamic content allocation after receiving head. 2018-02-26 21:56:05 -08:00
Jason Volk
d1b66e2657 ircd:Ⓜ️:v1: Remove all the static default_opts. 2018-02-26 21:43:02 -08:00
Jason Volk
ceac1d96ac ircd::fs: Add missing exception translation to read()/write() dispatchers. 2018-02-26 20:45:40 -08:00
Jason Volk
e37a8599f7 ircd::fs: Add remove() / rename() support. 2018-02-26 20:45:14 -08:00
Jason Volk
121be689e8 ircd::fs: Fix namespace ambiguities; various interface updates. 2018-02-26 20:35:09 -08:00
Jason Volk
e67ce2b43e ircd:Ⓜ️ Add room_alias -> room_id outsourcing; plug in modules/client/join. 2018-02-26 04:55:27 -08:00
Jason Volk
64a77e280d ircd::http: Parse content_type convenience reference in response::head. 2018-02-26 04:00:36 -08:00
Jason Volk
0721d28254 ircd:Ⓜ️🪝 Minor cleanup: move event_match function to hook::. 2018-02-26 01:40:41 -08:00
Jason Volk
e7b6f4bac6 ircd:Ⓜ️ Add vm_notify hook::site; add hook to create public rooms room. 2018-02-26 01:40:41 -08:00
Jason Volk
5dbafa6a21 ircd:Ⓜ️🪝 Condition to match on membership field if available. 2018-02-26 00:12:03 -08:00
Jason Volk
e259d7bad7 ircd:Ⓜ️🪝 Use union matching strategy by default. 2018-02-26 00:07:53 -08:00
Jason Volk
bd14377904 ircd:Ⓜ️ Captain hook. 2018-02-25 23:35:25 -08:00
Jason Volk
c41a3dc25c ircd:Ⓜ️:v1: Add overloads to derive query remote from mxids. 2018-02-25 02:05:43 -08:00
Jason Volk
619a5a6a96 ircd:Ⓜ️:v1: Add additional query::profile field overload. 2018-02-25 00:30:45 -08:00
Jason Volk
a25b9c84f5 ircd:Ⓜ️ Add missing/matching my(user). 2018-02-25 00:30:45 -08:00
Jason Volk
bab52e2967 ircd:Ⓜ️:v1: Add query request; add profile / directory convenience subtypes. 2018-02-24 23:53:32 -08:00
Jason Volk
191167f7ba ircd:Ⓜ️ Add count() interface to room::state. 2018-02-24 19:52:02 -08:00
Jason Volk
4818409b51 ircd:Ⓜ️:state: Strictly use name:: references for all property access. 2018-02-24 19:47:30 -08:00
Jason Volk
4643a78c47 ircd:Ⓜ️:state: Add branch accounting to b-tree node. 2018-02-24 19:27:17 -08:00
Jason Volk
ff2903900b ircd: In runtime debugmode, log HTTP errors at the error level. 2018-02-23 23:35:09 -08:00
Jason Volk
924d86e1e9 ircd:Ⓜ️ Rename ircd.account key to ircd.user in !users. 2018-02-23 19:39:51 -08:00
Jason Volk
f2a3e2487c ircd:Ⓜ️ Support lower_bound state_key queries into room::state. 2018-02-23 19:39:51 -08:00
Jason Volk
4a42e9d6b7 ircd:Ⓜ️ Move the rooms commit...thing to modules/client/rooms.
modules/client/rooms: Cleanup; renamespacing.
2018-02-22 20:46:27 -08:00
Jason Volk
7d4d88de73 ircd:Ⓜ️ Move and relink all the state/non-state sends()/message();
modules/client/rooms/state: reorg / renamespacing.
modules/client/rooms/send: renamespacing.
2018-02-22 20:32:10 -08:00
Jason Volk
44ff77a03f ircd:Ⓜ️ Move redact() definition to modules/client/rooms/redact
modules/client/rooms/redact: renamespacing.
2018-02-22 20:32:10 -08:00
Jason Volk
99239c8b95 ircd:Ⓜ️ Move leave() definition to modules/client/rooms/leave. 2018-02-22 20:32:10 -08:00
Jason Volk
515370b2c2 ircd:Ⓜ️ Add and apply module importer; replace any module name suffixes. 2018-02-22 20:32:10 -08:00
Jason Volk
33788e66f2 ircd::mods: Improve hiding the module name suffix from public interface. 2018-02-22 20:32:09 -08:00
Jason Volk
116b6e12a6 ircd:Ⓜ️ Move join() definition to modules/client/rooms/join. 2018-02-22 20:32:09 -08:00
Jason Volk
09519174e2 ircd:Ⓜ️ Move room create() definition to modules/client/createroom. 2018-02-22 20:21:47 -08:00
Jason Volk
0569b41f4b ircd::mods: Add sym_ptr / import_shared reference ctors. 2018-02-22 14:30:11 -08:00
Jason Volk
8ae1e735f2 construct/ircd: Minor update stale comments. 2018-02-22 01:33:25 -08:00
Jason Volk
ec4a631608 ircd:Ⓜ️🆔 Update generator constructor; add room_id generator; minor cleanup. 2018-02-22 00:38:25 -08:00
Jason Volk
f235fc155e ircd::server: Close and remove node on name resolution error. 2018-02-21 17:44:08 -08:00
Jason Volk
52cbf0fc70 ircd: Condition client timeout for longpoll; fix resource request reference. 2018-02-21 17:43:29 -08:00
Jason Volk
d50ef4b45f ircd::log: Add interface to toggle facility to console. 2018-02-21 16:13:49 -08:00
Jason Volk
bae8e3b869 ircd:Ⓜ️ Add reverse reflection for event::conforms code. 2018-02-21 15:05:27 -08:00
Jason Volk
4f4b53416c ircd:Ⓜ️ Add more event::conforms checks; add skip-checks constructor. 2018-02-21 15:05:27 -08:00
Jason Volk
a00e305442 ircd:Ⓜ️ Rename event::errors to event::conforms. 2018-02-21 13:43:33 -08:00
Jason Volk
c72f7f1e96 ircd:Ⓜ️ Begin an event::errors fundamental conformity report. 2018-02-21 00:13:18 -08:00
Jason Volk
1bf9997086 ircd:Ⓜ️ Deinline these m::event related. 2018-02-20 18:26:54 -08:00
Jason Volk
198aea3e8f ircd:Ⓜ️ Fix warning from 329b1dc5. 2018-02-20 15:40:40 -08:00
Jason Volk
4de2479f73 ircd:Ⓜ️ Add missing characters to user mxid grammar. 2018-02-20 15:40:40 -08:00
Jason Volk
e5bc194fe5 ircd:Ⓜ️ Have id sigil grammar convert and return the enum. 2018-02-19 20:56:45 -08:00
Jason Volk
3d1409b243 ircd:Ⓜ️ Tighten exception specification for user::is_password(). 2018-02-19 19:45:44 -08:00
Jason Volk
329b1dc514 ircd:Ⓜ️ Add nothrow stack to complement head(room). 2018-02-19 19:45:44 -08:00
Jason Volk
36363134e5 ircd::aio: Cleanup / further simplify. 2018-02-19 19:45:44 -08:00
Jason Volk
f620bdcb3a ircd:Ⓜ️:v1: Add version request. 2018-02-19 19:45:44 -08:00
Jason Volk
eaf8df25c2 ircd::info: Add name string / agency strings. 2018-02-19 16:51:28 -08:00
Jason Volk
a21b2b28fa ircd::info: Minor reorg / cleanup. 2018-02-19 13:32:34 -08:00
Jason Volk
7142cbf735 ircd: Move magic out of fs::. 2018-02-18 22:54:54 -08:00
Jason Volk
fbafdaa851 ircd::mods: Disable the mangles map for now. 2018-02-18 22:38:23 -08:00
Jason Volk
de08752853 ircd::net: Remove unused/erroneous has_timeout(). 2018-02-18 22:38:23 -08:00
Jason Volk
5a16a5ded9 ircd::json: Indicate static duration for these printer closures. 2018-02-18 22:35:35 -08:00
Jason Volk
f8e5ca20d3 ircd::json: Remove the double-indirected member stringify. 2018-02-18 22:35:35 -08:00
Jason Volk
89ca9c9b24 ircd::json: Allow multiple attributes to the printer; simplify printer stack. 2018-02-18 22:35:27 -08:00
Jason Volk
42a22a6c79 ircd::json: Use consumption protocol for create_string closure. 2018-02-18 22:22:38 -08:00
Jason Volk
0e526484ea ircd::json: Ensure iov's are in a fixed location. 2018-02-18 22:18:52 -08:00
Jason Volk
f5197cc8ff ircd::fs: Add magic interface. 2018-02-18 01:12:09 -08:00
Jason Volk
b5cb40e63d configure.ac: Support libmagic. 2018-02-17 21:42:27 -08:00
Jason Volk
2be465d67f ircd::aio: Zero-length IO is very much a thing. 2018-02-17 17:14:15 -08:00
Jason Volk
62f4db4cce ircd:Ⓜ️ Fix/cleanup m::id generator ctor. 2018-02-17 16:17:59 -08:00
Jason Volk
9173c13b89 ircd: Move resource::request related off the stack into client. 2018-02-17 16:17:59 -08:00
Jason Volk
e149f38d79 ircd::json: This has to be more relaxed for now here. 2018-02-17 16:17:59 -08:00
Jason Volk
7e89baf369 ircd: Add resource::method::CONTENT_DISCRETION option flag. 2018-02-17 14:38:49 -08:00
Jason Volk
3709bd5612 ircd: Improve+rename client/resource head_buffer/content_buffer related. 2018-02-17 14:28:06 -08:00
Jason Volk
3c359e1dcc ircd:Ⓜ️ Add RoomEventFilter matcher. 2018-02-17 13:08:59 -08:00
Jason Volk
d89eaf338c ircd:Ⓜ️ 5 Filter (m::event_filter) matching (without globular). 2018-02-17 13:08:17 -08:00
Jason Volk
7a08fe8181 ircd:Ⓜ️ Deinline these request ctors. 2018-02-16 16:44:57 -08:00
Jason Volk
ca7f32a89b ircd:Ⓜ️🆔 Minor cleanup. 2018-02-16 16:33:28 -08:00
Jason Volk
bd6d0903a8 ircd:Ⓜ️: Fix stupid. 2018-02-16 13:33:19 -08:00
Jason Volk
acdb99887f ircd: Remove redundant sentence from README. 2018-02-16 11:26:43 -08:00
Jason Volk
00e90865d2 ircd:Ⓜ️ Add linear query suite to room interface. 2018-02-15 19:17:09 -08:00
Jason Volk
dbf6453171 ircd: Move IRCd Library section from top README. 2018-02-15 18:32:03 -08:00
Jason Volk
01251573bc ircd:Ⓜ️ Add redacts to main event; add redact(room, ...) committer. 2018-02-15 16:35:50 -08:00
Jason Volk
2921692571 ircd: Update Makefile ordering. 2018-02-15 14:07:25 -08:00
Jason Volk
d366523b64 ircd:Ⓜ️ Move sigil prefixing out of the random functors in generate_t ctor. 2018-02-15 13:55:09 -08:00
Jason Volk
eab4aef7e6 ircd:Ⓜ️/modules/client: Add device ID generation; use token/password helpers; various comments/cleanup. 2018-02-15 13:55:09 -08:00
Jason Volk
6ece5db391 ircd:Ⓜ️ Add user::room wrapping m::room with buffer of user's user room_id. 2018-02-15 13:40:08 -08:00
Jason Volk
050eacd142 ircd:Ⓜ️ Add m::user helpers to generate password hash and access tokens. 2018-02-15 13:05:00 -08:00
Jason Volk
51b2cafc74 ircd:Ⓜ️ Add experimental sigiled and qualified device MXID. 2018-02-15 13:01:07 -08:00
Jason Volk
08335c3883 ircd:Ⓜ️ Add random alpha-based ID generator. 2018-02-15 13:00:23 -08:00
Jason Volk
7b0c53501a ircd::rand: Modernize interface. 2018-02-15 12:53:00 -08:00
Jason Volk
a7c662529d ircd:Ⓜ️:vm: Remove the fronts map. 2018-02-14 22:07:01 -08:00
Jason Volk
a66f0f9423 ircd::json: Update the generator grammar. 2018-02-13 21:14:52 -08:00
Jason Volk
333d7a81f5 ircd: Move ircd::db::init up in the main sequence. 2018-02-13 20:38:55 -08:00
Jason Volk
d32f990c6a ircd:Ⓜ️ Improve room::messages interface as a bidirectional STL iterator. 2018-02-13 14:25:01 -08:00
Jason Volk
6f0ca19df6 ircd:Ⓜ️ Cleanup cruft from m::room; comments; minor. 2018-02-13 14:23:56 -08:00
Jason Volk
ad56d381a5 ircd:Ⓜ️:dbs: Add a room_events_key generator which doesn't require event_id. 2018-02-13 14:21:57 -08:00
Jason Volk
032156a18e ircd:Ⓜ️ Force json::STRING on event.content.body so purely numerical messages are quoted. 2018-02-12 19:52:10 -08:00
Jason Volk
2be10ef206 ircd: Fix/Address client current request flow for longpolls. 2018-02-12 19:30:44 -08:00
Jason Volk
67fba3cd7b ircd:Ⓜ️ Move filters into the user's user room. 2018-02-11 19:46:31 -08:00
Jason Volk
dbdc4a94d2 ircd:Ⓜ️:state: Use the appropriate codepath for undefined key dfs. 2018-02-11 15:47:25 -08:00
Jason Volk
bbbb88fe46 modules/client/user: Reactivate the get filter endpoint. 2018-02-11 15:47:25 -08:00
Jason Volk
830a4b92a1 ircd:Ⓜ️ Add preliminary !@user:host "user's room" to database all things user. 2018-02-11 15:47:24 -08:00
Jason Volk
085776655c ircd: These const_buffer casts are no longer necessary. 2018-02-11 15:47:24 -08:00
Jason Volk
939957c02a ircd:Ⓜ️ Split filter into compilation unit; reactivate interface. 2018-02-11 15:47:24 -08:00
Jason Volk
f770a1638e ircd: Update Makefile ordering to reflect current header ordering; commentary. 2018-02-11 15:47:24 -08:00
Jason Volk
b94d0b8ce6 ircd:Ⓜ️ Split m::user compilation unit. 2018-02-11 12:02:49 -08:00
Jason Volk
0afaa70ccf ircd: Refer to the right access_token in the resource::request struct. 2018-02-10 22:07:06 -08:00
Jason Volk
b1d257c93a ircd: Support authorization: bearer access tokens. 2018-02-10 22:03:39 -08:00
Jason Volk
8044fdb3ce ircd: Reenable access token authentication. 2018-02-10 22:03:31 -08:00
Jason Volk
3e603b86e9 ircd:Ⓜ️ Add the m::room::has(type, state_key) passthru. 2018-02-10 21:42:16 -08:00
Jason Volk
a3a3239e6e ircd:Ⓜ️ Add room::messages interface; comment on room::state. 2018-02-10 19:50:53 -08:00
Jason Volk
0dc8593b9c ircd::net: Add open() option to allow expired certificates. 2018-02-10 18:37:06 -08:00
Jason Volk
9ddf83c73c ircd:Ⓜ️ Retool the local query to the m::keys room. 2018-02-10 18:37:06 -08:00
Jason Volk
43d581f1e9 ircd:Ⓜ️ Add room::get() passthru interface to room::state. 2018-02-10 18:37:06 -08:00
Jason Volk
605fbe1859 ircd:Ⓜ️ Use member buffer caches in m::room::state for the state root/head event. 2018-02-10 18:37:06 -08:00
Jason Volk
e368101e54 ircd:Ⓜ️:state: Might as well typedef this id. 2018-02-10 17:33:17 -08:00
Jason Volk
6c6069fc2c ircd:Ⓜ️ Reflect sigil in m::id parse failure here. 2018-02-10 17:00:20 -08:00
Jason Volk
3597d1eb6b ircd:Ⓜ️ Elaborate the event::prev interface with pattern conveniences. 2018-02-10 13:44:54 -08:00
Jason Volk
b238818522 ircd:Ⓜ️ Convert room::members/origins iters to test proto; console update; various. 2018-02-10 13:05:01 -08:00
Jason Volk
23387155df ircd:Ⓜ️ Candidate split room::state interface (const part). 2018-02-10 00:41:10 -08:00
Jason Volk
9405166a7a ircd:Ⓜ️:state: Add an unconditional for_each. 2018-02-10 00:41:06 -08:00
Jason Volk
98d3b8bc65 ircd:Ⓜ️:state: Make each() into test() protocol. 2018-02-10 00:38:36 -08:00
Jason Volk
0bf053197c ircd::json: Massage away json::value template ctor. 2018-02-09 21:33:06 -08:00
Jason Volk
063644feaa ircd:Ⓜ️ Abort the current sorry state of m::io. 2018-02-09 21:33:06 -08:00
Jason Volk
6ff27aa45c ircd:Ⓜ️ Add room.root(); crush pattern. 2018-02-09 13:08:41 -08:00
Jason Volk
dd582bd21d ircd:Ⓜ️ Retool the user password check in the accounts room. 2018-02-09 12:24:13 -08:00
Jason Volk
0906db32d0 ircd:Ⓜ️ Reenable the state test/for_each; ensure any value unquote(); minor. 2018-02-09 12:24:13 -08:00
Jason Volk
366716c890 ircd:Ⓜ️:room: Reenable the has state query; apply state::get(nothrow) in places. 2018-02-09 12:24:13 -08:00
Jason Volk
cf18cdfcb7 ircd:Ⓜ️:state: Add nothrow overloads for value get() suite. 2018-02-09 11:55:49 -08:00
Jason Volk
cee2b5d561 ircd:Ⓜ️ Reenable the room membership test using state b-tree query. 2018-02-09 11:33:48 -08:00
Jason Volk
45f165b462 ircd:Ⓜ️ Add event::fetch: db::cell/db::row aggregate; apply to all pattern. 2018-02-09 11:22:46 -08:00
Jason Volk
25ce5e76a6 ircd:Ⓜ️ Reenable the other other (sic) m::room::members iteration. 2018-02-09 00:03:08 -08:00
Jason Volk
9ac16d14d4 ircd::mods: Split into internal header. 2018-02-08 23:36:04 -08:00
Jason Volk
e0df498415 ircd:Ⓜ️:room: Plug more stuff back in. 2018-02-08 23:23:50 -08:00
Jason Volk
a32f93c357 ircd:Ⓜ️:vm: Add specific exception; checkpoint incomplete eval; fix dbref. 2018-02-08 23:23:50 -08:00
Jason Volk
62dbef1df6 ircd:Ⓜ️ Reenable one of the m::room::members iterations now over the state b-tree. 2018-02-08 21:03:44 -08:00
Jason Volk
9d22fe725a ircd:Ⓜ️ Reenable the exists(room) query. 2018-02-08 21:01:52 -08:00
Jason Volk
39fed550cd ircd:Ⓜ️ Elaborate room.maxdepth() into the m::head(room)/m::depth(room) (non-array) suite. 2018-02-08 20:59:48 -08:00
Jason Volk
fd7792d32b ircd:Ⓜ️ Reenable the room::maxdepth() query with efficiency. 2018-02-08 17:19:12 -08:00