Jason Volk
b95a588bc4
ircd::db: Comment/improve descriptor/column options.
2018-04-17 15:28:08 -07:00
Jason Volk
330fe74035
ircd::db: Add file_count and bytes aggregator for all columns in db.
2018-04-17 14:13:36 -07:00
Jason Volk
6ef68a8f4e
ircd: Ⓜ️ Show content bytes in pretty(event).
2018-04-17 02:51:44 -07:00
Jason Volk
8a829435cd
ircd: Ⓜ️ :vm: Special case sequence number zero for iterator.
2018-04-16 23:30:57 -07:00
Jason Volk
bcd704826c
ircd: Ⓜ️ :vm: Move db::txn to the stack; use automatic reserve option.
2018-04-16 17:28:26 -07:00
Jason Volk
b729338037
ircd: Ⓜ️ :room: Move event::fetch outside loop to prevent constructions.
2018-04-16 15:58:26 -07:00
Jason Volk
d5cd5dea09
ircd: Ⓜ️ :vm: Sequence iteration interface.
2018-04-16 15:58:02 -07:00
Jason Volk
b320d8ece1
ircd: Ⓜ️ :vm: Integrate sequence counting.
2018-04-16 15:20:08 -07:00
Jason Volk
d5087f4e8f
ircd: Ⓜ️ :dbs: Add event sequence column.
2018-04-16 15:20:08 -07:00
Jason Volk
dcacc5af0a
ircd: Ⓜ️ :vm: Add db::txn allocation reservation options.
2018-04-16 15:20:08 -07:00
Jason Volk
e009d6763e
ircd::db: Fix issues with txn interface.
2018-04-16 15:20:08 -07:00
Jason Volk
cae6964fa5
ircd: Ⓜ️ :vm: Add missing INTERRUPT fault to reflect switch.
2018-04-16 13:48:16 -07:00
Jason Volk
60b9960c3d
ircd: Ⓜ️ Tweaks to bootstrap / init task ordering.
2018-04-15 18:02:41 -07:00
Jason Volk
19d7e05605
ircd::resource: Allow each resource method to specify its timing.
2018-04-15 18:02:41 -07:00
Jason Volk
49d83de384
ircd::net: Propagate ctx interruption to socket.
2018-04-15 17:46:20 -07:00
Jason Volk
f4b2273a4b
ircd::net: Add a semaphore to the socket timer to invalidate queued callbacks.
2018-04-15 17:46:20 -07:00
Jason Volk
5be18475df
ircd::net: Move scope_timeout from socket:: to net:: w/ exposure.
2018-04-15 16:43:09 -07:00
Jason Volk
6d88ee339d
ircd: Ⓜ️ :dbs: Rename room_origins to room_joined.
2018-04-15 16:43:09 -07:00
Jason Volk
7b54dba291
ircd::db: Expose an interface for some counters; add ticker command.
2018-04-15 16:43:09 -07:00
Jason Volk
416d199736
ircd: Ⓜ️ Fix pretty(event) formatting.
2018-04-15 04:16:40 -07:00
Jason Volk
2dad8d8832
ircd::net::dns: Empty cache key assertions.
2018-04-15 02:44:28 -07:00
Jason Volk
0c78bf7a9b
ircd::db: Add compaction interface.
2018-04-15 02:42:57 -07:00
Jason Volk
f7f2194745
ircd::db: Reenable the histogram collection.
2018-04-15 00:36:33 -07:00
Jason Volk
0a3259afae
ircd::db: Custom table opts; table cache; introduce the bloom filter.
2018-04-14 23:10:09 -07:00
Jason Volk
f37176d698
ircd::net::dns: Enforce min ttl for cache entries; add conf option.
2018-04-14 18:35:48 -07:00
Jason Volk
de295777d0
ircd::net::dns: Improve/fix cache management related.
2018-04-14 18:13:19 -07:00
Jason Volk
b9cf0c9796
ircd::rfc1035: Comparison operator suite for record types.
2018-04-14 17:34:07 -07:00
Jason Volk
1ad4d58e43
ircd::net::dns: Move cache interfaces into cache class.
2018-04-14 17:34:07 -07:00
Jason Volk
756840b42c
ircd::client: Add unique client id monotonic counter.
2018-04-14 17:15:06 -07:00
Jason Volk
69b0066c15
ircd::resource: Add routine to warmup caches after origin verification.
2018-04-14 17:15:06 -07:00
Jason Volk
cf22eacfd3
ircd::net::dns: Add static fire-and-forget callbacks for prefetching.
2018-04-14 17:15:06 -07:00
Jason Volk
e3b97871f9
ircd: Add function to return daemon's uptime.
2018-04-14 17:15:06 -07:00
Jason Volk
deb1a0a979
ircd::resource: Add chunked encoding response suite.
2018-04-13 23:19:43 -07:00
Jason Volk
3f72b7ce19
ircd::db: Update gopts; add seqnum option; fix missing readahead.
2018-04-13 22:46:31 -07:00
Jason Volk
7c92eb2757
ircd::server: Use system time for error time state.
2018-04-13 20:02:48 -07:00
Jason Volk
dc81d77c19
ircd::net: Improve/comment on various sundry DNS cache related.
2018-04-13 18:34:48 -07:00
Jason Volk
6ca4f6eec5
ircd::net: Expose interface for socket stat counter.
2018-04-13 17:24:07 -07:00
Jason Volk
69aeddad61
ircd::client: Reference the client's request handling context via class member.
2018-04-13 17:03:17 -07:00
Jason Volk
414133ba55
ircd::resource: Reset the client.request object after request.
2018-04-13 16:52:38 -07:00
Jason Volk
dd69acbad3
ircd::json::stack: Handle and properly propagate flusher exception out of stack.
2018-04-13 16:03:34 -07:00
Jason Volk
0b217b3474
ircd::client: Improve request exception propagation; propagate ctx::interrupted.
2018-04-13 15:46:16 -07:00
Jason Volk
14d90bf4a9
ircd: Ⓜ️ :vm: Move temporary m.room.member effect to modules/m_room_member.
2018-04-13 14:54:11 -07:00
Jason Volk
45f8239f9b
ircd: Ⓜ️ :vm: Properly propagate a context interruption to the evaluator.
2018-04-12 23:07:46 -07:00
Jason Volk
56234556e8
ircd: Ⓜ️ Real uses for this prefer to include the user in the iteration.
2018-04-12 23:07:46 -07:00
Jason Volk
bd4a16fab1
ircd::db: Tweak sundry open options.
2018-04-12 23:07:46 -07:00
Jason Volk
b5dd434e7c
ircd::db: Adjust db open and close log messages for where waiting happens.
2018-04-12 23:07:46 -07:00
Jason Volk
ae528af7cd
ircd::db: Reduce the offloading to a wieldy statement.
2018-04-12 23:07:46 -07:00
Jason Volk
9dfd9f8258
ircd::net: No propagation from accept/handshake handlers; use debug error.
2018-04-12 23:07:45 -07:00
Jason Volk
cee7a17330
ircd: Ⓜ️ :dbs: Purge old cruft; add various \briefs.
2018-04-12 23:07:45 -07:00
Jason Volk
455ff99b93
ircd::db: Error reporting and fallbacks for db property queries.
2018-04-12 23:07:45 -07:00
Jason Volk
a628f88206
ircd: Ⓜ️ :room: Adjust expectations for fetching event after index seek.
2018-04-12 14:10:45 -07:00
Jason Volk
0a1a35fdf4
ircd: Ⓜ️ :room::members: Improve interface; add user::id specific iteration closure.
2018-04-12 14:10:03 -07:00
Jason Volk
f9ade26b24
ircd: Ⓜ️ :dbs: Workaround issues with incorrect std::tuple references.
2018-04-12 14:08:48 -07:00
Jason Volk
8bf0b4d093
ircd::net: Assert proper socket object semantics.
2018-04-12 12:52:14 -07:00
Jason Volk
28488eb54b
ircd: Ⓜ️ Add messages iteration convenience interface to m::room.
2018-04-12 02:14:10 -07:00
Jason Volk
54e3719097
ircd::json: Consolidate authority for value defined() semantics.
2018-04-11 23:40:31 -07:00
Jason Volk
97ec3a62ab
ircd::json: Fix bugs related to bool type.
2018-04-11 23:40:30 -07:00
Jason Volk
ed637d48f0
ircd: Ⓜ️ :dbs: Fix issues with origins index key split.
2018-04-11 23:40:30 -07:00
Jason Volk
b3fa735f8d
ircd: Ⓜ️ Minor constness fixes.
2018-04-11 23:40:30 -07:00
Jason Volk
8011b7dd9f
ircd: Ⓜ️ :room: Fix exception coming out of loop.
2018-04-11 23:40:30 -07:00
Jason Volk
4db39a1bcb
ircd: Ⓜ️ :state: Use loop condition rather than exception catch.
2018-04-11 23:40:30 -07:00
Jason Volk
9336b28095
ircd: Ⓜ️ :state: Bound the stack frame size.
2018-04-11 23:40:30 -07:00
Jason Volk
b16aa7f55c
ircd: Ⓜ️ :state: Add get_node(nothrow) overload.
2018-04-11 23:40:30 -07:00
Jason Volk
82ef048d3f
ircd: Ⓜ️ More complete presence interface getter interface stack.
2018-04-11 23:09:49 -07:00
Jason Volk
75fdf2f518
ircd: Ⓜ️ :user: Add naive user commonality interface.
2018-04-11 23:09:49 -07:00
Jason Volk
867a3aa9dc
ircd: Ⓜ️ :user::rooms: Allow empty membership string intuitive behavior.
2018-04-11 15:56:37 -07:00
Jason Volk
33ca15e45d
ircd: Ⓜ️ :user::rooms: Add a count() interface.
2018-04-11 15:47:51 -07:00
Jason Volk
55e4a8fcaf
ircd: Ⓜ️ Split user's rooms iteration into separate interface.
2018-04-11 15:38:01 -07:00
Jason Volk
66e81327d0
ircd: Ⓜ️ Order rooms.h below user.h; add alias interface for user's rooms.
2018-04-11 15:10:45 -07:00
Jason Volk
e9df8b699c
ircd: Ⓜ️ Add user room membership convenience interface; apply.
2018-04-11 14:18:38 -07:00
Jason Volk
516d1797c9
ircd::server: Clear op_fini flag on err_clear().
2018-04-10 21:02:34 -07:00
Jason Volk
baf8b192b1
ircd::json: Add the stack flusher semantic.
2018-04-10 19:32:56 -07:00
Jason Volk
9270937957
ircd::json: Simplify internal stack appending; pass expected append size.
2018-04-10 17:00:57 -07:00
Jason Volk
b244959c35
ircd::json: Fix stack::object error.
2018-04-10 15:11:44 -07:00
Jason Volk
bc4cb5cf8c
ircd::json: Allow stack objects to have dtor called manually to close JSON.
2018-04-10 14:17:56 -07:00
Jason Volk
102ef2cb47
ircd::json: Object semantics for json::stack classes.
2018-04-10 13:48:14 -07:00
Jason Volk
d3805b410e
ircd: Ⓜ️ :v1: Add conf item for fetch_head timeout.
2018-04-10 13:20:31 -07:00
Jason Volk
fe90dd4d63
ircd: Ⓜ️ Add convenience interface for rooms / iterations.
2018-04-09 20:12:03 -07:00
Jason Volk
952571a3ad
ircd: Ⓜ️ Add key iteration to room::state interface.
2018-04-09 19:24:56 -07:00
Jason Volk
28d4ebfba2
ircd::db: Improve the db::has() query: no value read when using iterator.
2018-04-09 16:57:13 -07:00
Jason Volk
dc5a1554f6
ircd::db: Fallback wo/ user equality comparator.
2018-04-09 16:50:50 -07:00
Jason Volk
294aec368c
ircd: Ⓜ️ :dbs: Fix issues with prefixing related.
2018-04-09 16:50:50 -07:00
Jason Volk
963853ee10
ircd: Ⓜ️ Add init argument to pass dbopts.
2018-04-09 15:57:08 -07:00
Jason Volk
1268d90fb0
ircd::db: RocksDB to 5.12.2.
2018-04-09 15:57:05 -07:00
Jason Volk
e160205959
ircd::db: Mark sundry db open options related.
2018-04-09 15:56:14 -07:00
Jason Volk
3e27f5be06
ircd::db: Fix/tweak db fsck log messages.
2018-04-09 11:52:06 -07:00
Jason Volk
343a1f38a3
ircd::db: Improve dbopts string manipulation related.
2018-04-09 11:51:36 -07:00
Jason Volk
6dcc7e29df
ircd::fmt: Leave useful note for assertion.
2018-04-09 11:48:20 -07:00
Jason Volk
572996ae23
ircd::client: Demote inactivity log message.
2018-04-09 10:17:57 -07:00
Jason Volk
23b1a7e032
ircd::db: Workaround issue querying the filtration after db reopen.
2018-04-08 22:11:29 -07:00
Jason Volk
7fb3047f68
ircd: Ⓜ️ 11.18.2.1 account_data w/ central linkage.
2018-04-08 22:11:29 -07:00
Jason Volk
8625823d23
ircd: Ⓜ️ :v1: Add public_rooms requestor.
2018-04-08 22:11:28 -07:00
Jason Volk
5621da53bc
ircd: Ⓜ️ :v1: Add event_auth requestor.
2018-04-08 12:35:27 -07:00
Jason Volk
f3539f3dbe
ircd: Ⓜ️ Switch to ripemd160 for user::room.
2018-04-08 12:29:55 -07:00
Jason Volk
dcd343356d
ircd::openssl: Use custom internal allocation strategy.
2018-04-08 12:29:55 -07:00
Jason Volk
eb1d1c2482
ircd::openssl: Eliminate allocation of hashing ctx for oneshot ctor.
2018-04-08 12:29:55 -07:00
Jason Volk
d41096cf15
ircd::openssl: Assertions for hashing ctx existing.
2018-04-08 12:29:52 -07:00
Jason Volk
c04ea62135
ircd: #️⃣ Deinline the abstract finalize() defaulter.
2018-04-08 12:29:29 -07:00
Jason Volk
5f441c417f
ircd::openssl: Support ripemd160.
2018-04-08 12:29:25 -07:00
Jason Volk
37a0b0362b
ircd::net::dns: Post callback away from timeout worker ctx's stack.
2018-04-07 11:20:22 -07:00
Jason Volk
fb6a4fc6ac
ircd::ctx: Bypass the exception_handler assertion if on bare metal.
2018-04-07 11:08:07 -07:00
Jason Volk
331d0a955d
ircd::server: Yield in exception handler.
2018-04-07 11:05:54 -07:00
Jason Volk
0012793bf6
ircd::server: Ensure open_opts references are fresh after resolve comes back.
2018-04-07 06:16:41 -07:00
Jason Volk
6488141f64
ircd::server: Additional assertions.
2018-04-07 06:16:24 -07:00
Jason Volk
db93acf8fb
ircd::server: Fix condition for promise resolution on cancel().
2018-04-07 05:00:55 -07:00
Jason Volk
c2b2dc8d69
ircd::server: Use disassociate() during cancel(); tweak assertions.
2018-04-07 05:00:55 -07:00
Jason Volk
fceb9efc7c
ircd: Ⓜ️ Fix/tweak pretty_oneline(event) format.
2018-04-07 00:45:37 -07:00
Jason Volk
99d04c310a
ircd: Ⓜ️ Return sentinel iterator to not leave undefined residue.
2018-04-06 22:23:18 -07:00
Jason Volk
ccf9e993dd
ircd: Ⓜ️ :txn: Elaborate the txn generation stack.
2018-04-06 22:23:18 -07:00
Jason Volk
cfbe032af5
ircd: Ⓜ️ Add room_id() overload checking sigil to skip resolution.
2018-04-06 21:08:59 -07:00
Jason Volk
9863e2a1a3
ircd: Ⓜ️ Add event comparison operator suite.
2018-04-06 03:13:27 -07:00
Jason Volk
f26410f5c3
ircd: Ⓜ️ :v1: IO'ing buffers must be on ctx's stack.
2018-04-06 02:50:29 -07:00
Jason Volk
4c26b65613
ircd::server: Add head bytes when calculating read total.
2018-04-06 02:50:29 -07:00
Jason Volk
5648903998
ircd::server: Adjust discard error expectations.
2018-04-06 02:50:29 -07:00
Jason Volk
c4b18438ce
ircd::server: Additional debug logging / tweaks.
2018-04-06 02:50:29 -07:00
Jason Volk
d2388a1abf
ircd::server: Discard reads when tag has committed no writes.
2018-04-06 01:05:04 -07:00
Jason Volk
c79cbe670b
ircd::server: Additional assertions that buffers are not zero size.
2018-04-06 00:33:09 -07:00
Jason Volk
13c4a5b79b
ircd: Ⓜ️ :v1: Add convenience option for dynamic memory to all requests.
2018-04-06 00:21:32 -07:00
Jason Volk
d3e6b20f14
ircd: Ⓜ️ :vm: Distill vm::opts::commit extension from vm::opts.
2018-04-05 23:14:30 -07:00
Jason Volk
74b7dddb9a
ircd: Ⓜ️ :v1: Simplify the buffer partition pattern.
2018-04-05 22:45:04 -07:00
Jason Volk
0d42bf62f5
ircd: Ⓜ️ :v1: Reduce all head fetches to specific call.
2018-04-05 22:16:32 -07:00
Jason Volk
c849a30aa1
ircd: Ⓜ️ Improve interface to current event convenience suite.
2018-04-05 22:16:32 -07:00
Jason Volk
3ab6409267
ircd::js: Remove stale devel include.
2018-04-04 22:54:59 -07:00
Jason Volk
dbba5519f5
ircd::resource: Use json::empty_object instead of literal; cleanup debuglog.
2018-04-04 22:54:58 -07:00
Jason Volk
b3ba8c6d4b
ircd: Ⓜ️ Add convenience to room::state interface to return id buffer.
2018-04-04 22:54:58 -07:00
Jason Volk
7995c20c50
ircd::ctx::pool: Change dispatching from notify_one() to notify().
2018-04-04 22:54:58 -07:00
Jason Volk
93316f4692
ircd::json: Deinline various value related.
2018-04-04 22:54:58 -07:00
Jason Volk
bf4da27fc6
ircd: Ⓜ️ Ensure X-Matrix content is properly excluded or included for verification.
2018-04-04 22:54:53 -07:00
Jason Volk
6b5bfaf4c0
ircd::json: Minor cleanup of value serialize cattle grid.
2018-04-04 13:36:30 -07:00
Jason Volk
b675567314
ircd: Ⓜ️ 🆔 Report 0 if no port affixed to ID, 8448 not implied bc/ SRV.
2018-04-04 13:03:13 -07:00
Jason Volk
36d1d41a8b
ircd: Ⓜ️ Add prev hash information to pretty(event).
2018-04-03 23:34:10 -07:00
Jason Volk
68cd920bb0
ircd: Ⓜ️ pretty(event) format tweaks.
2018-04-03 23:34:10 -07:00
Jason Volk
603658c722
ircd::net: Increase default resolver rate limiting.
2018-04-03 23:34:10 -07:00
Jason Volk
39da63828c
ircd::json: Fix error in stack::~object.
2018-04-03 23:34:09 -07:00
Jason Volk
1755ca55da
ircd: Ⓜ️ :v1: Add invite requestor.
2018-04-03 17:18:19 -07:00
Jason Volk
b90d4230ca
modules/client/rooms/invite: Add invite commit / handler w/ central linkage.
2018-04-03 12:56:46 -07:00
Jason Volk
59531912e4
ircd: Ⓜ️ Add origins::has() to query if origin is in room.
2018-04-03 12:49:34 -07:00
Jason Volk
8b5d27d1fc
ircd: Ⓜ️ :dbs: Add overload to generate partial origins prefix key.
2018-04-03 12:49:03 -07:00
Jason Volk
2bce600a60
ircd::db: Wrap interface to get db's file list.
2018-04-03 11:44:57 -07:00
Jason Volk
1dc2daa5e9
ircd::db: Wrap interface to toggle file deletions.
2018-04-03 11:30:37 -07:00
Jason Volk
cfb80085a8
ircd::db: Support map-based property retrieval.
2018-04-03 11:14:47 -07:00
Jason Volk
0bf6742ac9
ircd::db: Typedef / minor reorg property related interface.
2018-04-03 11:01:28 -07:00
Jason Volk
199ccad3e1
ircd: Ⓜ️ Minor desc cleanup; minor cleanup exception rewrite.
2018-04-03 02:14:48 -07:00
Jason Volk
a2ecd6339c
ircd: Ⓜ️ Stringify request verification into tls buffer.
2018-04-02 23:20:50 -07:00
Jason Volk
b9bb4b4a45
ircd::resource: Carry origin in the request object.
2018-04-02 23:20:50 -07:00
Jason Volk
c999036a03
ircd: Ⓜ️ Rewrite db::not_found to m::NOT_FOUND for room::state propagation.
2018-04-02 22:06:51 -07:00
Jason Volk
6976119109
ircd: Ⓜ️ :state: Fix db::not_found propagating from nothrow'ing get().
2018-04-02 22:04:17 -07:00
Jason Volk
7b38d216b4
ircd: Ⓜ️ :v1: Fix user devices query and associated console cmd.
2018-04-02 18:40:52 -07:00
Jason Volk
e0130466e9
ircd: Ⓜ️ :v1: Rename user::id to id::user to avoid local conflict.
2018-04-02 18:40:52 -07:00
Jason Volk
baccd4b767
ircd: Ⓜ️ :v1: Support request to /state_ids/ as option in m::v1::state.
2018-04-02 18:40:52 -07:00
Jason Volk
b5060a5e46
ircd::db: Create specific DB dir manually to avoid rocksdb error log msg.
2018-04-02 17:19:01 -07:00
Jason Volk
14b7a088ee
ircd::db: Minor cleanup.
2018-04-02 17:18:56 -07:00
Jason Volk
31c3dea483
ircd::info: Gather information from rlimit if available.
2018-04-02 17:03:05 -07:00
Jason Volk
c54e7f5afe
configure.ac: Gather more information from git during configure.
2018-04-02 16:50:51 -07:00
Jason Volk
db9e5f3b78
ircd::json: Improve validator grammar; clarify magic number.
2018-03-28 22:19:26 -07:00
Jason Volk
4a1ca1a525
ircd::json: Deinline output validators from template.
2018-03-28 22:17:09 -07:00
Jason Volk
7ad99ab387
ircd::json: Add why() to specifically return err str from valid().
2018-03-28 22:17:09 -07:00
Jason Volk
15b995cee8
modules/m_presence: Move presence committer/getter into client/presence.
2018-03-28 22:17:09 -07:00
Jason Volk
d48f46a0ac
modules/m_typing: Move m.typing committer into client/rooms/typing.
2018-03-28 22:17:09 -07:00
Jason Volk
cbc4852e16
modules/m_receipt: Move m.receipt committer into client/
2018-03-28 22:17:09 -07:00
Jason Volk
85bafcb7de
ircd: Ⓜ️ Improve init ordering and process.
2018-03-28 14:11:33 -07:00
Jason Volk
43b92dc95d
ircd: Ⓜ️ Minor cleanup.
2018-03-28 14:11:33 -07:00
Jason Volk
f07eed2ab9
ircd::ctx: Relax the assertion for uncaught exceptions on context switch.
2018-03-28 14:11:33 -07:00
Jason Volk
751b896c3d
ircd: Ⓜ️ Improve various initial conf related keys and routines.
2018-03-28 14:11:33 -07:00
Jason Volk
14b540c6a8
ircd: Ⓜ️ Add v1::groups namespace; add publicised requestor.
2018-03-28 01:29:58 -07:00
Jason Volk
f01fdc0528
ircd::json: Return non-magic size; return stringify views of written data.
2018-03-27 21:44:01 -07:00
Jason Volk
fb58bdf7de
ircd::json: Granular stringify size assertions.
2018-03-27 21:44:01 -07:00
Jason Volk
49cb8fee1a
ircd::json: Assertions for empty object iterator equality.
2018-03-27 21:44:01 -07:00
Jason Volk
1436ce36c1
ircd::json: Checkpoint output escape echo.
2018-03-27 21:44:01 -07:00
Jason Volk
7657fde5db
ircd::db: Add function to get single txn into closure by seqnum.
2018-03-27 21:44:01 -07:00
Jason Volk
ff1fe4284d
ircd: Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join.
2018-03-27 21:44:01 -07:00
Jason Volk
8f9caa33c3
ircd::ctx: Conclude the best name for function after deliberation.
2018-03-27 00:52:02 -07:00
Jason Volk
e179915008
ircd: Ⓜ️ Indicate to event: 🆔 :buf it was written to.
2018-03-26 23:29:58 -07:00
Jason Volk
47edaed3a6
ircd::server: Add stats for total bytes up and down to peer and links.
2018-03-26 23:29:58 -07:00
Jason Volk
270120c922
ircd::server: Rename _total() to _size() for bytes accounting.
2018-03-26 23:29:58 -07:00
Jason Volk
26b33a1845
ircd::ctx: Remove the cv_status enum.
2018-03-26 23:29:58 -07:00
Jason Volk
c6b9c06302
ircd::ctx: Avoid any possible ambiguities with location of *current.
2018-03-26 23:29:57 -07:00
Jason Volk
05ded4f0e4
ircd::server: Checkpoint discard based on ssl pending; move branch.
2018-03-26 02:24:29 -07:00
Jason Volk
6574da4b22
ircd: Add tokens_before() to suite.
2018-03-25 17:32:57 -07:00
Jason Volk
34abaea046
ircd::mods: Move the call to the init function after the mod ctor.
2018-03-25 16:10:52 -07:00
Jason Volk
291b6dc286
ircd::mods: Add shared_from mod& sym_ptr ctor; adjust conversions.
2018-03-25 16:10:52 -07:00
Jason Volk
f36af09789
ircd::mods: Interface modernization; various cleanup; reorg.
2018-03-25 14:32:24 -07:00
Jason Volk
8050628748
ircd::aio: The io_getevents array can be off-stack because no ctx.
2018-03-25 02:04:42 -07:00
Jason Volk
a2eb756548
ircd::ctx: Split this_ctx:: from ctx.h; minor reorg.
2018-03-25 02:04:42 -07:00
Jason Volk
2a8f31c89c
ircd: Ⓜ️ :dbs: Add db::op to write_opts; support SET and DELETE write() via opts.
2018-03-24 23:29:46 -07:00
Jason Volk
daed99e94e
ircd: Ⓜ️ Replace event membership ref conditional with the convenience.
2018-03-24 23:29:46 -07:00
Jason Volk
ef791ae46e
ircd::client: Use ctx::exception_handler to respond to client from catch block.
2018-03-24 18:00:04 -07:00
Jason Volk
441a692dfc
ircd::ctx: Device to allow context switching in exception handler.
2018-03-24 18:00:04 -07:00
Jason Volk
7dbfb061e9
ircd::ctx: Assert no yielding during exception handling due to ABI limitations.
2018-03-24 15:53:15 -07:00
Jason Volk
1e99077169
ircd::db: Fix erroneous param in debug log.
2018-03-24 14:55:53 -07:00
Jason Volk
065370c38a
configure.ac: parameter package.
2018-03-24 03:19:16 -07:00
Jason Volk
c256b3fefb
ircd: Ⓜ️ Fix various issues with request generation buffers.
2018-03-24 01:18:34 -07:00
Jason Volk
968ef4115c
ircd: Fix signage related.
2018-03-23 23:19:53 -07:00
Jason Volk
d745e65ee1
ircd::mods: Split up; clean up; reorg.
2018-03-23 22:52:36 -07:00
Jason Volk
fe6f09d218
ircd::mods: Preliminary ADL wrappage of mods::mod.
2018-03-23 22:52:36 -07:00
Jason Volk
0dcf117910
ircd::mods: Provide a reference to the module's own handle inside the module.
2018-03-23 22:52:36 -07:00
Jason Volk
62861f2540
ircd::conf: No longer care about conf whitespace...
2018-03-23 22:52:36 -07:00
Jason Volk
a08670cf48
ircd::fs: Support the yielding stdin readline in libircd.
2018-03-23 22:52:36 -07:00
Jason Volk
db8810e397
ircd::ctx: Integrate custom interruption action.
2018-03-23 22:17:10 -07:00
Jason Volk
980d24b38e
ircd::net: Simplify listener config object.
2018-03-23 22:17:10 -07:00
Jason Volk
439e212b90
ircd::conf: Remove old comment; implicit object brackets around conf file data.
2018-03-23 22:17:10 -07:00
Jason Volk
91c9737f29
ircd: Improve runlevel changed callback related.
2018-03-23 22:17:09 -07:00
Jason Volk
8ad264f72d
ircd: Consolidate demangle related into interface / unit.
2018-03-23 22:17:09 -07:00
Jason Volk
4cae80f9b6
ircd: Ⓜ️ Make event interface consistent with proper ADL participation.
2018-03-23 00:21:27 -07:00
Jason Volk
50b21edb1c
ircd: Ⓜ️ Event hash checking stack.
2018-03-23 00:19:55 -07:00
Jason Volk
83bdb7161c
ircd::db: Add interface to iterate the database's txn log.
2018-03-22 20:52:14 -07:00
Jason Volk
2671f4eb90
ircd::db: Add txn ctor claiming a rocksdb::WriteBatch.
2018-03-22 20:52:14 -07:00
Jason Volk
d40b18633f
ircd::db: Move txn::handler struct to db/database headers.
2018-03-22 20:47:46 -07:00
Jason Volk
fcbc2bf650
ircd::db: Add database checkpointing feature.
2018-03-22 20:08:50 -07:00
Jason Volk
421f2f5220
ircd::db: Util to flush all columns in db.
2018-03-22 19:55:15 -07:00
Jason Volk
cbfb105765
ircd::db: Minor cleanup; interface const consistency on our side.
2018-03-22 19:39:14 -07:00
Jason Volk
2116cf6254
ircd: Ⓜ️ Add user::profile suite w/ linkage to modules/client/profile.
2018-03-22 16:27:15 -07:00
Jason Volk
d29b98b0ea
ircd::net: Fix these conf item paths.
2018-03-22 15:11:29 -07:00
Jason Volk
9c26c5facd
ircd: Ⓜ️ :vm: Option to verify origin signature on eval.
2018-03-22 01:31:17 -07:00
Jason Volk
51714d2b67
ircd::http: Response ctor content_length=-1 is chunked encoding.
2018-03-22 00:37:16 -07:00
Jason Volk
ef0a3d6e6c
ircd::http: Write fixed sized integer for chunk size.
2018-03-21 23:20:33 -07:00
Jason Volk
679f3e760a
ircd::http: Add 411 Length Required.
2018-03-21 23:01:23 -07:00
Jason Volk
503ab33c38
ircd::json: Stricter escape conditions in string values.
2018-03-21 18:47:56 -07:00
Jason Volk
df7b6f0ca9
ircd::json: Extend escaped unicode codepoint target.
2018-03-21 17:12:48 -07:00
Jason Volk
0e7ef9ef7d
ircd::json: Fix value type LITERAL serialize/stringify consistency.
2018-03-21 17:12:48 -07:00
Jason Volk
502675e527
ircd::json: Minor cleanup of function static grammar type decls.
2018-03-21 17:12:48 -07:00
Jason Volk
b949a1f3dc
ircd::json: Checkpoint output grammar cleanup.
2018-03-21 17:12:48 -07:00
Jason Volk
99608b6bd2
ircd::json: Sort json::member vectors on stringify; w/ recursive reentrance.
2018-03-21 13:55:58 -07:00
Jason Volk
0483a381f8
ircd::json: Move member.h definitions to proper dependency ordered location.
2018-03-21 13:49:00 -07:00
Jason Volk
df605d5646
ircd::json: Add functions to determine if object members are sorted.
2018-03-21 12:33:43 -07:00
Jason Volk
d01aef9c35
ircd::json: Sort object members for stringify; recursive reentrant tls.
2018-03-21 01:09:41 -07:00
Jason Volk
d75e8d50b9
ircd: Ⓜ️ Branch to remove hashes/signatures if defined when hashing.
2018-03-21 00:23:27 -07:00
Jason Volk
615ccdc426
ircd::json: Hello, goodbye.
2018-03-20 23:51:14 -07:00
Jason Volk
fef1c0b1b8
ircd::json: Add stringify vector of object::member.
2018-03-20 23:40:31 -07:00
Jason Volk
9f256b9cb4
ircd: Ⓜ️ Distill essential key selection into separate functions.
2018-03-20 22:03:53 -07:00
Jason Volk
7f06300cb8
ircd: Ⓜ️ Extend the verify() stack with overloads that yield for IO.
2018-03-20 19:26:59 -07:00
Jason Volk
f121509dba
ircd: Ⓜ️ Event verification.
2018-03-20 19:16:04 -07:00
Jason Volk
0b3ec2b476
ircd: Ⓜ️ Convenience to close over decoded ed25519::pk directly.
2018-03-20 18:46:20 -07:00
Jason Volk
e74fb81860
ircd: Ⓜ️ Overloads to sign event with supplied sk / json::object.
2018-03-20 18:19:45 -07:00
Jason Volk
53a4fae580
ircd::json: Recursive output grammar.
2018-03-20 17:39:57 -07:00
Jason Volk
7a9bb89506
ircd::json: All output through the generator.
2018-03-20 17:39:57 -07:00
Jason Volk
84ede3ceac
ircd::server: Support tag::cancel() case for chunked encoding.
2018-03-20 16:31:02 -07:00
Jason Volk
bc8f5cba05
ircd::server: Use better buffer sizes and offsets in tag::cancel() procedure.
2018-03-20 16:31:02 -07:00
Jason Volk
d21c2fc37c
ircd::server: Separate out the link's socket read function.
2018-03-20 16:31:02 -07:00
Jason Volk
09d971fa9e
ircd::json: Make print_error an assertion; improve output validation messages.
2018-03-20 16:31:02 -07:00
Jason Volk
6e7751eaf3
ircd::server: Receive chunked transfer-encoding.
2018-03-20 14:12:44 -07:00
Jason Volk
bd80297733
ircd::server: Minor cleanup: relocate the contiguous / dynamic feature branches.
2018-03-20 01:26:42 -07:00
Jason Volk
5a1057a6a5
ircd::server: Check against a null status code to leave head mode.
2018-03-20 01:24:42 -07:00
Jason Volk
0ba91776d1
ircd::server: Move insufficient buffer checks into the creator functions.
2018-03-20 01:23:42 -07:00
Jason Volk
c8b80046d1
ircd::server: Aggregate all accounting values riding on tag into one struct.
2018-03-19 20:37:28 -07:00
Jason Volk
2e801a0219
ircd::server: Remove content_over from the state and calculate functionally.
2018-03-19 20:26:23 -07:00
Jason Volk
90bbbeaf02
ircd::server: Save content_length in tag state; fix stepping on content_over calculation.
2018-03-19 20:26:23 -07:00
Jason Volk
c5addbd450
ircd::server: Minor cleanup/reorg; Add unsupported encoding exception branch.
2018-03-19 16:07:42 -07:00
Jason Volk
f9c0ed49b1
ircd::http: Improve chunk header parsing device.
2018-03-19 14:42:40 -07:00
Jason Volk
bf91eb6883
ircd::http: Grammar exception translator can be made aware of request vs. response.
2018-03-19 14:40:04 -07:00
Jason Volk
daae800cc1
ircd::http: Utils to read and write chunk size line.
2018-03-18 21:51:55 -07:00
Jason Volk
9723eec4e8
ircd::http: Cleanup cruft; remove old chunking.
2018-03-18 21:18:00 -07:00
Jason Volk
b169ac1ce8
ircd::json: Whitespace monoid.
2018-03-18 21:17:54 -07:00
Jason Volk
7f2f855c4e
ircd::server: Reinstall the read handler after discard.
2018-03-18 13:51:43 -07:00
Jason Volk
f5fa5100de
ircd::net: Revert no-readahead; post immediate continuation to next stack.
2018-03-18 13:51:43 -07:00
Jason Volk
1780504cba
ircd: Ⓜ️ Cope with raii fails in m::init for right now.
2018-03-17 21:40:27 -07:00
Jason Volk
2b72fae7a1
ircd: Ⓜ️ Move the event max_size conf item; add a MAX_SIZE constexpr.
2018-03-17 21:40:27 -07:00
Jason Volk
931fe2439e
ircd::json: Introduce the json::stack device.
2018-03-17 21:40:27 -07:00
Jason Volk
373a791158
ircd::json: Limit IOV size and take stringify buffer off-stack.
2018-03-17 11:53:21 -07:00
Jason Volk
30eb9178bd
ircd: Consolidate spirit typedefs from all relevant units into spirit.h.
2018-03-17 10:44:40 -07:00
Jason Volk
d751255c5a
ircd::magic: Avoid stderr pollution by checking if the file exists first.
2018-03-16 23:13:37 -07:00
Jason Volk
2a2c05e641
ircd::client: Handle exceptions below main.
2018-03-16 23:02:08 -07:00
Jason Volk
4211671698
ircd::ctx: Reason about exception propagation at stack base; minor cleanup.
2018-03-16 21:42:22 -07:00
Jason Volk
af8835aa5c
construct/ircd: Add option to soft-indicate no modules should be loaded on startup.
2018-03-16 21:42:22 -07:00
Jason Volk
7daef82218
construct/ircd: Add option to soft-indicate no listening sockets should be bound.
2018-03-16 21:42:22 -07:00
Jason Volk
486ddf8c8f
ircd: More accurate assertion message.
2018-03-16 21:42:22 -07:00
Jason Volk
03651c2274
ircd: ircd::main() exception specification.
2018-03-16 21:42:22 -07:00
Jason Volk
61009aed64
ircd: Ⓜ️ 🆔 Improve expectation failure element propagation into error strings.
2018-03-16 21:42:22 -07:00
Jason Volk
8eb1f4df40
ircd/modules: Consistent hook site names "vm notify" -> "vm.notify".
2018-03-16 21:42:22 -07:00
Jason Volk
969bc127e8
ircd: Ⓜ️ :vm: Fix return values for commit() suite.
2018-03-16 21:42:21 -07:00
Jason Volk
7180eae4af
ircd: Ⓜ️ :vm: Option for infolog post-commit.
2018-03-16 13:19:52 -07:00
Jason Volk
c83a47eb0f
ircd: Ⓜ️ Handle and report hookfn exception.
2018-03-16 13:13:33 -07:00
Jason Volk
2ea245bf58
ircd: Improve bad_lex_cast message with demangled typeid.
2018-03-16 12:44:12 -07:00
Jason Volk
01fc6db0c5
ircd::net: Disable readahead for socket's SSL_CTX.
2018-03-15 22:25:16 -07:00
Jason Volk
a585a86717
ircd::client: Tweak internal error catch points; remove workaround from 79800a66
.
2018-03-15 22:25:16 -07:00
Jason Volk
3810b8d57f
ircd: Various exception assertions; minor cleanup.
2018-03-15 22:25:16 -07:00
Jason Volk
a48426e25d
ircd/modules: Migrate some log messages to new facilities.
2018-03-15 22:25:16 -07:00
Jason Volk
bd60c2cd80
ircd::log: Add two new log facilities; comments on facilities.
2018-03-15 22:25:16 -07:00
Jason Volk
150831cd83
ircd: Ⓜ️ Add option to elide content keys for pretty_oneline(event).
2018-03-14 23:58:34 -07:00
Jason Volk
be6a5b7767
modules/m_receipt: Add committer w/ central linkage; read_markers.
2018-03-14 22:53:34 -07:00
Jason Volk
7b2758a90d
ircd: Ⓜ️ :vm: Fix regression removing content from event_id preimage.
2018-03-14 17:56:50 -07:00
Jason Volk
bda7836ebe
ircd: Ⓜ️ Move typing commitment to modules/m_typing; central interface/linkage.
2018-03-14 17:47:59 -07:00
Jason Volk
7ae6ad47ea
ircd: Ⓜ️ :vm: Options to generate event_id, origin, origin_server_ts.
2018-03-14 16:26:16 -07:00
Jason Volk
e8c10977a1
ircd: More descriptive warning message.
2018-03-14 16:26:16 -07:00
Jason Volk
2e9ef15cf5
ircd: Ⓜ️ Use vector_view here.
2018-03-14 16:26:16 -07:00
Jason Volk
68b5d53ae8
ircd: Ⓜ️ Improve my(event): check origin, then id, otherwise false.
2018-03-14 14:00:10 -07:00
Jason Volk
44caf92dd7
ircd: Ⓜ️ 🆔 Minor cleanup.
2018-03-13 23:33:37 -07:00
Jason Volk
0ffa3b6257
ircd::server: Condition before killing link on open error.
2018-03-13 22:44:13 -07:00
Jason Volk
23f294df86
ircd::db: Timers on has() and commit paths.
2018-03-13 22:44:13 -07:00
Jason Volk
b16e53337c
ircd::server: Use canonized hostport as peer remote; store net::open_opts; minor cleanup.
2018-03-13 22:44:13 -07:00
Jason Volk
df3243e31d
ircd::net: Eliminate the existing net::remote.
2018-03-13 22:44:13 -07:00
Jason Volk
cadabb5521
ircd::net: Add suite to print a hostname and port or just hostname based on portnum canon.
2018-03-13 22:44:13 -07:00
Jason Volk
368b8c4516
ircd: Ⓜ️ 🆔 Implement MXID interface suite with grammars.
2018-03-13 22:44:13 -07:00
Jason Volk
7deebfd344
ircd: Ⓜ️ 🆔 Improve the validator error msg propagation; minor cleanup.
2018-03-13 22:44:13 -07:00
Jason Volk
0f5e84b2e0
ircd::rfc3986: Copy relevant grammar from m::id; TODO: share.
2018-03-13 22:44:13 -07:00
Jason Volk
83d5f494bc
ircd: Ⓜ️ 🆔 Add RFC3986 grammar here for now.
2018-03-13 22:44:13 -07:00
Jason Volk
4aaeaff8fb
ircd: Ⓜ️ :vm: Add options for pre-checked event conformity or skip entirely.
2018-03-12 19:38:27 -07:00
Jason Volk
9749d7c609
ircd: Ⓜ️ :vm: Add wrapping to accepted event notify; further merge EDU and PDU core path.
2018-03-12 19:27:53 -07:00
Jason Volk
8091bdd007
ircd::server: Fix the interrupted link open to close to delete transit.
2018-03-12 18:59:38 -07:00
Jason Volk
79f6974f86
ircd::net: Wait for destruction of all sockets on shutdown.
2018-03-12 18:50:36 -07:00
Jason Volk
eaadc4b36d
ircd::fs::aio: Synchronize interruption and shutdown.
2018-03-12 16:44:16 -07:00
Jason Volk
949a006950
ircd::net: Close socket before its dtor on accept except.
2018-03-12 15:56:30 -07:00
Jason Volk
f7ecc4342b
ircd::ctx: Avoid any alloc for current reassertion on spawn.
2018-03-12 15:44:55 -07:00
Jason Volk
09923ff758
ircd::server: Add external interface to clear a peer error; w/ console command.
2018-03-12 14:20:39 -07:00
Jason Volk
a22e45a9f5
ircd: Break down client shutdown; improve various shutdown refusals.
2018-03-12 14:20:39 -07:00
Jason Volk
cabeb4c128
ircd::net::dns: Add send rate-limiting for resolver queries.
2018-03-12 12:20:22 -07:00
Jason Volk
a00a71e34c
ircd::openssl: Add stringify x509 to JSON.
2018-03-12 11:16:49 -07:00
Jason Volk
ed0a62701d
ircd::openssl: Utils dealing with ASN1/X509 time related.
2018-03-12 11:16:26 -07:00
Jason Volk
973f02360c
ircd::openssl: X509_NAME iteration closure.
2018-03-12 11:14:11 -07:00
Jason Volk
78d5825315
ircd::json: Deeper copying on value copy ctor.
2018-03-12 11:14:11 -07:00
Jason Volk
c2fbe50bce
ircd: Ⓜ️ Add additional event conformity checks.
2018-03-12 09:55:45 -07:00
Jason Volk
8653d62c37
ircd::net: Handle case for belated timeout callback after socket close.
2018-03-11 14:51:14 -07:00
Jason Volk
27b0dfffa4
ircd::server: Fix condition for link finished; add assertion here.
2018-03-11 13:54:51 -07:00
Jason Volk
edd03e58af
ircd: Disregard repeat attempts to close client socket; return proper future.
2018-03-11 13:54:51 -07:00
Jason Volk
f5904dc69d
ircd: Simplify the exception flow for request auth even though it separates throw points.
2018-03-11 13:40:24 -07:00
Jason Volk
bbd2cbc15b
ircd::net: Checkpoint case for read eof in the readiness handler; should split.
2018-03-11 13:40:24 -07:00
Jason Volk
79800a666c
ircd::client: Mark bug TODO; temp bandaid.
2018-03-11 13:40:24 -07:00
Jason Volk
f0b5656fda
ircd: Ⓜ️ Push user creation out to module.
2018-03-11 13:40:24 -07:00
Jason Volk
f11be8a0d8
ircd: Replace the client write_closure thing.
2018-03-11 13:40:24 -07:00
Jason Volk
bbc1844c61
ircd::http: Status code signage consistency.
2018-03-11 10:23:06 -07:00
Jason Volk
ba6832b420
ircd: Split out allow methods list generator.
2018-03-11 10:22:10 -07:00
Jason Volk
e4d891abac
ircd: Ⓜ️ Remove duplicate exists(event_id) util.
2018-03-10 23:04:59 -08:00
Jason Volk
94716e5ea7
ircd::net: Use socket fini state to condition automatic close on open error.
2018-03-10 23:04:58 -08:00
Jason Volk
9f7aa315fa
ircd::net: Recondition socket handlers to not cancel socket timer.
2018-03-10 23:04:58 -08:00
Jason Volk
00ba8ebdb4
ircd::ctx: Factor shared_ptr out of promise/future.
2018-03-10 23:04:58 -08:00
Jason Volk
d59de1a391
ircd::server: Improve peer state transitions and destruction paths.
2018-03-10 23:04:58 -08:00
Jason Volk
2c4498502a
ircd: Ⓜ️ Add txn creation util.
2018-03-09 19:41:16 -08:00
Jason Volk
28c7826032
ircd::db: Add txn::append optimization allowing tuple to make direct column deltas.
2018-03-09 19:41:16 -08:00
Jason Volk
49d6d2b8ea
ircd::net: Add socket state and assertion for fini.
2018-03-09 19:41:16 -08:00
Jason Volk
e59c04e2a5
ircd::net: Indicate no timeout before any handler invocation on cancel.
2018-03-09 17:10:46 -08:00
Jason Volk
e09111ff4e
ircd::server: Case for close during init.
2018-03-09 17:10:46 -08:00
Jason Volk
e2569b4cb6
ircd: Disambiguate the litany of response argument variations.
2018-03-09 17:10:45 -08:00
Jason Volk
e4a4526b0c
ircd::net: Add additional conf items; update resolver timeout to use ms.
2018-03-09 17:10:45 -08:00
Jason Volk
4145a94fc8
ircd::conf: Abstraction for all lex_cast'able types; add additional duration specializations.
2018-03-09 17:10:45 -08:00
Jason Volk
27b01a58eb
ircd: Tweak client stack error related; fix missing content-type; assert all responses.
2018-03-09 17:10:45 -08:00
Jason Volk
b1a4ca6852
ircd::server: More descriptive message in this error.
2018-03-09 17:10:45 -08:00
Jason Volk
1dec67d81e
ircd: Catch inner timeouts on client request.
2018-03-09 17:10:45 -08:00
Jason Volk
50a721d311
ircd: Ⓜ️ :v1: Ensure urlencoding of parameters.
2018-03-09 17:10:45 -08:00
Jason Volk
b284f707e5
ircd: Ⓜ️ :v1: Support query for client_keys; add console command.
2018-03-09 17:10:45 -08:00
Jason Volk
9b6ef1189b
ircd: Ⓜ️ :v1: Support query for user_devices; add console command.
2018-03-09 17:10:45 -08:00
Jason Volk
08fc944021
ircd: Ⓜ️ Tweak specifics of user/account creation/activation related.
2018-03-09 17:10:45 -08:00
Jason Volk
30532b47ff
ircd: Ⓜ️ :vm: Mask conform allowing us to issue events on behalf of remote users.
2018-03-09 17:10:45 -08:00
Jason Volk
4e75566c94
ircd::server: Break down the shutdown process further.
2018-03-09 17:10:44 -08:00
Jason Volk
7f336200ea
ircd::server: Check and clear peer error after timeout.
2018-03-09 12:45:25 -08:00
Jason Volk
81b3916953
ircd::server: Simplify without refcounting async ops.
2018-03-09 12:45:25 -08:00
Jason Volk
1cfe841462
ircd: Ⓜ️ Add additional event::conforms checks; comments.
2018-03-09 07:46:26 -08:00
Jason Volk
57deb2212a
ircd: Ⓜ️ Add room::messages iterator event_id cast operator.
2018-03-08 19:11:47 -08:00
Jason Volk
4a5bea668c
ircd/ircd: Ⓜ️ extern event_max_size conf item; minor cleanup.
2018-03-08 16:36:49 -08:00
Jason Volk
84e37b9635
modules/client/account: Fix user account activation related.
2018-03-08 16:29:51 -08:00
Jason Volk
f2a39394cd
ircd: Ⓜ️ :vm: Add opts for dbs history/present; use more efficient iov pusher.
2018-03-08 15:55:54 -08:00
Jason Volk
e2db58bd81
ircd: Ⓜ️ :v1: Fix send_join argument.
2018-03-08 15:55:02 -08:00
Jason Volk
b9400e1698
ircd: Ⓜ️ Branch for spec essential keys in event signing.
2018-03-08 14:17:47 -08:00
Jason Volk
1e041deb55
ircd: Add head-only resource::response; cleanup comments / cruft.
2018-03-08 11:42:43 -08:00
Jason Volk
be2a7007fa
ircd: Ⓜ️ Add exists(room_alias) with option for remote query; translate not_found exception.
2018-03-08 11:39:37 -08:00
Jason Volk
dc59cb8880
ircd: Ⓜ️ Overload exists(room) in addition to room::id.
2018-03-08 11:38:29 -08:00
Jason Volk
b5ad6b55a6
ircd: Ⓜ️ :vm: Add eval options for hashing signing and pre-commit debuglog.
2018-03-08 10:08:38 -08:00
Jason Volk
1e6d3d3294
ircd: Ⓜ️ :vm: Add opts argument to event commission; comment cleanup.
2018-03-08 10:08:38 -08:00
Jason Volk
4670fdbd1b
ircd: Remove ircd::error_code typedef with more local typedefs.
2018-03-08 10:08:38 -08:00
Jason Volk
f10c61e046
ircd: Add integration utils for system and boost error related.
2018-03-08 09:35:59 -08:00
Jason Volk
eafa9fd5b2
ircd: Move boost system error related out of ios.h to exception.h et al.
2018-03-08 08:40:26 -08:00
Jason Volk
f1fb3d8b49
ircd::server: Add peer::err object.
2018-03-08 08:24:19 -08:00
Jason Volk
8c02823d49
ircd: Tweak client error handling; fwddecl json::expectation_failure.
2018-03-08 07:40:41 -08:00
Jason Volk
4dd97298f5
ircd: Ⓜ️ Improve pretty_oneline format.
2018-03-07 17:37:15 -08:00
Jason Volk
f1a45cc9df
ircd: Ⓜ️ Libify hashing/signing functions out of vm::commit().
2018-03-07 13:28:15 -08:00
Jason Volk
901a77266e
ircd: Ⓜ️ :vm: Massage edus through the core eval path; rename inserted to accept.
2018-03-07 13:28:15 -08:00
Jason Volk
b7adb44429
ircd: Ⓜ️ Relax hook expectations for existing event fields.
2018-03-07 13:28:15 -08:00
Jason Volk
9b44217ea4
ircd::server: Rename opts member pointer to opt.
2018-03-07 07:23:35 -08:00
Jason Volk
daa1d6481c
ircd::http: Remove the no-longer used content related.
2018-03-06 11:24:10 -08:00
Jason Volk
37753a9648
ircd::server: Make close timeout shorter on close_all (shutdown).
2018-03-06 07:50:14 -08:00
Jason Volk
ea3f7abde5
ircd::server: Add state to deny any resubmission on peer close.
2018-03-06 04:51:20 -08:00
Jason Volk
2ec4bd025f
ircd::net: Underp the cache map until heterogeneous key support in stdlib.
2018-03-06 04:03:31 -08:00
Jason Volk
c864a6b446
ircd: Ⓜ️ Move keys related into modules/key; keys into node's room; remaining keys.cc into m.cc.
2018-03-06 00:10:36 -08:00
Jason Volk
63614107f8
ircd: Ⓜ️ Introduce the node and the node::room.
2018-03-05 23:47:23 -08:00
Jason Volk
17833dc22d
ircd: Ⓜ️ Merge remaining user.cc into m.cc.
2018-03-05 08:25:59 -08:00
Jason Volk
bbf1cff21b
ircd: Ⓜ️ 🆔 Rename origin to node.
2018-03-05 08:22:24 -08:00
Jason Volk
327e4da356
ircd::server: Rename node to peer.
2018-03-05 06:59:10 -08:00
Jason Volk
76e16927c7
ircd: Ⓜ️ Move user activation definition into client/accounts near is_active().
2018-03-05 05:24:45 -08:00
Jason Volk
ec0d151827
ircd: Ⓜ️ Move user::password related to modules/client/account/password.
2018-03-05 05:24:45 -08:00
Jason Volk
1723a48e89
ircd: Ⓜ️ Move user::is_active() to modules/client/account.
2018-03-05 05:24:45 -08:00
Jason Volk
f8dc84d46e
ircd: Ⓜ️ Modularize the user::activate/user::deactivate definitions.
2018-03-05 05:24:45 -08:00
Jason Volk
b3816f3bfa
ircd: Ⓜ️ Move these conf items and rename.
2018-03-05 05:24:45 -08:00
Jason Volk
5c1cb57e9c
modules: Reorg conf/console related; add s_control.
2018-03-05 05:24:45 -08:00
Jason Volk
8de1fde58c
ircd::resource: Minor cleanup; response related.
2018-03-05 02:41:24 -08:00
Jason Volk
f75a4bd95e
ircd: Ⓜ️ Special case type=m.room.member state_key for user::id rewrite in hook ctor.
2018-03-05 02:10:18 -08:00
Jason Volk
bfc2ab4eef
ircd: Ⓜ️ Improve error ctor related.
2018-03-05 01:34:03 -08:00
Jason Volk
b37bb580be
ircd: Ⓜ️ Deinline these error ctors.
2018-03-05 01:07:52 -08:00
Jason Volk
a6814dd696
ircd: Ⓜ️ Unconditionally use a hash of user's mxid for user_room.
2018-03-05 00:53:59 -08:00
Jason Volk
cc7dd13e4e
ircd::http: Fix enum decl related and struct packing of error.
2018-03-05 00:37:05 -08:00
Jason Volk
96eca6c744
ircd::http: Fix serial size case with empty vector.
2018-03-04 23:45:59 -08:00
Jason Volk
3b1cc75f10
ircd::http: Modernize the header vector string generator.
2018-03-04 23:45:23 -08:00
Jason Volk
ab9e9d698b
ircd: Ⓜ️ Fix error.
2018-03-04 22:46:40 -08:00
Jason Volk
a39781924c
ircd: Ⓜ️ Take this buffer off-stack.
2018-03-04 09:21:51 -08:00
Jason Volk
69b0acde63
ircd: Ⓜ️ Preliminary reorg around experimental presence interface.
2018-03-04 08:57:02 -08:00
Jason Volk
d3d58d8ee9
ircd: Ⓜ️ Generate user_room ID's for all users local and remote.
2018-03-04 08:57:02 -08:00
Jason Volk
c7ae8d3f27
ircd::server: Fix conditions for link removal from link::close().
2018-03-04 02:09:41 -08:00
Jason Volk
90b7810921
ircd::server: Reset necessary link state if any exception before handler.
2018-03-04 02:09:41 -08:00
Jason Volk
2e3d88057c
ircd: Ⓜ️ :dbs: Use null separators for prefixing.
2018-03-04 02:09:41 -08:00
Jason Volk
240e01a9b5
ircd: Ⓜ️ Integrate present room state table optimization into interface.
2018-03-04 02:09:41 -08:00
Jason Volk
5b4c65c875
ircd: Ⓜ️ :dbs: Add and use origins key separator; minor cleanup.
2018-03-04 00:30:25 -08:00
Jason Volk
472aaecb0f
ircd: Ⓜ️ :dbs: Add back the sequential state index for present room state.
2018-03-04 00:30:25 -08:00
Jason Volk
505b3b5115
ircd: Add non-throwing/defaulting token() overload.
2018-03-03 23:37:17 -08:00
Jason Volk
92bef88b6c
ircd::server: Improve tag cancellation/dispersal on closing/shutdown; minor cleanup.
2018-03-03 21:56:50 -08:00
Jason Volk
4df13f5d4f
ircd::server: Add conf items for existing todos.
2018-03-03 21:54:42 -08:00
Jason Volk
28ab30e3a0
ircd: Ⓜ️ Minor cleanup: sv ctor is constexpr, don't need this.
2018-03-03 10:17:05 -08:00
Jason Volk
9cf25a2d3b
ircd: Ⓜ️ Add optimized room::members event iteration for present membership=join.
2018-03-03 10:17:05 -08:00
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