Jason Volk
008dfcb43f
ircd: Ⓜ️ :vm: Add counters and synchronization for safe module reloading.
2019-03-21 16:46:04 -07:00
Jason Volk
4b7bc1d5b1
modules/vm: Rename/export core functions.
2019-03-21 16:46:04 -07:00
Jason Volk
82378db816
modules/vm: Share transactions between all evals on the same stack; adjust sequence strategy.
2019-03-21 16:46:04 -07:00
Jason Volk
a6a509fe4b
modules/webhook: Add issue labels after issue titles.
2019-03-21 12:16:19 -07:00
Jason Volk
9ebc536534
modules/webhook: Use background colors for labels.
2019-03-21 11:54:33 -07:00
Jason Volk
bff7373918
modules/webhook: Support label event types and some actions.
2019-03-21 11:11:08 -07:00
Jason Volk
9333df4950
modules/m_presence: Add conf item to toggle federation incoming.
2019-03-20 20:08:48 -07:00
Jason Volk
d61d443a4c
modules/vm: Asynchronous post_hook sequencing.
2019-03-19 18:02:35 -07:00
Jason Volk
9d7c26b376
modules/m_receipt: Fix missing m::log designation.
2019-03-19 16:40:25 -07:00
Jason Volk
5b951b55c5
modules/vm: Add sequencing points.
...
ircd:Ⓜ️ :vm: Reorganize sequence counters.
2019-03-19 16:31:05 -07:00
Jason Volk
4e2a445426
modules/s_dns_cache: Create a DNS cache room.
2019-03-17 15:42:34 -07:00
Jason Volk
a9d8af1bf1
modules/s_listen: Start listener after loading iff run::level::RUN.
2019-03-17 15:30:24 -07:00
Jason Volk
21d8c9ce76
modules/client/rooms/report: Provide missing error string in log message.
2019-03-17 13:41:33 -07:00
Jason Volk
22fe24f54f
modules/client/sync: Add linear buffer size conf item; add help texts to some confs.
2019-03-17 13:24:24 -07:00
Jason Volk
9ab3549660
modules/client/sync: Tweak log message format; cleanup longpoll::accepted struct.
2019-03-17 13:18:33 -07:00
Jason Volk
2158d3e7b6
modules/client/rooms/report: Create !abuse room with !ircd init hook.
2019-03-16 19:38:33 -07:00
Jason Volk
4e618175c7
modules/client/sync: Try to ensure all next_batch tokens are limited to the upper bound.
2019-03-16 18:12:38 -07:00
Jason Volk
8450f74450
modules/vm: Increment current_sequence after the debuglog msg.
2019-03-16 18:12:38 -07:00
Jason Volk
cdb8308b02
modules/s_listen: Add runlevel::QUIT handler to stop listener harder.
2019-03-16 16:28:28 -07:00
Jason Volk
f2f2afb8c4
ircd::net: Reorg listener/acceptor external interface.
2019-03-16 16:28:28 -07:00
Jason Volk
cff17eaa40
ircd: Add exception tools which elide copying.
2019-03-16 16:28:28 -07:00
Jason Volk
7fc68e1933
modules/client/sync: When longpoll hits an unsequenced EDU, the next_batch must repeat the current since token.
2019-03-16 12:59:18 -07:00
Jason Volk
5e45362b44
modules/vm: Show specific sequence number being written in debug msg; conf item.
2019-03-16 12:50:44 -07:00
Jason Volk
03abdd5ac6
modules/client/sync: Improve since token rejection message.
2019-03-16 12:26:03 -07:00
Jason Volk
aae00eab7f
ircd: Ⓜ️ :app: Add configuration access interface for appservice.
2019-03-15 16:19:05 -07:00
Jason Volk
b456210f1e
modules/client/directory/list: Preliminary AS 2.3.5.1 PUT list/appservice.
2019-03-15 16:19:05 -07:00
Jason Volk
ccc986a073
modules/app: Reorganize units into a single shared object strategy.
2019-03-15 16:19:05 -07:00
Jason Volk
11afd2e590
modules/client/sync/rooms: Support ignoring invites based on m.ignored_user_list.
2019-03-14 18:11:52 -07:00
Jason Volk
47a5486258
modules/m_event: Enforce m.ignored_user_list for events to client.
2019-03-14 17:31:34 -07:00
Jason Volk
ddb08a37a4
ircd: Ⓜ️ :user: Add framework around m.ignored_user_list; w/ console cmd.
2019-03-14 17:27:45 -07:00
Jason Volk
78c18f45ab
Implement client 14.26 Reporting Content.
2019-03-14 16:20:40 -07:00
Jason Volk
86ddcd7149
modules/client/createroom: Implement 13^h^h14.23.3 Server behaviour.
2019-03-14 15:32:06 -07:00
Jason Volk
380032d4a9
ircd: Ⓜ️ :room: Augment m::invite() convenience interface for custom content.
2019-03-14 15:32:06 -07:00
Jason Volk
240c181b16
modules/client/directory/list/room: Complete the missing PUT functionality.
2019-03-14 15:12:40 -07:00
Jason Volk
2070a72850
ircd: Ⓜ️ :rooms: Add interface to remove entries from the !public room list.
2019-03-14 15:12:40 -07:00
Jason Volk
b1bf848155
modules/client/voip/turnserver: Add conf items for voip turnserver response.
2019-03-14 14:49:04 -07:00
Jason Volk
db9b891493
modules/client/rooms/event: Respond with zero-copy/zero-alloc.
2019-03-14 14:29:59 -07:00
Jason Volk
8ebb51bd9f
modules/client/rooms/state: Refactor GET handlers for chunk streaming and spec behavior.
2019-03-14 14:25:37 -07:00
Jason Volk
42309c1c96
modules/client/rooms/members: Upgrade /members and /joined_members to streamed responses.
2019-03-14 13:55:44 -07:00
Jason Volk
23855fb48e
modules/m_event: Suppress transaction_id warning unless desired.
2019-03-14 13:31:37 -07:00
Jason Volk
3e72e1277e
modules/client/directory/list: Implement directory list room handlers.
2019-03-14 13:25:28 -07:00
Jason Volk
213c46d9f8
ircd::net: Add interface to get cipher list from acceptor w/ console cmd.
2019-03-13 17:32:39 -07:00
Jason Volk
1f35e9c57e
modules/m_event: Add option to toggle query for txnid; disable query for non-timeline appends.
2019-03-13 17:08:35 -07:00
Jason Volk
9f67a146f4
modules/m_event: Unconditionally supply an age when no event_idx.
2019-03-13 17:08:35 -07:00
Jason Volk
92ba96cdf1
modules/vm: Move the post_hook execution before the write commitment.
2019-03-13 16:45:22 -07:00
Jason Volk
a2c9b115a8
modules/console: Fix conf set cmd argument to read remainder of line for value.
2019-03-12 18:41:05 -07:00
Jason Volk
a81038acfa
modules/s_dns: Randomly select an A record for single-record callback.
2019-03-12 18:41:05 -07:00
Jason Volk
f745787ce4
modules/client/sync: Check if the client is still alive during longpoll.
2019-03-12 18:41:05 -07:00
Jason Volk
fe778e6ae4
modules/client/sync/rooms: Remove unnecessary checkpoint.
2019-03-12 18:41:05 -07:00
Jason Volk
425364f13e
modules/client/sync/rooms/state: Fix missing append.
2019-03-12 18:41:05 -07:00
Jason Volk
06459e655e
modules/client/sync/to_device: Fix improper seek.
2019-03-12 18:41:05 -07:00
Jason Volk
4f243826c2
ircd: Remove use of all unwind::exceptional and unwind::nominal devices.
2019-03-12 18:41:05 -07:00
Jason Volk
2956183db9
modules/s_dns_resolver: Fix bug.
2019-03-11 18:18:58 -07:00
Jason Volk
ae4dc7db9b
ircd::net::dns: Add a named logger specifically for net::dns; addl debug msgs.
2019-03-11 18:16:04 -07:00
Jason Volk
981cdf03aa
modules/s_dns_resolver: Consolidate tag removal paths; ensure removals from sendq.
2019-03-11 17:39:45 -07:00
Jason Volk
9f8b915317
modules/m_event: Conditionally add prev_content to events sent to clients.
2019-03-11 16:18:36 -07:00
Jason Volk
c416be8398
modules: Replace individual client event appending with m::append().
2019-03-11 16:02:48 -07:00
Jason Volk
c4c95916c2
ircd: Ⓜ️ Add central event append() to compose elaborated json::stack::object for clients.
2019-03-11 16:02:36 -07:00
Jason Volk
f61059a400
ircd: Ⓜ️ :room::state: Add prev() and next() reference traversal interface.
2019-03-11 15:06:54 -07:00
Jason Volk
ffc652706f
modules/s_dns_resolver: Change the server list token to a space.
2019-03-11 12:57:36 -07:00
Jason Volk
6f6e090015
modules/s_dns_resolver: Gracefully handle erroneous server list; error on entirely invalid list.
2019-03-11 12:57:36 -07:00
Jason Volk
9930d2ce8f
modules/s_dns_resolver: Queue tags when no nameserver is available.
2019-03-11 11:54:19 -07:00
Jason Volk
daee236126
modules/client: Remove 308 redirects for unstable endpoints.
2019-03-11 10:43:06 -07:00
Jason Volk
e90e4aba42
modules/client/keys/upload: Disable one_time_keys; otherwise it spams the user's room.
2019-03-10 20:47:50 -07:00
Jason Volk
7434a4b6db
modules/console: Add cmd to delete a listener configuration.
2019-03-10 14:50:12 -07:00
Jason Volk
610862903e
modules/console: Allow manual JSON to be specified after positional args for listener config.
2019-03-10 14:25:25 -07:00
Jason Volk
2fdc19e113
modules/console: Reorder net listen cmd arguments.
2019-03-10 13:34:57 -07:00
Jason Volk
ba09d57d8e
modules/client/rooms/context: Include unsigned data in returned events.
2019-03-09 19:21:44 -08:00
Jason Volk
48ab443ece
modules/client/rooms/messages: Include unsigned data in returned events.
2019-03-09 19:21:22 -08:00
Jason Volk
bfc189da7e
modules/client/rooms/messages: Omit pagination tokens at ends of iteration.
2019-03-09 18:52:48 -08:00
Jason Volk
77896456c4
modules/federation/user_keys_query: Omit devices without keys from response.
2019-03-09 18:48:59 -08:00
Jason Volk
1381524f95
ircd: Ⓜ️ :device: Add has(user, device_id, property) overload to interface suite.
2019-03-09 18:48:32 -08:00
Jason Volk
d8da7814e8
modules/client/rooms/messages: Consider the from token inclusive.
2019-03-09 18:48:08 -08:00
Jason Volk
811e4f8c03
modules/client/rooms/context: Omit pagination tokens for ends of iteration.
2019-03-09 18:16:27 -08:00
Jason Volk
79782958fc
modules/client/sync/rooms/timeline: Add conf item for default limit.
2019-03-09 17:37:48 -08:00
Jason Volk
5cbc35298d
modules/console: Allow empty string value param to conf set cmd.
2019-03-09 17:21:09 -08:00
Jason Volk
45840a3393
modules/console: Use dynamic for tokenization here.
2019-03-09 16:45:42 -08:00
Jason Volk
9981ab7b12
modules/m_presence: Add named logger for presence.
2019-03-09 16:05:45 -08:00
Jason Volk
db8c91661e
ircd::log: Increase the logger name width.
2019-03-09 16:05:45 -08:00
Jason Volk
ce8824a1bd
modules/client/sync/rooms: Reenable per-room debug stats.
2019-03-09 15:17:21 -08:00
Jason Volk
197168059b
ircd: Ⓜ️ :vm: Create a conform hook; move checks into conform hookfns.
2019-03-09 14:00:00 -08:00
Jason Volk
e501c6434a
modules/vm: Rename commit hook to issue hook; add opts toggle.
2019-03-09 12:13:21 -08:00
Jason Volk
0a8bb92e6d
modules/client/rooms/send: Use vm.post hook site to save transaction_id before notifies.
2019-03-09 12:09:07 -08:00
Jason Volk
79eed85397
modules/vm: Add a post-write pre-notify hook site.
2019-03-09 12:08:05 -08:00
Jason Volk
58159d3ee6
modules/client/sync: Fix condition to skip linear for longpoll.
2019-03-08 17:47:29 -08:00
Jason Volk
e2d2c7f376
ircd: Ⓜ️ :v1::user: Default to dynamic content buffering; adjust callsite buffer sizes.
2019-03-08 17:11:42 -08:00
Jason Volk
8e2aef32ef
modules/client/sync: Consistent display of next_batch values in debug log msgs.
2019-03-08 15:29:10 -08:00
Jason Volk
fcfcb83d42
modules/client/sync/rooms/timeline: Log dwarning message when transaction_id missing.
2019-03-08 15:02:48 -08:00
Jason Volk
78c888ffae
modules/client/users/openid: Return a better http code here.
2019-03-08 14:33:54 -08:00
Jason Volk
c0d0599b19
modules/client/sync: Tweak next_batch case; add debuglog on timeout branch.
2019-03-08 14:26:23 -08:00
Jason Volk
2b1c6682e6
modules/m_receipt: Remove the m.receipt eval for client syncs; ircd.read is used instead.
2019-03-08 14:19:04 -08:00
Jason Volk
187eca0e4e
modules/client/sync: Refactor linear sync handlers to assume no implicit path.
2019-03-08 14:19:04 -08:00
Jason Volk
8230819edf
modules/client/sync: Optimize these user state iterations.
2019-03-08 13:42:24 -08:00
Jason Volk
9028f63d35
modules: Add preliminary prometheus metrics endpoint.
2019-03-08 12:31:08 -08:00
Jason Volk
d1e0864590
modules/client/profile: Optimize the user profile iteration.
2019-03-08 11:25:38 -08:00
Jason Volk
cdac039658
modules/client/rooms/leave: Simplify leave endpoint handler.
2019-03-08 10:07:17 -08:00
Jason Volk
60c48d2a83
modules/client/rooms/unban: Implement 10.4.4.2 POST unban.
2019-03-08 09:57:43 -08:00
Jason Volk
cb2c65e8e2
modules/client/rooms/kick: Simplify endpoint handler.
2019-03-08 09:45:50 -08:00
Jason Volk
47216cba91
modules/client/rooms/ban: Implement 10.4.4.1 POST ban.
2019-03-08 09:43:30 -08:00
Jason Volk
3fdb3a420a
modules/client/rooms/forget: Implement 10.4.3.2 POST forget.
2019-03-07 16:26:04 -08:00
Jason Volk
59124a0fe1
modules/client/createroom: Differentiate between spec preset and internal preset strings.
2019-03-07 15:40:45 -08:00
Jason Volk
864c6cc889
modules/client/rooms/send: urldecode type and txnid path parameters.
2019-03-07 15:32:03 -08:00
Jason Volk
7ea83597e5
modules/media: Assert and condition remote download request isn't for my_host().
2019-03-07 15:11:27 -08:00
Jason Volk
80743b2fd5
modules/media: Throw better http codes for downloading media.
2019-03-07 15:11:27 -08:00
Jason Volk
cc14164dc8
modules/client/profile: Reuse the profile::set() path in fetch().
2019-03-07 12:14:01 -08:00
Jason Volk
5adfb3ba43
modules/client/sync: Add conf items which override the sync mode selection.
2019-03-07 11:53:58 -08:00
Jason Volk
34561a5659
modules/client/profile: Fix JSON string type assumption for profile values.
2019-03-06 18:17:46 -08:00
Jason Volk
faf0914f23
modules/console: Add cmd to trigger m::user::profile::fetch().
2019-03-06 18:17:32 -08:00
Jason Volk
33d3764c71
modules/client/createroom: Make special conditions to optimize user's user rooms.
2019-03-06 17:41:56 -08:00
Jason Volk
654901d7df
modules/vm: Include empty auth_events array in create event rather than undefined.
2019-03-06 15:02:43 -08:00
Jason Volk
90752f1fb4
modules/federation/send_join: Add required spec "origin" in response.
2019-03-06 15:02:43 -08:00
Jason Volk
0c38d78bba
modules/federation/send_leave: Respond with so-called empty response.
2019-03-06 15:02:43 -08:00
Jason Volk
9f4890a517
ircd: Ⓜ️ Unify room create interface and paths around createroom tuple.
2019-03-06 15:02:43 -08:00
Jason Volk
85c041c27b
ircd: Ⓜ️ :room Update version query based on spec room version grammar (string type).
2019-03-06 15:02:43 -08:00
Jason Volk
dd961fc53d
modules/client/profile: Remove attempt at non-trivial designated initializers.
2019-03-06 10:50:42 -08:00
Jason Volk
09c2d7cbe5
modules/federation: Minor cleanup/simplification.
2019-03-06 00:22:18 -08:00
Jason Volk
c2966275c6
ircd: Ⓜ️ :room::head: Improve interface/linkage for head utils / prev_events generation.
2019-03-06 00:22:18 -08:00
Jason Volk
1a1939e2c7
ircd: Ⓜ️ :room::auth: Improve interface/linkage for auth_events generation.
2019-03-06 00:22:18 -08:00
Jason Volk
eb050591c9
modules/client/profile: Improve profile related for remote users.
2019-03-06 00:12:21 -08:00
Jason Volk
094ae6e997
ircd: Ⓜ️ :user::profile: Add interface for remote profile fetch().
2019-03-06 00:12:21 -08:00
Jason Volk
1f82b884ff
ircd: Ⓜ️ Implement 14.18 Room Tagging.
2019-03-05 18:42:04 -08:00
Jason Volk
9e884b326d
modules/webhook: Handle github issue_comment / created action.
2019-03-05 15:23:15 -08:00
Jason Volk
8b32f0558d
modules/client/sync/rooms/state: Add unsigned addendum to event output.
2019-03-05 14:43:00 -08:00
Jason Volk
6fed8cc360
modules/client/createroom: Forbid guest access on all presets in violation of the spec.
2019-03-05 14:27:52 -08:00
Jason Volk
00da74fa27
modules/client/createroom: Improve error reporting; add derror log message.
2019-03-05 14:24:31 -08:00
Jason Volk
85b66e2d55
modules/client/sync/rooms/timeline: For non-longpoll, attempt to query transaction_id.
2019-03-05 14:24:08 -08:00
Jason Volk
d30e053e42
modules/client/rooms/send: Save transaction_id's to user's user room.
2019-03-05 14:24:08 -08:00
Jason Volk
78eab2fbcd
modules/client/createroom: Implement the preset string behavior.
2019-03-05 14:24:08 -08:00
Jason Volk
d4b8a8089e
ircd: Ⓜ️ :createroom: Generate default power_levels w/ option for content_override.
2019-03-05 14:24:08 -08:00
Jason Volk
bbaf38937b
ircd: Ⓜ️ :room::power: Add util to generate spec-default power_levels content.
2019-03-05 14:24:08 -08:00
Jason Volk
c972683e2c
modules/client/createroom: Set the visibility in the public rooms list; minor cleanup.
2019-03-05 12:51:48 -08:00
Jason Volk
70484be697
modules/client/createroom: Add graceful error handling and granular reporting to client.
2019-03-05 12:42:53 -08:00
Jason Volk
f0598bb27a
modules/client/createroom: Set initial room state from supplied request data.
...
modules/client/createroom: Set the room name and topic if supplied in request.
modules/client/createroom: Set any state events from supplied initial_state.
modules/client/createroom: Invite any users in the supplied invite array.
modules/client/createroom: Set the room's initial guest_access if supplied by user.
2019-03-05 12:23:49 -08:00
Jason Volk
025313b6fe
modules/webhook: Handle github issue labeled.
2019-03-05 11:14:29 -08:00
Jason Volk
6be111ac0b
Revert "modules/m_room_member: Remove membership rule on can_join hook."
...
This reverts commit 6d6fb8b0d3
.
2019-03-05 08:51:00 -08:00
Jason Volk
d8a9f484a4
modules/client/rooms/messages: Simplify the messages iteration.
2019-03-04 15:46:44 -08:00
Jason Volk
1dcf36adc8
modules/client/rooms/event: Fix param missing error message.
2019-03-04 14:36:49 -08:00
Jason Volk
19e09b0ad5
ircd: Ⓜ️ :login: Support identifier typed login.
2019-03-04 13:16:14 -08:00
Jason Volk
6d6fb8b0d3
modules/m_room_member: Remove membership rule on can_join hook.
2019-03-04 12:52:13 -08:00
Jason Volk
59973705bb
modules/client/rooms/context: Provide better pagination tokens in response.
2019-03-04 12:43:14 -08:00
Jason Volk
48055345ea
modules/client/rooms/messages: Fix the start pagination token in reponse.
2019-03-04 12:42:58 -08:00
Jason Volk
86e7e78a8a
modules/client/register: Disable guest registration by default for now.
2019-03-04 09:29:27 -08:00
Jason Volk
68ed0d6133
modules/client/register: Add email to the registration flows.
2019-03-04 09:28:02 -08:00
Jason Volk
d70e46718b
modules/federation: Remove these unnecessary checks.
2019-03-03 16:49:51 -08:00
Jason Volk
3099997049
modules/client/sync/rooms/state: Deal with "invite_state" vs. "state".
2019-03-03 16:33:10 -08:00
Jason Volk
e93e460f22
modules/client/sync: Must wait for parallel completion before copying ret.
2019-03-03 16:33:10 -08:00
Jason Volk
f1bca6de7e
modules/client/profile: Return 404 rather than {} for empty profiles.
2019-03-03 16:33:10 -08:00
Jason Volk
bfb2efc1ac
modules/federation/send_join: Improve response; include proper auth_chain.
2019-03-03 15:45:43 -08:00
Jason Volk
aa6b8352da
modules/federation/query: Respond with full profile when no field query parameter.
2019-03-03 14:45:18 -08:00
Jason Volk
81127045b0
modules/console: Add certificate_chain_path parameter to net listen cmd.
2019-03-03 13:57:29 -08:00