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

270 commits

Author SHA1 Message Date
Jason Volk 3e72e1277e modules/client/directory/list: Implement directory list room handlers. 2019-03-14 13:25:28 -07:00
Jason Volk 9028f63d35 modules: Add preliminary prometheus metrics endpoint. 2019-03-08 12:31:08 -08:00
Jason Volk 4724110736 modules/client/sync/rooms/ephemeral: Add m.typing sync handler. 2019-02-27 18:19:11 -08:00
Jason Volk 2854ea9a0f Makefiles: Remove --gdb-index here because no -gsplit-dwarf used. 2019-02-25 18:20:48 -08:00
Jason Volk 7f9b06e2c3 modules/federation: Split up user_keys module. 2019-02-21 13:42:43 -08:00
Jason Volk 8f4795e387 modules/client/keys: Move existing into directory; stub remaining endpoints. 2019-02-20 19:12:32 -08:00
Jason Volk d5e8bbbf4a modules: Stub m.device_list_update edu handler; json schema. 2019-02-20 13:36:29 -08:00
Jason Volk d05f58d352 modules/client: Add preliminary delete_devices endpoint. 2019-02-20 13:10:56 -08:00
Jason Volk 18a41f81f1 modules: Move m::device definitions from m_user to m_device. 2019-02-20 09:46:27 -08:00
Jason Volk 3ff31ec8ef modules: Start an m_direct_to_device edu handler. 2019-02-18 13:42:38 -08:00
Jason Volk d445f98d93 modules/client: Stub a send_to_device endpoint. 2019-02-18 13:42:38 -08:00
Jason Volk 7e8f3048d3 modules: Start and identity service stub area. 2019-02-18 10:28:09 -08:00
Jason Volk 952f173204 modules/client/rooms: Add /event/ endpoint. 2019-02-18 09:59:14 -08:00
Jason Volk 2f088591f7 modules/client: Add capabilities endpoint. 2019-02-12 12:04:02 -08:00
Jason Volk 3151931ee4 Linker options package. 2019-02-08 18:24:20 -08:00
Jason Volk d39d50e18a modules/federation: Fix missing user_keys / user_devices recipe; fix errors. 2019-02-08 18:05:39 -08:00
Jason Volk 8fd1b57e86 modules/client/sync: Stub device related sync modules. 2019-02-08 09:18:39 -08:00
Jason Volk 1b2c8bf83c modules/federation: Stub user_devices / user_keys. 2019-02-07 23:09:31 -08:00
Jason Volk b430661bba modules/federation: Stub query_auth (for metrics). 2019-02-07 23:09:30 -08:00
Jason Volk 89cd08ac22 modules: Preliminary webhook module. 2019-01-19 16:17:38 -08:00
Jason Volk 3a3dfe40d1 modules/client: Implement the register/available endpoint. 2019-01-12 11:51:57 -08:00
Jason Volk 56b1e760cf modules/client/sync/rooms: Create a directory for ephemeral. 2019-01-11 13:58:23 -08:00
Jason Volk 86ae182f64 modules/client/sync: Fix rooms.ephemeral item. 2019-01-10 16:58:44 -08:00
Jason Volk 5ed81532ba modules/Makefile: Minor cleanup. 2019-01-05 18:36:37 -08:00
Jason Volk 61e88e75bc modules/client/sync: Additional sync items reorganization. 2019-01-04 14:47:01 -08:00
Jason Volk 86911226ed ircd:Ⓜ️ Preliminary modular client sync system. 2019-01-03 17:21:02 -08:00
Jason Volk 1f3dbe3948 modules: Use the global-dynamic tls-model for modules. 2018-12-29 19:43:17 -08:00
Jason Volk 956a8e239c Use more aggressive tls-model options. 2018-12-23 17:36:35 -08:00
Jason Volk cb2b3e7c16 ircd: Minor link options package. 2018-12-21 14:38:14 -08:00
Jason Volk b088ebf228 ircd:Ⓜ️:app: Add initial application service registration structure; start app handler directory. 2018-12-02 16:50:26 -08:00
Jason Volk d35dad46c2 configure: Add EXTRA_LIBS rather than modifying LIBS here. 2018-11-29 13:46:45 -08:00
Jason Volk be96cf3ca4 modules: Stub an m_state module; fix description in m_room. 2018-11-14 00:16:19 -08:00
Jason Volk 6c0a8b2c34 modules/federation: Implement publicrooms endpoint. 2018-10-24 18:08:46 -07:00
Jason Volk 62177dca20 modules: Start an m_rooms unit; move publicrooms summary chunk generation. 2018-10-24 17:31:21 -07:00
Jason Volk 96338208aa modules: Start an m.room.power_levels protocol module. 2018-10-24 12:01:56 -07:00
Jason Volk 002dea97ec modules/client/user: Move user create to m_user. 2018-10-23 13:22:08 -07:00
Jason Volk c83d17396b modules: Rename vm_fetch to s_fetch. 2018-10-23 09:13:48 -07:00
Jason Volk 1b72722386 modules: Start an m_room_message protocol handler stub. 2018-10-16 11:55:30 -07:00
Jason Volk 450ec3523e modules/s_dns: Consolidate DNS related into units of a single module. 2018-10-01 13:56:00 -07:00
Jason Volk 05cc6ddf83 ircd::net: Move resolver service out to modules/s_resolver. 2018-09-30 20:18:32 -07:00
Jason Volk 5a627efaad ircd::net::dns: Move cache related out to modules/s_dns. 2018-09-30 20:18:32 -07:00
Jason Volk 6a646f1ba4 modules: Start an m_user module; add preliminary message highlight test. 2018-09-14 05:17:16 -07:00
Jason Volk a806b2d60b modules/m_event: Add modules; move pretty() suite out of ircd:Ⓜ️:. 2018-09-04 20:27:30 -07:00
Jason Volk 61fade178e ircd::m/modules/key: Various reorg / modularization. 2018-08-17 12:51:49 -07:00
Jason Volk 4793545dc2 modules/s_listen: Improve various. 2018-08-17 12:51:48 -07:00
Jason Volk 15e44463c3 modules/client: Stub joined_groups to shutup Riot. 2018-06-17 21:34:03 -06:00
Jason Volk 9601dac9cc ircd: Consolidate stdinc.h and ircd.h and fix precompiled headers. 2018-06-15 16:13:18 -06:00
Jason Volk b4e7bb062c modules: Rename root to webroot. 2018-06-12 01:00:14 -07:00
Jason Volk eb603c22c1 modules: Add preliminary m_room_aliases protocol suite. 2018-06-12 01:00:14 -07:00
Jason Volk cc0072df0e modules: Add preliminary m_room_canonical_alias protocol suite. 2018-06-12 01:00:14 -07:00
Jason Volk 8bd6cf05b0 modules/vm: Add preliminary vm fetch unit. 2018-06-03 10:02:19 -07:00
Jason Volk b79494adb9 modules/federation: Implement event_auth endpoint. 2018-06-02 19:46:58 -07:00
Jason Volk f41c50af5b Makefile: ld.gold arguments package. 2018-05-31 16:32:55 -07:00
Jason Volk 52767c836f modules/client: Stub search endpoint. 2018-05-29 04:01:36 -07:00
Jason Volk b65ff7ea53 modules/m_room_history_visibility: Add preliminary stub. 2018-05-19 18:49:08 -07:00
Jason Volk 0839d929c8 modules: Rename s_state to m_room. 2018-05-19 18:49:07 -07:00
Jason Volk 902d48d702 modules/Makefile.am: Add missing s_state related. 2018-05-19 18:49:07 -07:00
Jason Volk e2e8172bfd modules: Add join rules hook stub; remove remaining tmp_effects from vm. 2018-05-19 18:49:03 -07:00
Jason Volk 456f8e7ac1 ircd:Ⓜ️ Move vm eval definitions into module. 2018-05-06 22:28:17 -07:00
Jason Volk 49a2cddc45 modules: federation/federation library; move feds commands (prelim). 2018-04-27 18:02:42 -07:00
Jason Volk db21df0c31 ircd: Move mapi.h into mods/. 2018-04-24 01:21:16 -07:00
Jason Volk bfba0ada0c modules/media: Add preview_url stub-plus. 2018-04-23 00:47:03 -07:00
Jason Volk f808a28664 ircd: Add m/m.h to stdinc.h 2018-04-22 16:22:02 -07:00
Jason Volk a8b143d6c2 modules/media: Consolidate media modules for easier linkages. 2018-04-12 23:07:45 -07:00
Jason Volk d4e35476a3 modules/client: Preliminary 6.2.3 /initialSync composite. 2018-04-10 13:15:19 -07:00
Jason Volk 257276d082 modules/federation: Add backfill_ids endpoint handler. 2018-04-04 22:54:59 -07:00
Jason Volk ca75899407 modules/federation: Backfill. 2018-04-04 22:54:58 -07:00
Jason Volk d2d6ba0f18 modules/federation: Add send_leave endpoint handler. 2018-04-03 23:34:10 -07:00
Jason Volk 4720431d72 modules/federation: Add make_leave endpoint handler. 2018-04-03 23:34:09 -07:00
Jason Volk 50911da57f modules/federation: Add state endpoint handler. 2018-04-03 23:34:09 -07:00
Jason Volk dffef130db modules/federation: Add state_ids endpoint handler. 2018-04-03 23:34:09 -07:00
Jason Volk b767aab018 modules/federation: Add send_join endpoint handler. 2018-04-03 23:34:09 -07:00
Jason Volk 60f983b953 modules/federation: Add make_join endpoint handler. 2018-04-03 23:34:09 -07:00
Jason Volk 66871bd598 modules/federation: Add invite endpoint; functional response w/o eval. 2018-04-02 23:20:50 -07:00
Jason Volk bf127104f1 modules/federation: Add query endpoint; add profile handler. 2018-04-02 23:20:50 -07:00
Jason Volk 738eb0782e modules/m_room_member: Add preliminary type stub from hooks out of client/rooms/join. 2018-03-28 22:17:09 -07:00
Jason Volk 53d7e79c41 modules/m_room_create: Add preliminary type stub from the hooks out of client/createroom. 2018-03-28 22:17:09 -07:00
Jason Volk 28c7494acb modules/federation: Add get_groups_publicised stub to shut it up. 2018-03-28 01:29:58 -07:00
Jason Volk 065370c38a configure.ac: parameter package. 2018-03-24 03:19:16 -07:00
Jason Volk f11c98db34 modules: Add m.receipt; edu handler stack frames. 2018-03-14 21:30:10 -07:00
Jason Volk 5a933ee713 modules/federation: Checkpoint preliminary sender. 2018-03-14 16:26:16 -07:00
Jason Volk f0b5656fda ircd:Ⓜ️ Push user creation out to module. 2018-03-11 13:40:24 -07:00
Jason Volk 51fe770d74 modules: Add m_typing eval stub. 2018-03-08 10:08:38 -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 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 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 e8fd7eebe0 modules/conf: Introduce the !conf room and the !control interface. 2018-03-02 08:02:21 -08:00
Jason Volk 10eb0b3216 modules/media: 11.7.1.4 Thumbnail; remote fetch. 2018-02-26 04:16:51 -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 bc7efd8bff modules/client: Stub publicised_groups endpoint. 2018-02-24 01:14:26 -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 d90f369c6d modules/client: Stub unstable thirdparty/protocols to quash Riot error. 2018-02-21 15:41:09 -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 091efbdabe modules/client/directory: Stub user search endpoint. 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 149db42d4e modules/client/rooms: 6.5.2.1 PUT redact. 2018-02-15 16:50:08 -08:00
Jason Volk bfcfacfc50 modules/client: 11.9 Device Management (incomplete). 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 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 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 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 fffea204b9 modules: Add preliminary federation/get_missing_events handler. 2018-01-23 16:35:28 -08:00
Jason Volk ba3d1e7af4 modules: Add stub media/upload. 2017-12-24 21:54:59 -07:00
Jason Volk 80931e4e86 ircd:Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix. 2017-12-12 14:59:40 -07:00
Jason Volk 1a1a50f5f3 Checkpoint reorganization. 2017-11-30 12:30:19 -08:00
Jason Volk 4793e4906c ircd:Ⓜ️ Checkpoint matrix top-half / modules. 2017-11-30 11:23:44 -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 20869309a2 Checkpoint matrix with preliminary federation client and keyserver related. 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 babde26165 make: Minor cleanup. 2017-10-03 04:17:10 -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 caa6ed58e5 ircd: Makefile improvements. 2017-08-23 15:39:41 -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 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 998724937c [temp] Checkpoint test. 2016-10-13 21:55:53 -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 2742547826 Introduce modular configuration system. 2016-09-21 16:28:51 -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 06b84579e3 modules/extensions: LDFLAGS += --no-allow-shlib-undefined 2016-08-23 05:22:38 -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