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

1428 commits

Author SHA1 Message Date
Jason Volk 977ebd4e47 modules/console: Start a conf cmd; add direct list subcmd for now. 2018-03-22 14:44:54 -07:00
Jason Volk 9d69e5a405 modules: Export conf item get/set in s_conf; import for s_control interface. 2018-03-22 14:43:18 -07:00
Jason Volk ce084a1df0 modules/client/root: Stream from aio -> chunked encoding -> you.
Next is the mmap() with ctx::wait for pf w/ mincore() ...
2018-03-22 00:49:54 -07:00
Jason Volk 1846dd379d modules/federation/sender: Consistent origin from node::id; fix curtxn assignment. 2018-03-21 17:12:49 -07:00
Jason Volk d81291e367 modules: Fix various mapi header names. 2018-03-16 23:48:05 -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 bd29dec087 modules/client/rooms/read_markers: Condition on non-empty marker. 2018-03-16 12:47:39 -07:00
Jason Volk 67aaa00b63 modules/federation/sender: Determine a purge flow for errored nodes. 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 be6a5b7767 modules/m_receipt: Add committer w/ central linkage; read_markers. 2018-03-14 22:53:34 -07:00
Jason Volk f11c98db34 modules: Add m.receipt; edu handler stack frames. 2018-03-14 21:30:10 -07:00
Jason Volk ffafb70511 modules/federation/sender: Recv timeout worker only calls cancel, not erase. 2018-03-14 18:09:01 -07:00
Jason Volk 368c803575 modules/client/rooms/typing: Implement typing handler and timeout for our client. 2018-03-14 17:47:59 -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 56b23af467 modules/federation/sender: Unified EDU/PDU path when room_id is available. 2018-03-14 16:26:16 -07:00
Jason Volk 02b6df94f4 modules/federation/sender: Query ircd::server for peer error before new node creation. 2018-03-14 16:26:16 -07:00
Jason Volk 67b2f13c64 modules/client/rooms/typing: Add the typing commitment here for now. 2018-03-14 16:26:16 -07:00
Jason Volk 5a933ee713 modules/federation: Checkpoint preliminary sender. 2018-03-14 16:26:16 -07:00
Jason Volk dea86cd26e modules/client/profile: Simplify content access; fix unquoting. 2018-03-12 16:12:39 -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 f0b5656fda ircd:Ⓜ️ Push user creation out to module. 2018-03-11 13:40:24 -07:00
Jason Volk e2569b4cb6 ircd: Disambiguate the litany of response argument variations. 2018-03-09 17:10:45 -08:00
Jason Volk e123cfb395 modules/console: Add various throwing timeouts. 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 9fa98055ff modules/federation/get_missing_events: Implement get_missing_events handler. 2018-03-08 21:27:32 -08:00
Jason Volk 003544edad modules/console: Add fed backfill command. 2018-03-08 19:11:47 -08:00
Jason Volk 14a41e9f58 modules/client/join: Checkpoint preliminary bootstrapper. 2018-03-08 16:34:38 -08:00
Jason Volk 84e37b9635 modules/client/account: Fix user account activation related. 2018-03-08 16:29:51 -08:00
Jason Volk e53582d749 modules/media: Checkpoint preliminary file room concept. 2018-03-08 12:38:02 -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 51fe770d74 modules: Add m_typing eval stub. 2018-03-08 10:08:38 -08:00
Jason Volk 8d053c9aba modules/m_presence: Add m.presence evaluator. 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 90528245de modules/s_conf: Update conf items from !conf state values on startup. 2018-03-06 11:57:57 -08:00
Jason Volk 143c867ad8 modules: Rename s_console back to console so it's not mapped by ircd:Ⓜ️:modules. 2018-03-06 07:50:14 -08:00
Jason Volk 1a65c1ed47 modules/console: Add fed head command. 2018-03-06 07:50:14 -08:00
Jason Volk 191c9db5c0 modules/console: Add command to get the hashed room id of entity. 2018-03-06 00:24:32 -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 71a46f5dc7 modules/key/server: Checkpoint what's here; also reactivate the seeded test. 2018-03-05 23:47:23 -08:00
Jason Volk 63614107f8 ircd:Ⓜ️ Introduce the node and the node::room. 2018-03-05 23:47:23 -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 01ce9a3d6f ircd:Ⓜ️ Move spec tuples into headers. 2018-03-05 05:24:45 -08:00
Jason Volk 2dc94d7adc modules: Move js modules into js/ 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 69b0acde63 ircd:Ⓜ️ Preliminary reorg around experimental presence interface. 2018-03-04 08:57:02 -08:00
Jason Volk 5a1d0a9f45 modules/client/register: Fix bug. 2018-03-04 08:57:02 -08:00
Jason Volk 9db8b9d6a5 modules/console: Add 'net node'; default list the nodes. 2018-03-03 10:17:05 -08:00
Jason Volk 69df7add10 modules/console: Add command to iterate the room::origins sequence. 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 389af728c4 modules/client/register: Add preliminary first_user_registered hook. 2018-03-03 01:00:33 -08:00
Jason Volk 6333003aad ircd:Ⓜ️ Move user::activate() out to modules/client/register. 2018-03-03 00:51:27 -08:00
Jason Volk 1736a47068 modules/conf: Improve dump to use formatted HTML; improve hook related. 2018-03-02 23:22:52 -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 6dbb1864dd modules/client/rooms/initialsync: Default on the membership check for unauth'ed user. 2018-03-02 08:02:21 -08:00
Jason Volk 51a3e0f33b modules/federation/event: Update event fetch method. 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 8dee5dd81e modules/media: Move GIL headers; Update README. 2018-03-02 08:02:20 -08:00
Jason Volk 4c89d17e68 modules/client/publicrooms: Use better hook for creating the public rooms room. 2018-03-02 08:02:20 -08:00
Jason Volk 15ec746fc6 modules/console: Add console command suite to view DNS caches. 2018-03-02 08:02:20 -08:00
Jason Volk b0730143d1 modules/client/directory/room: Use more exact range on cache response. 2018-03-01 04:47:14 -08:00
Jason Volk f7a4f5c939 modules/client/rooms/initialsync: Checkpoint what's here for now. 2018-02-28 21:25:25 -08:00
Jason Volk 59cad48ce5 modules/client/directory/room: Add TTL/expiration to cached entries. 2018-02-28 20:53:05 -08:00
Jason Volk c27e911d26 modules/client/directory/room: Create and use the !alias room to cache room alias queries. 2018-02-28 20:52:58 -08:00
Jason Volk b90d3a9447 modules/client/profile: Throw out here instead. 2018-02-27 02:44:32 -08:00
Jason Volk aecbf3ebd0 modules/console: Checkin the room state type count command. 2018-02-27 02:36:08 -08:00
Jason Volk 6f6234fd38 modules/media/thumbnail: Various fixes: use dynamic content; use diff endpoint; throw errors. 2018-02-27 01:42:25 -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 071488d96e modules/client/join: Forward alias join to room_id join; comment. 2018-02-26 20:59:33 -08:00
Jason Volk 3cc3f6da3d modules/media/upload: Checkpoint rename to hash fwiw. 2018-02-26 20:51:42 -08:00
Jason Volk 5c5a5d3c83 modules/media/download: Add the deprecated /v1/ url handler for Riot. 2018-02-26 05:42:46 -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 e594063e0c modules/client/join: Determine and route room_id_or_sigil appropriately. 2018-02-26 04:32:25 -08:00
Jason Volk 10eb0b3216 modules/media: 11.7.1.4 Thumbnail; remote fetch. 2018-02-26 04:16:51 -08:00
Jason Volk 8f9a4aad7d modules/client/createroom: Add json::tuple of all spec params to parse request. 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 da8ef9e08e modules/client/events: Update/fix this stub for room previews. 2018-02-25 04:19:37 -08:00
Jason Volk 3d016b9e04 modules/client/rooms: Stub initialSync handler for room previews in Riot. 2018-02-25 04:19:37 -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 8c24d590a4 modules/client/profile: Plug in remote user profile query; minor reorg. 2018-02-25 00:38:42 -08:00
Jason Volk 979f585688 modules/client/directory: Plug v1::query::directory into GET directory/room 2018-02-25 00:30:45 -08:00
Jason Volk 42fcdf392e modules/console: Checkpoint additional fed commands. 2018-02-24 23:54:56 -08:00
Jason Volk bc7efd8bff modules/client: Stub publicised_groups endpoint. 2018-02-24 01:14:26 -08:00
Jason Volk 9d1d0c84a9 modules/client/rooms/messages: Implement pagination tokens. 2018-02-24 01:14:26 -08:00
Jason Volk 6385759769 modules/client/directory/user: Implement user directory result query. 2018-02-23 23:35:09 -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 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 e6de770499 modules/client/rooms: Spec out the params in the 7.4 endpoints. 2018-02-22 01:35:00 -08:00
Jason Volk ed96588155 modules/media/download: Replace old stub with new stub involving magic::mime. 2018-02-21 17:46:24 -08:00
Jason Volk 34d1ea4afc modules/client/user: Stub handler for 11.18.2.2 PUT rooms/account_data; fix parv check. 2018-02-21 16:57:41 -08:00
Jason Volk 599b53d20b modules/client/directory/room: Stub missing 7.2.1 PUT; minor cleanup. 2018-02-21 16:57:41 -08:00
Jason Volk 57dc15dba4 modules/console: Add debugmode toggle cmd; test cmd frame; preliminary mxid-deduction stubs. 2018-02-21 16:18:44 -08:00
Jason Volk 87aece1dd7 modules/client/publicrooms: Checkpoint empty responses. 2018-02-21 15:41:09 -08:00
Jason Volk d90f369c6d modules/client: Stub unstable thirdparty/protocols to quash Riot error. 2018-02-21 15:41:09 -08:00
Jason Volk 186239a5e4 modules/client/publicrooms: Stub missing 7.5.2 POST method. 2018-02-21 15:40:58 -08:00
Jason Volk 083397c03d modules/client/rooms: Stub the remaining room operation endpoints. 2018-02-21 15:22:04 -08:00
Jason Volk 754a9366fb modules/client/user: Stub openid/ openid/request_token. 2018-02-20 15:40:40 -08:00
Jason Volk fa8e2e7f0e modules/console: Show error where eval stopped in exec. 2018-02-19 20:56:45 -08:00
Jason Volk 8fd89229ef modules/console: Support exec for any specific room_id/event_id/sender. 2018-02-19 20:56:45 -08:00
Jason Volk 0f9fe4a712 modules/console: Fix object size; default bad_command{} in room command. 2018-02-19 19:45:44 -08:00
Jason Volk 091efbdabe modules/client/directory: Stub user search endpoint. 2018-02-19 19:45:44 -08:00
Jason Volk d869c479c6 modules/console: Sort the mod list. 2018-02-19 19:45:44 -08:00
Jason Volk 0126fd9701 modules/console: Add fed command handler; add fed version command. 2018-02-19 19:45:44 -08:00
Jason Volk af47471830 modules/federation: Add version endpoint. 2018-02-19 16:51:28 -08:00
Jason Volk 74f1a835b9 modules: Minor Makefile cleanup. 2018-02-19 12:43:13 -08:00
Jason Volk 2e68f18328 modules/console: Add mod reload command. 2018-02-19 00:37:19 -08:00
Jason Volk 7142cbf735 ircd: Move magic out of fs::. 2018-02-18 22:54:54 -08:00
Jason Volk 092b4d3ace modules/root: Supplement content-type/MIME-type with ircd::fs::magic interface. 2018-02-18 01:12:09 -08:00
Jason Volk 283a561c01 modules/media/upload: 11.7.1 Asynchronous upload dialectic demonstration. 2018-02-17 21:42:27 -08:00
Jason Volk ea8dcdf619 modules/client/keys: Stub keys/query for device list. 2018-02-16 17:28:06 -08:00
Jason Volk da9393016d modules/client: Cleanup/consistency in register/login handle stack. 2018-02-16 17:17:18 -08:00
Jason Volk 06e33f40a1 modules/client/presence: Dup the user_id in the content for now: simpler on out-side. 2018-02-16 13:33:19 -08:00
Jason Volk 023990888b modules/client: Fix error. 2018-02-16 13:33:19 -08:00
Jason Volk 38db46aad4 modules/client/rooms: 6.4.1/6.4.2 PUT state. 2018-02-16 13:33:18 -08:00
Jason Volk b121c4377b modules/client/rooms: 6.3.5 GET joined_members; minor cleanup. 2018-02-16 12:37:21 -08:00
Jason Volk a9b42926fa modules/client/events: Dumbstub this endpoint for 11.6 and requiring a room_id for now. 2018-02-16 12:07:12 -08:00
Jason Volk fa4d31292f modules: Shrink these to a reasonable block size for now. 2018-02-16 11:56:32 -08:00
Jason Volk 632b1e6f0f ircd:Ⓜ️ Curse the cursor.
modules/console: Update dump; add errcount.
2018-02-16 11:53:42 -08:00
Jason Volk 33e0d15f28 modules/client: 11.6 Presence to and from the user's user room timeline. 2018-02-15 19:59:59 -08:00
Jason Volk c6855c58c3 modules/client/devices: Use the id::device; use the user::room. 2018-02-15 17:27:42 -08:00
Jason Volk f7db9bd92f modules/client/rooms: Add POST variant for redact. 2018-02-15 16:50:08 -08:00
Jason Volk 149db42d4e modules/client/rooms: 6.5.2.1 PUT redact. 2018-02-15 16:50:08 -08:00
Jason Volk 7c030e1af2 modules/console: Add some room commands. 2018-02-15 16:35:50 -08:00
Jason Volk bc186e832d modules/client/register: Checkpoint hardcoded guest-reg block here for now. 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 27a539f941 modules/client: Cleanup some numbering and descriptions. 2018-02-15 13:40:07 -08:00
Jason Volk bfcfacfc50 modules/client: 11.9 Device Management (incomplete). 2018-02-14 22:07:01 -08:00
Jason Volk 9da8e233d6 modules/client: Update various thrown errors. 2018-02-14 22:07:01 -08:00
Jason Volk 38454022cd ircd::m/modules: Add M_NEED_MORE_PARAMS. 2018-02-14 22:07:01 -08:00
Jason Volk 24aac22e33 modules/client/account: Stub an account/3pid response. 2018-02-14 22:07:01 -08:00
Jason Volk 5c171d6789 modules/client/profile: 8.2 Profiles :with the user's user room. 2018-02-14 22:06:35 -08:00
Jason Volk 3dd792033b modules/client/account: 3.6.1 GET whoami 2018-02-14 22:06:20 -08:00
Jason Volk 575820d993 modules: Split client/account. 2018-02-14 21:49:46 -08:00
Jason Volk d4e6e23804 modules: Split client/user. 2018-02-14 21:49:46 -08:00
Jason Volk c45461d5f6 modules: Split modules/client/rooms; reorg Makefile. 2018-02-14 21:49:46 -08:00
Jason Volk 173d19ee6a modules/client/sync: Give client more async() after /sync 408. 2018-02-13 18:36:30 -08:00
Jason Volk 5a73e631a6 modules/console: Add command to iterate messages forward and backward with seek to depth. 2018-02-13 15:08:52 -08:00
Jason Volk b06412da76 modules/client/sync: Fix interpretation of the sync timeout query param. 2018-02-12 19:30:44 -08:00
Jason Volk 9c832482ef modules/root: Add additional mime types. 2018-02-12 19:30:44 -08:00
Jason Volk 5f24883c1c modules: Add minimum viable stubs for errorless Riot load.
modules/client/pushrules: Stub arrays for errorless Riot load.
2018-02-12 19:30:44 -08:00
Jason Volk 75dabda9c7 modules/client/sync: Checkpoint sync stubs. 2018-02-12 19:30:44 -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 9c145394f9 modules/client/user: Add base handlers to switch the path params. 2018-02-11 15:47:25 -08:00
Jason Volk 5c641d63ef modules/client/createroom: Update the createRoom endpoint handler. 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 b86560c5f5 modules/client/sync: Reactivate sync with a trial using user's room. 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 e3c419d25d modules/federation/send: Increase the PUT payload_max. 2018-02-10 21:28:49 -08:00
Jason Volk ca0e488ea5 modules/client/rooms: Reactivate the /messages endpoint (with zero param respect). 2018-02-10 19:56:01 -08:00
Jason Volk 535232603c modules/console: Add room_id argument to exec command. 2018-02-10 13:12:23 -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 bc4072c4d1 modules/client/rooms: Reinstate the state related endpoints. 2018-02-09 21:34:44 -08:00
Jason Volk 0bf053197c ircd::json: Massage away json::value template ctor. 2018-02-09 21:33:06 -08:00
Jason Volk 7f25e368bc modules/console: Add a room command suite. 2018-02-08 21:00:50 -08:00
Jason Volk 7bff223748 modules/console: Adjust the state commands to use a root node ID arg for now. 2018-02-08 13:27:49 -08:00
Jason Volk 0cc37daf9d modules/console: Improve the exec command. 2018-02-08 13:27:48 -08:00
Jason Volk f5adae46d1 modules/console: Move the preliminary exec command over to conmod. 2018-02-08 10:45:37 -08:00
Jason Volk a517acea60 modules/console: Add db command with list default sub-command. 2018-02-07 23:15:17 -08:00
Jason Volk f925c9e5df modules/console: Add command to backup the events database as json::vector to file.
This same vector can be replayed into a new database with an "exec" command.
2018-02-07 00:24:54 -08:00
Jason Volk da38c9164f modules/console: Partially move/add over key/event command trees. 2018-02-07 00:24:54 -08:00
Jason Volk 02edc327a3 modules/console: Add net command; move net host subcommand into module. 2018-02-06 13:20:24 -08:00
Jason Volk ee0d6423f3 ircd: Move params back into ircd::util... (w/ manual inclusion). 2018-02-06 13:20:24 -08:00
Jason Volk 44f8868598 modules: Add reloadable console module with library of command handlers. 2018-02-06 12:50:25 -08:00
Jason Volk 025e1d7c78 ircd:Ⓜ️ Move events database description and instance to libircd. 2018-02-05 21:24:36 -08:00
Jason Volk 7b48bc9f40 ircd:Ⓜ️:dbs: Checkpoint the meta-index "state_head for event_id in room_id" 2018-02-05 21:24:35 -08:00
Jason Volk be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk d53eef4ab6 ircd: Eliminate the raw_buffer concept. 2018-02-05 18:54:55 -08:00
Jason Volk 63d28a77cc ircd:Ⓜ️:state: Make it right. 2018-02-02 15:06:12 -08:00
Jason Volk 8296adb6c3 ircd:Ⓜ️:state: Try using a separate child array to store values at any level (partial). 2018-02-02 14:58:55 -08:00
Jason Volk 622086a12a modules/client/register: Don't require auth object for r0.3.0. 2018-01-29 12:00:00 -08:00
Jason Volk f12786959e modules/client/register: Fix defaulting empty ?kind= to user. 2018-01-29 12:00:00 -08:00
Jason Volk 9c91f8d772 client: Fix cosmic ray. 2018-01-26 19:27:12 -08:00
Jason Volk a9cada32db ircd:Ⓜ️ Add dbs namespace; remove old interfaces; checkpoint various. 2018-01-26 18:12:46 -08:00
Jason Volk e8a7f0aeef modules/federation: Fix the /event/ response. 2018-01-24 18:40:19 -08:00
Jason Volk 5ab7dc6421 modules/client: filter_id is the event_id of the filter saved to the filter room... 2018-01-23 18:41:34 -08:00
Jason Volk fffea204b9 modules: Add preliminary federation/get_missing_events handler. 2018-01-23 16:35:28 -08:00
Jason Volk dc4b17f84a ircd/modules: Fix init prio removal related. 2018-01-11 03:24:22 -08:00
Jason Volk b801993309 client: Retro style; Minor cleanup. 2018-01-10 01:19:35 -08:00
Jason Volk 8bfd2b9dfe modules: Minor cleanup versions handler. 2018-01-08 03:08:59 -08:00
Jason Volk a549070f05 modules: Remove this manual include of <iterator> here. 2017-12-28 13:48:37 -07:00
Jason Volk ba3d1e7af4 modules: Add stub media/upload. 2017-12-24 21:54:59 -07:00
Jason Volk eafaae7846 client: Rename js directory. 2017-12-24 19:26:05 -07:00
Jason Volk 80931e4e86 ircd:Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix. 2017-12-12 14:59:40 -07:00
Jason Volk d8bddbbff0 client: Preliminary refactor removal of rooms into rooms room; various. 2017-12-12 14:59:40 -07:00
Jason Volk 0d753cf52f client: Alias Object.debug and mc.debug.object. 2017-12-12 14:59:40 -07:00
Jason Volk f931308850 ircd/modules: Update resource / opts construction arguments. 2017-12-12 14:59:40 -07:00
Jason Volk 5b2facd8e3 client: Add a toggle() functional util. 2017-12-12 14:59:40 -07:00
Jason Volk 0565301560 ircd:Ⓜ️ Remove the is_state mistake. 2017-12-12 14:59:40 -07:00
Jason Volk 03dea97bb2 ircd: Add preliminary RFC3986 grammar; move urlencoding there. 2017-12-12 14:59:40 -07:00
Jason Volk 1a1a50f5f3 Checkpoint reorganization. 2017-11-30 12:30:19 -08:00
Jason Volk 5d53cdab5e ircd:Ⓜ️ Checkpoint matrix. 2017-11-30 11:23:47 -08:00
Jason Volk 528b7047e9 modules: Checkpoint matrix various. 2017-11-30 11:23:47 -08:00
Jason Volk 1cbd0ab8ba client: Update room summary related; may break synapse compat; possibly issue with IRCd /state/ response. 2017-11-30 11:23:47 -08:00
Jason Volk 7c4659e089 client: Updates; support ircd.key state event; various. 2017-11-30 11:23:47 -08:00
Jason Volk 31b778ee0b ircd:Ⓜ️ Improve server keys related functions. 2017-11-30 11:23:46 -08:00
Jason Volk f7224dc801 client: Checkpoint client. 2017-11-30 11:23:45 -08:00
Jason Volk 4793e4906c ircd:Ⓜ️ Checkpoint matrix top-half / modules. 2017-11-30 11:23:44 -08:00
Jason Volk 94aac875f1 client: Fixes/improvements to client. 2017-11-30 11:23:44 -08:00
Jason Volk 688ff545d6 client: Update; Add m.room.name timeline display handler; Various. 2017-11-30 11:23:43 -08:00
Jason Volk 62133d09b7 client: Various fixes. 2017-11-30 11:23:42 -08:00
Jason Volk 1517d784c7 client: Fix room join bitrot. 2017-11-30 11:23:41 -08:00
Jason Volk ef2aa0d249 client: Fix error scope related bitrot. 2017-11-30 11:23:41 -08:00
Jason Volk f10662fe7d ircd:Ⓜ️ Checkpoint matrix. 2017-11-30 11:23:40 -08:00
Jason Volk f89d6f651c modules: Add preliminary federation and media directories. 2017-11-30 11:23:40 -08:00
Jason Volk 43e35786ce ircd: Move subsystem 'index header' into subsystem directories. 2017-10-19 01:38:03 -07:00
Jason Volk 678ff574b5 ircd::client: Fix some scroll and event creation related; Various style; 2017-10-15 21:31:06 -07:00
Jason Volk 115940e803 ircd::http: Preserve leading slash from user's URL so we can use it for X-Matrix auth. 2017-10-15 21:26:05 -07:00
Jason Volk a3f7a41650 ircd::json: Rename json::string to json::strung and maintain json::string as intuitive type. 2017-10-15 21:18:42 -07:00
Jason Volk 18bbf758f3 ircd/modules: Improve path param parsing related; various m:: related. 2017-10-11 20:54:03 -07:00
Jason Volk 51672cdf2d client: Fixes to style; fix bugs. 2017-10-11 20:54:01 -07:00
Jason Volk b9f13ed2c2 ircd: Remove cruft. 2017-10-11 20:54:01 -07:00
Jason Volk edcd95cd8f modules/ircd:Ⓜ️ Upgrade various json tuple templates with string literals. 2017-10-11 18:18:19 -07:00
Jason Volk 20869309a2 Checkpoint matrix with preliminary federation client and keyserver related. 2017-10-03 04:27:15 -07:00
Jason Volk 3a9696fb6c ircd:Ⓜ️ Add all spec'ed event fields to event tuple. 2017-10-03 04:27:15 -07:00
Jason Volk 4f50cba4a7 client: minor fix style; minor fix exception handling. 2017-10-03 04:27:15 -07:00
Jason Volk 01d7ec1560 modules: Various fixes; cleanup. 2017-10-03 04:27:13 -07:00
Jason Volk 189de14f1e modules: Replace hardcoded hosts with my_host(). 2017-10-03 04:27:13 -07:00
Jason Volk b18413e0ed client: Fixes to client. 2017-10-03 04:17:11 -07:00
Jason Volk babde26165 make: Minor cleanup. 2017-10-03 04:17:10 -07:00
Jason Volk 6dfe034f6f client: Fixes. 2017-10-03 04:17:09 -07:00
Jason Volk 5d7eee1937 ircd:Ⓜ️ Simplify the event query interface by making more internal decisions from query data. 2017-10-03 04:17:08 -07:00
Jason Volk 92a8d8e2bf ircd:Ⓜ️ Improve interfaces; Add prelim sync loop; Add send resource handler. 2017-10-03 04:17:07 -07:00
Jason Volk d4508e157f ircd:Ⓜ️ Deduplicate user related in m::user. Update various resource related. 2017-09-24 20:48:53 -07:00
Jason Volk c032c686f6 Checkpoint matrix application basis. 2017-09-24 18:16:45 -07:00
Jason Volk 54d6793f59 Update various documentation and comments. 2017-09-24 18:16:33 -07:00
Jason Volk db748cae81 ircd::resource: Accept json::member for response for now. 2017-09-24 18:16:32 -07:00
Jason Volk ace878b887 ircd::json: Rename tuple member to property. 2017-09-08 03:47:53 -07:00
Jason Volk 85b699c286 Various makefile cleanup. 2017-09-08 03:47:53 -07:00
Jason Volk 1cea631f60 ircd::m modules: Matrix reinterface checkpoint. 2017-09-08 03:47:53 -07:00
Jason Volk fa41c1db5f ircd:Ⓜ️ Reorg location of database descriptions. 2017-08-23 15:52:14 -06:00
Jason Volk 0149610bb2 ircd: Various matrix library / modules / database development. 2017-08-23 15:51:34 -06:00
Jason Volk caa6ed58e5 ircd: Makefile improvements. 2017-08-23 15:39:41 -06:00
Jason Volk 4fd787d9d5 ircd::json/modules: Rename various types. 2017-08-23 15:32:28 -06:00
Jason Volk 36eb3a778d client: Various fixes to the client. 2017-08-23 15:28:25 -06:00
Jason Volk c9e947e66f ircd: Remove aborted cruft. 2017-08-23 15:27:41 -06:00
Jason Volk 4d4a56fe9c ircd::js: Upgrade SpiderMonkey to esr52 from esr45. 2017-08-23 15:25:22 -06:00
Jason Volk 59e05b44be modules: Add initial UI for IRCd served over HTTP running Matrix.
Client Alpha (Chlamydia Client)
2017-08-23 15:15:01 -06:00
Jason Volk a3117391b5 ircd/modules: Preliminary matrix scaffold. 2017-08-23 15:10:28 -06:00
Jason Volk a25143b035 charybdis/modules: Fix Makefile argument related. 2017-08-23 14:55:58 -06:00
Jason Volk 7ff04618c0 ircd;modules: Minor Makefile tweaks. 2017-04-04 16:10:29 -07:00
Jason Volk b07169dd69 Update Makefile flags for libraries to show more linkage issues. 2017-03-30 16:04:20 -07:00
Jason Volk 8ef53f2640 ircd: Move and improve socket listener device. 2017-03-30 16:04:19 -07:00
Jason Volk f1c5257201 modules: Add initial: versions, register, login. 2017-03-30 16:03:41 -07:00
Jason Volk c9ddf4f6ab ircd: Add lex_cast wrapper interface; various cleanup. 2017-03-14 15:03:15 -07:00
Jason Volk 472ee2c648 ircd: HTTP interface function-objects et al. 2017-03-13 18:44:00 -07:00
Jason Volk 49c2a5361c ircd: Various fixes. 2017-03-13 14:43:27 -07:00
Jason Volk b592b69b86 What is the Matrix? Control. 2017-03-10 17:51:18 -08:00
Jason Volk 8b0fe0318f gold linker. 2016-11-25 19:23:50 -08:00
Jason Volk 0d3ddb9bd7 [prelim] modules: Add js kernel. 2016-11-25 19:23:50 -08:00
Jason Volk edbc19790e modules: Stub crypto module. 2016-11-25 19:23:50 -08:00
Jason Volk eef5b78112 modules: Add stream interface object. 2016-11-25 19:23:50 -08:00
Jason Volk 63a6a82ea2 modules: Add assert object for Node.js style tests. 2016-11-25 19:23:50 -08:00
Jason Volk 848337a76b modules: Add net with Node.js compatible net.Socket / net.Server. 2016-11-25 19:23:50 -08:00
Jason Volk 7b4c06575f modules: Add DNS module with Node.js compatible lookup(). 2016-11-25 19:23:50 -08:00
Jason Volk 4fa9985399 modules: Add Events prototype. 2016-11-25 19:23:50 -08:00
Jason Volk 53f355e41d modules: Add preliminary console to support js-style console.log() et al. 2016-11-25 19:23:49 -08:00
Jason Volk 4127367a46 modules: Add preliminary "require" to load additional modules into js. 2016-11-25 19:23:49 -08:00
Jason Volk 67af461540 modules: Update future object to support async contracts. 2016-11-25 19:23:49 -08:00
Jason Volk a4f55b4627 ircd::mods: Reorganize and distill interface. 2016-11-25 19:23:49 -08:00
Jason Volk b8f5366f52 ircd::js: Improve trap callback arguments; add this value. 2016-11-13 16:34:00 -08:00
Jason Volk edd77d2265 ircd::js: Add asynchronous state and completion target mechanism. 2016-11-13 16:33:22 -08:00
Jason Volk 2f645941a8 ircd::ctx: Move ctx headers into directory. 2016-11-13 16:29:45 -08:00
Jason Volk 998724937c [temp] Checkpoint test. 2016-10-13 21:55:53 -07:00
Jason Volk 757d7e10a8 [temp] checkpoint some crap which isn't going to stick. 2016-09-27 17:29:06 -07:00
Jason Volk d8d2fe1564 ircd: Add scope 'life_guard' util for references in reentrant contexts. 2016-09-22 16:18:31 -07:00
Jason Volk fcd410d656 ircd::client: Add timer logic to client socket/io.
Note: Not sure if I like two reference counters for each client,
ideally, but we'll see where it goes after abstractions.
2016-09-21 16:29:30 -07:00
Jason Volk 26a3cd8441 Preliminary new client. Reorg/renames for ircd::client struct symbol. 2016-09-21 16:29:29 -07:00
Jason Volk 4ac4244876 Add m_host "HOST" command for DNS resolution. 2016-09-21 16:29:28 -07:00
Jason Volk 556ceba8a0 ircd: new client; start over. 2016-09-21 16:29:28 -07:00
Jason Volk 5b55e60015 Add P-Line listener module. 2016-09-21 16:29:28 -07:00
Jason Volk 2742547826 Introduce modular configuration system. 2016-09-21 16:28:51 -07:00
Jason Volk 9275429ee1 Replace command system. 2016-09-09 16:17:36 -07:00
Jason Volk 12c836dc6e Rip out libltdl. 2016-09-09 16:17:02 -07:00
Jason Volk 9d0a959bb5 MAPI IV. This iteration leverages the C++11 standardized RTTI.
* Simplifies the export declarations for module developers. While
MAPI III utilized a flexible key-value vector to eliminate positional
arguments in a header initializer, now the developer simply makes
a list of pointers to what they want to export for injection into
IRCd. Example:

