Jason Volk
c1a3fabd5a
ircd::openssl: Add function to print subject of certificate.
2018-01-12 15:31:58 -08:00
Jason Volk
311df26156
ircd: Expose utilities for boost errors.
2018-01-12 15:04:30 -08:00
Jason Volk
458869f9ef
ircd::http: Remove response helper; add a couple fields to parse; minor cleanup.
2018-01-12 13:15:30 -08:00
Jason Volk
ed0760ef8e
ircd: Minor cleanup of rfc1459 header.
2018-01-12 13:13:37 -08:00
Jason Volk
d3be7129cf
ircd: Minor housekeeping fixes.
2018-01-12 03:22:57 -08:00
Jason Volk
4db2ac3ab7
ircd: Cleanup standard usage importations.
2018-01-12 03:00:23 -08:00
Jason Volk
d566e90402
ircd::util: Move more utils into util; minor cleanup.
2018-01-12 02:59:21 -08:00
Jason Volk
2a65c17ce3
ircd::util: Split out typography related; minor cleanup.
2018-01-11 23:36:42 -08:00
Jason Volk
239eb0e9ad
ircd::openssl: Support EC.
2018-01-11 22:29:00 -08:00
Jason Volk
8c869e3ee5
ircd::openssl: Convenience to print information about an X509 from a PEM.
2018-01-11 22:29:00 -08:00
Jason Volk
04fa556c58
ircd: Reflow the request handlers to give the resource more control over content.
2018-01-11 22:02:34 -08:00
Jason Volk
1f7ed51f3b
ircd::http: Remove request parser helper from here.
2018-01-11 22:02:34 -08:00
Jason Volk
7aa1dedd86
ircd::http: Add 413 PAYLOAD_TOO_LARGE.
2018-01-11 22:02:34 -08:00
Jason Volk
a135227370
ircd::net: Tighten assumptions on cancel().
2018-01-11 22:02:33 -08:00
Jason Volk
725f069621
ircd::net: Add discard_all() convenience.
2018-01-11 22:02:33 -08:00
Jason Volk
37b98b5a82
ircd::openssl: Add flags to the X509 printer.
2018-01-11 22:02:33 -08:00
Jason Volk
29b135de0a
ircd::ctx: Export critical_assertion down to ircd::.
2018-01-11 18:37:08 -08:00
Jason Volk
b0acc95559
ircd::util: Update syscall() comments; minor cleanup.
2018-01-11 03:21:19 -08:00
Jason Volk
c698101d6d
ircd::fs: Initial asynchronous file IO support for Linux platforms.
2018-01-10 22:09:05 -08:00
Jason Volk
c4ea3cc3e3
ircd: Utils for std::system_error related; minor cleanup.
2018-01-10 21:43:49 -08:00
Jason Volk
40bead52b7
ircd: Move and breakup util.h into util/; move fs.h into fs/.
2018-01-10 21:34:21 -08:00
Jason Volk
76e16e4d80
ircd::net: Improve remote construction; hostport/ipport related.
2018-01-10 01:20:16 -08:00
Jason Volk
8a43a37733
ircd: Import std::nothrow_t.
2018-01-10 00:57:43 -08:00
Jason Volk
84bbeecc83
ircd: Move sys/resource / coredump related out of libircd.
2018-01-10 00:56:33 -08:00
Jason Volk
8acdf52443
ircd::fs: Use direct kernel interface rather than glibc aio nonsense.
2018-01-10 00:55:08 -08:00
Jason Volk
6a552e349e
ircd: Preliminary AIO experimental stub on linux platforms.
2018-01-09 16:49:53 -08:00
Jason Volk
78c2af094e
ircd::util: Extend return value in syscall() suite.
2018-01-09 16:24:42 -08:00
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
65a81301a7
ircd: Add fwd decl of boost::system::errc namespace.
2018-01-08 13:42:54 -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
4fa7ad9286
ircd::ctx: Add use_future_t; minor cleanup.
2018-01-08 12:40:09 -08:00
Jason Volk
0cafcd7b84
ircd::ctx: Update async() with moveable promise.
2018-01-08 12:39:05 -08:00
Jason Volk
f8127957c3
ircd: Various error handling fixes/cleanup.
2018-01-08 03:09:00 -08:00
Jason Volk
a9bd77a67d
ircd::net: Add an internal non-blocking read call; minor comments.
2018-01-08 03:08:59 -08:00
Jason Volk
a1f0075d62
ircd::net: Improve the timeout callback related.
2018-01-08 03:08:59 -08:00
Jason Volk
9bb927712e
ircd::net: Kill implicit conversion.
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
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
499e322e83
ircd::net: Fix hostport split default.
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
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
58c26b616c
ircd: Update README note on assert().
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
864249febb
ircd: Update README with assert() related.
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
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
baa35a368a
ircd: Update include/ircd README with conventions section.
2017-12-29 15:53:49 -07:00
Jason Volk
9871332957
fixup! Pin boost to 1.66.0.
2017-12-29 15:53:39 -07:00
Jason Volk
c77ee478e5
ircd::ctx: Add custom refcnt to allow copyable promise.
2017-12-29 15:32:08 -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
bf9db52428
ircd::net: Include a remote::resolved() indicator.
2017-12-28 15:25:57 -07:00
Jason Volk
1bc4b46fbd
fixup! configure.ac: Add c++17 header <optional>.
2017-12-28 14:02:24 -07:00
Jason Volk
59bd14e862
ircd: Ⓜ️ Update README.
2017-12-25 21:02:36 -07:00
Jason Volk
3d1a173358
ircd::net: Add extern null_remote.
2017-12-24 21:54:59 -07:00
Jason Volk
e63632c78f
ircd::buffer: Ensure default constructions available in all derivatives.
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
ae8a8e736a
ircd: Comment on ctype(string_view).
2017-12-24 21:54:59 -07:00
Jason Volk
8604819bd5
ircd::buffer: Remove the terminated string copy from this context.
2017-12-24 21:54:59 -07:00
Jason Volk
04ad57965e
ircd::ctx: Fix promise move constructions etc.
2017-12-24 21:54:59 -07:00
Jason Volk
abcf2c2c14
ircd::buffer: Add convenience completed() conversion to stream_buffer.
2017-12-24 21:54:59 -07:00
Jason Volk
9f75f80c21
ircd::ctx: Consolidate release sequence in mutex/shared_mutex.
2017-12-24 21:54:59 -07:00
Jason Volk
df38f2c8fa
ircd::util: Add reentrancy assertion utility.
2017-12-24 21:54:59 -07:00
Jason Volk
ef6152c0ef
ircd: Move openssl.h way down here so it can use json.
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
56f4d156af
ircd::buffer: Attempt to tighten these buffers templates by specifying buffer.
2017-12-24 21:54:59 -07:00
Jason Volk
18ef10643b
ircd::util: Narrow the coverage of the size() -> sizeof(T) template.
2017-12-24 21:54:59 -07:00
Jason Volk
7d863091bb
ircd::buffer: Add the stream_buffer.
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
f37311a3f1
ircd::util: Add an endian bswap; add more data()/size() participants.
2017-12-24 21:54:58 -07:00
Jason Volk
8d2e098d16
ircd::buffer: Proper exports of templates to compete in ircd::.
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
fbf07913f7
ircd::ctx: Minor style/format fixes.
2017-12-24 20:25:40 -07:00
Jason Volk
82aa59c5ec
ircd::buffer: Reverse convenience utils.
2017-12-24 20:25:40 -07:00
Jason Volk
91ee213c86
ircd::ctx: Add preliminary README.
2017-12-24 20:25:40 -07:00
Jason Volk
e511818e57
ircd: Add some abstract (non json::) tuple related.
2017-12-24 19:26:05 -07:00
Jason Volk
e7036fa79f
ircd::util: Add is_specialization_of template utility.
2017-12-13 14:39:41 -07:00
Jason Volk
69d209dad1
ircd: Remove unnecessary fwd decls.
2017-12-13 14:39: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
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
cea114d41d
ircd::json: Use the defined() rather than default ctor / cleanup.
2017-12-12 14:59:40 -07:00
Jason Volk
ff76d3e061
ircd::json: Add key filtering for tuple enumerations.
2017-12-12 14:59:40 -07:00
Jason Volk
0565301560
ircd: Ⓜ️ Remove the is_state mistake.
2017-12-12 14:59:40 -07:00
Jason Volk
2692a22f62
ircd: Ⓜ️ Add an access denied general exception.
2017-12-12 14:59:40 -07:00
Jason Volk
6b287f958c
ircd: Add these participating size() and data() overloads for C arrays.
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
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
dff9be2df3
ircd: Add a c_str() to string_view which asserts for null termination.
2017-12-12 14:59:40 -07:00
Jason Volk
49b32de864
ircd: Ⓜ️ Update README.
2017-12-12 14:59:40 -07:00
Jason Volk
f3b94d31f5
ircd: Split off tuple.h from util.h
2017-12-12 14:59:39 -07:00
Jason Volk
47a2cddbea
Add std::bitset.
2017-12-05 13:42:21 -08:00
Jason Volk
94b5bc75d3
ircd::db: Update README; remove old cruft.
2017-12-03 13:34:42 -08:00
Jason Volk
6027a68105
ircd: Ⓜ️ Formatting/various fixes to README.
2017-12-02 13:14:30 -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
1a1a50f5f3
Checkpoint reorganization.
2017-11-30 12:30:19 -08:00
Jason Volk
b2a6d4ebab
ircd: Add #ifdef around experimental string_view for non-c++17.
2017-11-30 11:27:00 -08:00
Jason Volk
3a057c80a4
ircd: Add preliminary skeleton for cuckoo suite.
2017-11-30 11:23:48 -08:00
Jason Volk
5d53cdab5e
ircd: Ⓜ️ Checkpoint matrix.
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
d354991c68
ircd::json: Stub a canonize() function which isn't complete yet.
2017-11-30 11:23:47 -08:00
Jason Volk
14f348f900
ircd: Ⓜ️ Add convenience aliases for event closure.
2017-11-30 11:23:47 -08:00
Jason Volk
4733df3d1b
ircd::json: Add more value ctor template specializations.
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
204371dda0
Move sections from include README to main README; various updates.
2017-11-30 11:23:46 -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
e5f12e9750
ircd::buffer: Fix assertion for empty buffer.
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
ea26fd0016
ircd::fs: Path cleanup.
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
31b778ee0b
ircd: Ⓜ️ Improve server keys related functions.
2017-11-30 11:23:46 -08:00
Jason Volk
865ee127c3
ircd: Ⓜ️ Try updating the matrix README.
2017-11-30 11:23:45 -08:00
Jason Volk
926c24ac7d
ircd: Update include README.
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
5e9a82af86
ircd::json: Add uint64_t ctor to value.
...
This ctor is actually not supposed to be used, so it gives a
pseudo-narrowing warning. Not having this ctor simply gives a compile error
which makes very little sense to the developer who is simply trying to pass
a commonly used size_t et al.
2017-11-30 11:23:45 -08:00
Jason Volk
b42dffb24c
ircd::json: Improve tuple assignment typography.
2017-11-30 11:23:45 -08:00
Jason Volk
7723e45de5
ircd::ctx: Minor commentary.
2017-11-30 11:23:45 -08:00
Jason Volk
f2cfa5eccf
ircd::buffer: Add full() and some assertions.
2017-11-30 11:23:45 -08:00
Jason Volk
1b8e93d487
ircd::util: Consolidate a few typographical constexprs here.
2017-11-30 11:23:45 -08:00