0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-27 17:22:36 +01:00
Commit graph

2042 commits

Author SHA1 Message Date
Jason Volk
1059688d02 ircd::ctx: Add state for stack usage profiling; clarify some interfaces. 2018-05-05 23:14:11 -07:00
Jason Volk
f55304e0a1 ircd::ctx: Add slice total counter; move check_stack after timing sample. 2018-05-05 22:42:25 -07:00
Jason Volk
2167311b2e modules/console: Add fed state args for auth/state and output spacing. 2018-05-05 22:24:25 -07:00
Jason Volk
a3a628c439 modules/console: Add fed state arguments for auth and state. 2018-05-05 22:24:25 -07:00
Jason Volk
1bde28ac17 modules/console: Add event content argument for more detail. 2018-05-05 22:24:25 -07:00
Jason Volk
ea42490b4e ircd::ctx: Consolidate slice timing to tsc; add public interfacing. 2018-05-05 22:24:25 -07:00
Jason Volk
c98481c334 modules/console: Improve feds state output. 2018-05-05 16:49:17 -07:00
Jason Volk
4647e5f1cb modules/console: Checkpoint feds state w/ count output only. 2018-05-05 03:58:59 -07:00
Jason Volk
39d73fac3e modules/federation/federation: Add feds state. 2018-05-05 03:36:47 -07:00
Jason Volk
18634c122b modules/federation/federation: Improve version; move ostream to modules/console. 2018-05-05 03:36:47 -07:00
Jason Volk
f320cbf05d modules/console: Update the room head cmd. 2018-05-04 20:57:28 -07:00
Jason Volk
85db62ff17 modules/console: Add event bad cmd. 2018-05-04 20:43:05 -07:00
Jason Volk
96b84e30ef modules/m_presence: Fix nothrow to not error on usefulness check. 2018-05-04 20:43:05 -07:00
Jason Volk
7f4716c5e5 modules/client/sync: Use a real error log message on polylog sync backout. 2018-05-03 20:11:16 -07:00
Jason Volk
6432245abd modules/s_control: Workaround some issues with output for now. 2018-05-02 22:22:12 -07:00
Jason Volk
fb53069c6f ircd::net::dns Include query in callback arguments to prevent any stale captures. 2018-05-01 18:56:22 -07:00
Jason Volk
25c43b6aa2 modules/console: Add host prefetch by room to cache warm for testing etc. 2018-05-01 14:51:13 -07:00
Jason Volk
f40831c8e6 modules/console: Alias host with net__host for ux. 2018-05-01 14:50:52 -07:00
Jason Volk
7e694c0a50 modules/federation/backfill: Cleanup; increase default limit. 2018-04-30 23:35:53 -07:00
Jason Volk
a03e467cff modules/console: Fetch a head event id as default to feds backfill param. 2018-04-30 22:49:29 -07:00
Jason Volk
1aa3c68724 modules/console: Remove branch for members iteration arguments. 2018-04-30 22:48:30 -07:00
Jason Volk
6a3f30afb6 modules/federation/federation: Improve format of backfill grid. 2018-04-30 22:40:48 -07:00
Jason Volk
6036af66b8 modules/federation: Fix state related event_id parameter. 2018-04-30 10:45:41 -07:00
Jason Volk
fb96f017b7 modules/client/rooms/messages: Chunk direct to socket. 2018-04-30 10:40:52 -07:00
Jason Volk
87f792b8eb modules/federation/backfill_ids: Chunk direct to socket. 2018-04-30 10:38:00 -07:00
Jason Volk
7e96e00184 modules/federation/state_ids: Chunk direct to socket. 2018-04-30 10:35:04 -07:00
Jason Volk
4a25f3be72 modules/federation/backfill: Chunk direct to socket. 2018-04-30 10:25:44 -07:00
Jason Volk
8daa14c2b1 modules/federation/state: Chunk direct to socket. 2018-04-30 10:25:31 -07:00
Jason Volk
de838e982d modules/federation/federation: Show depth in feds head; cleanup unused returns. 2018-04-30 08:54:56 -07:00
Jason Volk
c03ca13f17 modules/federation/federation: Add feds backfill event grid w/ cmd. 2018-04-30 08:51:03 -07:00
Jason Volk
8432d022f5 modules/federation/federation: Improve feds head output. 2018-04-30 08:07:33 -07:00
Jason Volk
65786b77ea modules/media: Add a block database and remove local fs related. 2018-04-30 07:31:11 -07:00
Jason Volk
e6a204263e modules/media: Convey a user_id through the download stack for the file room. 2018-04-30 07:30:34 -07:00
Jason Volk
ec4453404e modules/federation/federation: Split feds version request / response. 2018-04-30 05:43:56 -07:00
Jason Volk
bc5ab4a1b1 modules/federation/federation: Add feds head w/ cmd. 2018-04-30 05:31:38 -07:00
Jason Volk
42b9f06edb modules/federation/federation: Fix references of the origin into the remote. 2018-04-30 05:30:50 -07:00
Jason Volk
44b72023af modules/console: Add room members read cmd. 2018-04-28 21:18:52 -07:00
Jason Volk
cee9130108 modules/m_presence: Demote error log facility for this handler. 2018-04-28 02:47:21 -07:00
Jason Volk
16f16678d8 modules/m_receipt: Shuffle around elements of the receipt vector. 2018-04-28 02:46:11 -07:00
Jason Volk
42f10271ae modules/console: Add placement parameters in some room cmds. 2018-04-28 02:44:07 -07:00
Jason Volk
ec80e3ddef modules/console: Add room send (non-state) cmd. 2018-04-28 00:18:30 -07:00
Jason Volk
54caba349a modules/s_control: Remove unused conf room id buf here. 2018-04-27 21:48:14 -07:00
Jason Volk
49a2cddc45 modules: federation/federation library; move feds commands (prelim). 2018-04-27 18:02:42 -07:00
Jason Volk
bfbeb388f2 modules/console: Fix the fed head user_id argument. 2018-04-27 16:52:02 -07:00
Jason Volk
019628c8a3 modules/m_presence: Ignore presence spam. 2018-04-27 15:27:30 -07:00
Jason Volk
25d6c4d521 modules/client/presence: Stub my user's presence changed hook. 2018-04-27 15:27:09 -07:00
Jason Volk
70f962de4e ircd:Ⓜ️ Elaborate presence interface to fetch full event from user's room. 2018-04-27 15:26:17 -07:00
Jason Volk
8cf95a6ba0 modules/media: Add file download command. 2018-04-27 14:40:44 -07:00
Jason Volk
9168477e69 modules/console: Update room count w/ standard event_filter jsons. 2018-04-26 22:07:03 -07:00
Jason Volk
412c12fd69 modules/console: Fix the state dfs cmd rot. 2018-04-26 21:35:55 -07:00
Jason Volk
4c2f90273a modules/console: Rename room messages to events; add room roots; add special opt. 2018-04-26 21:35:55 -07:00
Jason Volk
8083a5d71c ircd::db: Add WAL fflush; move table flushes to "sort()"; adjust interfaces. 2018-04-26 17:19:29 -07:00
Jason Volk
2625a81279 modules/console: Add hook list / hook base cmd. 2018-04-26 15:32:47 -07:00
Jason Volk
63e662606a modules/console: Add room create cmd. 2018-04-26 15:09:30 -07:00
Jason Volk
e6b06a4522 modules/client/profile: Return 200 rather than 304 for put profile dups. 2018-04-26 03:51:15 -07:00
Jason Volk
d6ce6d9b43 modules/console: Various param improvements. 2018-04-25 23:35:46 -07:00
Jason Volk
bf68626712 modules/media: Distill out download stack w/ concurrent request barrier. 2018-04-25 22:03:50 -07:00
Jason Volk
bffff30ac3 modules/media: Additional checks / cleanup. 2018-04-25 20:52:26 -07:00
Jason Volk
4d3999b7b8 modules/root: Use regular encoding for static content w/ known size. 2018-04-25 18:17:29 -07:00
Jason Volk
bc79fabfef modules/media: Add error logging; various cleanup. 2018-04-24 18:26:35 -07:00
Jason Volk
96b353fa44 modules/console: Add file room cmd to get file room id. 2018-04-24 18:00:11 -07:00
Jason Volk
40a3263ad9 modules/console: Add a feds resend cmd to reaccept direct to sender. 2018-04-24 17:43:45 -07:00
Jason Volk
a068857bb9 modules/media: Provide suitable extern linkage for file_room_id. 2018-04-24 17:41:51 -07:00
Jason Volk
2b6fd1c985 modules/console: Allow lists of module names to mod cmds. 2018-04-24 17:41:25 -07:00
Jason Volk
db21df0c31 ircd: Move mapi.h into mods/. 2018-04-24 01:21:16 -07:00
Jason Volk
0da3b60823 modules/console: Add console command to output user's room's origins. 2018-04-23 19:50:21 -07:00
Jason Volk
6aebe1f01e modules/client/presence: Make redundant status return normally. 2018-04-23 19:17:03 -07:00
Jason Volk
1e0d17935b modules/console: Supply index for event erase write operation. 2018-04-23 18:15:18 -07:00
Jason Volk
d534ee8afa modules/client/presence: Check for redundant status updates from client. 2018-04-23 17:50:47 -07:00
Jason Volk
ed7375a653 modules/s_control: Move conf commands over to modules/console. 2018-04-23 17:20:00 -07:00
Jason Volk
1ab361a733 modules/console: Split net host cache cmd to participate in cmd tree. 2018-04-23 17:20:00 -07:00
Jason Volk
9817a41c18 modules/console: Add log base cmd w/ list of named loggers and status. 2018-04-23 17:20:00 -07:00
Jason Volk
bb0659fd83 modules/console: Add log level adjustment command. 2018-04-23 17:20:00 -07:00
Jason Volk
7e27be36d9 modules/console: Add log mask cmd suite; recategorize log mark cmd under log. 2018-04-23 17:20:00 -07:00
Jason Volk
f9e449dbf5 modules/client/presence: Various cleanup/reorg. 2018-04-23 17:20:00 -07:00
Jason Volk
5b8b35a7c6 modules/client/profile: Nothrow for the existing value check on profile update. 2018-04-23 01:58:54 -07:00
Jason Volk
bfba0ada0c modules/media: Add preview_url stub-plus. 2018-04-23 00:47:03 -07:00
Jason Volk
18e9c792be modules/client/sync: Handle timeout from acceptor dock. 2018-04-22 21:54:06 -07:00
Jason Volk
a5ebd50f55 modules/media: Additional argument to separate server name from actual remote. 2018-04-22 21:10:31 -07:00
Jason Volk
05369c5d3a modules/media: Various cleanup / reenable assertions. 2018-04-22 21:10:31 -07:00
Jason Volk
f808a28664 ircd: Add m/m.h to stdinc.h 2018-04-22 16:22:02 -07:00
Jason Volk
87bd9bc429 ircd:Ⓜ️ Add conf init sequence for m::self related. 2018-04-22 15:18:05 -07:00
Jason Volk
246e20d624 modules/client/rooms/initialsync: Use a conf item here fwiw. 2018-04-21 23:55:27 -07:00
Jason Volk
6dfe99e8e2 modules/publicrooms: Checkin the argument parsing half of this stub. 2018-04-21 23:53:36 -07:00
Jason Volk
9a9420aed7 modules/m_typing: Checkpoint the typing feedback reevaluation. 2018-04-21 23:51:37 -07:00
Jason Volk
5f2e8056d9 modules/client/sync: Checkpoint synchronous longpoll / polylog / prelim linear. 2018-04-21 23:50:16 -07:00
Jason Volk
795f0488e4 modules/s_conf: Handle exception on the update hook. 2018-04-21 22:54:37 -07:00
Jason Volk
bd3e004d70 modules/client/profile: Duplicate check for client put; extended timeout. 2018-04-21 17:28:48 -07:00
Jason Volk
3d5c8a5a2f modules/m_receipt: Deconflict receipt user_room type; add usefulness detection. 2018-04-21 16:52:19 -07:00
Jason Volk
d031d7eec5 modules/client/profile: Update profile for all rooms hook. 2018-04-21 15:45:49 -07:00
Jason Volk
8ced86e503 modules/media/upload: File media in a file room. 2018-04-21 15:22:43 -07:00
Jason Volk
d35a0190f7 modules/media: Add checks for empty parameters / bogus file room hash. 2018-04-21 00:53:08 -07:00
Jason Volk
79e2e698e0 modules/media/download: Get local media from a file room. 2018-04-21 00:51:51 -07:00
Jason Volk
0c7b5effaf modules/console: Plug in some of the command-by-mxid stubs. 2018-04-20 23:54:22 -07:00
Jason Volk
f9c00e4f25 modules/console: Add cmd to iterate room members by origin. 2018-04-20 23:54:22 -07:00
Jason Volk
6b32da764d ircd::client: Remove the asynchronous longpoll state. 2018-04-20 19:54:18 -07:00
Jason Volk
9e9a1449ee modules/console: Add cmd to set column or database runtime options. 2018-04-20 15:22:50 -07:00
Jason Volk
47df72b69b modules/console: Add cmd to mark the log. 2018-04-20 15:22:50 -07:00
Jason Volk
6f90708e46 modules/console: Add cmd to dump info to log. 2018-04-20 15:22:50 -07:00
Jason Volk
fcf17db132 ircd: Various fixes / cleanup. 2018-04-20 15:22:49 -07:00
Jason Volk
885e46788b modules/console: Add ctx interrupt cmd. 2018-04-20 00:51:21 -07:00
Jason Volk
e586e22007 modules/console: Add event cmd idx argument. 2018-04-20 00:44:45 -07:00
Jason Volk
f66acf6f8e modules/console: Add ctx base cmd w/ fallback to ctx list. 2018-04-20 00:44:45 -07:00
Jason Volk
0d4176a960 modules/console: Add events subcommand accepting filter-JSON argument. 2018-04-19 14:23:47 -07:00
Jason Volk
a91c4314d4 modules/console: Add room top command. 2018-04-18 15:05:15 -07:00
Jason Volk
02bc9032e8 ircd:Ⓜ️ Add event::idx to top() tuple. 2018-04-18 15:04:46 -07:00
Jason Volk
7659ef3acc ircd:Ⓜ️ Reorder top() tuple; use strong type template std::get'ers. 2018-04-18 15:03:42 -07:00
Jason Volk
7b514deb80 modules/console: Add db base cmd w/ delegation to db list for empty arguments. 2018-04-18 14:27:18 -07:00
Jason Volk
7f3919dd17 ircd:Ⓜ️ Split events iterations into namespace. 2018-04-18 01:25:54 -07:00
Jason Volk
3b7b6f815e modules/console: Add db bytes command. 2018-04-17 14:14:00 -07:00
Jason Volk
359ff91316 modules/console: Add db stats convenience command to passthru to prop rocksdb.stats. 2018-04-17 13:43:10 -07:00
Jason Volk
5b09cdc264 modules/client: Stub various lies to quiet errors in Riot. 2018-04-17 01:15:30 -07:00
Jason Volk
f0be8745b7 modules/console: Convert event dumper to use vm sequence iteration. 2018-04-16 23:30:14 -07:00
Jason Volk
00b46a8885 modules/client/sync: Checkpoint preliminary stateless incremental sync exhibit. 2018-04-16 17:57:41 -07:00
Jason Volk
f06505a967 modules/console: Basic vm events iteration command. 2018-04-16 16:01:10 -07:00
Jason Volk
e009d6763e ircd::db: Fix issues with txn interface. 2018-04-16 15:20:08 -07:00
Jason Volk
39a5272ee3 modules/console: Improve the events database dump process. 2018-04-15 22:33:44 -07:00
Jason Volk
0504962248 modules/m_presence: Basic exception handling for the edu hook. 2018-04-15 19:58:07 -07:00
Jason Volk
d6e5723014 modules/federation/sender: Fix various issues; propagate context interruption. 2018-04-15 18:02:41 -07:00
Jason Volk
19d7e05605 ircd::resource: Allow each resource method to specify its timing. 2018-04-15 18:02:41 -07:00
Jason Volk
7b54dba291 ircd::db: Expose an interface for some counters; add ticker command. 2018-04-15 16:43:09 -07:00
Jason Volk
0c78bf7a9b ircd::db: Add compaction interface. 2018-04-15 02:42:57 -07:00
Jason Volk
f0dc31d284 modules/console: Add ability to query prop for all columns with "**" key. 2018-04-14 22:01:25 -07:00
Jason Volk
3b7816763e modules/console: Tweak formatting for net host cache list. 2018-04-14 18:17:02 -07:00
Jason Volk
ee5c1f27f2 modules/console: Improve formatting for client list output. 2018-04-14 17:34:07 -07:00
Jason Volk
428e209995 modules/console: Filter error peers by default unless argument. 2018-04-14 00:51:58 -07:00
Jason Volk
f4015c597e modules/console: Make mod list the mod base cmd. 2018-04-14 00:51:30 -07:00
Jason Volk
367776ee2d modules/root: Checkpoint cleanup; don't use response::chunked here though:
resource::response::chunked is not used here because if the file is small a
fixed content-length is used rather than chunked-encoding.
2018-04-14 00:25:09 -07:00
Jason Volk
431d5cfc02 modules/console: Add feds version command. 2018-04-13 23:55:38 -07:00
Jason Volk
d9a73f3604 modules/client/initialsync: Reorient base frame for resource::response::chunked. 2018-04-13 23:20:46 -07:00
Jason Volk
e35338b5b2 modules/console: Improve room messages command; incorporate limit argument. 2018-04-13 22:46:31 -07:00
Jason Volk
b95c27826b modules/console: Command to only iterate peers with errors. 2018-04-13 20:02:48 -07:00
Jason Volk
db8972c0ef modules/console: Add client base command to explore the client::list. 2018-04-13 17:40:37 -07:00
Jason Volk
1143789f35 modules/console: Move net peer commands out of net; increase net host cache output widths. 2018-04-13 16:31:37 -07:00
Jason Volk
3f48d3b70a modules/federation/send: Tweak pdu evaluation logging options. 2018-04-13 16:22:13 -07:00
Jason Volk
7b22f65e86 modules/client/initialsync: Terminate client on initialsync exception. 2018-04-13 16:16:07 -07:00
Jason Volk
14d90bf4a9 ircd:Ⓜ️:vm: Move temporary m.room.member effect to modules/m_room_member. 2018-04-13 14:54:11 -07:00
Jason Volk
f557f26322 modules/console: Rename exec cmd to eval; add eval base cmd. 2018-04-13 14:47:17 -07:00
Jason Volk
16239f5e0b modules/client/initialsync: Special case the invite_state key. 2018-04-13 14:45:02 -07:00
Jason Volk
d07da44718 modules/console: Add user rooms command. 2018-04-13 14:04:36 -07:00
Jason Volk
90597bc59c modules/console: Complete the db prop command. 2018-04-12 23:07:45 -07:00
Jason Volk
dc2bd4f66e modules/media: Distill out some current media room functionality. 2018-04-12 23:07:45 -07:00
Jason Volk
9a6dbca127 modules/m_typing: Promote the typing log facility. 2018-04-12 23:07:45 -07:00
Jason Volk
a8b143d6c2 modules/media: Consolidate media modules for easier linkages. 2018-04-12 23:07:45 -07:00
Jason Volk
a08684c9e7 modules/client/initialsync: Involve m.receipt m.read for room ephemeral events. 2018-04-12 23:07:45 -07:00
Jason Volk
7bb187eb17 modules/client/initialsync: Remove unnecessary unquote() for object. 2018-04-12 14:15:05 -07:00
Jason Volk
345870feb9 modules/console: Add basic user read command. 2018-04-12 02:38:56 -07:00
Jason Volk
a41420d9e5 modules/console: Add user presence iteration command. 2018-04-12 02:27:31 -07:00
Jason Volk
5c2b31f93d modules/m_presence: Promote the log message facility. 2018-04-12 01:12:02 -07:00
Jason Volk
e6888779c9 modules/client/presence: Make m.presence a state singleton in the user's room. 2018-04-12 00:38:18 -07:00
Jason Volk
ef2b4d041b modules/client/initialsync: Catch and log error which broke sync for user reporting. 2018-04-11 23:40:30 -07:00
Jason Volk
1f49f3c193 modules/client/initialsync: Involve presence in initialsync. 2018-04-11 23:40:30 -07:00
Jason Volk
82ef048d3f ircd:Ⓜ️ More complete presence interface getter interface stack. 2018-04-11 23:09:49 -07:00
Jason Volk
55e4a8fcaf ircd:Ⓜ️ Split user's rooms iteration into separate interface. 2018-04-11 15:38:01 -07:00
Jason Volk
e9df8b699c ircd:Ⓜ️ Add user room membership convenience interface; apply. 2018-04-11 14:18:38 -07:00
Jason Volk
777525f85a modules/client/initialsync: Sync global account_data from user's room; minor cleanup. 2018-04-11 13:16:07 -07:00
Jason Volk
b305e72cef modules/console: Add feds event command with existential consensus report. 2018-04-11 01:28:01 -07:00
Jason Volk
8dd0c56f7d modules/console: Various fixes; buffer size; params. 2018-04-10 21:04:52 -07:00
Jason Volk
9ed97730e6 modules/console: Command to clear all peer errors. 2018-04-10 21:04:25 -07:00
Jason Volk
fff36e0d42 modules/client/initialsync: Chunked encoded streamed json initial sync. 2018-04-10 19:32:56 -07:00
Jason Volk
ab0839c018 modules/client/initialsync: Initial json::stack initial sync stack. 2018-04-10 15:31:10 -07:00
Jason Volk
acf8cf5ae6 modules/client/sync: Checkpoint scaffold non-initial sync w/ initial linkage. 2018-04-10 15:31:10 -07:00
Jason Volk
d4e35476a3 modules/client: Preliminary 6.2.3 /initialSync composite. 2018-04-10 13:15:19 -07:00
Jason Volk
d12b4bd259 modules/console: db flush and sync commands. 2018-04-09 21:23:54 -07:00
Jason Volk
4b201b026e modules/console: Preliminary rooms list base command. 2018-04-09 20:12:03 -07:00
Jason Volk
3ef23fd86b modules/m_presence: Demote the log facility for this warning. 2018-04-09 15:57:08 -07:00
Jason Volk
37a126915b modules/client/user: Validate user path parameter for now. 2018-04-08 22:11:29 -07:00
Jason Volk
7fb3047f68 ircd:Ⓜ️ 11.18.2.1 account_data w/ central linkage. 2018-04-08 22:11:29 -07:00
Jason Volk
564338b2fe modules/console: Add fed public_rooms command. 2018-04-08 22:11:28 -07:00
Jason Volk
8bf7c05ed8 modules/federation/send: Undefined the depth value when creating the edu pseudo-event. 2018-04-08 13:00:35 -07:00
Jason Volk
130c4970b6 modules/console: Sort fed event_auth output by depth. 2018-04-08 12:52:27 -07:00
Jason Volk
9df6d127af ircd:Ⓜ️:v1: event_auth convenience conversion; fed event_auth output. 2018-04-08 12:45:05 -07:00
Jason Volk
99ce3232d4 modules/console: Fix errors. 2018-04-08 12:41:26 -07:00
Jason Volk
d7b3a56882 modules/console: Improve room get (event) cmd; use params; add output opts. 2018-04-08 12:35:27 -07:00
Jason Volk
b497ce35da modules/console: Add fed event_auth command. 2018-04-08 12:35:27 -07:00
Jason Volk
c372b45857 modules/m_presence: For some reason this never looped but feels like it will one day. 2018-04-07 09:57:08 -07:00
Jason Volk
389d5a9f18 modules/client/rooms/receipt: Check for duplicate receipts on commission. 2018-04-07 09:57:08 -07:00
Jason Volk
cb73ba1d10 modules/m_receipt: Send read receipts to the user's room. 2018-04-07 09:57:08 -07:00
Jason Volk
2770c19ac2 modules/console: Source all timeout values from the options structure. 2018-04-07 02:01:04 -07:00
Jason Volk
e7c7a295c4 modules/console: Add an eval option to fed event. 2018-04-07 02:00:30 -07:00
Jason Volk
ac0d7e9a78 modules/console: Minor fixes. 2018-04-07 02:00:08 -07:00
Jason Volk
58af1ae88c construct;modules/s_control: Fix output stream related. 2018-04-06 23:35:09 -07:00
Jason Volk
ade6ad79d9 modules/console: Support alias to id translation for room cmd suite. 2018-04-06 22:23:18 -07:00
Jason Volk
76e5543efa modules/console: Support alias to id translation for fed command suite. 2018-04-06 22:23:18 -07:00
Jason Volk
124102bf2f modules/console: Add fed send command. 2018-04-06 22:23:18 -07:00
Jason Volk
904ec2455f modules/console: Add a fed sync command. 2018-04-06 03:43:31 -07:00
Jason Volk
d3e6b20f14 ircd:Ⓜ️:vm: Distill vm::opts::commit extension from vm::opts. 2018-04-05 23:14:30 -07:00
Jason Volk
c849a30aa1 ircd:Ⓜ️ Improve interface to current event convenience suite. 2018-04-05 22:16:32 -07:00
Jason Volk
8d0681e7b1 ircd::ctx: Eliminate the std future_status and simplify our real-use interfaces. 2018-04-05 22:16:32 -07:00
Jason Volk
022bf95f7f modules/console: Fix fed__head remote opt; various cleanup; named params. 2018-04-05 21:16:51 -07:00
Jason Volk
e6e8a07e99 modules/console: Catch params exception for output to ostream rather than ircd::log. 2018-04-05 20:17:10 -07:00
Jason Volk
f38ed34533 modules/console: Minor cleanup; comments. 2018-04-05 20:01:13 -07:00
Jason Volk
ddeeaf174f modules/client/rooms/invite: Remove unnecessary vararg. 2018-04-05 04:16:13 -07:00
Jason Volk
257276d082 modules/federation: Add backfill_ids endpoint handler. 2018-04-04 22:54:59 -07:00
Jason Volk
aaf4c1f76b modules/console: Add user activation command suite. 2018-04-04 22:54:59 -07:00
Jason Volk
3d056c66d6 modules/console: Relax head/history eval opts for manual fed state/backfill. 2018-04-04 22:54:59 -07:00
Jason Volk
1217d48fc1 modules/console: Add command to change a user's password. 2018-04-04 22:54:59 -07:00
Jason Volk
9fa017e3aa modules/console: Use named params to parse room__set cmd args. 2018-04-04 22:54:59 -07:00
Jason Volk
14608f4c6b modules/client/directory/room: Rewrite json::not_found; move cacher to after. 2018-04-04 22:54:58 -07:00
Jason Volk
7fef6f5f10 modules/client/rooms/messages: json::stack retrofit. 2018-04-04 22:54:58 -07:00
Jason Volk
ca75899407 modules/federation: Backfill. 2018-04-04 22:54:58 -07:00
Jason Volk
ba8171ce63 modules/federation/send_join: Populate the auth_chain array in response. 2018-04-04 22:54:58 -07:00
Jason Volk
1a0c359a6d modules/federation/make_join: Spit out some auth_event for synapse to chew on. 2018-04-04 22:54:58 -07:00
Jason Volk
d09e0dedde modules/federation: Check if origin matches the verified X-Matrix origin for now. 2018-04-04 22:54:58 -07:00
Jason Volk
4ef168386b modules/federation/make_leave: Add missing structure. 2018-04-04 22:54:58 -07:00
Jason Volk
184d00f985 modules/key/server: Only run the seed test ifdef RB_DEBUG. 2018-04-04 01:27:45 -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
c929a39795 modules/federation/invite: Check path parameters match event in body. 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
ad9a5f731a modules/m_room_member: Eval foreign invites; committer in modules/client/rooms/invite. 2018-04-03 17:27:34 -07:00
Jason Volk
e78f08e8ff modules/m_room_member: Add mapi header to module. 2018-04-03 17:18:20 -07:00
Jason Volk
b90d4230ca modules/client/rooms/invite: Add invite commit / handler w/ central linkage. 2018-04-03 12:56:46 -07:00
Jason Volk
86b0f8248f modules/console: Add db command to list files. 2018-04-03 11:52:14 -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
ded4ed507e modules/client/profile: Rewrite m::NOT_FOUND propagation for appropos response. 2018-04-02 22:12:25 -07:00
Jason Volk
7b38d216b4 ircd:Ⓜ️:v1: Fix user devices query and associated console cmd. 2018-04-02 18:40:52 -07:00
Jason Volk
7392469cad modules/console: Fix missing event_id argument option in fed state cmd. 2018-04-02 18:40:52 -07:00
Jason Volk
37ab0ad00d modules/console: Add fed command to get state ids. 2018-04-02 18:40:52 -07:00
Jason Volk
ebdb0896bb client: Checkin disable sending of read receipt for now. 2018-04-02 16:00:05 -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
15b995cee8 modules/m_presence: Move presence committer/getter into client/presence. 2018-03-28 22:17:09 -07:00
Jason Volk
d48f46a0ac modules/m_typing: Move m.typing committer into client/rooms/typing. 2018-03-28 22:17:09 -07:00
Jason Volk
cbc4852e16 modules/m_receipt: Move m.receipt committer into client/ 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
46ef2231ab ircd:Ⓜ️ Add a vm::opts* to m:room as a vehicle for opts to eval. 2018-03-28 22:17:09 -07:00
Jason Volk
b938669ba3 modules/federation/send: Remove unnecessary exception handler here. 2018-03-28 18:12:34 -07:00
Jason Volk
16154a21df modules/console: Command to unload a loaded module; + report on reload. 2018-03-28 01:29:58 -07:00
Jason Volk
09f345c7b9 modules/console: Add fed groups console command. 2018-03-28 01:29:58 -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
fc212e8399 modules/console: Command to load a module that isn't already loaded. 2018-03-28 00:13:32 -07:00
Jason Volk
98c9e199da modules/console: Add command to list deltas in a single txn by seqnum. 2018-03-27 21:44:01 -07:00
Jason Volk
ce715f62c7 modules/console: Add manual room join w/ injection placement event_id. 2018-03-27 21:44:01 -07:00
Jason Volk
ff1fe4284d ircd:Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join. 2018-03-27 21:44:01 -07:00
Jason Volk
b49cdb84e8 modules/federation/sender: Synchronize with vm accept under shared lock. 2018-03-27 01:50:17 -07:00
Jason Volk
47edaed3a6 ircd::server: Add stats for total bytes up and down to peer and links. 2018-03-26 23:29:58 -07:00
Jason Volk
270120c922 ircd::server: Rename _total() to _size() for bytes accounting. 2018-03-26 23:29:58 -07:00
Jason Volk
275fe9d957 modules/client/rooms/read_markers: Handle room_id has read marker. 2018-03-26 23:29:58 -07:00
Jason Volk
80278462e3 modules/federation/sender: Remember how to use own synchronization primitives; fix origin call. 2018-03-26 23:29:57 -07:00
Jason Volk
32f99e75d9 modules/root: Disconnect the client for errors here for now. 2018-03-26 02:33:33 -07:00
Jason Volk
04b4a379bb modules/m_receipt: Checkpoint another level of the madness. 2018-03-26 02:23:20 -07:00
Jason Volk
16483aaea2 modules/console: Support alternative HTML output; start with 'net peer'. 2018-03-26 00:33:26 -07:00
Jason Volk
1ceaa73e5b modules/console: Extend arguments for options string. 2018-03-26 00:12:16 -07:00
Jason Volk
68382cb209 modules/console: Permute the output type again, now with custom wrapper. 2018-03-26 00:04:47 -07:00
Jason Volk
60a28ab5a8 modules/console: Eliminate output stream global; improve output related; various cleanup. 2018-03-25 23:40:35 -07:00
Jason Volk
e4194e3589 modules/console: Add room alias type to room id cmd. 2018-03-25 18:33:40 -07:00
Jason Volk
9830a4347b modules/s_control: Plug the console into the control room. 2018-03-25 18:12:17 -07:00
Jason Volk
f7458f5315 modules/console: Self-reflecting console command tree. 2018-03-25 17:59:07 -07:00
Jason Volk
154f7a9f59 modules/console: Command to raw erase event and rel metadata from db. 2018-03-24 23:29:46 -07:00
Jason Volk
907f2d0435 modules/console: Add net__peer__version to list all gathered peer.server_name. 2018-03-24 18:06:03 -07:00
Jason Volk
065370c38a configure.ac: parameter package. 2018-03-24 03:19:16 -07:00
Jason Volk
429095636f modules/console: Fed event cmd hashes and verifies w/ report. 2018-03-23 00:22:05 -07:00
Jason Volk
5d41b4e00b modules/console: Fix fed event remote argument. 2018-03-23 00:19:55 -07:00
Jason Volk
287b5d6374 modules/console: fed state command mimics fed backfill w/ eval. 2018-03-23 00:19:55 -07:00
Jason Volk
635e09c80e modules/console: Add cmd to iterate event_id txns from seq num w/ limit. 2018-03-22 22:27:12 -07:00
Jason Volk
fcbc2bf650 ircd::db: Add database checkpointing feature. 2018-03-22 20:08:50 -07:00
Jason Volk
faefd5dd64 modules/client/join: Add relevant user profile values to join event iov. 2018-03-22 16:28:43 -07:00
Jason Volk
7bfd050131 modules/client/profile: Various cleanup; use profile suite; urldecode key params. 2018-03-22 16:27:42 -07:00
Jason Volk
2116cf6254 ircd:Ⓜ️ Add user::profile suite w/ linkage to modules/client/profile. 2018-03-22 16:27:15 -07:00
Jason Volk
438762ff8e modules/s_control: Use HTML table for conf list. 2018-03-22 15:16:40 -07:00
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
Simon Arlott
00039dcddd
m_alias: store a copy of alias->name as it will be freed on a rehash 2016-04-24 00:09:12 +01:00
Simon Arlott
84e3e445aa
mr_server: Report certificate fingerprint mismatches
Log the received certificate fingerprint when it causes a server to be
rejected.
2016-04-23 17:37:05 +01:00
Simon Arlott
b49efe577c
mr_server: Handle unknown error codes
As mr_server is a module, it could potentially receive an unknown
error code from check_server().
2016-04-23 17:37:04 +01: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
5e9a3f8674
Change the way authd configures opm
It's a bit of a hack, but better than before. Rather than rehashing
(which could get us into an endless loop), we now segregate the
configuration phase (creating entries ircd-side in case we restart authd
later) and sending phases (when configure_authd() is called). Since we
have to call configure_authd() no matter what (to send timeouts etc.)
and we have to send this data to configure authd anyway, and sending
duplicate data is bad, this is the only way I can think of for now.
2016-04-12 09:36:09 -05:00
Mantas Mikulėnas
9d07a42d7a
m_sasl: rate-limit SASL REAUTH usage 2016-04-11 21:45:10 +03:00
Mantas Mikulėnas
834579cecd
m_sasl: fix coding style 2016-04-11 20:12:31 +03:00
Mantas Mikulėnas
37289346cd
m_sasl: temporarily reject clients after many failed attempts 2016-04-11 20:02:09 +03:00
Elizabeth Myers
e34368b1bc modules/m_set: booleanify. 2016-04-10 10:11:03 -05:00
Elizabeth Myers
4eafa9e62f ipv4_from_ipv6: move to librb 2016-04-08 03:49:23 -05:00
Elizabeth Myers
66f7fe673b Get rid of flags2.
It seems to come from an era where long long didn't exist and 64-bit
machines weren't common. 32-bit machines are still common but I can't
imagine this will have much performance impact there.