mapi::header IRCD_MODULE
{
	"mymod",
	"My module adds a command, a hook, and a CLICAP",
	&my_cmdtab,
	&some_hook,
	&clicaptab
};

* Distributes the handlers for items passed to the above vector.
Anyone can add a type-handler to the module system from anywhere in IRCd
(and other modules?) When your type is encountered a handler is called
providing the symbol name to read out of the module. Example in parser.cc:

mods::add_loader<Message>([]
(mod &loading, const std::string &symbol)
{
	auto &msg(get<Message>(loading, symbol));
	add_command(msg.name, msg);
});
2016-09-09 16:17:01 -07:00
Jason Volk 3ebde4ab50 Convert umodes to mode_lease mechanism. 2016-09-09 16:17:01 -07:00
Jason Volk 127378b57c Refactor logger. 2016-09-09 16:17:00 -07:00
Jason Volk 052a6c8d22 Refactor snomask. 2016-08-28 01:48:25 -07:00
Jason Volk 21cfd2eefd ircd: Rename newconf name conflict. 2016-08-26 08:50:11 -07:00
Jason Volk d9e90e8937 ircd::cache: Convert send function arguments client* -> client& 2016-08-25 04:57:23 -07:00
Jason Volk 5f79420c29 Refactor isupport. 2016-08-25 03:01:45 -07:00
Jason Volk 9c16de2d41 Refactor whowas. 2016-08-25 02:34:28 -07:00
Jason Volk 5f218cdbb2 Refactor scache. 2016-08-25 02:07:11 -07:00
Jason Volk 3e26e7ab44 ircd: Move tgchange related into namespace. 2016-08-25 02:07:11 -07:00
Jason Volk f33b369609 Refactor umodes. 2016-08-23 15:25:09 -07:00
Jason Volk 06b84579e3 modules/extensions: LDFLAGS += --no-allow-shlib-undefined 2016-08-23 05:22:38 -07:00
Jason Volk b65c5430f2 Refactor client flags. 2016-08-23 05:22:38 -07:00
Jason Volk ab9a8e5c04 Convert all client handler arguments to reference type. 2016-08-23 05:22:38 -07:00
Jason Volk dd9124b687 Preliminary Client refactor.
Add client to ircd::client:: namespace.

