0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-09 11:31:11 +01:00
Commit graph

1959 commits

Author SHA1 Message Date
Jason Volk
f1611a4a54 ircd: Reorder the headers to allow utils depending on *_view and buffer:: and allocator::... 2018-01-29 08:17:02 -08:00
Jason Volk
e23ee1543b ircd::util: Comment on the ircd::string() template; minor cleanup. 2018-01-28 21:30:53 -08:00
Jason Volk
5f6b5852b1 ircd::rfc1035: Add CNAME RR; minor cleanup. 2018-01-28 21:18:26 -08:00
Jason Volk
aeaa031cce ircd::rfc1035: Add SRV record RR; add A/AAAA specific RR structs; minor cleanup. 2018-01-28 21:18:26 -08:00
Jason Volk
9a2714f5aa ircd::net: Replace asio::ip::tcp::resolver / threaded getaddrinfo() with solution. 2018-01-28 21:18:26 -08:00
Jason Volk
670b4b8e23 ircd::net: Add UDP analogues for the make_endpoint() related. 2018-01-28 21:18:26 -08:00
Jason Volk
7057e1d98d ircd::rfc1035: Various question / answer development; add header debug. 2018-01-28 21:18:25 -08:00
Jason Volk
68b408a065 ircd: Add allocated string convenience for u2a(). 2018-01-28 21:18:25 -08:00
Jason Volk
513082b656 ircd::net: Reorg DNS related; move resolver into header. 2018-01-28 14:28:33 -08:00
Jason Volk
b462f2bbd8 ircd:Ⓜ️ Fix m::error constructor stack for zero-argument exceptions. 2018-01-28 09:09:58 -08:00
Jason Volk
4cfd41327a ircd:Ⓜ️ Checkpoint single-level/splitless state query. 2018-01-28 08:45:09 -08:00
Jason Volk
6bc6d9f8a1 ircd: Minor cleanup. 2018-01-28 08:44:47 -08:00
Jason Volk
b926e6b42d ircd::db: Add nothrow overloads to the column viewer. 2018-01-27 10:07:08 -08:00
Jason Volk
917a73d048 ircd: Final hints for devirtualization opportunities. 2018-01-26 21:58:52 -08:00
Jason Volk
4818d7b651 ircd: Fix undefined RB_DEBUG for numerical RB_DEBUG_LEVEL. 2018-01-26 21:49:41 -08:00
Jason Volk
638843ade1 ircd::openssl: Add wrapper to print certificate subject from a PEM buffer. 2018-01-26 19:27:12 -08:00
Jason Volk
fd2a7974e8 ircd: Minor cleanup; comments; spacing. 2018-01-26 19:27:12 -08:00
Jason Volk
a9cada32db ircd:Ⓜ️ Add dbs namespace; remove old interfaces; checkpoint various. 2018-01-26 18:12:46 -08:00
Jason Volk
ed5b4d0641 ircd:Ⓜ️ Room interface related. 2018-01-26 12:23:28 -08:00
Jason Volk
74657fa197 ircd:Ⓜ️ Minor cleanup: remove redundant namespace scope here. 2018-01-26 12:22:06 -08:00
Jason Volk
61e9bd018f ircd::json: Eliminate unnecessary print() overload. 2018-01-26 10:29:36 -08:00
Jason Volk
b34608fba2 ircd::db: Update arguments to ircd::buffer; fix error. 2018-01-26 10:29:36 -08:00
Jason Volk
623f4fec8c ircd:Ⓜ️ Suppress subobject linkage warnings here for now. 2018-01-25 12:15:50 -08:00
Jason Volk
610d4ad9da ircd: Minor comment cleanup. 2018-01-25 12:15:40 -08:00
Jason Volk
5ca98e9c9a ircd:Ⓜ️ Move more name strings into name::. 2018-01-24 11:02:56 -08:00
Jason Volk
c575016981 ircd: Condition the removal of the node on destruction. 2018-01-24 09:27:01 -08:00
Jason Volk
ed4d645523 ircd::server: Flash the HTTP header to a node callback to learn information. 2018-01-24 09:26:27 -08:00
Jason Volk
7bbe116b88 ircd::http: Parse the server string into the response head. 2018-01-24 09:15:16 -08:00
Jason Volk
ddc70b014c ircd::json: Add templates to dedup boilerplates for building IOV's. 2018-01-24 08:07:36 -08:00
Jason Volk
ac27005cd7 ircd::json: Move these outside of value class. 2018-01-23 21:18:47 -08:00
Jason Volk
e4863aa073 ircd::json: Check stringify size on all builds; note valid assert issue. 2018-01-23 20:59:47 -08:00
Jason Volk
755783ade8 ircd::db: cleanup: database::column section to column.h; rocksdb fwdecls to file. 2018-01-23 16:35:28 -08:00
Jason Volk
d2f887f778 ircd:Ⓜ️ Move m.room keys to name.h 2018-01-23 16:35:28 -08:00
Jason Volk
56191db9bc ircd:Ⓜ️ Add v1::send response helper; comments; minor cleanup. 2018-01-23 15:07:05 -08:00
Jason Volk
5d1790fb0d ircd::server: Add reference count of pending async handlers. 2018-01-23 15:07:05 -08:00
Jason Volk
ec51670600 ircd: Clarify namespaces in include README. 2018-01-23 15:07:05 -08:00
Jason Volk
0c838448c2 ircd:Ⓜ️ Add send/send_join to v1; fix buffer sizes. 2018-01-22 10:06:27 -08:00
Jason Volk
a6bc89d960 ircd:Ⓜ️ Remove name cruft. 2018-01-22 03:34:12 -08:00
Jason Volk
c79539ebf3 ircd:Ⓜ️ Elaborate v1 federation requests in directory. 2018-01-22 03:34:12 -08:00
Jason Volk
755a6184ce ircd::server: Add options struct argument to request ctor. 2018-01-22 02:41:14 -08:00
Jason Volk
4c62e0c24e ircd::net: Add operator! to hostport; minor cleanup. 2018-01-22 02:06:43 -08:00
Jason Volk
c0fa317475 ircd::json: Move tuple into dir; remove some cruft. 2018-01-22 01:07:38 -08:00
Jason Volk
272061d666 ircd::net: Fix comments. 2018-01-22 00:54:53 -08:00
Jason Volk
b3b424a531 ircd::net: Add option to bypass CN verification of self-signed certs. 2018-01-22 00:54:53 -08:00
Jason Volk
43923a1cf1 ircd::ctx: Minor formatting. 2018-01-22 00:54:52 -08:00
Jason Volk
152b3c351b ircd::json: Fix README formatting. 2018-01-22 00:54:52 -08:00
Jason Volk
f1d659a6c0 ircd::server: Add a complementary upload progress callback. 2018-01-22 00:54:52 -08:00
Jason Volk
9da18261a6 ircd::server: Add an optional download progress callback. 2018-01-22 00:54:52 -08:00
Jason Volk
4ce6a8ac0a ircd: Remove various cruft. 2018-01-22 00:54:52 -08:00
Jason Volk
1d9d5fab49 ircd::info: Involve utsname on supported; improve startup information. 2018-01-22 00:54:52 -08:00
Jason Volk
5133553359 ircd::log: Bring balance to the syntax (global logger only). 2018-01-22 00:54:51 -08:00
Jason Volk
7867e7a0b4 ircd::http: Support view of full URI in the request::head; use in X-Matrix auth. 2018-01-22 00:54:51 -08:00
Jason Volk
0912b5366a ircd: Use intuitive semantics for the strip() suite. 2018-01-22 00:54:51 -08:00
Jason Volk
63ddbf8fbe ircd:Ⓜ️ Add addl name:: keys; cleanup event related. 2018-01-22 00:54:51 -08:00
Jason Volk
b05caee36f ircd: Adjust some default timeouts. 2018-01-22 00:54:51 -08:00
Jason Volk
648981a4ce ircd: Add Base58 support. 2018-01-22 00:54:51 -08:00
Jason Volk
ba1a0530ff ircd::buffer: Fix reverse iterations. 2018-01-20 13:59:24 -08:00
Jason Volk
103ff45553 ircd::net: Translate operation_canceled into timed_out where appropos. 2018-01-20 13:59:24 -08:00
Jason Volk
617b0d0777 ircd:Ⓜ️ Rework/cleanup request/session related. 2018-01-20 13:58:24 -08:00
Jason Volk
93364b6072 ircd::server: Add content buffer deduction from single in buffer. 2018-01-20 02:30:20 -08:00
Jason Volk
a6bdb38e4d ircd::http: Remove the URI composition from the http::request construction. 2018-01-20 02:29:03 -08:00
Jason Volk
275efb3a7b ircd::fmt: Add this overdue conversion. 2018-01-20 02:28:03 -08:00
Jason Volk
c28912b085 ircd:Ⓜ️ Create dedicated header for m::name string namespace. 2018-01-19 06:57:38 -08:00
Jason Volk
6e2cf45571 ircd::net: Move acceptor into header; minor cleanup. 2018-01-19 06:55:48 -08:00
Jason Volk
f02c31217b ircd::net: Add remote to hostport conversion. 2018-01-19 04:54:14 -08:00
Jason Volk
02dc5204c9 ircd: Update namespace list in include README. 2018-01-19 04:07:12 -08:00
Jason Volk
09dc4acf06 ircd: Remove legacy stringops. 2018-01-19 02:47:08 -08:00
Jason Volk
497b4ec552 ircd:Ⓜ️ Improve MXID ctor related. 2018-01-19 02:47:08 -08:00
Jason Volk
936f138a3f ircd::fmt: Cleanup. Reduce sketchiness. 2018-01-19 02:47:08 -08:00
Jason Volk
0a6ea976a5 ircd: Split base64 from lexical. 2018-01-18 18:17:02 -08:00
Jason Volk
054c50edcc ircd::db: Split up / reorg database/env related. 2018-01-18 17:59:22 -08:00
Jason Volk
31fd9346f6 ircd: Baptize server.h into the standard include group. 2018-01-18 06:09:02 -08:00
Jason Volk
78b77f9da8 ircd::ctx: Eliminate the shared_ptr in pool::async; minor cleanup. 2018-01-18 06:05:56 -08:00
Jason Volk
90ea730a04 ircd::json: Add recursion depth checking. 2018-01-18 06:05:56 -08:00
Jason Volk
c9b89ec6ef ircd::db: Plan on not sending any exceptions through RocksDB... 2018-01-18 03:55:28 -08:00
Jason Volk
d436861aed ircd::db: Update comment. 2018-01-18 03:55:28 -08:00
Jason Volk
e5a50a0b79 ircd: Use address of ::gettimeofday to resolve error in g++-7. 2018-01-17 21:38:18 -08:00
Jason Volk
2c8154dfe4 ircd::info: Add additional line of information in debug log. 2018-01-17 21:38:17 -08:00
Jason Volk
d9c6737b28 ircd: Use feature test macros here. 2018-01-17 21:38:17 -08:00
Jason Volk
408e8dfb47 configure: Add <new> header. 2018-01-17 21:38:17 -08:00
Jason Volk
ce89a705c0 ircd::db: Add remaining environment stubs. 2018-01-17 21:38:17 -08:00
Jason Volk
169f5aef84 ircd::db: Add data() participant for rocksdb::Slice. 2018-01-17 21:38:17 -08:00
Jason Volk
87f0f3bc5a ircd::db: Add additional environment stubs for writable_file; minor cleanup. 2018-01-17 21:38:17 -08:00
Jason Volk
48c798de3f ircd::db: Add size() participant for rocksdb::Slice. 2018-01-17 21:38:17 -08:00
Jason Volk
625dc73978 ircd::db: Skeleton stubs for basic environment. 2018-01-17 21:38:17 -08:00
Jason Volk
79447c504a ircd::db: Reorg internal headers to directory. 2018-01-17 21:38:17 -08:00
Jason Volk
e4f6b64fec ircd::db: Update copyrights; use doxygen comments; minor cleanup. 2018-01-17 21:38:17 -08:00
Jason Volk
9ba31f77c2 ircd::server: Various fixes; error handling; minor cleanup. 2018-01-17 21:38:17 -08:00
Jason Volk
557b521d62 ircd::info: Update info. 2018-01-17 21:38:17 -08:00
Jason Volk
ca6dc44a6c ircd::server: Various fixes. 2018-01-17 03:33:08 -08:00
Jason Volk
6fc8de8587 ircd::ctx: Enforce semantics in mutex / shared_mutex; assertion related. 2018-01-17 03:33:08 -08:00
Jason Volk
b93b294d7b ircd::ctx: Validate all state access in ctx::promise. 2018-01-17 03:33:08 -08:00
Jason Volk
59e921d453 ircd::ctx: Enforce semantics on ctx::list. 2018-01-17 03:33:08 -08:00
Jason Volk
5a51638db8 ircd::server: Add options to request; add http code exception option. 2018-01-17 03:33:07 -08:00
Jason Volk
7f9f970b5b ircd::server: Improve some exception messages conveyed back to promise. 2018-01-17 01:05:31 -08:00
Jason Volk
862fb1ebcd ircd::server: Support robust request cancellation without disrupting pipeline. 2018-01-17 00:47:37 -08:00
Jason Volk
8366c735b4 ircd::ctx: Add this non-standard finished() observer for now. 2018-01-16 22:54:08 -08:00
Jason Volk
b9fe5c69ad ircd::server: Additional exception propagations; fail on link unavailability. 2018-01-16 04:01:26 -08:00
Jason Volk
2520afe5a6 ircd::server: Handle insufficient head buffer; preliminary tag reassign. 2018-01-16 00:55:44 -08:00
Jason Volk
ce31219b00 ircd::server: Elide saving head in tag; add content buffer-underrun discard. 2018-01-16 00:55:44 -08:00
Jason Volk
286f117ef8 ircd::server: Add idle link removal when over pool min; stubs for node decision-making. 2018-01-16 00:55:44 -08:00
Jason Volk
8536c57982 ircd::server: Minor renames; minor cleanup; improve some error handlers. 2018-01-15 20:26:27 -08:00
Jason Volk
6682f0ce80 ircd::net: On disconnect, turn an EOF ec into a success. 2018-01-15 19:46:23 -08:00
Jason Volk
8e9bae5209 ircd::server: Add stats accumulation; develop preliminary dispatch; various. 2018-01-15 19:02:26 -08:00
Jason Volk
e4b1485db0 ircd::ctx: Specify missing semantics for promise. 2018-01-15 18:00:54 -08:00
Jason Volk
59621eb266 ircd::server: Improve write stack; add close_all(); various. 2018-01-15 03:12:56 -08:00
Jason Volk
6b7399bf4a ircd::fs: Simplify API/AIO by eliminating callback: ctx yield only for now. 2018-01-15 03:12:56 -08:00
Jason Volk
a8efc59adf ircd::server: Split tag from request.h. 2018-01-15 03:12:56 -08:00
Jason Volk
368838d5a5 ircd::server: Add preliminary write loop; minor cleanup. 2018-01-15 03:12:56 -08:00
Jason Volk
d62afeb0a7 ircd::net: Add RFC1035 preliminary stub; minor reorg of resolver related. 2018-01-14 20:45:30 -08:00
Jason Volk
2962ecdc72 ircd: Add preliminary RFC1035 support. 2018-01-14 20:45:30 -08:00
Jason Volk
b2503ba1d0 ircd::util: Fix bswap() to not rely on data()/size() et al. 2018-01-14 20:45:30 -08:00
Jason Volk
af0c02cc10 ircd::buffer: Allow returning completed() mutable_buffer. 2018-01-14 20:45:30 -08:00
Jason Volk
314bcb3d30 ircd::net: Update read()/write() strategies. 2018-01-14 20:45:30 -08:00
Jason Volk
7b62568ff0 ircd::ctx: Replace std::deque's in ctx::mutex and ctx::shared_mutex. 2018-01-13 23:45:36 -08:00
Jason Volk
dcd36f8200 ircd::ctx: Replace the std::deque with a ctx::list for ctx::dock's queue. 2018-01-13 23:45:36 -08:00
Jason Volk
df0e59a5e0 ircd::ctx: Add custom intrinsic list structure for contexts. 2018-01-13 23:45:36 -08:00
Jason Volk
7c4659a99f ircd::server: Develop basic infrastructure. 2018-01-13 21:17:10 -08:00
Jason Volk
15bf7f5f6d ircd::net: Add non-blocking discard_any(socket). 2018-01-13 20:21:29 -08:00
Jason Volk
6643cad758 ircd::http: Allow default construction on response head. 2018-01-13 18:03:26 -08:00
Jason Volk
56cefcb650 ircd::server: Move into directory; various cleanup. 2018-01-13 18:03:04 -08:00
Jason Volk
c83665ca6c ircd: Reorg client; add class members; pointer to current request; conf, etc. 2018-01-13 17:58:11 -08:00
Jason Volk
fa3afc7ad7 ircd::server: Preliminary client request pipeline framework. 2018-01-12 18:57:58 -08:00
Jason Volk
c1a3fabd5a ircd::openssl: Add function to print subject of certificate. 2018-01-12 15:31:58 -08:00
Jason Volk
311df26156 ircd: Expose utilities for boost errors. 2018-01-12 15:04:30 -08:00
Jason Volk
458869f9ef ircd::http: Remove response helper; add a couple fields to parse; minor cleanup. 2018-01-12 13:15:30 -08:00
Jason Volk
ed0760ef8e ircd: Minor cleanup of rfc1459 header. 2018-01-12 13:13:37 -08:00
Jason Volk
d3be7129cf ircd: Minor housekeeping fixes. 2018-01-12 03:22:57 -08:00
Jason Volk
4db2ac3ab7 ircd: Cleanup standard usage importations. 2018-01-12 03:00:23 -08:00
Jason Volk
d566e90402 ircd::util: Move more utils into util; minor cleanup. 2018-01-12 02:59:21 -08:00
Jason Volk
2a65c17ce3 ircd::util: Split out typography related; minor cleanup. 2018-01-11 23:36:42 -08:00
Jason Volk
239eb0e9ad ircd::openssl: Support EC. 2018-01-11 22:29:00 -08:00
Jason Volk
8c869e3ee5 ircd::openssl: Convenience to print information about an X509 from a PEM. 2018-01-11 22:29:00 -08:00
Jason Volk
04fa556c58 ircd: Reflow the request handlers to give the resource more control over content. 2018-01-11 22:02:34 -08:00
Jason Volk
1f7ed51f3b ircd::http: Remove request parser helper from here. 2018-01-11 22:02:34 -08:00
Jason Volk
7aa1dedd86 ircd::http: Add 413 PAYLOAD_TOO_LARGE. 2018-01-11 22:02:34 -08:00
Jason Volk
a135227370 ircd::net: Tighten assumptions on cancel(). 2018-01-11 22:02:33 -08:00
Jason Volk
725f069621 ircd::net: Add discard_all() convenience. 2018-01-11 22:02:33 -08:00
Jason Volk
37b98b5a82 ircd::openssl: Add flags to the X509 printer. 2018-01-11 22:02:33 -08:00
Jason Volk
29b135de0a ircd::ctx: Export critical_assertion down to ircd::. 2018-01-11 18:37:08 -08:00
Jason Volk
b0acc95559 ircd::util: Update syscall() comments; minor cleanup. 2018-01-11 03:21:19 -08:00
Jason Volk
c698101d6d ircd::fs: Initial asynchronous file IO support for Linux platforms. 2018-01-10 22:09:05 -08:00
Jason Volk
c4ea3cc3e3 ircd: Utils for std::system_error related; minor cleanup. 2018-01-10 21:43:49 -08:00
Jason Volk
40bead52b7 ircd: Move and breakup util.h into util/; move fs.h into fs/. 2018-01-10 21:34:21 -08:00
Jason Volk
76e16e4d80 ircd::net: Improve remote construction; hostport/ipport related. 2018-01-10 01:20:16 -08:00
Jason Volk
8a43a37733 ircd: Import std::nothrow_t. 2018-01-10 00:57:43 -08:00
Jason Volk
84bbeecc83 ircd: Move sys/resource / coredump related out of libircd. 2018-01-10 00:56:33 -08:00
Jason Volk
8acdf52443 ircd::fs: Use direct kernel interface rather than glibc aio nonsense. 2018-01-10 00:55:08 -08:00
Jason Volk
6a552e349e ircd: Preliminary AIO experimental stub on linux platforms. 2018-01-09 16:49:53 -08:00
Jason Volk
78c2af094e ircd::util: Extend return value in syscall() suite. 2018-01-09 16:24:42 -08:00