Jason Volk
b95a7a8a9e
ircd::exception: Add hide_name construction overload to macro.
2019-08-26 11:10:30 -07:00
Jason Volk
6f60b9bed8
ircd: Ⓜ️ Simplify send() impl linkage.
2019-08-25 19:44:00 -07:00
Jason Volk
9b5ffb0b1f
modules: Split m::createroom related from client/.
2019-08-25 19:44:00 -07:00
Jason Volk
f298e95373
modules: Split out client/user related interface impls.
2019-08-25 19:44:00 -07:00
Jason Volk
8a860b61ce
modules: Split m::leave(room) impl from client/rooms.
2019-08-25 19:44:00 -07:00
Jason Volk
22d5b3350a
modules: Split m::join impl out of client/rooms.
2019-08-25 19:43:57 -07:00
Jason Volk
e4cdc34bba
ircd: Ⓜ️ 🪝 Fix missing bypass.
2019-08-25 16:35:35 -07:00
Jason Volk
42b689a7a0
ircd: Ⓜ️ :room::power: Document with some usage details.
2019-08-25 15:22:43 -07:00
Jason Volk
4bf39ee1f2
modules: Start an m.room.name module w/ length check conforms hook.
2019-08-25 14:28:20 -07:00
Jason Volk
bbaec98d68
ircd: Ⓜ️ :event: Use better fault code for conforms hook failure.
2019-08-25 14:28:20 -07:00
Jason Volk
9b26a9789e
ircd: Ⓜ️ :room::state: Courtesy yield after iteration.
2019-08-24 19:45:26 -07:00
Jason Volk
4013c4cb23
ircd::db: Add preliminary prefetch unit.
...
ircd::db::prefetcher: Add timestamp to request in debugmode.
2019-08-24 19:19:34 -07:00
Jason Volk
a43804b88c
ircd: Ⓜ️ Downgrade critical log msg.
2019-08-23 17:59:45 -07:00
Jason Volk
324db44678
ircd: Ⓜ️ :event: Move TLS buf to stack.
2019-08-23 17:28:58 -07:00
Jason Volk
c7b828c60e
ircd::util: Use long literals.
2019-08-23 16:09:52 -07:00
Jason Volk
a2541e3627
ircd::util: Limit iteration.
2019-08-23 16:09:52 -07:00
Jason Volk
b0f1487a22
ircd::allocator: Set narenas=1 for je.
2019-08-22 08:49:16 -07:00
Jason Volk
8ad0d46cff
ircd: Ⓜ️ :room::state: Move rebuild iterations out from interface.
2019-08-22 08:02:17 -07:00
Jason Volk
5a22fa7370
ircd: Ⓜ️ :room::auth: Propagate interruption.
2019-08-22 07:03:59 -07:00
Jason Volk
7bd716a103
ircd: Ⓜ️ :room::auth: Improve conditions to conduct check.
2019-08-22 06:02:02 -07:00
Jason Volk
652ffa8ea2
ircd: Ⓜ️ :room::state: Improve coarse rebuild interface.
2019-08-22 06:02:02 -07:00
Jason Volk
118efe5cc7
ircd: Ⓜ️ :room::state: Remove cruft.
2019-08-22 02:38:29 -07:00
Jason Volk
a119e6a3ef
ircd: Ⓜ️ :room::state::space: Exclude reference event from results.
2019-08-21 02:28:21 -07:00
Jason Volk
7e8d8666ff
ircd: Ⓜ️ :room::state: Add additional event::idx based tools.
2019-08-20 21:36:36 -07:00
Jason Volk
87a35a5a41
ircd: Add ago() convenience to timedate suite.
2019-08-20 21:23:18 -07:00
Jason Volk
27d394ebfa
ircd::util: Simplify tool.
2019-08-20 21:23:18 -07:00
Jason Volk
ac03c9a13b
ircd: Use bool return values through prefetching stack.
2019-08-19 21:18:26 -07:00
Jason Volk
7c6a0be4b5
ircd: Ⓜ️ :room: Remove cruft.
2019-08-19 20:58:14 -07:00
Jason Volk
6ccbede478
ircd::fs::aio: Use ctx::dock for waiter; minor reorg.
2019-08-19 20:24:05 -07:00
Jason Volk
25f5f28102
ircd::fs::aio: Improve conf item documentation.
2019-08-19 20:11:59 -07:00
Jason Volk
e58434705e
ircd: Ⓜ️ :dbs: Augment event_sender with a second key domain.
2019-08-19 18:40:12 -07:00
Jason Volk
0c317bdf9d
ircd: Ⓜ️ :room::state::space: Add nullary count() to interface.
2019-08-18 08:33:00 -07:00
Jason Volk
e38371d50c
ircd: Ⓜ️ :room: Add basic count() suite.
2019-08-18 08:20:11 -07:00
Jason Volk
abca51deea
ircd: Ⓜ️ :room::power: Add cheap composer for augmented default power_levels content.
2019-08-18 06:38:10 -07:00
Jason Volk
f0e817b8f2
ircd::client: Skip attempt at response when socket d/c'ed on exception.
2019-08-18 05:29:18 -07:00
Jason Volk
6e49f8ae6b
ircd: Ⓜ️ :room::state::space: Cleanup/simplify w/ structured bindings.
2019-08-18 04:57:18 -07:00
Jason Volk
48ee5e01d5
ircd: Ⓜ️ :room::state::space: Fix key construction for wildcard ranges.
2019-08-18 04:57:18 -07:00
Jason Volk
100aefc605
ircd: Ⓜ️ Reorder module loading and unloading. ( #109 )
2019-08-18 04:13:12 -07:00
Jason Volk
8454ae0275
ircd: Ⓜ️ :room::head: Simplify interface; move to module.
2019-08-18 03:09:34 -07:00
Jason Volk
59618c6a44
ircd: Ⓜ️ Move event::auth to room::auth; move to module.
2019-08-18 03:09:34 -07:00
Jason Volk
e3ced849ee
ircd: Ⓜ️ :room: Remove old cruft.
2019-08-18 00:32:01 -07:00
Jason Volk
59a6d4f6b5
modules: Stub modules in place for m_event/m_room; reorder load list.
2019-08-18 00:32:00 -07:00
Jason Volk
272e28aebe
ircd: Ⓜ️ :event::auth: Fetch join_rules on membership=invite.
2019-08-17 13:56:02 -07:00
Jason Volk
7218a5db36
ircd: Ⓜ️ :event::auth: Fix missing state_key param to power check.
2019-08-17 12:24:41 -07:00
Jason Volk
a9538fb4e0
ircd: Ⓜ️ :event::auth: Augment missing auth events; check twice; etc.
2019-08-17 11:50:08 -07:00
Jason Volk
7cc37e517a
ircd: Ⓜ️ Fix exception propagation from internal(room) check.
2019-08-17 08:30:58 -07:00
Jason Volk
62d7c94cfe
ircd::mods: Fix init function being called without recursive loading awareness. ( #109 )
2019-08-17 04:52:09 -07:00
Jason Volk
f7796b6c3e
ircd: Ⓜ️ :presence: Set the currently_active flag in convenience composer.
2019-08-17 02:59:13 -07:00
Jason Volk
1541b2d52e
ircd: Ⓜ️ :user: Move rooms::origins to user::servers interface.
2019-08-17 02:59:13 -07:00
Jason Volk
5c219c67da
ircd: Ⓜ️ :vm: Add conform check bypass for origin.
2019-08-17 02:59:13 -07:00
Jason Volk
3a0bfc8db9
ircd: Ⓜ️ :user::room: Add a one-liner is(user_room) test.
2019-08-16 23:54:04 -07:00
Jason Volk
5f4b6d5f1a
ircd: Ⓜ️ :user::filter: Move remaining to module.
2019-08-16 22:18:30 -07:00
Jason Volk
100f5c646a
ircd: Ⓜ️ :sync: Fix phased polylog invocation conditions; eliminate initial flag. ( #105 )
2019-08-16 04:50:39 -07:00
Jason Volk
fc742ae2d0
ircd: Fix warning/error.
...
ircd: Minor cleanup.
2019-08-16 03:32:13 -07:00
Jason Volk
125ff95875
ircd: Ⓜ️ :room::state: Simplify util interface arguments.
2019-08-16 02:25:50 -07:00
Jason Volk
6e8111f25f
ircd: Ⓜ️ :dbs: Assert room_id in room_state_key creations.
...
ircd:Ⓜ️ :room::messages: Assert room_id in ctor.
2019-08-16 02:19:49 -07:00
Jason Volk
d17286515b
ircd: Ⓜ️ :room::state: Simplify/consolidate iteration interface.
2019-08-16 02:19:49 -07:00
Jason Volk
2532f7f5e2
ircd::fs::aio: Add submit_coalesce conf item.
2019-08-16 02:19:49 -07:00
Jason Volk
97b613bb82
ircd::fs: Minor cleanup/simplify.
2019-08-16 02:19:49 -07:00
Jason Volk
49e1fd1eea
ircd: Ⓜ️ Move user::mitsein to module. ( #109 )
2019-08-16 02:19:49 -07:00
Jason Volk
76de6b4ac2
ircd: Ⓜ️ :create: Cleanup/Comments for m.room.create/room create related.
2019-08-16 02:19:49 -07:00
Jason Volk
65e79a584a
ircd: Ⓜ️ Improve room_version event_id related conditions.
2019-08-16 02:19:48 -07:00
Jason Volk
aaa015c6b8
ircd: Ⓜ️ :name: Add room_version as a property name.
2019-08-16 02:19:48 -07:00
Jason Volk
221a6339fb
ircd: Ⓜ️ :dbs: Mark all transactors which are not atomic. [ci skip]
2019-08-16 02:19:48 -07:00
Jason Volk
7fb0958080
ircd::json::tuple: Split additional non-member templates into header; constexpr member get()/at().
2019-08-15 00:05:48 -07:00
Jason Volk
d1d46051a9
ircd: Ⓜ️ :event: Remove switch statement in check_id().
2019-08-14 03:00:15 -07:00
Jason Volk
de730e33b1
ircd: Ⓜ️ Report a critical log on exception here.
2019-08-14 02:41:30 -07:00
Jason Volk
3d808022ed
ircd: Ⓜ️ :feds: Rename interface function.
2019-08-14 01:26:02 -07:00
Jason Volk
fca330e1c1
ircd: Ⓜ️ :room: Reorg / slim the class member function interface.
...
ircd:Ⓜ️ :room: Rename interface function.
2019-08-14 01:09:34 -07:00
Jason Volk
c95d1e56ee
ircd: Ⓜ️ :init: Add preliminary worker context loop for backfill unit. ( #78 )
2019-08-13 23:39:05 -07:00
Jason Volk
13eae71f87
ircd: Ⓜ️ Load conf before net_dns. ( #109 )
2019-08-13 22:27:22 -07:00
Jason Volk
1379350a72
ircd::log: Show different epoch counters for ctx and ios.
2019-08-13 21:18:55 -07:00
Jason Volk
765ec46b91
ircd::ctx::promise: Inline trivial accessors; explicit bool operator.
2019-08-13 20:53:02 -07:00
Jason Volk
42b65fa271
ircd::ctx: Add noexcept specifications; tweak inlines.
2019-08-13 20:26:08 -07:00
Jason Volk
8cd65bd3c9
ircd: Ⓜ️ :room: Consider an empty set a positive lonly() result.
2019-08-13 05:35:42 -07:00
Jason Volk
1bea1d2265
ircd: Ⓜ️ :room::origins: Add empty().
2019-08-13 05:35:42 -07:00
Jason Volk
6333c94fe0
ircd::info: Attempt to grab mlock rlimit; reorg log facilities and info dump.
2019-08-13 05:05:26 -07:00
Jason Volk
672ce5c3c6
ircd::log: Always allow the star facility.
2019-08-13 03:29:03 -07:00
Jason Volk
ea4d74967b
ircd: Ⓜ️ :events: Improve header comments.
...
ircd:Ⓜ️ :dbs: Fix typos.
2019-08-13 01:22:13 -07:00
Jason Volk
84e79a64e6
ircd: Ⓜ️ :rooms: Refactor interface; split rooms::summary; split module.
2019-08-12 23:55:07 -07:00
Jason Volk
f5b45f32d0
ircd::db: Fix comment/label. [skip ci]
2019-08-12 21:17:45 -07:00
Jason Volk
cd693500f9
ircd: Ⓜ️ :event: Fix event::id to event::idx queries which throw from a nothrow overload.
2019-08-12 20:46:54 -07:00
Jason Volk
1744ee065b
ircd: Ⓜ️ :event: Add conditions to efficiently handle event::idx sentinel value.
2019-08-12 20:45:57 -07:00
Jason Volk
a18325db07
ircd: Ⓜ️ :dbs: Fix out-of-order writes of m.room.redaction of state.
2019-08-12 01:39:16 -07:00
Jason Volk
3a420fb3b1
ircd: Ⓜ️ :dbs: Downgrade various debug errors to warnings.
2019-08-12 01:39:16 -07:00
Jason Volk
f74ddd0171
ircd: Ⓜ️ Add back the id::NODE sigil; add to room_id() translation.
2019-08-12 01:39:16 -07:00
Jason Volk
b60edf3212
ircd: Ⓜ️ Eliminate the !nodes room related.
2019-08-12 01:39:16 -07:00
Jason Volk
f24bf54799
ircd: Ⓜ️ Eliminate the user::users room references.
2019-08-12 01:39:16 -07:00
Jason Volk
eb587c6334
ircd: Ⓜ️ Improve the exists(user_id) check.
2019-08-11 23:30:50 -07:00
Jason Volk
8779cfd866
ircd: Ⓜ️ Move m::users to module.
2019-08-11 23:30:50 -07:00
Jason Volk
dffb03a562
ircd: Cleanup / simplify assert related interface.
2019-08-11 23:30:50 -07:00
Jason Volk
e7596fba96
ircd: Ⓜ️ :room::state::space: Log a DWARNING on rebuild interruption.
2019-08-11 23:30:50 -07:00
Jason Volk
a3f2f2082e
ircd: Ⓜ️ :room::state::space: Fix default value in seek key generation.
2019-08-11 18:25:52 -07:00
Jason Volk
b8a595a1c5
ircd: Ⓜ️ :dbs: Cleanup/modernize with structured bindings.
2019-08-11 18:18:57 -07:00
Jason Volk
aa4147b02a
ircd: Ⓜ️ :sync: Fix conditions for non-phased non-initial sync items.
2019-08-11 08:15:36 -07:00
Jason Volk
9bab532c3e
ircd: Ⓜ️ :sync: Add interruption points in polylog caller; state iteration.
2019-08-11 08:00:41 -07:00
Jason Volk
9a3f37c0af
ircd: Ⓜ️ :sync: Remove cruft.
2019-08-11 07:51:42 -07:00
Jason Volk
41c8643305
ircd::fs: Use better indicator for async support type.
2019-08-11 04:52:38 -07:00
Jason Volk
125f53872c
ircd::fs: Preliminary io_uring infrastructure plumbing.
2019-08-11 01:39:30 -07:00
Jason Volk
588b0aa9bc
ircd::fs::aio: Fix bitrot assertion; simplify aio related.
2019-08-10 23:22:28 -07:00
Jason Volk
2a7dc12386
ircd: Ⓜ️ 🆔 Improve version check exception msg.
2019-08-10 23:22:28 -07:00
Jason Volk
395624879c
ircd: Ⓜ️ :vm: Add event_id version floor check conform hook.
2019-08-10 01:28:21 -07:00
Jason Volk
45d9a79cc0
ircd: Ⓜ️ :event::conforms: Fix event_id version regression in self-reference check.
2019-08-10 01:00:28 -07:00
Jason Volk
8bce90fbf3
modules/client/keys/upload: Properly implement one_time_keys upload. ( Fixes #9 )
2019-08-09 23:34:20 -07:00
Jason Volk
198fbfa20b
ircd::db: No compaction readahead for direct IO.
2019-08-08 19:50:33 -07:00
Jason Volk
da0827dbbb
ircd::server: Fix content_read synchronization with chunk_read. ( Fixes #116 )
2019-08-08 18:39:20 -07:00
Jason Volk
060e46f8e4
ircd: Conditionally compile with gettimeofday().
...
ircd: Stronger embedding for time point samples.
2019-08-08 18:09:50 -07:00
Jason Volk
ca99df8edb
ircd::assert: Always inline the debugtrap.
2019-08-08 16:12:52 -07:00
Jason Volk
cc9054303d
ircd: Ⓜ️ Disable client_keys_upload module for now.
2019-08-08 14:21:39 -07:00
Jason Volk
be959362dd
ircd::run: Handle runlevel change callback unhandled here.
2019-08-07 21:41:55 -07:00
Jason Volk
0f8cabdcb9
modules/client: Start a register/email module; stub requestToken. ( #106 )
2019-08-07 15:03:50 -07:00
Jason Volk
f558ac1a28
ircd: Ⓜ️ :room::power: Prevent exception on json::type() for no collection.
2019-08-07 02:48:51 -07:00
Jason Volk
2bc795b883
ircd: Ⓜ️ :event::auth: Call the auth hook for unenumerated/additional types.
2019-08-07 01:24:16 -07:00
Jason Volk
f7dbe8afe2
ircd: Various fixes / cleanup.
2019-08-07 00:41:08 -07:00
Jason Volk
14f16f2b0d
ircd::fs: Support hole punching if available; add checks for allocate options.
2019-08-06 16:39:28 -07:00
Jason Volk
f549fb1f72
ircd::fs: Fix support version detections.
2019-08-06 15:49:24 -07:00
Jason Volk
bd2dd1c50d
ircd::fs: Make support string an info log message.
2019-08-06 15:44:32 -07:00
Jason Volk
315276e3c4
ircd::info: Reorg/improve hardware information sampling.
2019-08-06 15:44:32 -07:00
Jason Volk
d38a40b3d0
ircd: Ⓜ️ 🆔 Copy to lowercase in room alias buffer constructions.
2019-08-05 22:15:01 -07:00
Jason Volk
b5a6af1360
ircd: Optimize tolower transform.
2019-08-05 21:33:56 -07:00
Jason Volk
8b9822e4fb
Fix various instances of throwing into noexcept.
2019-08-05 16:20:55 -07:00
Jason Volk
009d417273
ircd: Indicate noexcept on advised interfaces.
2019-08-05 16:19:20 -07:00
Jason Volk
c64bb6850c
ircd::net: Fix/improve the v6/v4 check.
...
ircd::net: Add an is_null(ipport/ipaddr).
ircd::net: Improve the v6/v4 check efficiency.
ircd::net: Swap defaulting from v6 to v4 for better null address output.
2019-08-04 18:05:58 -07:00
Jason Volk
c860646943
Fix listener module name in imports.
2019-08-04 14:50:09 -07:00
Jason Volk
afc001e68c
ircd::log: Use microdate() for log prefix.
2019-08-03 20:04:08 -07:00
Jason Volk
8dd0a22351
ircd: Add additional formatted microdate().
2019-08-03 20:02:18 -07:00
Jason Volk
ac4e742010
ircd::log: Convert to hook architecture.
2019-08-03 18:36:42 -07:00
Jason Volk
7192a75ac5
ircd: Ⓜ️ Fix conf::item constness.
2019-08-03 17:15:28 -07:00
Jason Volk
36b64f863b
ircd::stringops: Assert and satisfy these conversions.
2019-08-03 17:07:54 -07:00
Jason Volk
47e2f92eda
ircd::rfc1035: Cast to unsigned.
2019-08-03 17:02:21 -07:00
Jason Volk
beaa970176
ircd: Ⓜ️ Rename main log facility.
2019-08-03 16:25:43 -07:00
Jason Volk
fa341c274e
ircd::log: Add some minor comments / document.
2019-08-03 16:11:14 -07:00
Jason Volk
07c29ab914
modules: Rename webhook/index to more consistent web_ prefix.
2019-08-03 15:00:47 -07:00
Jason Volk
b72b0ac110
ircd::net: Use buffer size consts.
2019-08-02 22:34:24 -07:00
Jason Volk
de00f3b0c3
ircd::net: Improve connect logmsg.
2019-08-02 22:34:12 -07:00
Jason Volk
d9a770ba3e
ircd::rfc1035: Case transform to lower in make_name().
2019-08-02 22:03:23 -07:00
Jason Volk
48da12c306
ircd::net: Case transform in string()/canonize()/dns::make_SRV_key().
2019-08-02 22:01:00 -07:00
Jason Volk
aa013ac526
ircd: Add string_view based tolower()/toupper().
2019-08-02 21:02:40 -07:00
Jason Volk
d8fcbf7325
ircd: Ⓜ️ Reinterface append(event) into event::append; move to module. ( #109 )
2019-08-02 17:34:31 -07:00
Jason Volk
8e5e599690
ircd: Ⓜ️ Relax exception propagation through event::refs. ( Fixes #114 )
2019-08-02 15:04:29 -07:00
Jason Volk
e22795e988
ircd::log: Remove console_ansi from conf items.
2019-08-02 15:04:29 -07:00
Jason Volk
af48bdfa6e
ircd::json: Stub an unescape().
2019-08-02 15:04:29 -07:00
Jason Volk
181ed12bd7
ircd::json: Add more escapes to map.
2019-08-02 15:04:28 -07:00
Jason Volk
7984f4bdee
ircd::json: Require full range of control chars to be escaped.
2019-08-02 15:04:28 -07:00
Jason Volk
75927abb42
ircd::json: Restrict escaped unicodes to UTF-16 surrogates.
2019-08-02 15:04:28 -07:00
Jason Volk
fefaaca2c2
ircd::prof: Split header into directory.
...
ircd::prof: Split linux/perf_event specific to unit.
2019-07-31 19:43:09 -07:00
Jason Volk
5e3f81685c
ircd: Ⓜ️ Shorten matrix log facility names.
...
modules/m_room_bootstrap: Rename log facility.
2019-07-31 19:43:06 -07:00
Jason Volk
6edde2a972
ircd::prof: Remove valgrind/callgrind include unused in this unit.
2019-07-31 19:26:16 -07:00
Jason Volk
38970872e5
ircd::ctx: Minor comments.
2019-07-31 17:19:00 -07:00
Jason Volk
4acb76f621
ircd::db::env: Turn on some debuglog msgs unconditionally.
2019-07-30 19:19:01 -07:00