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 |
|