0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-08 19:48:36 +02:00
Commit graph

1606 commits

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