0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-10 05:58:56 +02:00
Commit graph

292 commits

Author SHA1 Message Date
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
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 834964c659 Convert IRCd to C++
Happy 28th birthday. You're all grown up.
2016-07-22 19:46:27 -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
Elizabeth Myers 7445ece1d1
Revert "Implement the netsplit batch type."
This needs more work, see
https://github.com/ircv3/ircv3-specifications/issues/253

This reverts commit 2373891299.
2016-04-16 11:05:00 -05:00
Elizabeth Myers 2373891299
Implement the netsplit batch type.
This also lays the groundwork for the netjoin batch type, but that isn't
implemented yet. I don't like how some of this is implemented but it'll
have to do for now...

Compile tested, needs more testing.
2016-04-15 16:50:43 -05:00
Elizabeth Myers 78946542bb modules: move module loading/unloading commands to dedicated module.
There's no reason to really have these in the main ircd anymore, static
modules are dead and aren't coming back.

To ensure people don't do something hopelessly retarded, this is a core
module.
2016-04-07 04:00:25 -05:00
Elizabeth Myers b663a8070f Move alias handling into a dedicated module.
Not yet tested, caveat emptor!

Closes #166
2016-04-06 07:27:50 -05:00
Elizabeth Myers 0ed0a9fe0a Move m_locops module to extensions.
Many networks do not use local ops and therefore should not be required
to have this around all the time.
2016-04-02 05:20:30 -05:00
Elizabeth Myers fea4e2d2a8 modules: libircd depends on librb, so no need to include it.
This triggers multiple inclusion warnings on Solaris also.
2016-03-23 13:59:45 -05:00
William Pitcock f2d5cea00a modules: remove explicit CPRIVMSG/CNOTICE, this has been obsolete for a long time 2016-03-10 02:13:43 -06:00
William Pitcock c83f2f5e12 rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -06:00
William Pitcock 4bdf963cdc modules: add cap_server_time, adding server-time cap support 2016-02-27 02:31:38 -06:00
William Pitcock 815fbc146f modules/cap_account_tag: new module providing the account-tag cap as a proof of concept 2016-02-20 17:44:46 -06:00
William Pitcock fe749d3709 ircd: implement GRANT subsystem based on ircd-seven 2016-01-11 23:02:03 -06:00
William Pitcock a886cb82fb buildsystem: more LTDLINCL fixes 2016-01-08 06:57:45 -06:00
William Pitcock ff12cc9479 rename src to ircd, libcore to libircd 2016-01-06 01:16:08 -06:00
William Pitcock bc38c72ced buildsystem: build ircd itself as a library to allow removal of -undefined suppress on OS X 2016-01-05 21:31:21 -06:00
William Pitcock c52df12552 buildsystem: convert to automake + libtool 2016-01-05 21:20:25 -06:00