0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-31 06:44:42 +02:00
Commit graph

1718 commits

Author SHA1 Message Date
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