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