0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-03 12:28:52 +01:00
Commit graph

1323 commits

Author SHA1 Message Date
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