Jason Volk
c676d56dcd
ircd: Ⓜ️ Add room::members::count() with membership=join optimized path.
2018-03-03 10:17:05 -08:00
Jason Volk
7a860964c4
ircd: Ⓜ️ Split the origins iteration to also allow raw key iteration.
2018-03-03 10:17:05 -08:00
Jason Volk
8a5462063e
ircd: Ⓜ️ Add util to get membership from either event.membership or event.content.
2018-03-03 10:17:05 -08:00
Jason Volk
e95b61d46b
ircd: Ⓜ️ Add a room::origins::count()er.
2018-03-03 05:56:42 -08:00
Jason Volk
763c14fb7b
ircd: Ⓜ️ :dbs: Add crucial member key to origins sequence.
2018-03-03 05:47:15 -08:00
Jason Volk
d0ef714179
ircd: Ⓜ️ 🆔 Tighten exception spec on boolean validators; tweak test grammar.
2018-03-03 05:04:23 -08:00
Jason Volk
6db4b083a8
ircd: Ⓜ️ 🆔 Fix local,host generator ctor to account for existing sigil.
2018-03-03 04:06:49 -08:00
Jason Volk
90e3b90775
ircd: Ⓜ️ Hook ctor rewrites local m::id's with my_host(); update affected hooks.
2018-03-03 04:06:49 -08:00
Jason Volk
7eff71b9a3
ircd: Ⓜ️ Add function to check if and only if id is a valid localpart.
2018-03-03 04:06:49 -08:00
Jason Volk
6333003aad
ircd: Ⓜ️ Move user::activate() out to modules/client/register.
2018-03-03 00:51:27 -08:00
Jason Volk
fa3d92103c
ircd: Ⓜ️ Add event serial size check; check size during commit.
2018-03-03 00:04:43 -08:00
Jason Volk
c4d8b17ecb
ircd: Ⓜ️ Add convenience sender for org.matrix.custom.html messages.
2018-03-02 23:22:52 -08:00
Jason Volk
b840156b37
ircd::server: Add preliminary node error state; keep erroneous node in map as cache.
2018-03-02 22:37:52 -08:00
Jason Volk
a99fff0988
ircd: Ⓜ️ Add meta column for sequential presently joined origins iteration.
2018-03-02 22:03:06 -08:00
Jason Volk
2be4d22403
ircd: Ⓜ️ Add slightly arbitrary hook msgtype matching.
2018-03-02 21:13:11 -08:00
Jason Volk
94087f6316
ircd: Ⓜ️ Add alternative hook ctor for simple argument syntax reversal.
2018-03-02 21:12:11 -08:00
Jason Volk
0d4083c487
ircd: Ⓜ️ :dbs: Remove stale comment.
2018-03-02 08:33:40 -08:00
Jason Volk
f3d8cc7950
ircd: Ⓜ️ Set IRCd's presence status on startup and shutdown.
2018-03-02 08:02:21 -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
f7034d0bf5
ircd: Ⓜ️ Add convenience notice(room) suite.
2018-03-02 08:02:21 -08:00
Jason Volk
f8e356eb0e
ircd::conf: Develop conf get/set by string; use mapping by item name.
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
581e804e37
ircd::net::dns: Use conf item for DNS resolver timeout value.
2018-03-02 08:02:20 -08:00
Jason Volk
97e593a77e
ircd: Mein conf.
2018-03-02 08:02:20 -08:00
Jason Volk
d54d6b687c
ircd::net::dns: Add crucial support for caching errors.
2018-03-02 08:02:20 -08:00
Jason Volk
b166d0744d
ircd::rfc1035: Ensure record types default-construct the super with their type.
2018-03-01 23:34:59 -08:00
Jason Volk
3aea407a85
ircd::net::dns: Add dns::cache.
2018-03-01 23:08:22 -08:00
Jason Volk
b10d3498e3
ircd::rfc1035: Use string_view of namebuf rather than namelen.
2018-03-01 21:47:03 -08:00
Jason Volk
eed18331cd
ircd::ed25519: Fix fs::read regression from fs:: exception changes.
2018-03-01 04:34:22 -08:00
Jason Volk
5a744debe2
ircd: Ⓜ️ :vm: Fix b64 buffer size calc; minor cleanup.
2018-03-01 04:34:22 -08:00
Jason Volk
ebed17d9d0
ircd: Fix error / simplify.
2018-03-01 02:30:59 -08:00
Jason Volk
c31b072a82
ircd: Ⓜ️ Improve room::membership() convenience query interface.
2018-02-28 21:05:09 -08:00
Jason Volk
2a7d7fa8c8
ircd::json: Value stringify semantic fixes.
2018-02-28 03:12:17 -08:00
Jason Volk
0e9a1e5109
ircd::net: wat.
2018-02-28 00:00:19 -08:00
Jason Volk
a8569fb81b
ircd::server: Improve conditional for dynamic content feature.
2018-02-27 23:12:26 -08:00
Jason Volk
bd065a826a
ircd: Ⓜ️ :vm: Add error class; add/checkin options; checkpoint preliminary eval.
2018-02-27 22:57:05 -08:00
Jason Volk
14d5bd4f99
ircd: Ⓜ️ :state: Checkpoint removal entry point.
2018-02-27 22:57:05 -08:00
Jason Volk
f76d82a553
ircd: Ⓜ️ Fix/simplify xvalue.
2018-02-27 22:57:00 -08:00
Jason Volk
8f086aaed9
ircd: Ⓜ️ Add convenience operator|= to event::conforms for masking.
2018-02-27 20:55:59 -08:00
Jason Volk
ef9646e719
ircd: Ⓜ️ Add exists(event::id) database check.
2018-02-27 20:47:19 -08:00
Jason Volk
bd4da0dd0a
ircd: Ⓜ️ Consider these not-errors to allow for forward-compat/reuse.
2018-02-27 20:25:23 -08:00
Jason Volk
03034723df
ircd::net: Update socket handler conditions to ignore timeout if data is there too.
2018-02-27 18:08:15 -08:00
Jason Volk
a5389dfd95
ircd::net: Assertion found case where (timedout && !ec) is valid:
...
This happens when handle_timeout is executed while handle_ready has
already hit the asio queue. The sd.cancel() is too late to cause
ec==operation_canceled.
2018-02-27 07:12:04 -08:00
Jason Volk
34ad473bdc
ircd::server: Pass along remote's error content into our http::error.
2018-02-27 01:38:34 -08:00
Jason Volk
fc3b68b9e9
ircd::server: Add more state for async ops; adjust post points.
2018-02-27 01:00:12 -08:00
Jason Volk
7f77c68232
ircd::net/ircd::server: Rename misleading functions.
2018-02-26 22:49:44 -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
c412beacbf
ircd::server: Add dynamic content allocation after receiving head.
2018-02-26 21:56:05 -08:00
Jason Volk
d1b66e2657
ircd: Ⓜ️ :v1: Remove all the static default_opts.
2018-02-26 21:43:02 -08:00
Jason Volk
ceac1d96ac
ircd::fs: Add missing exception translation to read()/write() dispatchers.
2018-02-26 20:45:40 -08:00
Jason Volk
e37a8599f7
ircd::fs: Add remove() / rename() support.
2018-02-26 20:45:14 -08:00
Jason Volk
121be689e8
ircd::fs: Fix namespace ambiguities; various interface updates.
2018-02-26 20:35:09 -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
64a77e280d
ircd::http: Parse content_type convenience reference in response::head.
2018-02-26 04:00:36 -08:00
Jason Volk
0721d28254
ircd: Ⓜ️ 🪝 Minor cleanup: move event_match function to hook::.
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
5dbafa6a21
ircd: Ⓜ️ 🪝 Condition to match on membership field if available.
2018-02-26 00:12:03 -08:00
Jason Volk
e259d7bad7
ircd: Ⓜ️ 🪝 Use union matching strategy by default.
2018-02-26 00:07:53 -08:00
Jason Volk
bd14377904
ircd: Ⓜ️ Captain hook.
2018-02-25 23:35:25 -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
619a5a6a96
ircd: Ⓜ️ :v1: Add additional query::profile field overload.
2018-02-25 00:30:45 -08:00
Jason Volk
a25b9c84f5
ircd: Ⓜ️ Add missing/matching my(user).
2018-02-25 00:30:45 -08:00
Jason Volk
bab52e2967
ircd: Ⓜ️ :v1: Add query request; add profile / directory convenience subtypes.
2018-02-24 23:53:32 -08:00
Jason Volk
191167f7ba
ircd: Ⓜ️ Add count() interface to room::state.
2018-02-24 19:52:02 -08:00
Jason Volk
4818409b51
ircd: Ⓜ️ :state: Strictly use name:: references for all property access.
2018-02-24 19:47:30 -08:00
Jason Volk
4643a78c47
ircd: Ⓜ️ :state: Add branch accounting to b-tree node.
2018-02-24 19:27:17 -08:00
Jason Volk
ff2903900b
ircd: In runtime debugmode, log HTTP errors at the error level.
2018-02-23 23:35:09 -08:00
Jason Volk
924d86e1e9
ircd: Ⓜ️ Rename ircd.account key to ircd.user in !users.
2018-02-23 19:39:51 -08:00
Jason Volk
f2a3e2487c
ircd: Ⓜ️ Support lower_bound state_key queries into room::state.
2018-02-23 19:39:51 -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
515370b2c2
ircd: Ⓜ️ Add and apply module importer; replace any module name suffixes.
2018-02-22 20:32:10 -08:00
Jason Volk
33788e66f2
ircd::mods: Improve hiding the module name suffix from public interface.
2018-02-22 20:32:09 -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
0569b41f4b
ircd::mods: Add sym_ptr / import_shared reference ctors.
2018-02-22 14:30:11 -08:00
Jason Volk
8ae1e735f2
construct/ircd: Minor update stale comments.
2018-02-22 01:33:25 -08:00
Jason Volk
ec4a631608
ircd: Ⓜ️ 🆔 Update generator constructor; add room_id generator; minor cleanup.
2018-02-22 00:38:25 -08:00
Jason Volk
f235fc155e
ircd::server: Close and remove node on name resolution error.
2018-02-21 17:44:08 -08:00
Jason Volk
52cbf0fc70
ircd: Condition client timeout for longpoll; fix resource request reference.
2018-02-21 17:43:29 -08:00
Jason Volk
d50ef4b45f
ircd::log: Add interface to toggle facility to console.
2018-02-21 16:13:49 -08:00
Jason Volk
bae8e3b869
ircd: Ⓜ️ Add reverse reflection for event::conforms code.
2018-02-21 15:05:27 -08:00
Jason Volk
4f4b53416c
ircd: Ⓜ️ Add more event::conforms checks; add skip-checks constructor.
2018-02-21 15:05:27 -08:00
Jason Volk
a00e305442
ircd: Ⓜ️ Rename event::errors to event::conforms.
2018-02-21 13:43:33 -08:00
Jason Volk
c72f7f1e96
ircd: Ⓜ️ Begin an event::errors fundamental conformity report.
2018-02-21 00:13:18 -08:00
Jason Volk
1bf9997086
ircd: Ⓜ️ Deinline these m::event related.
2018-02-20 18:26:54 -08:00
Jason Volk
198aea3e8f
ircd: Ⓜ️ Fix warning from 329b1dc5
.
2018-02-20 15:40:40 -08:00
Jason Volk
4de2479f73
ircd: Ⓜ️ Add missing characters to user mxid grammar.
2018-02-20 15:40:40 -08:00
Jason Volk
e5bc194fe5
ircd: Ⓜ️ Have id sigil grammar convert and return the enum.
2018-02-19 20:56:45 -08:00
Jason Volk
3d1409b243
ircd: Ⓜ️ Tighten exception specification for user::is_password().
2018-02-19 19:45:44 -08:00
Jason Volk
329b1dc514
ircd: Ⓜ️ Add nothrow stack to complement head(room).
2018-02-19 19:45:44 -08:00
Jason Volk
36363134e5
ircd::aio: Cleanup / further simplify.
2018-02-19 19:45:44 -08:00
Jason Volk
f620bdcb3a
ircd: Ⓜ️ :v1: Add version request.
2018-02-19 19:45:44 -08:00
Jason Volk
eaf8df25c2
ircd::info: Add name string / agency strings.
2018-02-19 16:51:28 -08:00
Jason Volk
a21b2b28fa
ircd::info: Minor reorg / cleanup.
2018-02-19 13:32:34 -08:00
Jason Volk
7142cbf735
ircd: Move magic out of fs::.
2018-02-18 22:54:54 -08:00
Jason Volk
fbafdaa851
ircd::mods: Disable the mangles map for now.
2018-02-18 22:38:23 -08:00
Jason Volk
de08752853
ircd::net: Remove unused/erroneous has_timeout().
2018-02-18 22:38:23 -08:00
Jason Volk
5a16a5ded9
ircd::json: Indicate static duration for these printer closures.
2018-02-18 22:35:35 -08:00
Jason Volk
f8e5ca20d3
ircd::json: Remove the double-indirected member stringify.
2018-02-18 22:35:35 -08:00
Jason Volk
89ca9c9b24
ircd::json: Allow multiple attributes to the printer; simplify printer stack.
2018-02-18 22:35:27 -08:00
Jason Volk
42a22a6c79
ircd::json: Use consumption protocol for create_string closure.
2018-02-18 22:22:38 -08:00
Jason Volk
0e526484ea
ircd::json: Ensure iov's are in a fixed location.
2018-02-18 22:18:52 -08:00
Jason Volk
f5197cc8ff
ircd::fs: Add magic interface.
2018-02-18 01:12:09 -08:00
Jason Volk
b5cb40e63d
configure.ac: Support libmagic.
2018-02-17 21:42:27 -08:00
Jason Volk
2be465d67f
ircd::aio: Zero-length IO is very much a thing.
2018-02-17 17:14:15 -08:00
Jason Volk
62f4db4cce
ircd: Ⓜ️ Fix/cleanup m::id generator ctor.
2018-02-17 16:17:59 -08:00
Jason Volk
9173c13b89
ircd: Move resource::request related off the stack into client.
2018-02-17 16:17:59 -08:00
Jason Volk
e149f38d79
ircd::json: This has to be more relaxed for now here.
2018-02-17 16:17:59 -08:00
Jason Volk
7e89baf369
ircd: Add resource::method::CONTENT_DISCRETION option flag.
2018-02-17 14:38:49 -08:00
Jason Volk
3709bd5612
ircd: Improve+rename client/resource head_buffer/content_buffer related.
2018-02-17 14:28:06 -08:00
Jason Volk
3c359e1dcc
ircd: Ⓜ️ Add RoomEventFilter matcher.
2018-02-17 13:08:59 -08:00
Jason Volk
d89eaf338c
ircd: Ⓜ️ 5 Filter (m::event_filter) matching (without globular).
2018-02-17 13:08:17 -08:00
Jason Volk
7a08fe8181
ircd: Ⓜ️ Deinline these request ctors.
2018-02-16 16:44:57 -08:00
Jason Volk
ca7f32a89b
ircd: Ⓜ️ 🆔 Minor cleanup.
2018-02-16 16:33:28 -08:00
Jason Volk
bd6d0903a8
ircd: Ⓜ️ : Fix stupid.
2018-02-16 13:33:19 -08:00
Jason Volk
acdb99887f
ircd: Remove redundant sentence from README.
2018-02-16 11:26:43 -08:00
Jason Volk
00e90865d2
ircd: Ⓜ️ Add linear query suite to room interface.
2018-02-15 19:17:09 -08:00
Jason Volk
dbf6453171
ircd: Move IRCd Library section from top README.
2018-02-15 18:32:03 -08:00
Jason Volk
01251573bc
ircd: Ⓜ️ Add redacts
to main event; add redact(room, ...) committer.
2018-02-15 16:35:50 -08:00
Jason Volk
2921692571
ircd: Update Makefile ordering.
2018-02-15 14:07:25 -08:00
Jason Volk
d366523b64
ircd: Ⓜ️ Move sigil prefixing out of the random functors in generate_t ctor.
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
6ece5db391
ircd: Ⓜ️ Add user::room wrapping m::room with buffer of user's user room_id.
2018-02-15 13:40:08 -08:00
Jason Volk
050eacd142
ircd: Ⓜ️ Add m::user helpers to generate password hash and access tokens.
2018-02-15 13:05:00 -08:00
Jason Volk
51b2cafc74
ircd: Ⓜ️ Add experimental sigiled and qualified device MXID.
2018-02-15 13:01:07 -08:00
Jason Volk
08335c3883
ircd: Ⓜ️ Add random alpha-based ID generator.
2018-02-15 13:00:23 -08:00
Jason Volk
7b0c53501a
ircd::rand: Modernize interface.
2018-02-15 12:53:00 -08:00
Jason Volk
a7c662529d
ircd: Ⓜ️ :vm: Remove the fronts map.
2018-02-14 22:07:01 -08:00
Jason Volk
a66f0f9423
ircd::json: Update the generator grammar.
2018-02-13 21:14:52 -08:00
Jason Volk
333d7a81f5
ircd: Move ircd::db::init up in the main sequence.
2018-02-13 20:38:55 -08:00
Jason Volk
d32f990c6a
ircd: Ⓜ️ Improve room::messages interface as a bidirectional STL iterator.
2018-02-13 14:25:01 -08:00
Jason Volk
6f0ca19df6
ircd: Ⓜ️ Cleanup cruft from m::room; comments; minor.
2018-02-13 14:23:56 -08:00
Jason Volk
ad56d381a5
ircd: Ⓜ️ :dbs: Add a room_events_key generator which doesn't require event_id.
2018-02-13 14:21:57 -08:00
Jason Volk
032156a18e
ircd: Ⓜ️ Force json::STRING on event.content.body so purely numerical messages are quoted.
2018-02-12 19:52:10 -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
dbdc4a94d2
ircd: Ⓜ️ :state: Use the appropriate codepath for undefined key dfs.
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
830a4b92a1
ircd: Ⓜ️ Add preliminary !@user:host "user's room" to database all things user.
2018-02-11 15:47:24 -08:00
Jason Volk
085776655c
ircd: These const_buffer casts are no longer necessary.
2018-02-11 15:47:24 -08:00
Jason Volk
939957c02a
ircd: Ⓜ️ Split filter into compilation unit; reactivate interface.
2018-02-11 15:47:24 -08:00
Jason Volk
f770a1638e
ircd: Update Makefile ordering to reflect current header ordering; commentary.
2018-02-11 15:47:24 -08:00
Jason Volk
b94d0b8ce6
ircd: Ⓜ️ Split m::user compilation unit.
2018-02-11 12:02:49 -08:00
Jason Volk
0afaa70ccf
ircd: Refer to the right access_token in the resource::request struct.
2018-02-10 22:07:06 -08:00
Jason Volk
b1d257c93a
ircd: Support authorization: bearer access tokens.
2018-02-10 22:03:39 -08:00
Jason Volk
8044fdb3ce
ircd: Reenable access token authentication.
2018-02-10 22:03:31 -08:00