This "fixes" #179 in title only, but see comments within.
2016-04-07 07:40:55 -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
95b0324658 m_stats: use macros to clean up generating the stats table 2016-04-07 03:27:50 -05:00
Elizabeth Myers
999c42bad8 Remove useless alias_entry hits member 2016-04-06 11:47:13 -05:00
Elizabeth Myers
0d7e4d311a m_stats: don't list alias entries twice. 2016-04-06 11:45:55 -05:00
Elizabeth Myers
9620c6d61c m_alias: fix an assert 2016-04-06 11:43:19 -05:00
Elizabeth Myers
cef7dfc56c m_alias: fix build with --enable-assert 2016-04-06 07:57:20 -05:00
Elizabeth Myers
dd598516c8 m_alias: minor cleanup 2016-04-06 07:33:36 -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
900683650a Static modules are dead, remove this. 2016-04-06 06:30:58 -05:00
Elizabeth Myers
f956cb0f1f Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05:00
Elizabeth Myers
fc9013d6b0 Don't send original error message if we're already on the channel we're forwarding to
Closes #55
2016-04-04 03:08:52 -05:00
Elizabeth Myers
c0483ac17b boolify calls to rehash 2016-04-03 01:53:34 -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
7b4d1de38d Merge branch 'master' into authd-framework 2016-03-28 14:44:47 -05:00
Elizabeth Myers
d3f6b80867 Replace s_auth/blacklist stuff with authd calls
This also does a lot of surgery on the conf system to reconfigure authd.

