0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-21 09:58:46 +02:00
Commit graph

1606 commits

Author SHA1 Message Date
Jason Volk 09b0c3d20d ircd::net::dns: Don't log.error common NXDOMAIN rcodes. 2018-02-07 12:16:17 -08:00
Jason Volk 45e9f7304f ircd: Call log::fini; flushing on runlevel change / halt. 2018-02-07 12:16:17 -08:00
Jason Volk 353ee9b80d ircd::ctx: Spawn OLE thread lazily. 2018-02-07 12:16:17 -08:00
Jason Volk 12f1bf97b4 ircd::net: Move the timedout nulling to here. 2018-02-07 12:16:17 -08:00
Jason Volk dc4d827def ircd::net::dns: Improve the resolution handlers and callback chain. 2018-02-07 00:24:54 -08:00
Jason Volk 4623e4448f ircd::http: Add 502 Bad Gateway. 2018-02-07 00:24:54 -08:00
Jason Volk cf112ec26e ircd::http: Better handling of unrecognized HTTP status code to reason string. 2018-02-07 00:24:54 -08:00
Jason Volk 24fdfdd9fe ircd::server: Fix error; fix regression. 2018-02-07 00:24:54 -08:00
Jason Volk 7b4906e85f ircd::net: Throw net::not_found for the ipport_one convenience if no A record. 2018-02-06 13:20:24 -08:00
Jason Volk 4a56c0a1cd ircd::fs: Asynchronous writes to local filesystem. 2018-02-06 00:02:18 -08:00
Jason Volk 1bb9624bce ircd: Give AIO its own TRU. 2018-02-05 23:00:55 -08:00
Jason Volk 79198527a7 configure/ircd: Consider all boost headers unconditional. 2018-02-05 21:24:36 -08:00
Jason Volk 230eb3fc7a ircd::ctx::prof: Consistent warning message strings. 2018-02-05 21:24:36 -08:00
Jason Volk af62b5f089 ircd:Ⓜ️:state: Proper typedef for value closures. 2018-02-05 21:24:36 -08:00
Jason Volk 57ed24f868 ircd::db: Reenable the background work cancel for shutdown sequence. 2018-02-05 21:24:36 -08:00
Jason Volk 49027cc312 ircd:Ⓜ️:state: Optimize DFS branches recursed based on key argument prefix. 2018-02-05 21:24:36 -08:00
Jason Volk 025e1d7c78 ircd:Ⓜ️ Move events database description and instance to libircd. 2018-02-05 21:24:36 -08:00
Jason Volk 5cf77cf87c ircd::db: Don't silently refuse seek() when no snapshot. 2018-02-05 21:24:36 -08:00
Jason Volk 06816f9e33 ircd::db: Allow gopts parameter to the cell::seek(). 2018-02-05 21:24:36 -08:00
Jason Volk 9c03fcdb95 ircd:Ⓜ️:state: Basic util suite. 2018-02-05 21:24:36 -08:00
Jason Volk ea35ea5863 ircd:Ⓜ️:state: Cache DB column refs statically and away from API surface. 2018-02-05 21:24:35 -08:00
Jason Volk efeaf3475a ircd:Ⓜ️:state: Move DFS recursor out of closure. 2018-02-05 21:24:35 -08:00
Jason Volk 69427d7e43 ircd::ctx: Enable ctx::prof on debug builds only. 2018-02-05 21:24:35 -08:00
Jason Volk 3ba527079b ircd::ctx: Sample rdtsc to complement profile warning output. 2018-02-05 21:24:35 -08:00
Jason Volk 7b48bc9f40 ircd:Ⓜ️:dbs: Checkpoint the meta-index "state_head for event_id in room_id" 2018-02-05 21:24:35 -08:00
Jason Volk 42bd702d8f ircd:Ⓜ️:state: Adjust interface for event insertions from m::dbs. 2018-02-05 21:24:35 -08:00
Jason Volk b97f6bf7a9 ircd:Ⓜ️:state: Improve buffer related; fix issues. 2018-02-05 21:24:35 -08:00
Jason Volk d4eeeacdec ircd:Ⓜ️:state: Tweak some issues. 2018-02-05 21:24:35 -08:00
Jason Volk dc361284f0 ircd:Ⓜ️:state: Add a DFS with closure; comments; cleanup. 2018-02-05 21:24:35 -08:00
Jason Volk be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk 6b7b3b2db7 ircd:Ⓜ️:state: Cleanup; break down operations. 2018-02-05 18:54:56 -08:00
Jason Volk 565a760255 ircd::net: Integrate SRV query composition; RFC1035 records to the user interface. 2018-02-05 18:54:56 -08:00
Jason Volk b00129071e ircd::rfc1035: Remove the trailing null from the name view. 2018-02-05 18:54:55 -08:00
Jason Volk 3441368b25 ircd::net: Use "service" string in net::hostport. 2018-02-05 18:54:55 -08:00
Jason Volk a9ac7fd8d9 ircd::net: Add constructions for ipport from rfc1035 resource records. 2018-02-05 18:54:55 -08:00
Jason Volk 46bf944227 ircd::rfc1035: Dynamic abstraction for resource records; minor comments. 2018-02-05 18:54:55 -08:00
Jason Volk d53eef4ab6 ircd: Eliminate the raw_buffer concept. 2018-02-05 18:54:55 -08:00
Jason Volk 287331d757 ircd::rfc1035: Simplify the answer record results with a string_view. 2018-02-03 14:10:49 -08:00
Jason Volk cde4507ef6 ircd::rfc1035: Put the record structs into record:: for possible vtable opportunity. 2018-02-03 14:10:49 -08:00
Jason Volk 63d28a77cc ircd:Ⓜ️:state: Make it right. 2018-02-02 15:06:12 -08:00
Jason Volk 50a0983fa0 ircd:Ⓜ️:state: Make it work. 2018-02-02 14:58:56 -08:00
Jason Volk 8296adb6c3 ircd:Ⓜ️:state: Try using a separate child array to store values at any level (partial). 2018-02-02 14:58:55 -08:00
Jason Volk c3ceb94478 ircd: These should be rvalue refs. 2018-01-30 23:13:27 -08:00
Jason Volk a4df66788c ircd::openssl: Minor simplify. 2018-01-30 22:53:28 -08:00
Jason Volk a20e2c2319 ircd::json: Minor cleanup; note todo for exp. 2018-01-30 13:37:13 -08:00
Jason Volk 6f1220dc5f ircd:Ⓜ️ Cleanup and prep m::state related. 2018-01-30 13:33:17 -08:00
Jason Volk 365fabe638 ircd::db: Rename iov to txn (since iov should really be a rocksdb::SliceParts). 2018-01-30 09:58:36 -08:00
Jason Volk 0d8a646ccc ircd:Ⓜ️ Split state:: off dbs::. 2018-01-29 09:36:05 -08:00
Jason Volk f7e928e852 ircd: Simplify various string generations. 2018-01-29 08:39:06 -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 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 e95dd21e9e ircd::net: Decay this array to properly pun the header. 2018-01-26 22:22:09 -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 52ee74fe55 ircd::json: Place missing break; cleanup branches. 2018-01-26 19:27:12 -08:00
Jason Volk 8d59fab2dc ircd:Ⓜ️ Print less of the cert to the info log on init. 2018-01-26 19:27:12 -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 21518623fe ircd:Ⓜ️:v1: Minor cleanup: remove extra initializers. 2018-01-26 12:20:02 -08:00
Jason Volk bb26abc23a ircd:Ⓜ️ Use the template iov composer in these places. 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 69d9d3c062 ircd: Reduce log facility of resource registration. 2018-01-25 17:29:37 -08:00
Jason Volk 9886522da3 ircd:Ⓜ️ Identify public signing key by base58 of hash; truncate that. 2018-01-25 12:16:43 -08:00
Jason Volk 1cdb893b1b ircd: Replace various log.critical+assert(0) with ircd::assertives; minor cleanup. 2018-01-24 18:40:19 -08:00
Jason Volk d56cc60b88 ircd::net: Tweak these error handlers and log facilities. 2018-01-24 14:38:12 -08:00
Jason Volk 7bf9ce225c ircd::net: Tweak what's left of the socket handle_ready cattle grid. 2018-01-24 14:12:38 -08:00
Jason Volk cc1b82cd59 ircd::fs: Log a warning when there's no support for any async IO. 2018-01-24 11:50:50 -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 429e5e1dcf ircd::json: Fix treatment of already stringified number. 2018-01-24 07:30:36 -08:00
Jason Volk ac27005cd7 ircd::json: Move these outside of value class. 2018-01-23 21:18:47 -08:00
Jason Volk a79af0e606 ircd: Fix redundant critical assertive messages in debug builds. 2018-01-23 20:58:33 -08:00
Jason Volk 091657ec45 ircd: Ensure ID of acting main thread is properly sampled. 2018-01-23 17:56:05 -08:00
Jason Volk e99b32a176 ircd::net: Hit cancel() before any of the disconnect sequences. 2018-01-23 16:35:28 -08:00
Jason Volk c06dd2e9df ircd::db: Split internal db header. 2018-01-23 16:35:28 -08:00
Jason Volk 22ae47ebe6 ircd:Ⓜ️ Show hash value in the multiline pretty(event). 2018-01-23 16:35:28 -08:00
Jason Volk dd47d71905 ircd:Ⓜ️ Remove this derp. 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 354cadb7dc ircd::net: Close the socket on a handler unexpected. 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 33796d00c1 ircd::server: Handle write errors. 2018-01-23 15:07:05 -08:00
Jason Volk 1a90a91a7b ircd::db: Suppress this noise for now. 2018-01-23 15:07:05 -08:00
Jason Volk 89ccdaa510 ircd::json: Proper throw when iov::at() key is not found. 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 c79539ebf3 ircd:Ⓜ️ Elaborate v1 federation requests in directory. 2018-01-22 03:34:12 -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 e63f06ecc2 ircd: Various minor cleanup. 2018-01-22 00:54:52 -08:00
Jason Volk b91fcefe45 ircd::server: Default to two requests in flight in a pipe. 2018-01-22 00:54:52 -08:00
Jason Volk 8ea6e4f96d ircd:Ⓜ️ Remove cruft in id grammar. 2018-01-22 00:54:52 -08:00
Jason Volk 72bacdedf6 ircd::server: Fix these assertions. 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 ceed6d5d44 ircd::server: Reuse the read_content() function when reading partial. 2018-01-22 00:54:52 -08:00
Jason Volk a360c6f28f ircd:Ⓜ️ Add origin_server_ts to pretty event output. 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 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 87effab106 Update configuration and library object versions. 2018-01-22 00:54:51 -08:00
Jason Volk facf8e2e78 ircd: Add back URI composition for the X-Matrix auth; report errors to log. 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 648981a4ce ircd: Add Base58 support. 2018-01-22 00:54:51 -08:00
Jason Volk d108ec22f8 ircd::server: Invoke read handler as-needed; various fixes. 2018-01-20 13:59:24 -08:00
Jason Volk ac77dfd4f0 ircd::net: Better to not invoke the callback in these places. 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 6e2cf45571 ircd::net: Move acceptor into header; minor cleanup. 2018-01-19 06:55:48 -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 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 a9dabd661b ircd: Propagate better error back to user here for now. 2018-01-18 03:55:28 -08:00
Jason Volk 9f6eda4c3d ircd::fs: Further simplify AIO interface. 2018-01-18 03:55:12 -08:00
Jason Volk 09e32dce56 ircd::db: Move this out of the ptr's destructor. 2018-01-17 21:44:56 -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 ce89a705c0 ircd::db: Add remaining environment stubs. 2018-01-17 21:38:17 -08:00
Jason Volk 8f3483391e ircd: Minor log suppressions via comment. 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 4727e93f8a ircd::server: Handle link open error. 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 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 1e0fe2b3d5 ircd::server/net: Proper snomask on these log calls. 2018-01-15 19:28:55 -08:00
Jason Volk bf99718a0f ircd::server: Basic pipeline. 2018-01-15 19:03:32 -08:00
Jason Volk 8e9bae5209 ircd::server: Add stats accumulation; develop preliminary dispatch; various. 2018-01-15 19:02:26 -08:00
Jason Volk 59621eb266 ircd::server: Improve write stack; add close_all(); various. 2018-01-15 03:12:56 -08:00
Jason Volk 745a00b332 ircd: Tweak client error handling stack apropos request timeout. 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 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 314bcb3d30 ircd::net: Update read()/write() strategies. 2018-01-14 20:45:30 -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 c3423ad80b ircd::net: Fix error. 2018-01-13 19:19:29 -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 f71a728225 ircd::net: Fix bug where received data is stuck in SSL buffer. 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 0f0c50017a ircd::logger: Take stuff off stderr to not compete with console input. 2018-01-12 16:06:01 -08:00
Jason Volk 4d14adc961 ircd::net: Debug print certificate subject rather than whole cert. 2018-01-12 15:38:14 -08:00
Jason Volk c1a3fabd5a ircd::openssl: Add function to print subject of certificate. 2018-01-12 15:31:58 -08:00
Jason Volk 06cf9031b7 ircd::net: Increase buffer size for cert debug print. 2018-01-12 15:22:48 -08:00
Jason Volk 88e4445f0e ircd::net: Move error checking fix back to initiator out of handler. 2018-01-12 14:14:01 -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 11adbae89a ircd::net: decorate the peek. 2018-01-12 03:13:49 -08:00
Jason Volk ebb48d96a9 ircd::http: Burning desire to dedupe this. 2018-01-11 23:38:12 -08:00
Jason Volk 51d729fa3a ircd::db: Use off-stack buffer here for logging. 2018-01-11 22:29:00 -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 3d8d6f47b4 ircd::net: Ensure ordering of various operations if immediately dispatched. 2018-01-11 22:28:59 -08:00
Jason Volk 4d310ac22b ircd: Towards debug message uniformity. 2018-01-11 22:02:34 -08:00
Jason Volk d151d96d83 ircd: Fix/improve response header related. 2018-01-11 22:02:34 -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 cd0dc9a0ff ircd::http: Simplify server response generation. 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 f99461481c ircd: Take some buffers off the stack. 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 dc4b17f84a ircd/modules: Fix init prio removal related. 2018-01-11 03:24:22 -08:00
Jason Volk 382d1b0bf3 ircd::net: Close the sd in dc handler unconditionally; align the peek buf. 2018-01-11 03:23:40 -08:00
Jason Volk fcfa386e33 ircd::net: Remove impossible log conditional; minor cleanup. 2018-01-11 03:22:17 -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 fed3265d33 ircd::fmt: Unrestrict long long from fmt specifiers. 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 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 c03bb7e4f2 ircd: Various fixes and elaborations to client/net. 2018-01-08 21:49:00 -08:00
Jason Volk 89c481d1f8 ircd::net: Improve wait related; fix issues with bad behavior. 2018-01-08 18:33:05 -08:00
Jason Volk b0579d0963 ircd::net: Show more information in some debug messages. 2018-01-08 15:16:47 -08:00
Jason Volk 9e086e9acd ircd: Add ircd::assertion and exception suite for assertive errors. 2018-01-08 13:42:54 -08:00
Jason Volk c8aaeb491f ircd::net: Develop interface for async_wait / waiting on socket. 2018-01-08 13:25:13 -08:00
Jason Volk 17a1982c24 ircd::net: Add read_one() interface. 2018-01-08 12:41:22 -08:00
Jason Volk f8127957c3 ircd: Various error handling fixes/cleanup. 2018-01-08 03:09:00 -08:00
Jason Volk b507262582 ircd: Remove the close+wait after exiting client::main(). 2018-01-08 03:09:00 -08:00
Jason Volk a1f0075d62 ircd::net: Improve the timeout callback related. 2018-01-08 03:08:59 -08:00
Jason Volk d10b9effd0 ircd::net: Improve string output for remote. 2018-01-08 03:08:59 -08:00
Jason Volk 54d6cbc8c1 ircd: Fwd declare boost::system::error_code; minor cleanup. 2018-01-08 03:08:59 -08:00
Jason Volk 274b4b43ed ircd::net: Fix this bug fix. 2018-01-08 03:08:59 -08:00
Jason Volk c22631ebf5 ircd::net: Consistent debug log messages. 2018-01-08 03:08:59 -08:00
Jason Volk 273e22c50e ircd::net: Add common_name(opts) consistent function to get proper CN. 2018-01-08 03:08:59 -08:00
Jason Volk b0427fbb91 ircd::net: ipport string contructions. 2018-01-08 03:08:59 -08:00
Jason Volk bad0037d78 ircd::net: Copy around open_opts for now to prevent any lifetime complications. 2018-01-08 03:08:59 -08:00
Jason Volk 5615ef2470 ircd::net: Split up remote.h 2018-01-07 14:31:35 -08:00
Jason Volk 9dbae8b27a ircd::net: Rename sockopts to sock_opts. 2018-01-07 02:02:41 -08:00
Jason Volk 4561bb21a0 ircd: Various fixes to net related call points. 2018-01-06 23:27:02 -08:00
Jason Volk ac3802c0f9 ircd::net: Refine network subsystem; break up interfaces; various. 2018-01-06 23:27:01 -08:00
Jason Volk 7e0c01708a ircd::net: Refine socket interfaces; connection options structure. 2018-01-05 19:19:03 -08:00
Jason Volk 0e1b605991 ircd::openssl: Add convenience to copy out certificate CN. 2018-01-05 16:59:26 -08:00
Jason Volk e4d1005965 ircd: Minor formatting. 2018-01-05 01:02:40 -08:00
Jason Volk 72317c07c3 ircd::net: Shlock certificate common-name verification into the net stack. 2018-01-04 23:17:11 -08:00
Jason Volk b878fd6ed0 ircd::openssl: Add X509_STORE_CTX suite. 2018-01-04 22:00:10 -08:00
Jason Volk 35ad641251 ircd::openssl: Minor rename function. 2018-01-04 21:59:39 -08:00
Jason Volk 6aec038479 ircd::net: Additional socket option accoutrements. 2018-01-04 19:25:46 -08:00
Jason Volk ebad745a3f ircd::net: Tentative future-based socket resolve->connect->handshake. 2018-01-04 19:25:40 -08:00
Jason Volk fcb2660f0a ircd::net: Elaborate low-level socket interface. 2018-01-04 17:44:35 -08:00
Jason Volk dd137d50e3 ircd::net: Move resolution constructor from ipport to remote. 2018-01-04 17:44:35 -08:00
Jason Volk 8ccdd8568f doc: Move conventions to STYLE; ircd: Add additional README related. 2018-01-04 17:44:34 -08:00
Jason Volk 1898cb307d ircd::net: Improve resolver interface. 2018-01-04 17:44:34 -08:00
Jason Volk 6f81d0c643 ircd::net: Minor simplify API. 2018-01-04 17:44:34 -08:00
Jason Volk 2bca92d85d ircd: We don't need this here; RocksDB has interface. 2018-01-04 17:44:34 -08:00
Jason Volk 26e04ecda4 ircd: buffer/net: Minor cleanup. 2018-01-04 17:44:34 -08:00
Jason Volk acc73957f8 ircd::net: Socket interface package. 2018-01-04 17:44:34 -08:00
Jason Volk 9ad618a329 ircd::net: Move some string() / various cleanup. 2018-01-04 17:44:34 -08:00
Jason Volk fa85596b6b ircd: Various minor cleanup. 2017-12-30 01:17:10 -07:00
Jason Volk 2606837044 ircd::net: Use fixed result stack buffer. 2017-12-29 23:03:35 -07:00
Jason Volk c7d97eaf00 ircd::net: Minor cleanup/movement. 2017-12-29 23:03:35 -07:00
Jason Volk 126df4b54a ircd::net: Split resolve into file. 2017-12-29 22:44:15 -07:00
Jason Volk 35038f3d63 ircd::net: Reverse DNS resolution; various cleanup/related. 2017-12-29 22:38:00 -07:00
Jason Volk 8ec7c988a3 ircd::net: Add mass-resolution function. 2017-12-29 21:20:16 -07:00
Jason Volk 0eb16673ee ircd::net: Add resolve interface; Update remote interface. 2017-12-29 19:33:04 -07:00
Jason Volk 9871332957 fixup! Pin boost to 1.66.0. 2017-12-29 15:53:39 -07:00
Jason Volk 46482e61f2 ircd::net: Consistent nesting for null_remote to remote::null. 2017-12-28 15:26:19 -07:00
Jason Volk 01feeaab6e ircd::db: Provide len to elide the strlen(buf) on string_view{buf}. 2017-12-28 13:32:44 -07:00
Jason Volk db24cef649 ircd::json: Minor cleanup/formatting. 2017-12-24 21:54:59 -07:00
Jason Volk 3d1a173358 ircd::net: Add extern null_remote. 2017-12-24 21:54:59 -07:00
Jason Volk 09d0c9b2d6 ircd: Respond with Allow header when 405'ing. 2017-12-24 21:54:59 -07:00
Jason Volk 36142718f6 ircd::http: Massage additional header related into response interface/stack. 2017-12-24 21:54:59 -07:00
Jason Volk c20a2927d0 ircd: Minor reorg client/resource relationship. 2017-12-24 21:54:59 -07:00
Jason Volk cd4586e780 ircd: Remove these extra flushes/clears. 2017-12-24 21:54:59 -07:00
Jason Volk 47293f2dc7 ircd: Simplify logger with stream_buffer. 2017-12-24 21:54:59 -07:00
Jason Volk f4e85af4c2 ircd::log: Use reentrance_assertion; make principal buffer static. 2017-12-24 21:54:59 -07:00
Jason Volk 51ebd9c346 ircd::http: Update HTTP send-sides to write to stream_buffer. 2017-12-24 21:54:59 -07:00
Jason Volk 8178d96f64 ircd: Add iov size to client/server IO debug. 2017-12-24 21:54:59 -07:00
Jason Volk 3d5eea0ce3 ircd::net: Move these temp items here. 2017-12-24 21:54:58 -07:00
Jason Volk f8d3fee8b6 ircd::client: Add comments; move around error handlers; related. 2017-12-24 21:54:58 -07:00
Jason Volk 40d6b6055b ircd::http: Remove the write_closure from the request parse object. 2017-12-24 21:54:58 -07:00
Jason Volk eab178b97f ircd::net: Show a coarse io stat on disconnect for now. 2017-12-24 21:54:58 -07:00
Jason Volk 6b57387cc2 ircd::openssl: Add several suites of utils for OpenSSL/X.509/RSA/BIGNUM et al. 2017-12-24 21:54:58 -07:00
Jason Volk bdf696b91f ircd::fs: Add these string_view overloads.
This is to not force string conversions in callerspace. Right now everything
gets converted to std::string internally but eventually string_view may be
preferable. Either way the overload finds the best behavior for now.
2017-12-24 20:25:40 -07:00
Jason Volk 27721860c2 ircd::fs: Add a file sizing suite. 2017-12-24 20:25:40 -07:00
Jason Volk acff6139e9 ircd::http: Move request error handlers out of http (to client). 2017-12-24 20:25:40 -07:00
Jason Volk 5f939cc039 Remove certain cruft from .gitignore. 2017-12-12 14:59:41 -07:00
Jason Volk f771e67dc7 Update library info. 2017-12-12 14:59:41 -07:00
Jason Volk ada2b4ad17 ircd::http: Minor cleanup/reorg; use c_str() assertion in places. 2017-12-12 14:59:41 -07:00
Jason Volk 42246d8d5f ircd::json: Fix an empty string test. 2017-12-12 14:59:40 -07:00
Jason Volk 80931e4e86 ircd:Ⓜ️ Split m.cc; distribute inits; modules: Checkpoint matrix. 2017-12-12 14:59:40 -07:00
Jason Volk f931308850 ircd/modules: Update resource / opts construction arguments. 2017-12-12 14:59:40 -07:00
Jason Volk cc81ed2f33 ircd::net: Comment out this debug message contributing to excessive wind. 2017-12-12 14:59:40 -07:00
Jason Volk 03dea97bb2 ircd: Add preliminary RFC3986 grammar; move urlencoding there. 2017-12-12 14:59:40 -07:00
Jason Volk d14d8a0f0f ircd::rfc1459: Cleanup namespace. 2017-12-12 14:59:40 -07:00
Jason Volk e0f64a7ca2 ircd:Ⓜ️ Transitional improvements to mxid grammars & tools. 2017-12-12 14:59:40 -07:00
Jason Volk 1ddf0f546a ircd: Update various comments / documentation. 2017-12-12 14:59:40 -07:00
Jason Volk c1bda4008f ircd::net: Fix port inclusion in these places. 2017-12-03 13:55:56 -08:00
Jason Volk 0bd2f896d0 ircd::mods: Add remangling to module system (pre dll::smart_lib); cleanup. 2017-12-02 13:07:55 -08:00
Jason Volk 2685125f05 ircd::openssl: Fix memleak. 2017-12-02 13:07:15 -08:00
Jason Volk 1a1a50f5f3 Checkpoint reorganization. 2017-11-30 12:30:19 -08:00
Jason Volk 7ef3b67213 ircd: Fix server.h inclusion checkpoint. 2017-11-30 11:23:48 -08:00
Jason Volk 3a057c80a4 ircd: Add preliminary skeleton for cuckoo suite. 2017-11-30 11:23:48 -08:00
Jason Volk 315d86a8d2 ircd: Checkpoint temp server link uniplexing... 2017-11-30 11:23:47 -08:00
Jason Volk f928630747 ircd::db: Checkpoint current experimentals here. 2017-11-30 11:23:47 -08:00
Jason Volk 5d53cdab5e ircd:Ⓜ️ Checkpoint matrix. 2017-11-30 11:23:47 -08:00
Jason Volk 1c4d519db7 ircd::db: Use log::NOTICE facility rather than log::WARNING here. 2017-11-30 11:23:47 -08:00
Jason Volk 219d1ba245 ircd::json: Fix empty value stringification cases; Fix serialized number printing. 2017-11-30 11:23:47 -08:00
Jason Volk 96499c0e2a ircd:Ⓜ️ Improve room interface; Improve bootstrap/init related. 2017-11-30 11:23:47 -08:00
Jason Volk 2fa64e5b87 ircd::json: Update grammars: string escapes; generalize rules without raw[] if possible. 2017-11-30 11:23:47 -08:00
Jason Volk d354991c68 ircd::json: Stub a canonize() function which isn't complete yet. 2017-11-30 11:23:47 -08:00
Jason Volk a747098b65 ircd::net: listener: Explicit string ctor; no default port to ensure one is specified. 2017-11-30 11:23:47 -08:00
Jason Volk d1f0667b1e ircd: Add validations of outgoing JSON. 2017-11-30 11:23:47 -08:00
Jason Volk 13aff1d7a8 ircd::rfc1459: Move grammars out of includes. 2017-11-30 11:23:46 -08:00
Jason Volk bcebeb420d ircd: Add interrupt for server dtor. 2017-11-30 11:23:46 -08:00
Jason Volk 97672ccc8f ircd: Preliminary initial conf. 2017-11-30 11:23:46 -08:00
Jason Volk 0e2fe01426 ircd::json: Add a validator suite. 2017-11-30 11:23:46 -08:00
Jason Volk b17293ee86 ircd::net: Add existential checks here. 2017-11-30 11:23:46 -08:00
Jason Volk ea26fd0016 ircd::fs: Path cleanup. 2017-11-30 11:23:46 -08:00
Jason Volk 9df74c910c ircd::openssl: Minor cleanup. 2017-11-30 11:23:46 -08:00
Jason Volk 366b0531a1 ircd: Remove this warning message when everything is normal. 2017-11-30 11:23:46 -08:00
Jason Volk ae289de529 ircd::ctx: Improve the pool counters. 2017-11-30 11:23:46 -08:00
Jason Volk a046a56d0d ircd: Wrap the std::terminate() handler and add some related toys. 2017-11-30 11:23:46 -08:00
Jason Volk f81a9d8da9 ircd::db: Remove cruft from moving query out of db. 2017-11-30 11:23:46 -08:00
Jason Volk 31b778ee0b ircd:Ⓜ️ Improve server keys related functions. 2017-11-30 11:23:46 -08:00
Jason Volk 8869b1577c ircd: Main init for server. 2017-11-30 11:23:45 -08:00
Jason Volk 6f392049ba ircd: Use the asio error stringifier. 2017-11-30 11:23:45 -08:00
Jason Volk 62caa95ec8 ircd: Move client request exception handler to where the rest are. 2017-11-30 11:23:45 -08:00
Jason Volk 1b1e9ace7a ircd::log: Polishing and commentary and assertions. 2017-11-30 11:23:45 -08:00
Jason Volk 532f416a3d ircd: Develop various server. 2017-11-30 11:23:45 -08:00
Jason Volk 69f05391a6 ircd::net: Use nothrowing remote() for socket; cleanup handler. 2017-11-30 11:23:45 -08:00
Jason Volk 6b961711cb ircd::net: Fix asio error code casting for SSL codes. 2017-11-30 11:23:45 -08:00
Jason Volk 0ef29fc433 ircd:Ⓜ️ Replace plaintext password storage with sha256. 2017-11-30 11:23:45 -08:00
Jason Volk 4793e4906c ircd:Ⓜ️ Checkpoint matrix top-half / modules. 2017-11-30 11:23:44 -08:00
Jason Volk 92c6f6c1a9 ircd: Split up matrix.cc. 2017-11-30 11:23:44 -08:00
Jason Volk 5b61e1d01f ircd::net/db: Hard debug log quiet for now; minor cleanup. 2017-11-30 11:23:44 -08:00
Jason Volk 87c6f91530 ircd::db: Improve column find by name from linear to logn; can still be O(1) with more work. 2017-11-30 11:23:44 -08:00
Jason Volk 6937e91fc3 ircd::net: OpenSSL/net interface for peer certificates so m:: can hash/verify. 2017-11-30 11:23:44 -08:00
Jason Volk 08469eb2a0 ircd::net: Tweak net::remote ctor related. 2017-11-30 11:23:44 -08:00
Jason Volk 78e8a3668d ircd::json: Add missing stringify participant; minor cleanup. 2017-11-30 11:23:44 -08:00
Jason Volk c16a6e8baa ircd::ctx: Adjust prof defaults; minor cleanup. 2017-11-30 11:23:43 -08:00
Jason Volk ea097c9f53 ircd: Split crypto.cc to hash.cc and rand.cc. 2017-11-30 11:23:43 -08:00
Jason Volk b172fd5739 ircd::fmt: Assert for not finished before loop break. 2017-11-30 11:23:43 -08:00
Jason Volk 0df7ad850f ircd::net: Quick & likely success branch for these handlers. 2017-11-30 11:23:43 -08:00
Jason Volk d7136bb393 ircd: Improve and comment on runlevel / client interruption. 2017-11-30 11:23:43 -08:00
Jason Volk 99e431c8da ircd::ctx: Further fix and clarify the POST/DETACH leak potential. 2017-11-30 11:23:42 -08:00
Jason Volk 7f97ffdede ircd::json: Add support for parsing a vector of objects (non-standard). 2017-11-30 11:23:42 -08:00
Jason Volk d09a3096be ircd::json: Clean up expectation failure catching. 2017-11-30 11:23:42 -08:00
Jason Volk 26800d5db4 ircd::ctx: Improve the spawn sequence to avoid complications. 2017-11-30 11:23:42 -08:00
Jason Volk 570f4d7f54 ircd::json: stringify empty array as expected by serialized size. 2017-11-30 11:23:42 -08:00
Jason Volk 2902fcf71d ircd/charybdis: Fix these stream manipulations. 2017-11-30 11:23:42 -08:00
Jason Volk 2930b93dcb ircd::net: Various net/client/listener bugfixes/cleanup. 2017-11-30 11:23:42 -08:00
Jason Volk 526bfa23e1 ircd:Ⓜ️ Add pretty/pretty_oneline for preferred event viewing; minor event rel. 2017-11-30 11:23:41 -08:00
Jason Volk ac756a8856 ircd: Use dynamic allocations for these resource response buffers. 2017-11-30 11:23:41 -08:00
Jason Volk bc5f429681 ircd::db: Fix a rocksdb api misuse. 2017-11-30 11:23:41 -08:00
Jason Volk 2ce9b0521f ircd::net: Various fixes / error handling / api. 2017-11-30 11:23:41 -08:00
Jason Volk f36d3e2209 ircd::log: Fix these clear and flush points. 2017-11-30 11:23:41 -08:00
Jason Volk 32e0d3c5df ircd::ctx: Improve spawning; fix bug. 2017-11-30 11:23:41 -08:00
Jason Volk ae34691610 ircd::log: Optimize logger to use a single buffer + single write. 2017-11-30 11:23:41 -08:00
Jason Volk 888c7d5739 ircd::net: Update log messages. 2017-11-30 11:23:40 -08:00
Jason Volk 8b573378e8 ircd: Fixes to client related to net. 2017-11-30 11:23:40 -08:00
Jason Volk f10662fe7d ircd:Ⓜ️ Checkpoint matrix. 2017-11-30 11:23:40 -08:00
Jason Volk 6a024e9e16 ircd: Add preliminary 'server' as a client to *other* servers. 2017-11-30 11:23:40 -08:00
Jason Volk 52641ba47f ircd::net: Add net::remote, suite; update network utils; fixes. 2017-11-30 11:23:40 -08:00
Jason Volk 38023e0d9b ircd::openssl: Introduce openssl namespace for anything related to driving that beast. 2017-11-30 11:23:40 -08:00
Jason Volk 417e8ecad0 ircd::db: Fix comment; suppress a very verbose seek log message here. 2017-11-30 11:23:40 -08:00
Jason Volk 6562efb11e ircd::json: Add 'defaults' construct to iov. 2017-11-30 11:23:40 -08:00
Jason Volk 4a44d0368a ircd::http: Make server response header more like the User-Agent we also use as a client. 2017-11-30 11:23:39 -08:00
Jason Volk 92270b74ac ircd::http: Parse a connection header. 2017-11-30 11:23:39 -08:00
Jason Volk a67228e8b5 ircd::log: Allow CRITICAL log messages to break through suppression. 2017-11-30 11:23:39 -08:00
Jason Volk 14fea52dcb ircd::net: Add async overloads; various cleanup. 2017-10-19 03:55:24 -07:00