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
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