0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-10 12:38:36 +02:00
Commit graph

1428 commits

Author SHA1 Message Date
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
Elizabeth Myers 5544da98b8 Add AV2 descriptions to all m_c* modules. 2016-03-07 01:52:16 -06:00
Andrew Wilcox d5d3540913 modules: Add AV2 descriptions to all m_p* modules 2016-03-07 01:47:40 -06:00
Elizabeth Myers 3c88406edc Do a few more AV2 descriptions in modules. 2016-03-07 01:38:14 -06:00
Elizabeth Myers b212d71344 chm_noctcp: add AV2 string 2016-03-07 01:32:19 -06:00
Elizabeth Myers 4a0944732a chm_nocolour: add AV2 docs 2016-03-07 01:31:27 -06:00
Elizabeth Myers 4491f53665 Merge branch 'av2desc' of https://github.com/awilfox/charybdis into awilfox-av2desc 2016-03-07 01:20:49 -06:00
Elizabeth Myers 0466682f92 m_quit: add desc string 2016-03-07 01:17:30 -06:00
Elizabeth Myers ee6dcb0514 Add more core module descriptions 2016-03-07 01:16:24 -06:00
Andrew Wilcox 42c9851a5d core/m_squit: Add AV2 description 2016-03-07 01:09:07 -06:00
Andrew Wilcox 51588bbc9f core/m_server: Add AV2 description 2016-03-07 01:06:39 -06:00
Andrew Wilcox 4dc7383a2f core/m_quit: Add AV2 description 2016-03-07 01:06:39 -06:00
Andrew Wilcox 25e38006db core/m_part: Add AV2 description 2016-03-07 01:06:39 -06:00
Elizabeth Myers d821282260 cap_server_time: update doodads for AV2 2016-03-07 01:05:24 -06:00
Elizabeth Myers 41fb059881 cap_account_tag: migrate CAP reg/desc to AV2 2016-03-07 01:02:08 -06:00
Andrew Wilcox 8661d5ae5c core/m_message: Add AV2 description 2016-03-07 00:57:05 -06:00
Andrew Wilcox ac1b809c5f core/m_kill: Add AV2 description 2016-03-07 00:56:08 -06:00
Andrew Wilcox 33b2b6c1ab core/m_kick: Add AV2 description 2016-03-07 00:55:36 -06:00
Andrew Wilcox 823ab5285f core/m_join: Add AV2 description 2016-03-07 00:52:50 -06:00
Andrew Wilcox 8798744e50 core/m_die: Add AV2 description 2016-03-07 00:48:48 -06:00
Andrew Wilcox 65ca483f97 core/m_ban: Add AV2 description 2016-03-07 00:48:27 -06:00
William Pitcock ccb75e917e m_cap: use rb_snprintf_append() instead of pointer math 2016-03-07 00:13:54 -06:00
Elizabeth Myers 105a4985b4 Migrate remaining modules to AV2
No descriptions yet. :(
2016-03-07 00:03:39 -06:00
Elizabeth Myers a4bf26dd34 Move irc_* data structures to librb.
This makes the base ircd less cluttered up with data structures that can
go elsewhere.
2016-03-06 14:17:19 -06:00
Elizabeth Myers cbeab4bc34 Remove $Id tags from everything.
These are obsolete and none have changed since 10 years gao...
2016-03-06 02:47:27 -06:00
William Pitcock c83f2f5e12 rename libratbox to librb, since its pretty modified anyway 2016-03-06 02:30:20 -06:00
Elizabeth Myers 1d91de8100 Remove old .indent.pro files
These have been unused since dinosaurs roamed the earth and are mostly
smelly old Hybrid relics.
2016-03-05 21:21:36 -06:00
William Pitcock 38ffccf8c3 cap: allow modules to return client-specific responses for capability inquiries 2016-03-05 18:56:36 -06:00
William Pitcock 9ea48ec30a remove presupplied autotools files 2016-03-05 17:47:48 -06:00
William Pitcock 4c83e47679 invite: implement invite-notify support 2016-03-05 02:49:10 -06:00
William Pitcock d058096aaa invite: broadcast INVITE messages instead of using point to point routing, to facilitate invite-notify 2016-03-05 02:39:42 -06:00
Elizabeth Myers e8f1c19e7b parse: get rid of report_messages
It is a function with a single usage, that is used only for one specific
stats command on one line.
2016-03-05 00:55:33 -06:00
Simon Arlott e9ffc3c153
ssld: provide version in stats S output 2016-03-03 22:14:50 +00:00
William Pitcock 08e43ffb21 connect: fix tmpport handling 2016-03-02 16:32:27 -06:00
Simon Arlott 035d9143bd ircd: add missing sslproc function ssld_foreach_info()
Iterate through the ssl daemons and report their status.
2016-03-01 21:30:51 +00:00
William Pitcock 455d2750fc cap: don't show orphaned capabilities 2016-02-28 19:15:13 -06:00
William Pitcock 6b23b98ab6 m_cap: ensure buffers are initialized properly 2016-02-28 18:49:29 -06:00
mniip 802710b59a Always send the certificate fingerprint when doing SASL because the services might need it for SOME REASON 2016-02-29 03:29:08 +03:00
William Pitcock ba316ed56c cap: implicitly enable cap-notify on CAP LS 302, to MAKE IRC GREAT AGAIN!!!!oneoneone 2016-02-28 01:32:54 -06:00
William Pitcock ddf62b10f9 m_cap: add support for CAP LS 302 2016-02-28 01:13:08 -06:00
William Pitcock da3e5fcb42 sasl: implement support for distributing mechlists 2016-02-28 01:02:10 -06:00
William Pitcock df06f4c920 cap server-time: add .000 for microsecs since our clock does not support microsecs 2016-02-28 00:40:46 -06:00
William Pitcock 193d4db30c sasl: transfer ownership of 'sasl' capability to m_sasl module 2016-02-28 00:29:26 -06:00
William Pitcock 573896f639 send: allow passing NULL origin to build_msgbuf_from() (for future use) 2016-02-27 02:56:44 -06:00
William Pitcock 4bdf963cdc modules: add cap_server_time, adding server-time cap support 2016-02-27 02:31:38 -06:00
William Pitcock ed3853649d starttls: add s_serv for caps 2016-02-27 01:51:58 -06:00
William Pitcock 0416a2cc86 starttls: take ownership of 'tls' capability 2016-02-27 01:45:40 -06:00
William Pitcock 32df5e96a6 cap: substantial rewrite leveraging the ircd capabilities framework for client caps 2016-02-27 01:41:36 -06:00
William Pitcock 63b9db9675 capability: allow attaching capability-owner data to a capability token, to enable extended data for client capabilities 2016-02-26 23:55:43 -06:00
William Pitcock 815fbc146f modules/cap_account_tag: new module providing the account-tag cap as a proof of concept 2016-02-20 17:44:46 -06:00
William Pitcock 48a2b7c182 hook: allow hook_data to have non-const arguments, add hook_cdata for arguments that must be treated const 2016-02-20 17:44:13 -06:00
William Pitcock ddedc60398 cap: register the account-tag capability 2016-02-20 17:26:35 -06:00
William Pitcock c678fbc08b ircd: remove broken USE_IODEBUG_HOOKS knob and related code 2016-02-20 12:02:49 -06:00
William Pitcock 7baa37a9ef msg: remove last vestiges of the fakelag system. charybdis has never supported fakelag. 2016-02-19 16:43:39 -06:00
William Pitcock 428ca87b01 modules: chase MsgBuf API change 2016-02-10 20:54:17 -06:00
Simon Arlott eb1b303d56 ircd: support restarting ssld processes
Add REHASH SSLD (admins only) that starts new sslds and marks the
existing ones as inactive until all their clients disconnect.

Very useful whenever the SSL library has a vulnerability because
new connections can use a new version of the library without
disconnecting existing clients/servers.

Add STATS S (admins only) to list ssld processes, status, and client
count.
2016-02-10 19:03:30 -06:00
William Pitcock de50a480af Remove unused .depend files. 2016-02-09 23:08:35 -06:00
Valerii Iatsko 5203cba5ce Remove libratbox's snprintf.c, update related ircd code 2016-02-10 02:25:32 +01:00
William Pitcock b47f8a4fda ircd: import modified version of ratbox 3.1 whowas code 2016-01-23 11:16:34 -05:00
William Pitcock b9a32bd24b LIST: plug memory leak 2016-01-22 16:07:55 -05:00
William Pitcock 999fab778c Revert "LIST: use new sendq system to reimplement SAFELIST differently."
This reverts commit e835592cfc.
2016-01-20 22:26:55 -05:00
Jilles Tjoelker 6da38a0a5d WHOIS: Make hide_opers_in_whois not affect opers doing whois. 2016-01-16 15:22:50 +01:00
William Pitcock 71c955336e ircd: add general::hide_opers_in_whois to simulate ircd-seven operhide 2016-01-15 13:38:40 -06:00
William Pitcock ea2d270096 STATS: allow modules to override normal stats requests 2016-01-14 06:57:04 -06:00
William Pitcock 3ee43bcf29 ircd: get_channel_access(): do not derive channel pointer from membership 2016-01-13 22:16:44 -06:00
William Pitcock 633531a4aa TOPIC: strip channel topic colors here if configured, instead of in set_channel_topic() 2016-01-13 17:17:14 -06:00
William Pitcock e4af89f4d7 Revert "LIST: since we now have channel::strip_topic_colors, don't unconditionally strip colors here anymore"
This reverts commit b28b21f6d5.
2016-01-13 17:11:16 -06:00
William Pitcock b28b21f6d5 LIST: since we now have channel::strip_topic_colors, don't unconditionally strip colors here anymore 2016-01-13 17:05:49 -06:00
William Pitcock abad2c5da6 CONNECT: allow using 3-argument CONNECT with port == 0 locally (closes #119) 2016-01-12 05:54:04 -06:00
William Pitcock cc7ae51cdc Allow remote DIE and RESTART (from ircd-seven) 2016-01-12 00:04:54 -06:00
William Pitcock 3b1c2aa62c modules: add missing m_grant.c 2016-01-11 23:52:04 -06:00
William Pitcock a4721f5e9f ircd: implement EXTENDCHANS, based on ircd-seven (with some improvements from chatircd) 2016-01-11 23:32:23 -06:00
William Pitcock fe749d3709 ircd: implement GRANT subsystem based on ircd-seven 2016-01-11 23:02:03 -06:00
William Pitcock b870a5f8e9 extensions/override: display mode-change string in override messages 2016-01-11 22:40:32 -06:00
William Pitcock 730b914c17 LIST: more cleanups 2016-01-09 23:34:52 -06:00
William Pitcock e835592cfc LIST: use new sendq system to reimplement SAFELIST differently.
This is more like ratbox, but with the same filtering etc. features, and also using the hard sendq limit.
2016-01-09 23:28:53 -06:00
William Pitcock 8dacf9e917 ircd: make STATS B easier to understand 2016-01-09 06:23:13 -06:00
William Pitcock 46be39faab ircd: hash: use an irc_radixtree for storing resv's 2016-01-09 04:59:02 -06:00
William Pitcock 21d5a11cb8 ircd: irc_dictionary: also show dictionary stats 2016-01-09 01:34:37 -06:00
William Pitcock 99b461bb2f ircd: ensure irc_dictionary users have names, for stats tracking. 2016-01-09 01:22:11 -06:00
William Pitcock 9e45a5ca19 buildsystem: further cleanup 2016-01-08 07:01:00 -06:00
William Pitcock a886cb82fb buildsystem: more LTDLINCL fixes 2016-01-08 06:57:45 -06:00
William Pitcock f0718c93d5 configure: use correct path for libltdl 2016-01-08 06:50:01 -06:00
William Pitcock 1eeb046930 ircd: remove internal resolver, no longer used 2016-01-08 06:39:51 -06:00
William Pitcock 5164a68650 buildsystem: update Makefile.in's 2016-01-08 05:20:32 -06:00
Aaron Jones d8c4154da2 Fix LTDL conditional, remove some unnecessary and/or ugly configure tests 2016-01-07 17:15:55 +00:00
William Pitcock 2a19fc3f57 general: remove last vestiges of static modules support (this hasn't ever actually worked...) 2016-01-06 01:28:20 -06:00
William Pitcock 46fded53d4 update buildsystem artifacts 2016-01-06 01:16:49 -06:00
William Pitcock ff12cc9479 rename src to ircd, libcore to libircd 2016-01-06 01:16:08 -06:00
William Pitcock bc38c72ced buildsystem: build ircd itself as a library to allow removal of -undefined suppress on OS X 2016-01-05 21:31:21 -06:00
William Pitcock c52df12552 buildsystem: convert to automake + libtool 2016-01-05 21:20:25 -06:00
William Pitcock 5810d36e0a whois: privset disclosure: we do not need to check if source user is the same as target, because they will always be opered 2016-01-05 18:55:23 -06:00
William Pitcock 9e07c8f70b whois: add a hook allowing for ShowChannel() behaviour to be overridden for channel visibility 2016-01-05 18:45:07 -06:00
Aaron Jones 5499771f0e
Fix erroneous comment 2016-01-01 09:31:55 +00:00
Aaron Jones 0e06053c33
Fix erroneous use of wrong string concatenation function
Avoids warning:

  m_map.c:203:3: warning: implicit declaration of function ‘strlcat’
  [-Wimplicit-function-declaration]
2015-12-30 08:34:27 +00:00
Mantas Mikulėnas 2b17787939 m_starttls: reject "STARTTLS" use over an existing TLS connection 2015-12-30 09:28:53 +02:00
Jilles Tjoelker f8d9a4c289 list: Remove a now obsolete comment. 2015-12-29 13:55:16 +01:00
William Pitcock 4d38dd60ed whois: bring permissions check in line with the same one in m_privs 2015-12-28 14:55:59 -06:00
Valentin Lorentz d855e13e01 Remove trailing space in CAP ACK.
Fixes https://github.com/atheme/charybdis/issues/110
2015-12-28 10:57:17 +01:00
William Pitcock e00552d5ce whois: cosmetic improvement to opered-as numeric 2015-12-28 01:38:13 -06:00
William Pitcock 72ad5c04fe whois: list active operator block and privset when appropriate 2015-12-28 01:33:09 -06:00
William Pitcock c7b2fd3d66 MODE: allow 'q' banlist queries to bypass flood limits too 2015-12-28 00:48:46 -06:00
William Pitcock 0b904d91bf supported: move ISUPPORT tokens provided by modules to their specific modules:
- m_cmessage: CPRIVMSG/CNOTICE
- m_etrace: ETRACE
- m_knock: KNOCK
- m_services: FNC
- m_who: WHOX
2015-12-26 22:41:09 -06:00
William Pitcock d513218a9e LIST: allow channel display threshold to be configured (closes #109) 2015-12-26 22:23:28 -06:00
Jilles Tjoelker e124e4b64c starttls: Update for client fd hash removal. 2015-12-24 23:01:37 +01:00
Jilles Tjoelker 2d28539c68 Reduce clean_nick() code duplication further.
Side effect: hurt and monitor now allow nicks starting with a digit.
2015-12-13 00:22:21 +01:00
William Pitcock e1fda0d81e map: make flatten_links dump a flattened map instead of blocking it (closes #48)
based on my patches in shadowircd legacy (4.0)
2015-12-12 09:24:37 -06:00
William Pitcock 413c61aaf5 monitor: ensure monitored nicknames are valid (ref. elemental-ircd/elemental-ircd#187) 2015-12-12 08:42:03 -06:00
William Pitcock 72dee03d50 clean up some code duplication when checking nicks for validity 2015-12-12 08:41:09 -06:00
William Pitcock 63eb8567cb implement configurable channel modes (closes #31)
While functionally compatible with the implementation in ElementalIRCd, our approach is different,
specifically pre-calculating the bitmask at config load time.  This is more efficient, and allows us
to report errors as part of the configuration phase.
2015-12-11 15:36:53 -06:00
William Pitcock 427a8d5dbb WHOIS: use cipher string if available 2015-12-11 08:20:11 -06:00
William Pitcock 202d496644 override: only engage override code if we're needing to authorize a WRITE to a channel's state (closes #65) 2015-12-10 01:00:32 -06:00
William Pitcock a7433e330a m_message: use same behaviour for +R users as +g users (closes #96) 2015-12-05 06:48:38 -06:00
William Pitcock 4a5330bb4d cap: implement ircv3.2 chghost cap 2015-11-19 22:53:55 -06:00
William Pitcock 583f064fef send: add negation argument to sendto_common_channels_local() and friends 2015-11-19 22:43:45 -06:00