/!\ WARNING! ACHTUNG! ADVERTENCIA! ATTENTION! AVVERTIMENTO! /!\
This code has not been run-time tested yet (though it compiles)!
2016-03-28 02:11:16 -05:00
Matt Ullman
aa7eff28f2 hash.c: Save some more bytes 2016-03-27 06:29:10 -04:00
William Pitcock
de7cf7e009 ircd: client: substantially rework the connid registry system
now connid's are allocated on demand and clients may have as many connid's as necessary.
this allows us to build chains of helpers while ensuring the ircd properly tracks and GCs the resources.
2016-03-25 19:50:29 -05:00
William Pitcock
704279e429 starttls: use the client connid instead of the FD for opening the channel with ssld 2016-03-24 20:33:54 -05:00
William Pitcock
4d8cfacd95 ircd: start staging for relocatable paths 2016-03-24 18:45:28 -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
Elizabeth Myers
79435744c7 common.h: raison d'être is gone, so out it goes.
Fold whatever was left into ircd_defs.h
2016-03-23 09:33:56 -05:00
Elizabeth Myers
82236a2a65 IRCD_BUFSIZE is redundant with BUFSIZE, so kill it. 2016-03-23 09:22:55 -05:00
Elizabeth Myers
ab31d2b07e Send YES/NO to Davy Jones's Locker. 2016-03-23 08:52:32 -05:00
Elizabeth Myers
2fc6772ee1 typedef-ify rb_radixtree for consistency. 2016-03-23 08:32:22 -05:00
Elizabeth Myers
4177311e6e Change struct Dictionary(*) to rb_dictionary(_\1).
This cleans things up a slightly and puts the dictionary stuff in its
own namespace.
2016-03-23 08:09:58 -05:00
Elizabeth Myers
56f84dedf7 DICTIONARY_FOREACH → RB_DICTIONARY_FOREACH
This is in librb and therefore should be prefixed.
2016-03-23 07:45:44 -05:00
Matt Ullman
66769bc1f8 More cleanup 2016-03-23 00:11:26 -04:00
Matt Ullman
e23126c83b Cleanup warnings 2016-03-21 22:28:41 -04:00
Matt Ullman
ceabbbbf3c m_cap: Remove CLEAR subcommand as per v3 specs 2016-03-21 00:29:07 -04:00
William Pitcock
032ef5ef9e modules: more GET_SS_FAMILY() checking 2016-03-20 04:46:50 -05:00
William Pitcock
2d77d121a3 m_stats: win32 fixes 2016-03-20 02:19:36 -05:00
William Pitcock
1859e9d7d7 ircd: remove basically entirely pointless ServerInfo.hub (closes #167) 2016-03-19 23:05:07 -05:00
Elizabeth Myers
9b8e9eb321 config.h delenda est 2016-03-19 19:14:26 -05:00
Elizabeth Myers
fe4224394e Can IGNORE_BOGUS_TS at the behest of @kaniini and @jilest 2016-03-19 18:55:13 -05:00
William Pitcock
bfc44622c8 ircd: do not shadow internal openssl symbol "ssl_ok" (yeah, i know) 2016-03-19 00:57:32 -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
Elizabeth Myers
3ec1db3785 m_error: use strncasecmp, not strcmp 2016-03-09 18:53:08 -06:00
Elizabeth Myers
788e2d592c m_stats: eliminate special casing of calling the stats L handler. 2016-03-09 17:19:16 -06:00
Mantas Mikulėnas
6f39a80ec6 authd, m_stats: fix command table sizes
There are 256 possible byte values.
2016-03-09 18:15:42 +02:00
Elizabeth Myers
6445c1cf0b rehash: don't restart authd for DNS reloads
This could lead to pretty nasty things, like losing DNS (and in the
future, ident) queries. That's a Bad Thing™.
2016-03-09 03:46:04 -06:00
Elizabeth Myers
5c1dbc3cc3 Fix m_xline [ci skip] 2016-03-09 02:10:23 -06:00
Elizabeth Myers
f66f0baa67 More bool conversions 2016-03-09 02:00:40 -06:00
Elizabeth Myers
05b77c613f m_close: remove dangling return [ci skip] 2016-03-09 01:45:01 -06:00
Elizabeth Myers
b8b72cbdf1 m_chghost: convert more stuff to bool [ci skip] 2016-03-09 01:44:20 -06:00
Elizabeth Myers
550e851c5e Merge branch 'master' of github.com:charybdis-ircd/charybdis into elizafox-cleanups 2016-03-09 01:41:10 -06:00
Elizabeth Myers
3c7d6fcce7 Message handlers should return void.
Also fix up some return values and stuff to use bool (or void if
nothing). I just did it whilst I was here.

According to jilles, the return value used to signify whether or not the
client had exited. This was error-prone and was fixed a long, long time
ago, but the return value was left int for historical reasons.

Since the return type is not used (and has no clear use case anyway),
it's safe to just get rid of it.
2016-03-09 01:37:03 -06:00
Elizabeth Myers
eeabf33a7c Move module description headers to the top
This is cleaner.

Note this was broken out of a much larger piece of work I did, so if
there's any problems, I apologise!
2016-03-09 01:29:41 -06:00
Andrew Wilcox
959f5f368b core/m_error: Be consistent in strncmp usage 2016-03-09 01:08:23 -06:00
Elizabeth Myers
6287d57fa9 s_user: clean up return types and can YES/NO. 2016-03-08 05:06:29 -06:00
Elizabeth Myers
07554369bd Detect stdbool.h and add conformant shims if it isn't available
Charybdis requires C99 already, so it's high time we start using
stdbool. I've converted a few pieces of code already.

A lot of the old code that uses YES/NO should probably be updated too
because that's fucking hideous.
2016-03-08 04:54:04 -06:00
Elizabeth Myers
b3b7401f13 Remove another silly outdated comment [ci skip] 2016-03-08 04:40:46 -06:00
Elizabeth Myers
1235d6848f m_svinfo: remove outdated comment 2016-03-08 04:40:19 -06:00
Elizabeth Myers
963c3faa43 m_stats: kill O(n) lookup on stats. 2016-03-08 04:38:42 -06:00
Elizabeth Myers
55799c6b4d dns: prune worthless function. 2016-03-08 03:25:21 -06:00
Elizabeth Myers
8a26cd1973 dns: clean up awful hacks.
We now have a resolver cache which we init on startup.
2016-03-08 03:22:25 -06:00
Elizabeth Myers
394b8dde17 authd: allow querying the list of DNS servers.
This was an asston of pain, and it still feels "dirty" as it introduces
an async call where there normally wouldn't be one. Better
implementation more than welcome.
2016-03-08 02:53:25 -06:00
Elizabeth Myers
b8e9ac5f5f AV2 description: forgot this one too 2016-03-07 04:13:01 -06:00
Elizabeth Myers
f45f4143f6 m_starttls: fix fucked-up merge 2016-03-07 03:15:50 -06:00
Elizabeth Myers
684725edf5 m_starttls: port to AV2 caps stuff 2016-03-07 03:15:00 -06:00
Elizabeth Myers
fc939ca58f Merge pull request #161 from awilfox/av2desc
Add AV2 descriptions to all modules P-X
2016-03-07 03:10:51 -06:00
Andrew Wilcox
893806a6ea modules: Add AV2 description to m_xline 2016-03-07 02:54:54 -06:00
Andrew Wilcox
3bf449fe26 modules: Add AV2 descriptions for m_w* modules 2016-03-07 02:53:27 -06:00
Andrew Wilcox
ae5695cdcb m_time and m_user: Fix small typo 2016-03-07 02:53:16 -06:00
Elizabeth Myers
1fe7d6083d AV2 descriptions for m_[no]* 2016-03-07 02:45:37 -06:00
Andrew Wilcox
78624ddf8d modules: Add AV2 description to m_version 2016-03-07 02:45:00 -06:00
Andrew Wilcox
4855e957c5 modules: Add AV2 descriptions to all m_u* modules 2016-03-07 02:43:11 -06:00
Elizabeth Myers
bc89faebd1 m_map: oops... 2016-03-07 02:37:33 -06:00
Elizabeth Myers
f5ebe640bc Add AV2 descriptions to m_[l-m]* 2016-03-07 02:34:00 -06:00
Andrew Wilcox
be9c397952 modules: Add AV2 descriptions to all m_t* modules 2016-03-07 02:27:32 -06:00
Elizabeth Myers
f1156bf07a Do AV2 descriptions for m_[i-k]* 2016-03-07 02:11:50 -06:00
Elizabeth Myers
df1f1212a8 m_invite: update for AV2 2016-03-07 02:09:21 -06:00
Andrew Wilcox
3abc337fe1 modules: Add AV2 descriptions to all m_s* modules 2016-03-07 02:05:28 -06:00
Elizabeth Myers
9fd8e7cbc9 Do AV2 strings for m_[d-h]* 2016-03-07 01:59:08 -06:00
Andrew Wilcox
114d98b3cc modules: Add AV2 descriptions to all m_r* modules 2016-03-07 01:52:45 -06:00