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

48 commits

Author SHA1 Message Date
Jason Volk
b637eb0c50 ircd::rfc3986: Fix missing exception translation. 2022-07-19 14:26:23 -07:00
Jason Volk
9914fe33d1 ircd::rfc3896: Eliminate throwing expectations for port suffix grammars. 2022-06-28 22:43:48 -07:00
Jason Volk
0c281f10d0 ircd::rfc3986: Move encoder/decoder into parser ns; fix karma::grammar. 2022-06-17 21:34:02 -07:00
Jason Volk
f40b77c307 ircd::rfc3986: Simplify typedef; simplify pragma/linkage. 2022-06-17 21:11:54 -07:00
Jason Volk
ba06a52368 ircd::rfc3986: Add public rule abstracting uri_parse construction. 2022-06-17 21:11:54 -07:00
Jason Volk
6f0f6a46ac ircd::rfc3896: Branch optimizations for convenience suite. 2022-06-17 21:11:54 -07:00
Jason Volk
dd4e354375 ircd::rfc3986: Additional spirit related fixes/dressings. 2022-06-17 21:11:54 -07:00
Jason Volk
1055d66f94 Modernize various parser grammars; remove empty ctors. 2022-06-17 21:11:53 -07:00
Danilo Spinella
d87e7a5e32 irdc/rfc3986: Fix build with latest Boost
From `boost/spirit/home/karma/nonterminal/rule.hpp`:
        BOOST_STATIC_ASSERT_MSG(
            !is_reference<attr_type>::value && !is_const<attr_type>::value,
            "Const/reference qualifiers on Karma rule attribute are meaningless");
2020-12-23 03:56:43 -08:00
Jason Volk
e7bdcedd29 ircd::rfc3986: Use uppercase hex characters for encoding. 2020-11-08 03:48:57 -08:00
Jason Volk
51fdf2bfdf ircd::rfc3986::decoder: Relax decode restriction to all non-control. 2020-10-20 22:19:34 -07:00
Jason Volk
9d45118628 ircd::rfc3986::decoder: Relax unreserved characters to non-control. 2020-10-20 21:48:06 -07:00
Jason Volk
eb43826d99 ircd::rfc3986: Consolidate visibility attributions; additional comments. 2020-08-21 06:20:26 -07:00
Jason Volk
112185c213 ircd::rfc3986: Use generator template for encode(). 2020-05-26 04:54:52 -07:00
Jason Volk
ec0471934a ircd::json: Minor simplifications.
ircd::rfc3986: Minor simplifications.

ircd::fmt: Minor cleanup.
2020-05-19 15:55:18 -07:00
Jason Volk
bb52cbd2d1 ircd::rfc3986: Move port number extraction grammars out of function static. 2020-05-18 18:12:34 -07:00
Jason Volk
0cb7378793 ircd::rfc3986: Move static host grammars outsdie of function. 2020-05-18 18:12:34 -07:00
Jason Volk
f4fe10ba38 ircd::rfc3986: Add expectations for host and port parsers. 2020-05-14 11:05:42 -07:00
Jason Volk
cb41660c94 ircd: Applications of loopless copy overload for single character. 2020-04-13 23:58:33 -07:00
Jason Volk
628772c3b5 ircd::rfc3986: Minor fix indentation. [ci skip] 2020-04-13 21:45:57 -07:00
Jason Volk
5dc16850c6 ircd::rfc3986: Relax decoder to allow already-decoded inputs. 2020-04-13 20:24:48 -07:00
Jason Volk
af9629324e ircd::rfc3986: Refactor uri encoder/decoder related; reorg.
ircd::rfc3986::encoder: Proper unreserved character selection.

ircd::rfc3986::decoder: Split into safe and unsafe grammars and interface.

ircd::rfc3986::decoder: Use expectation_failure template exception.
2020-03-28 23:39:13 -07:00
Jason Volk
70a0f0eb0b ircd::rfc3986: Fix rule label. 2020-03-28 19:22:38 -07:00
Jason Volk
dea3193f0a ircd::rfc3986: Fix assert from 737d9dd1626; related 37690c43d6. 2020-02-25 20:04:17 -08:00
Jason Volk
dc8193a523 ircd::rfc3986: Advise namespace import for clang. 2020-02-01 16:20:35 -08:00
Jason Volk
801f0d57b7 ircd: Fix attributes for clang. 2019-06-23 07:37:23 -06:00
Jason Volk
22f3c41603 ircd::rfc3986: Add URI decomposition. 2019-06-13 21:44:51 -06:00
Jason Volk
0355391e34 ircd::rfc3986: Complete the URI grammars as specified. 2019-06-13 20:06:05 -06:00
Jason Volk
744438ec49 ircd: Precompile the spirit.h header. 2019-04-20 19:24:18 -07:00
Jason Volk
af1bd92b26 ircd::spirit: Apply hidden visibility to all headers + our internal grammar namespaces. 2019-04-16 18:33:01 -07:00
Jason Volk
fb199fbc01 ircd::rfc3986: Fix duration of constructed validator rules; improve grammar branches. 2019-04-16 16:11:23 -07:00
Jason Volk
46346f504e ircd::rfc3986: Reorg grammar stack; add variable valid() tool. 2019-03-25 12:25:25 -07:00
Jason Volk
a9cff4f073 ircd::rfc3986: Add valid_literal() to interface. 2019-03-24 20:50:16 -07:00
Jason Volk
50e7d81d36 ircd::rfc3986: Add interface to extract host and port from remote via grammar. 2019-03-13 13:11:53 -07:00
Jason Volk
f955f1d494 ircd::rfc3986: Add length checks to validations; consolidate validation paths from rfc1035. 2019-03-13 13:11:51 -07:00
Jason Volk
581fcca2f7 ircd::rfc3986: Expose parsing grammar externally. 2019-02-26 13:52:10 -08:00
Jason Volk
965134079e ircd: Fix regression. 2019-02-05 23:18:05 -08:00
Jason Volk
cbf456a388 ircd: Rename and refactor ircd::assertion interface into ircd::panic. 2019-01-13 16:37:31 -08:00
Jason Volk
2e1828adbf ircd::rfc3986: De-template grammar; fix rule array. 2018-12-29 19:43:17 -08:00
Jason Volk
086f92f989 ircd::rfc3986: Type checking on form encoding from json::members. 2018-12-06 17:31:22 -08:00
Jason Volk
6de17431ff ircd: Reverse arguments for url::encode()/decode(); minor reorg. 2018-12-06 16:41:47 -08:00
Jason Volk
2caf425fde ircd::rfc3986: Add form_encode() composer from json::members. 2018-12-06 16:27:05 -08:00
Jason Volk
67a759ac21 ircd::rfc3986: Add validation suite for hostname strings related. 2018-10-02 18:11:50 -07:00
Jason Volk
a893c1e0a7 ircd::rfc3986: Rename some rules in the grammar. 2018-10-02 18:11:50 -07:00
Jason Volk
30eb9178bd ircd: Consolidate spirit typedefs from all relevant units into spirit.h. 2018-03-17 10:44:40 -07:00
Jason Volk
0f5e84b2e0 ircd::rfc3986: Copy relevant grammar from m::id; TODO: share. 2018-03-13 22:44:13 -07:00
Jason Volk
be624ca7f6 Update Copyrastafaris. 2018-02-05 21:24:34 -08:00
Jason Volk
03dea97bb2 ircd: Add preliminary RFC3986 grammar; move urlencoding there. 2017-12-12 14:59:40 -07:00