Also move former struct User and struct Server into client.cc as
opaque structure demo.
2016-08-22 15:56:12 -07:00
Jason Volk 90093b82e6 Upgrade user struct. 2016-08-21 15:30:22 -07:00
Jason Volk 68b8a83419 ircd: Reduce is_chanop_voiced(). 2016-08-21 15:30:22 -07:00
Jason Volk 9835d43977 Upgrade channels structure. 2016-08-20 20:39:29 -07:00
Jason Volk 5752be41b8 Upgrade channel membership lists. 2016-08-20 19:30:35 -07:00
Jason Volk 276cad4275 Upgrade the channel invite list. 2016-08-20 19:30:35 -07:00
Jason Volk a84fe8a09b Upgrade bqeI channel lists. 2016-08-20 19:30:35 -07:00
Jason Volk 125e3b21f2 ircd: Improve/rename channel name check related. 2016-08-20 19:30:34 -07:00
Jason Volk 7d44e271f7 Better names for some channel mode convenience former-macros. 2016-08-20 19:30:34 -07:00
Jason Volk 1e07182f3e Remove CheckEmpty() from macro scope. 2016-08-20 19:30:34 -07:00
Jason Volk f5143fbf73 Add channel structure into namespace + remove related rb_banheaps. 2016-08-20 19:30:34 -07:00
Jason Volk 03660fc4b0 Refactor chmode into namespace.
She's still a bit of a mess.
2016-08-20 19:30:34 -07:00
Jason Volk f112111e51 Add rfc1459:: case compliance namespace. 2016-08-20 19:30:34 -07:00
Jason Volk 3f6d567285 ircd: Improve/refactor version.cc -> info.cc related. 2016-08-20 19:30:34 -07:00
Jason Volk 60c044d78a Fix redundant/conflicting namespace labels. 2016-08-20 19:30:33 -07:00
Jason Volk fc4af83fdf Remove __unused macro. 2016-08-20 19:30:33 -07:00
Jason Volk 61b517ca3c Precompile and remove most include directives. Notes:
* To benefit from the precompiled-header (PCH) it MUST provide "the first C token."

