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
Jason Volk
b83d7da7a0
ircd::log: Make sure the stream is flushed and reset when relinquishing control.
2017-10-19 01:38:25 -07:00
Jason Volk
0f51c84fb0
ircd::net: Move net into directory.
2017-10-19 01:30:19 -07:00
Jason Volk
0f00f21a1d
ircd: Add preliminary tcmalloc version check.
2017-10-19 01:05:41 -07:00
Jason Volk
7feb0dff79
ircd: client: various cleanup.
2017-10-19 01:04:52 -07:00
Jason Volk
c501f21ac2
ircd::net: Move listener next() to the accept event slice; various cleanup.
2017-10-19 01:03:40 -07:00
Jason Volk
a1e798f12c
ircd::net: Improve dc/socket dtor related.
2017-10-19 01:02:30 -07:00
Jason Volk
df8faae81d
ircd::net: Improve some exception specs related to socket.
2017-10-19 01:02:19 -07:00
Jason Volk
c157967559
irct::ctx: Add this basic pool debug.
2017-10-19 00:58:43 -07:00
Jason Volk
8fc336a1e9
ircd::net: No user input so use standard ::snprintf() here.
2017-10-17 00:48:10 -07:00
Jason Volk
3c0d5bd5d6
ircd::db: Fix empty row seek; fix potential coherence issue on offload.
2017-10-17 00:47:30 -07:00
Jason Volk
cdcd2e2fb9
ircd: Add std::chrono lex_cast; cleanup lex_cast buffer argument related.
2017-10-17 00:41:51 -07:00
Jason Volk
0be93870ea
ircd::log: Address any logger reentrancy; various cleanup.
2017-10-17 00:41:10 -07:00
Jason Volk
5797e99d81
ircd: Ⓜ️ Improve / cleanup ID related.
2017-10-15 21:54:28 -07:00
Jason Volk
33a35d5244
ircd: Add X-Matrix verification for resources.
2017-10-15 21:30:19 -07:00
Jason Volk
29d9f2bfdb
ircd::net: Improve some error handling and log message related.
2017-10-15 21:28:40 -07:00
Jason Volk
37308b1672
ircd::log: Add context name and id into logger format.
2017-10-15 21:27:36 -07:00
Jason Volk
115940e803
ircd::http: Preserve leading slash from user's URL so we can use it for X-Matrix auth.
2017-10-15 21:26:05 -07:00
Jason Volk
87b62002dd
fixup! ircd::json: Better bool related conversions etc.
2017-10-15 21:25:03 -07:00
Jason Volk
f20ff13a44
ircd::json: Sort members in during opportunity in this stringify().
2017-10-15 21:22:18 -07:00
Jason Volk
9c875c71a6
ircd::json: Better bool related conversions etc.
2017-10-15 21:21:56 -07:00
Jason Volk
08b961351d
ircd::fmt: Add more string types for the %s specifier here for now.
2017-10-15 21:20:25 -07:00
Jason Volk
5ca5f4b405
ircd::db: Improve formatting for seek debug messages.
2017-10-15 21:19:34 -07:00
Jason Volk
a3f7a41650
ircd::json: Rename json::string to json::strung and maintain json::string as intuitive type.
2017-10-15 21:18:42 -07:00
Jason Volk
124f7ea12a
ircd::ctx: Add utils for getting this_ctxt name and id; truncate default name literal.
2017-10-15 21:12:58 -07:00
Jason Volk
18bbf758f3
ircd/modules: Improve path param parsing related; various m:: related.
2017-10-11 20:54:03 -07:00
Jason Volk
1a4c57653b
ircd: Improve this stack buffer for now.
2017-10-11 20:54:02 -07:00
Jason Volk
6ba6cb1e7f
ircd: Add version 5.0.0 to libircd.
2017-10-11 20:54:02 -07:00
Jason Volk
045d38d034
ircd::http: Add authorization; multiple-choices error; improve header proffer; cleanup/reorg.
2017-10-11 20:54:02 -07:00
Jason Volk
908fde12c4
ircd: Add string replace() utils.
2017-10-11 20:54:02 -07:00
Jason Volk
4f0de4915d
ircd: Rename tokens_count() to token_count().
2017-10-11 20:54:02 -07:00
Jason Volk
8da4874f2c
ircd: Uniform initialization style for these.
2017-10-11 20:54:01 -07:00
Jason Volk
a663e80254
ircd::fs: Fix narrowing.
2017-10-11 20:54:01 -07:00
Jason Volk
3425659d7f
ircd::fs: Add very preliminary aio and ircd init for such.
2017-10-11 20:54:01 -07:00
Jason Volk
dffe222a78
ircd: Improve date utils; add date formatted string output; related.
2017-10-11 20:54:01 -07:00
Jason Volk
b9f13ed2c2
ircd: Remove cruft.
2017-10-11 20:54:01 -07:00
Jason Volk
e3963da007
ircd: Various comments added/modified.
2017-10-11 18:18:20 -07:00
Jason Volk
2839eb4b50
ircd::log: Make logger threadsafe by injecting other thread's messages into ios.
2017-10-11 18:18:20 -07:00
Jason Volk
eb56befef0
ircd: Improve thread id related; add public functions to post to ios.
2017-10-11 18:18:19 -07:00
Jason Volk
638f5469c5
ircd::json: Minor conflict fix.
2017-10-11 18:18:19 -07:00
Jason Volk
5c69d3df5a
ircd::crh: Improve hash related interface; comments etc.
2017-10-11 18:18:19 -07:00
Jason Volk
edcd95cd8f
modules/ircd: Ⓜ️ Upgrade various json tuple templates with string literals.
2017-10-11 18:18:19 -07:00
Jason Volk
2d90965816
configure.ac: Various cleanup; Add more warnings; Add optimization flags for testing.
2017-10-11 18:18:19 -07:00
Jason Volk
75648c7397
configure.ac: Add an RB_DEBUG_LEVEL which will always be defined; 0 when RB_DEBUG is not defined.
2017-10-11 18:18:19 -07:00
Jason Volk
bd1a66e608
ircd: minor simplifications; minor cleanup.
2017-10-11 18:18:18 -07:00
Jason Volk
dc2346a753
ircd::http: Cleanup error messages.
2017-10-11 18:18:18 -07:00
Jason Volk
db43edb212
ircd: Various labels to help de-virtualization on recommendation of -Wsuggest-final-types.
2017-10-11 18:18:18 -07:00
Jason Volk
fccfa03308
ircd: Add mutable_buffer ctor to parse::buffer; cleanup parse related.
2017-10-11 18:18:17 -07:00
Jason Volk
9d4c2fb5c3
ircd: Turn off coredumps in production to not leak secret key material.
2017-10-03 04:27:15 -07:00
Jason Volk
8a9f2597b9
ircd: Fix http resource lookup.
2017-10-03 04:27:15 -07:00
Jason Volk
20869309a2
Checkpoint matrix with preliminary federation client and keyserver related.
2017-10-03 04:27:15 -07:00
Jason Volk
5073096335
ircd: Ⓜ️ Improve id construction / validation related.
2017-10-03 04:27:15 -07:00
Jason Volk
fe4c59003f
ircd::net: Add debugging messages for client connect; also for unhandled server errors.
2017-10-03 04:27:14 -07:00
Jason Volk
5a8cc4e8cd
ircd::fs: Fix error.
2017-10-03 04:27:14 -07:00
Jason Volk
5335371b1a
ircd::http: Elide the strlcat() for user header generation.
2017-10-03 04:27:14 -07:00
Jason Volk
8c4925419a
ircd: Improve base64 suite.
2017-10-03 04:27:14 -07:00
Jason Volk
67dba9c471
ircd::crh: Fix buffer argument types; cleanup.
2017-10-03 04:27:14 -07:00
Jason Volk
234f7e34d7
ircd::ed25519: Add filesystem related for sk; add seed constructor; various.
2017-10-03 04:27:14 -07:00
Jason Volk
4954c90e27
ircd::fs: Improve basic file read/write/append into buffers.
2017-10-03 04:27:14 -07:00
Jason Volk
0eb10c0495
ircd: Add b64encoded_unpadded variant.
2017-10-03 04:27:13 -07:00
Jason Volk
9c712486a1
ircd: Split up lexical.h; comments; cleanup.
2017-10-03 04:27:13 -07:00
Jason Volk
ec89d0ca25
ircd::db: I don't think this warning matters...
2017-10-03 04:27:13 -07:00
Jason Volk
1502b973da
ircd: Add ed25519 dsa; reorg sodium related.
2017-10-03 04:27:13 -07:00
Jason Volk
014673d718
ircd::http: Minor urldecode grammar fix.
2017-10-03 04:27:12 -07:00
Jason Volk
4a6b3f5fcc
Add support for libsodium (NaCl) cryptography.
2017-10-03 04:27:10 -07:00
Jason Volk
57f8b28330
ircd: Add X-IRCd-Response-Time header.
2017-10-03 04:17:11 -07:00
Jason Volk
3d754bffba
ircd::db: Give RocksDB its own logging facility.
2017-10-03 04:17:11 -07:00
Jason Volk
19451ab914
ircd::ctx: shared_mutex; peek / view / shared_view; fixes.
2017-10-03 04:17:10 -07:00
Jason Volk
84d7746165
ircd: Add net; various asio related.
2017-10-03 04:17:10 -07:00
Jason Volk
babde26165
make: Minor cleanup.
2017-10-03 04:17:10 -07:00
Jason Volk
b9d657924d
ircd::http: Various fixes; add urldecode; chunked encoding content.
2017-10-03 04:17:10 -07:00
Jason Volk
9ae9ea7357
ircd: Reorg crypto related by dependency.
2017-10-03 04:17:10 -07:00
Jason Volk
fae5984d5e
ircd: Rename hash.cc to crypto.cc.
2017-10-03 04:17:10 -07:00
Jason Volk
ade7a138c4
ircd::db: Simplify the db::row using vector_view<cell>.
2017-10-03 04:17:09 -07:00
Jason Volk
4090b80d60
ircd::json: Add missing serialized() participants.
2017-10-03 04:17:09 -07:00
Jason Volk
f2264b02e6
ircd::http: Preliminary support for chunked encoding; improve header args.
2017-10-03 04:17:09 -07:00
Jason Volk
5d7eee1937
ircd: Ⓜ️ Simplify the event query interface by making more internal decisions from query data.
2017-10-03 04:17:08 -07:00
Jason Volk
c4a6addd5a
ircd::ctx: Add critical_assertion debugging tool.
2017-10-03 04:17:08 -07:00
Jason Volk
bc9b0e990c
ircd::json: Simplify expectation error message.
2017-10-03 04:17:08 -07:00
Jason Volk
dc1281a17c
ircd::db: Fix iov related.
2017-10-03 04:17:08 -07:00
Jason Volk
f8d6e2dddc
ircd::db: Update docs.
2017-10-03 04:17:08 -07:00
Jason Volk
dacff8eb9f
ircd::db: Rename where to query.
2017-10-03 04:17:08 -07:00
Jason Volk
016ff64dbb
ircd: Ⓜ️ Preliminary efficient membership query object.
2017-10-03 04:17:08 -07:00
Jason Volk
ffca90dd7b
ircd: Ⓜ️ Indexers need to check if their columns were given by the user.
2017-10-03 04:17:07 -07:00
Jason Volk
92a8d8e2bf
ircd: Ⓜ️ Improve interfaces; Add prelim sync loop; Add send resource handler.
2017-10-03 04:17:07 -07:00
Jason Volk
b309793ed0
ircd::ctx: Add some docs; minor cleanup.
2017-10-03 04:17:07 -07:00
Jason Volk
816b5125b2
ircd: Improve/cleanup ircd::init()/ircd::stop() related.
2017-10-03 04:17:07 -07:00
Jason Volk
d4508e157f
ircd: Ⓜ️ Deduplicate user related in m::user. Update various resource related.
2017-09-24 20:48:53 -07:00
Jason Volk
ca1f5bbbe5
ircd: Ⓜ️ Fix some id constructor behavior.
2017-09-24 20:48:53 -07:00
Jason Volk
c032c686f6
Checkpoint matrix application basis.
2017-09-24 18:16:45 -07:00
Jason Volk
196d158398
ircd::db: Improve debug log messages.
2017-09-24 18:16:45 -07:00
Jason Volk
f060bd4fc5
ircd: Support resource response json::value for array/object values; cleanup.
2017-09-24 18:16:45 -07:00
Jason Volk
2a579390be
ircd::db: Minor cleanup.
2017-09-24 18:16:45 -07:00
Jason Volk
f4682522a8
ircd::util: Rename stopped overload to nostart.
2017-09-24 18:16:44 -07:00
Jason Volk
0b1c37c585
ircd::db: Fix reverse iteration; cleanup seek; add ORDERED flag (prelim).
2017-09-24 18:16:44 -07:00
Jason Volk
7f7ef9a4bf
ircd: Add client request timer related.
2017-09-24 18:16:44 -07:00
Jason Volk
c138c53449
ircd::db: Log snapshot sequence numbers.
2017-09-24 18:16:44 -07:00
Jason Volk
dd7c1adb05
ircd::db: Add timer to row seek.
2017-09-24 18:16:44 -07:00
Jason Volk
d7c59f4e49
ircd::db: Improve seek() stack.
2017-09-24 18:16:44 -07:00
Jason Volk
4077307ab5
ircd::db: Minor cleanup.
2017-09-24 18:16:43 -07:00
Jason Volk
1a35514653
ircd::db: Fixes for reverse iteration.
2017-09-24 18:16:43 -07:00
Jason Volk
10eabc5e40
ircd::db: Remove this from row constructor.
2017-09-24 18:16:43 -07:00
Jason Volk
c4b34b9e66
ircd::db: cell constructor branch on empty key.
2017-09-24 18:16:43 -07:00
Jason Volk
b29224aa3a
ircd::db: Cleanup comparator related.
2017-09-24 18:16:43 -07:00
Jason Volk
2a17d2b939
ircd: Fix string length of demangle() value.
2017-09-24 18:16:43 -07:00
Jason Volk
57bcae7a32
ircd: Update notes.
2017-09-24 18:16:42 -07:00
Jason Volk
c87934cd4d
ircd::crh: Support SHA256.
2017-09-24 18:16:42 -07:00
Jason Volk
4b17211a04
ircd::buffer: Add raw_buffer for binary data; lexical: simplify a2u/b64 related.
2017-09-24 18:16:42 -07:00
Jason Volk
d7def063b6
ircd: Add tools for binary/hex/b64 conversions.
2017-09-24 18:16:42 -07:00
Jason Volk
b207b9e909
ircd: Rename ircd::scope to ircd::unwind.
2017-09-24 18:16:41 -07:00
Jason Volk
56074325a1
ircd::db: Use extern const comparators and expose them in headers.
2017-09-24 18:16:41 -07:00
Jason Volk
69eab27209
ircd::db: Complete reverse iterations.
2017-09-24 18:16:41 -07:00
Jason Volk
43ddaa90a4
ircd::mods: Fix string termination for demangle().
2017-09-24 18:16:41 -07:00
Jason Volk
dae391a578
ircd::db: Refactor opts to not store ilists; cleanup index/column relationship; cleanup where.
2017-09-24 18:16:41 -07:00
Jason Volk
f7708f47f6
ircd::db: Test valid-equal to index on cell load.
2017-09-24 18:16:40 -07:00
Jason Volk
fc753f7440
ircd::db: Add constant time seek to column in row by index number.
2017-09-24 18:16:40 -07:00
Jason Volk
971496817b
Minor fixes / cleanup.
2017-09-24 18:16:40 -07:00
Jason Volk
46588d0ae8
ircd::db: Public functions to get the descriptor for a column.
2017-09-24 18:16:39 -07:00
Jason Volk
7f548cee1c
ircd: Make asio header; comments; add special continuation for yielding to asio.
2017-09-24 18:16:39 -07:00
Jason Volk
a9ac3f9956
ircd: Move ircd::mods::demangle() to ircd::demangle().
2017-09-24 18:16:39 -07:00
Jason Volk
3a56a30d77
ircd: Support char overloads for all tokenizers.
2017-09-24 18:16:38 -07:00
Jason Volk
e0c0f71754
ircd: Fix client shutdown.
2017-09-24 18:16:38 -07:00
Jason Volk
0d393c58dd
ircd::db: Various cleanup / movements.
2017-09-24 18:16:38 -07:00
Jason Volk
1acd278632
ircd::ctx: Updates; add ctx::view; add preliminary ctx::fault; various reorg.
2017-09-24 18:16:38 -07:00
Jason Volk
4c50b2794f
ircd::json: Various fixes/cleanup/conversions.
2017-09-24 18:16:38 -07:00
Jason Volk
38c1d2e195
ircd::json: Complete serialize/stringify for object/object::member.
2017-09-24 18:16:37 -07:00
Jason Volk
68b0356203
ircd: Simplify some info log messages.
2017-09-24 18:16:37 -07:00
Jason Volk
a12309be44
ircd: Log version information on startup.
2017-09-24 18:16:37 -07:00
Jason Volk
5e137c676f
ircd::db: Use vector for descriptors.
2017-09-24 18:16:37 -07:00
Jason Volk
c50461c4c6
ircd::db: Rename txn to iov.
2017-09-24 18:16:37 -07:00
Jason Volk
fb026f58a7
ircd::db: Add features to txn.
2017-09-24 18:16:37 -07:00
Jason Volk
d7e9c9182a
ircd::db: Add txn
class to compose a transaction in stages.
2017-09-24 18:16:37 -07:00
Jason Volk
b27a2a6423
ircd::db: Support constant-time column lookup by id; various cleanup/fixes.
2017-09-24 18:16:37 -07:00
Jason Volk
469d286175
ircd: Use db based access_token query for auth.
2017-09-24 18:16:37 -07:00
Jason Volk
5261f9dd25
ircd::db: row cleanup / fixes.
2017-09-24 18:16:36 -07:00
Jason Volk
47cd7790ed
ircd::json: Simplify generators with common list protocol.
2017-09-24 18:16:36 -07:00
Jason Volk
7d61dc4441
ircd::db: Reflect with string_view.
2017-09-24 18:16:36 -07:00
Jason Volk
276a902a62
ircd::db: Improve valid checking and valid() suite.
2017-09-24 18:16:36 -07:00
Jason Volk
1f8fb24e8d
ircd: Update various comments.
2017-09-24 18:16:36 -07:00
Jason Volk
65802d3e47
ircd::resource: Cleanup JSON iov related; Add exception handlers.
2017-09-24 18:16:36 -07:00
Jason Volk
ccbd507c35
ircd::db: Fix issues with cell.
2017-09-24 18:16:35 -07:00
Jason Volk
eaca7429b6
ircd::json: Simplify grammar / various cleanup.
2017-09-24 18:16:35 -07:00
Jason Volk
438866a3d7
ircd::json: Fix estimation error.
2017-09-24 18:16:35 -07:00
Jason Volk
d3feb23a25
ircd: Add resource response json::iov related conversions for members lists.
2017-09-24 18:16:35 -07:00
Jason Volk
cd535b416b
ircd::http: Check for outbound transfer-encoding.
2017-09-24 18:16:35 -07:00
Jason Volk
ca9ea5ac0c
ircd::db: Simplify/fix seek(row).
2017-09-24 18:16:34 -07:00
Jason Volk
6aacf73dfa
ircd: Remove the tokens container.
2017-09-24 18:16:34 -07:00
Jason Volk
6503d28006
ircd: Simplify this service stack for now.
2017-09-24 18:16:34 -07:00
Jason Volk
214e5e7107
Compiler recommended to use std::terminate() rather than throw into noexcept.
2017-09-24 18:16:34 -07:00
Jason Volk
6a5159499f
ircd::json: Use ircd::iov for json::iov.
2017-09-24 18:16:34 -07:00
Jason Volk
f8fc03e57b
ircd::json: Improve value semantics and various fixes.
2017-09-24 18:16:34 -07:00
Jason Volk
a0aeb2de2d
configure.ac/Makefile: Add debug conditionals.
2017-09-24 18:16:34 -07:00
Jason Volk
54d6793f59
Update various documentation and comments.
2017-09-24 18:16:33 -07:00
Jason Volk
7cc4ed56ab
ircd: Support both iov and ilist for socket and buffer related.
2017-09-24 18:16:33 -07:00
Jason Volk
8ad134c565
ircd::json: Rename builder to iov.
2017-09-24 18:16:33 -07:00
Jason Volk
6cd58b0d6a
ircd: Update various comments / minor cleanup.
2017-09-24 18:16:32 -07:00
Jason Volk
e95fe7fbd9
ircd::json: Improve tuple/builder related.
2017-09-24 18:16:32 -07:00
Jason Volk
db748cae81
ircd::resource: Accept json::member for response for now.
2017-09-24 18:16:32 -07:00
Jason Volk
147a49a86c
ircd::json: Improve stringification interface et al.
2017-09-08 07:47:07 -07:00
Jason Volk
85b699c286
Various makefile cleanup.
2017-09-08 03:47:53 -07:00
Jason Volk
1cea631f60
ircd::m modules: Matrix reinterface checkpoint.
2017-09-08 03:47:53 -07:00
Jason Volk
a89a8dfa5f
ircd::db: Add preliminary cursor and where clause query.
2017-09-08 03:47:52 -07:00
Jason Volk
7baac31cc7
ircd: Add main init for ircd::db.
2017-09-08 03:47:52 -07:00
Jason Volk
6eb54bb67a
ircd::buffer: Add extern linkage for null buffers.
2017-09-08 03:47:52 -07:00
Jason Volk
4cb99ba1a4
ircd::resource: Cleanup / fixes.
2017-09-08 03:47:52 -07:00
Jason Volk
d219858e73
ircd::db: Improve commitment stack.
2017-09-08 03:47:52 -07:00
Jason Volk
682686bcae
ircd::db: Employ c++1z extensions to namespacing.
2017-09-08 03:47:52 -07:00
Jason Volk
5f25d90fd2
ircd::db: Add index interface.
2017-09-08 03:47:52 -07:00
Jason Volk
277765ebbc
ircd::fmt: Show demangled type name of faulty argument.
2017-09-08 03:47:52 -07:00
Jason Volk
4eeb1c093d
ircd::http: Proper exception when parse buffer is too small.
2017-09-08 03:47:51 -07:00
Jason Volk
c627095f51
ircd: Add date.h header for date and time utilities.
2017-09-08 03:47:51 -07:00
Jason Volk
b829c5d7ba
ircd::json: Extend interface with some hackses for now but this has to be revisited eventually.
2017-09-08 03:47:51 -07:00
Jason Volk
1e7c0daed2
ircd::db: Improve opts, snapshot, and conversions for column::iterator.
2017-09-08 03:47:51 -07:00
Jason Volk
96d121c82a
m: Improve mxid class
2017-09-08 03:47:50 -07:00
Jason Volk
f98be1582d
ircd::ctx: Expose stack usage functions to user.
2017-09-08 03:47:50 -07:00
Jason Volk
cbdd176819
ircd::db: Remove unnecessary shared_ptr for column instance.
2017-09-08 03:47:50 -07:00
Jason Volk
e46faaf882
ircd::db: Support prefix indexing.
2017-09-08 03:47:50 -07:00
Jason Volk
69917f153f
ircd::db: Add json::tuple related and utils to row.
2017-09-08 03:47:50 -07:00
Jason Volk
0ca1ebba61
ircd::db: Fix valid condition bugs and minor cleanup.
2017-09-08 03:47:49 -07:00
Jason Volk
19c5e6c83b
ircd::db: Add generalized database delta interface.
2017-09-08 03:47:49 -07:00
Jason Volk
f729fd0917
ircd::db: Expose enum class pos.
2017-09-08 03:47:49 -07:00
Jason Volk
e583c0885d
ircd::db: Improve seek() interface suite.
2017-09-08 03:47:49 -07:00
Jason Volk
62a68d8931
ircd::db: Use pointers in the delta tuple for more flexible semantics.
2017-09-08 03:47:49 -07:00
Jason Volk
04129d7444
ircd::json: Use proper output grammar for literal generation.
2017-09-08 03:47:49 -07:00
Jason Volk
7c9c0ffa38
ircd::mods: Rewrite undefined symbol exception using demangling.
2017-09-08 03:47:49 -07:00
Jason Volk
d9a4f06bf6
ircd: Employ namespace scope extensions from c++1z/gnu++14.
...
This is not a move to c++17. If the compiler happens to have support
for c++17 namespace scope resolution, they have been kind enough to
backport it to gnu++14. This limits our support for really old c++14
compilers, but that was limited anyway. GCC 6.1 and clang 3.6 tested.
2017-09-08 03:47:46 -07:00
Jason Volk
28cf226c3a
ircd::mods: Add cxx abi name demangling.
2017-09-08 03:46:43 -07:00
Jason Volk
c43c8f83d3
ircd::listen: Fixes/cleanup and scaffold of options testing.
2017-08-23 15:52:15 -06:00
Jason Volk
207ac4ef53
ircd: Various improvements to client and socket related.
2017-08-23 15:52:15 -06:00
Jason Volk
ca608402f5
ircd::db: Various improvements to DB subsystem.
2017-08-23 15:52:15 -06:00
Jason Volk
48148c640c
ircd: Add std::random subsystem and utils.
2017-08-23 15:52:15 -06:00
Jason Volk
b6d51b89dd
ircd::ctx: Patch issues with direct jump.
2017-08-23 15:52:15 -06:00
Jason Volk
9f12672567
ircd::db: Fix seek offload procedure.
2017-08-23 15:52:15 -06:00
Jason Volk
5fe03e5c0a
ircd::mods: Add unpostfixed() and postfixed() for module names.
2017-08-23 15:52:14 -06:00
Jason Volk
fe5614387e
ircd::listen: Add string options overload.
2017-08-23 15:52:14 -06:00
Jason Volk
6db3c55f74
ircd::fs: Add directory creation.
2017-08-23 15:52:14 -06:00
Jason Volk
0149610bb2
ircd: Various matrix library / modules / database development.
2017-08-23 15:51:34 -06:00
Jason Volk
10472684f2
ircd: Cleanup client/ircd main. Fixes for exit notification.
2017-08-23 15:50:37 -06:00
Jason Volk
a32210a64d
ircd: Support proper socket disconnect for SSL.
2017-08-23 15:49:33 -06:00
Jason Volk
144159c637
ircd: Mark the Access-Control-Allow-Origin header so it is not forgotten.
2017-08-23 15:48:46 -06:00
Jason Volk
1cb5433fce
fixup! fixup! ircd::json/modules: Rename various types.
2017-08-23 15:48:28 -06:00
Jason Volk
dbbd72fe75
ircd: Handle a resource not found properly.
2017-08-23 15:47:54 -06:00
Jason Volk
60a22a0216
Update README / info.cc copyright / accoutrements.
2017-08-23 15:45:41 -06:00
Jason Volk
ab540c378c
ircd::http: Increase these buffers (unnecessary; todo optimize).
2017-08-23 15:43:57 -06:00
Jason Volk
5751555834
ircd::fs: Fix ls_recursive / directory iteration related.
2017-08-23 15:43:25 -06:00
Jason Volk
a7cb94d042
ircd: Add listener device.
2017-08-23 15:42:53 -06:00
Jason Volk
caa6ed58e5
ircd: Makefile improvements.
2017-08-23 15:39:41 -06:00
Jason Volk
e09f272592
ircd::db: Improve/comment DB subsystem; Add version identification.
2017-08-23 15:38:51 -06:00
Jason Volk
4fd787d9d5
ircd::json/modules: Rename various types.
2017-08-23 15:32:28 -06:00
Jason Volk
2a6527993b
fixup! ircd: Remove aborted cruft.
2017-08-23 15:30:24 -06:00
Jason Volk
c9e947e66f
ircd: Remove aborted cruft.
2017-08-23 15:27:41 -06:00
Jason Volk
4d4a56fe9c
ircd::js: Upgrade SpiderMonkey to esr52 from esr45.
2017-08-23 15:25:22 -06:00
Jason Volk
4f095024ee
ircd::db: Update pure-virtual requirement in database::stats.
2017-08-23 15:19:35 -06:00
Jason Volk
6e44074bad
ircd: Various client / listener / main related.
2017-08-23 15:13:57 -06:00
Jason Volk
c1ef99c0cd
ircd::conf: Doomed conf related.
2017-08-23 15:12:16 -06:00
Jason Volk
a3117391b5
ircd/modules: Preliminary matrix scaffold.
2017-08-23 15:10:28 -06:00
Jason Volk
a57070a9cf
ircd: Minor socket log message improvements.
2017-08-23 15:06:58 -06:00
Jason Volk
30fb1d59d7
ircd: Preliminary resource handler infrastructure.
2017-08-23 15:06:14 -06:00
Jason Volk
2172b39f9e
ircd::js: Minor fixes to JS subsystem.
2017-08-23 15:04:45 -06:00
Jason Volk
03734c7fb5
ircd::json: Fixes to grammar and generator related.
2017-08-23 15:02:24 -06:00
Jason Volk
c1638d1dfa
ircd::http: Fixes to HTTP grammar and output.
2017-08-23 15:00:21 -06:00
Jason Volk
a880e2e43e
ircd::ctx: Add minor commentary.
2017-08-23 14:59:27 -06:00
Jason Volk
9ea5eceb0e
ircd::fs: Add function to read file from local filesystem.
2017-08-23 14:56:52 -06:00
Jason Volk
cd7d86b699
ircd::fmt: Add lowercase hex specifier.
2017-04-06 18:34:44 -07:00
Jason Volk
39ab4d1c68
fixup! ircd::fmt: Cleanup grammar; fixes; support std::exception type to %s.
2017-04-06 18:34:09 -07:00
Jason Volk
4b2b7ea292
ircd::http: Allow elision of leading slash and empty '?' query.
2017-04-06 16:54:47 -07:00
Jason Volk
6097e82974
ircd: Add more HTTP status mappings.
2017-04-06 16:54:20 -07:00
Jason Volk
05f297c756
ircd: Fix token_last() iteration.
2017-04-04 22:12:32 -07:00
Jason Volk
17926e095f
ircd::mods: Add workaround for dlclose() recursion issue.
2017-04-04 16:10:29 -07:00
Jason Volk
7ff04618c0
ircd;modules: Minor Makefile tweaks.
2017-04-04 16:10:29 -07:00
Jason Volk
8fdc6a4794
fixup! ircd: Minor cleanup.
2017-04-04 16:10:29 -07:00
Jason Volk
e7844a0771
ircd::db: Database system developments.
2017-04-04 16:10:29 -07:00
Jason Volk
397d1dd3dd
fixup! ircd: Move and improve socket listener device.
2017-04-04 16:10:28 -07:00
Jason Volk
bcccddbf3f
ircd::http: Add query string support; cleanup grammar; minor cleanup.
2017-04-04 16:10:28 -07:00
Jason Volk
cb96d59579
ircd::http: Update status codes.
2017-04-04 16:10:28 -07:00
Jason Volk
6de469c8fb
ircd::json: Remove empty initializer list members.
2017-04-02 20:58:30 -07:00
Jason Volk
217a0e9454
ircd::json: Modify grammar to fail with error when member name is empty string.
2017-04-02 20:57:57 -07:00
Jason Volk
673c8ca068
ircd::json: Add val::empty() and full default initialization.
2017-04-02 20:54:35 -07:00
Jason Volk
49da778def
ircd::fmt: Add bool support.
2017-04-02 20:53:14 -07:00
Jason Volk
b579d7dfc3
ircd::ctx: Add strand()/notify() with threadsafe_t.
2017-04-02 20:52:30 -07:00
Jason Volk
e4f258314a
fixup! ircd::ctx: Fixes for the thread-unsafety of asio::steady_timer.
2017-03-30 21:14:59 -07:00
Jason Volk
a2625b9f4b
fixup! ircd::db: Develop object-store out of db system.
2017-03-30 18:18:28 -07:00
Jason Volk
b07169dd69
Update Makefile flags for libraries to show more linkage issues.
2017-03-30 16:04:20 -07:00
Jason Volk
16c1326d40
ircd::db: Develop object-store out of db system.
2017-03-30 16:04:20 -07:00
Jason Volk
2ffab411df
ircd::json: Various fixes to JSON subsystem.
2017-03-30 16:04:20 -07:00
Jason Volk
25df66a89a
ircd::mods: Improve error reporting on failed module load.
2017-03-30 16:04:20 -07:00
Jason Volk
61e6f0dada
ircd::log: Improve the log mark message.
2017-03-30 16:04:20 -07:00
Jason Volk
3a31c62681
ircd: Minor cleanup.
2017-03-30 16:04:20 -07:00
Jason Volk
2e7dd1e5ad
ircd::fs: Fixes/renames to local filesystem support subsystem.
2017-03-30 16:04:19 -07:00
Jason Volk
33b2cd8f70
ircd::ctx: Fixes for the thread-unsafety of asio::steady_timer.
2017-03-30 16:04:19 -07:00
Jason Volk
c604b391be
ircd::ctx: Support direct context switching without enqueueing with ios.
2017-03-30 16:04:19 -07:00
Jason Volk
aee06c5ff8
ircd::json: Scan until eoi for type check of numbers and literals.
2017-03-30 16:04:19 -07:00
Jason Volk
8ef53f2640
ircd: Move and improve socket listener device.
2017-03-30 16:04:19 -07:00
Jason Volk
b6b78f9674
ircd::fmt: Use stronger cast.
2017-03-30 16:04:19 -07:00
Jason Volk
d9521c4dc0
ircd::ctx: Fix bug where interrupts are lost before context spawns.
2017-03-30 16:04:19 -07:00
Jason Volk
31dd925b17
ircd::ctx: Mark the profiling leave time directly after the user finishes.
2017-03-30 16:04:19 -07:00
Jason Volk
a366731a4b
ircd::db: Support column families.
2017-03-30 16:04:19 -07:00
Jason Volk
0c42835fa3
ircd::db: Integrate rocksdb::Logger with our logger.
2017-03-30 16:04:19 -07:00
Jason Volk
5a7852a0d4
ircd: Various cleanup.
2017-03-30 16:04:19 -07:00
Jason Volk
35345c164e
ircd::fmt: Cleanup grammar; fixes; support std::exception type to %s.
2017-03-30 16:04:18 -07:00
Jason Volk
99d75648f0
ircd::log: Add assertion for log calls from non-main threads.
2017-03-30 16:04:18 -07:00
Jason Volk
1f6d83b5b1
ircd::db: additional support: stats, callbacks and merge operator.
2017-03-30 16:04:18 -07:00
Jason Volk
7ae5785431
ircd::json: Add merge constructor.
2017-03-30 16:04:18 -07:00
Jason Volk
0d09170507
ircd::db: Leverage the RocksDB WriteBatch with an initializer_list.
2017-03-30 16:04:18 -07:00
Jason Volk
21db4baab3
ircd: Various cleanup.
2017-03-30 16:04:18 -07:00
Jason Volk
ae9b37939e
ircd::mods: Slightly more graceful handling of boost::dll's noexcept issue.
2017-03-20 21:29:30 -07:00
Jason Volk
6a0e5e4de5
ircd::mods: Add sym_ptr/sym_ref to link symbols with a typed object.
2017-03-20 21:29:29 -07:00
Jason Volk
a8fc400130
ircd: Towards a modern refactor of variadic arguments passed to functions.
2017-03-20 19:27:29 -07:00
Jason Volk
e48c93e42a
ircd::http: Improve error messages; various cleanup.
2017-03-20 19:25:10 -07:00
Jason Volk
98c51be27d
fixup! ircd: Add tokens_after() util.
2017-03-20 19:22:58 -07:00
Jason Volk
91cd0327bd
ircd::fmt: Remove rfc1459 builtin specifiers; various/cleanup.
2017-03-20 19:20:33 -07:00
Jason Volk
26529b4ac6
fixup! ircd: JSON subsystem related.
2017-03-20 15:59:14 -07:00
Jason Volk
42ce334528
ircd::db: throw not_found for now in this case.
2017-03-20 04:25:01 -07:00
Jason Volk
adf408d4b0
ircd::ctx: Tweak default profiling values; fix fmt:: specifier.
2017-03-20 00:01:42 -07:00
Jason Volk
2b0d74c862
configure.ac: Add -ffriend-injection to CXXFLAGS.
2017-03-20 00:00:14 -07:00
Jason Volk
99a4e523b8
fixup! fixup! fixup! fixup! ircd: Add the va_rtti construct.
2017-03-17 23:30:09 -07:00
Jason Volk
d3e5cb7f73
ircd::fmt: Add the %p format specifier for pointer types.
2017-03-17 21:14:45 -07:00
Jason Volk
3c38aeb96e
ircd: Nest this ep initializer for now.
2017-03-17 20:35:00 -07:00
Jason Volk
710d959a63
ircd::json: Cleanup/improve grammar; improve linear array parse (incomplete).
2017-03-17 20:33:47 -07:00
Jason Volk
1016e993e9
ircd: Optimal HTTP status code and content length parsing.
2017-03-17 20:29:27 -07:00
Jason Volk
274e2ec717
fixup! ircd::fmt: Support string_view; updates to the format string system.
2017-03-17 20:27:33 -07:00
Jason Volk
8ef0b50131
ircd: Add tokens_after() util.
2017-03-17 20:25:42 -07:00
Jason Volk
a0e7002dde
ircd::log: Drop in ircd::fmt.
2017-03-17 20:24:25 -07:00
Jason Volk
fa1c393d7a
fixup! ircd: Add the va_rtti construct.
2017-03-17 20:05:36 -07:00
Jason Volk
9c137d7c50
ircd::mapi: Remove linkage of MAGIC value.
2017-03-17 17:46:20 -07:00
Jason Volk
e64ca2827d
ircd: Drop in ircd::fmt for stdarg for ircd::exception.
2017-03-17 17:37:40 -07:00
Jason Volk
86804755c8
ircd: Add the va_rtti construct.
2017-03-17 17:36:09 -07:00
Jason Volk
33b5dc21b7
ircd::fmt: Support string_view; updates to the format string system.
2017-03-17 17:00:41 -07:00
Jason Volk
1d0e2b0a6a
fixup! ircd::json: Add stronger value typing with runtime visitor switching.
2017-03-16 13:36:18 -07:00