Advantages:
Never worry about the include stack again. Remember, this means one less thing
for random module developers, community people learning C++, and new developers
to deal with. It should reduce the learning curve and barrier for participation.

Disadvantages:
Makes overall compilation a bit slower, especially without any additional
work to improve it again. There are several opportunities, places where the
PCH is probably being ignored, etc that can be addressed.
2016-08-20 19:30:33 -07:00
Jason Volk 90c9fe686e ircd: Namespace and partially modernize ircd::cache. 2016-08-19 22:39:34 -07:00
Jason Volk a71a4551ae ircd: Insert into ircd:: namespace. 2016-08-13 02:43:42 -07:00
Jason Volk fb8792da3d ircd: Towards a comprehensive capability C -> C++ refactor. 2016-08-13 02:43:41 -07:00
William Pitcock 09d19cbbd3 capability: clean up CAP_REQUIRED and CAP_ORPHANED flags, use bool variables instead 2016-07-31 18:39:19 -05:00
William Pitcock e7a768ca22 capability: fix capability stats dumping 2016-07-31 18:10:31 -05:00
William Pitcock 92415a5371 alias: cleanups 2016-07-31 03:24:12 -05:00
William Pitcock d0a59d58a0 capability: major rewrite for C++ support.
- no rb_dictionary use anymore
- CapabilityIndex converted into a proper class
- proper RAII lifecycle management
2016-07-31 03:18:22 -05:00
William Pitcock 10ff2d192c alias: convert to RAII/std::string/etc, no more rb_dictionary use (ref #202) 2016-07-31 01:57:04 -05:00
William Pitcock 1c77b054a8 parse: move cmd_dict to a std::set 2016-07-31 01:36:14 -05:00
William Pitcock c7135bdf9a cache: adopt proper RAII pattern 2016-07-31 01:03:05 -05:00
William Pitcock 1c813cee95 cache: rough conversion of help system to std::map (ref #202) 2016-07-30 22:13:29 -05:00
Jason Volk 73297c988b Preliminary defaults/paths namespacing.
The namespace is inline to mimic the C namespace for now.
2016-07-25 16:49:00 -07:00
Jason Volk 4796bec441 Activate PCH for position independent code.
Cuts compilation time by 30%+
2016-07-25 00:54:38 -07:00
Jason Volk 404239eb60 Build system cleanup. 2016-07-22 19:46:28 -07:00
Jason Volk ac577c1322 Regress brace init relaxation for clang. 2016-07-22 19:46:28 -07:00
Jason Volk 834964c659 Convert IRCd to C++
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -07:00
Jason Volk 7cea4c784d ircd: Merge the defaults/ircd_defs stuff for now.
ircd/rb: Move some lowish level macros down to rb.
2016-07-21 20:51:02 -07:00
Jason Volk ac4dda1e67 Towards a leak-free repository.
Adds a Makefile target 'mrproper' though this only works on new versions of AC.
2016-07-21 20:51:02 -07:00
Jason Volk ea53aab823 Refactor repository layout.
* librb is no longer a separately configured subproject.
* charybdis is now a standalone directory with a binary.
* Include path layout now requires a directory ircd/ rb/ etc.
2016-07-21 20:51:02 -07:00
William Pitcock 79235fec68 modules: missed a spot 2016-06-26 01:43:17 -05:00
William Pitcock f200d90869 modules: allow non-opers to see what extensions are loaded 2016-06-26 01:40:43 -05:00
Jason Volk 6357ad5fd9 Add a reason pointer to hook_data_privmsg_channel. When set, the reason is appended to the text of ERR_CANNOTSENDTOCHAN. The pointer will not be free()'ed. 2016-06-25 22:57:04 -05:00
William Pitcock 7e1bb8ad0d Proper channel mode classification. Fixes existing ad hoc
channel mode classification which is required by RPL_MYINFO indicating arity,
and RPL_ISUPPORT indicating an enumerated class. The content of these replies
had previously been generated by hardcoded strings of some letters.

Channel modes require classification which corresponds to the
CHANMODES= data in RPL_ISUPPORT. Classes A,B,C can then be
listed in the unary column of RPL_MYINFO. cflag_add() is updated
for this. Additional cleanup of chmode.h and channel.h
circularity is also proffered within.

Submitted-by: Jason Volk <jason@zemos.net>
2016-06-25 22:54:37 -05:00
Jason Volk b5cfad0319 Core modules cannot be unloaded, otherwise bad things happen.
Additionally some information is logged and passed to the operator
conducting a MODRESTART.
2016-06-21 17:42:36 -07:00
William Pitcock 2185c50aad m_modules: use new module api 2016-06-18 00:59:15 -05:00
William Pitcock 397ec4d171 invite: do not send duplicate invite messages (closes #194) 2016-06-16 20:21:18 -05:00
Aaron Jones 0982871a99
strcpy: mass-migrate to strlcpy where appropriate 2016-05-15 03:58:44 +00:00
Aaron Jones 7de13f7e5e
starttls: Allow command usage with backends other than OpenSSL 2016-05-14 00:26:03 +00:00
Simon Arlott 4ad9738d7a
m_alias: correctly construct string to be sent 2016-05-12 19:45:27 +01:00
Simon Arlott da20854e83
random_ping: stop producing negative values that become 16 chars 2016-05-02 21:14:16 +01:00
Elizabeth Myers f4d828ef96 m_alias: restore old behaviour of joining all parameters.
There are two important caveats here, however:

1) Aliased commands have more than 8 parameters will be truncated;
there's nothing I can do about this.
2) Parameters with colons will not be handled as you expect. Again,
nothing I can do about this.
2016-05-01 03:48:00 -05:00
Simon Arlott 896370cc3e
m_stats: don't try to access bl_stats if it doesn't exist 2016-04-30 13:18:48 +01:00
Simon Arlott 4fbb736202
ssld: add a callback when the connection is opened
This allows us to wait until we have the fingerprint information before
continuing with a server connect process.
2016-04-24 11:48:35 +01:00
Simon Arlott 3085734104
m_stats: display certificate fingerprint in STATS C 2016-04-24 01:06:51 +01:00