Commit Graph

41 Commits

Author SHA1 Message Date
StefanoPetrilli
a62956b61a split the different responsibilities of validate into different functions 2024-03-10 13:11:56 +01:00
Gulliver
976df9586a utility.h fixes 2023-06-14 08:46:40 +02:00
erik
b12767133a Don't use std::filesystem when compiling in C++17 mode on gcc < 8
On gcc < 8, filesystem had to be included as <experimental/filesystem>, it
was also living in the std::experimental namespace, and also required the user
to link against -lstdc++fs.
2022-08-06 00:59:57 +03:00
erik
99c4569408 Fix compilation error using std::filesystem::path
A std::filesystem::path is not implicitly convertible to a std::string.
2022-08-06 00:59:57 +03:00
Vladislav Oleshko
cee7f78ec8 Small fixes 2022-07-14 20:20:34 +03:00
Vladislav Oleshko
6b6eb5eb0b Merge branch 'master' into sessions 2022-06-22 15:21:34 +03:00
Vladislav Oleshko
29c657df8f Add session id preset, remove boost filesystem, small fixes 2022-06-21 15:38:22 +03:00
Luca Schlecker
02bbbde8b7 add comment to trim function, use it correctly and remove redundant whitespace checks in CookieParser. 2022-06-18 17:21:37 +03:00
Luca Schlecker
9f98a66cd1 utility: improve string_equals function.
Return early if inequality is found.
2022-06-18 17:21:37 +03:00
Luca Schlecker
6c4ad07a62 utility: trim and lexical_cast were missing inline static leading to compilation errors. 2022-06-18 17:21:37 +03:00
Luca Schlecker
982e62eabf utility: add string trimming function. 2022-06-18 17:21:37 +03:00
Luca Schlecker
df92d6d639 replace boost::lexical_cast with an equivalent based on std::stringstream. 2022-06-18 17:21:37 +03:00
Luca Schlecker
f3dba60efd utility: add string_equals function.
It serves as a replacement for boost::iequals.
2022-06-18 17:21:37 +03:00
Vladislav Oleshko
b939dd4f1d Small fixes 2022-05-28 17:59:33 +03:00
Vladislav Oleshko
f46bdc1a24 First iteration of sessions 2022-05-28 16:42:25 +03:00
Vladislav Oleshko
946292747e Small fixes 2022-05-23 20:17:49 +03:00
Vladislav
94fa9f77f6
Merge branch 'master' into app-constructor 2022-05-23 20:12:55 +03:00
Vladislav
4d4d0094fe
Merge branch 'master' into blueprint-middleware 2022-05-07 23:03:35 +03:00
The-EDev
9f7ed83c45
Removed is_callable in favor of CallHelper + formatting 2022-04-16 16:04:49 +03:00
Vladislav Oleshko
74d94888d1 Generic app constructor 2022-04-13 20:49:22 +03:00
Vladislav Oleshko
3b9e522523 Blueprint middleware prototype 2022-04-11 16:01:27 +03:00
The-EDev
a3c1af4b29
updated documentation in mkdocs and doxygen 2022-03-24 01:55:46 +03:00
Farook Al-Sammarraie
9db0e3b8fe
Merge branch 'master' into parser_optimization 2022-02-15 15:56:48 +03:00
Farook Al-Sammarraie
1c98bbb860
Merge branch 'master' into local-middleware 2022-02-14 22:17:19 +03:00
Vladislav Oleshko
b9dded57e8 Remove is_callable impl 2022-02-13 14:35:11 +03:00
The-EDev
4e2074dcb5
ran clang-format 2022-02-11 01:04:32 +03:00
The-EDev
9a7677bf1a
Applied changes from review
Also moved builtin_expect to utility.h (for use in sanitizer function)
2022-02-11 00:56:30 +03:00
The-EDev
dcd2b0c318
format 2022-02-08 19:22:09 +03:00
The-EDev
155cf759eb
fixed issue where absolute unix paths were not sanitized 2022-02-08 19:11:46 +03:00
Vladislav Oleshko
69e9ad9c1e Run clang format 2022-02-01 23:21:07 +03:00
Vladislav Oleshko
e60714c0b2 Separate middleware for handlers 2022-02-01 22:49:41 +03:00
Thomas Neumann
74e5fa8c87 improve sanitize_filename
The old implementation allocated a new string for every invocation, and
repeatedly scanned the string for occurences of the various Windows device
names. This commits resizes the original string instead if needed, and
detects all devices with a single pass.
2022-01-24 08:08:20 +01:00
Thomas Neumann
15085a9f95 avoid memory allocation in base64decode
Every single call to base64decode allocates a mapping table for all
base64 characters. This is quite wasteful, as the map is in fact static.
We could use a static variable here, but that would have unpleasant consequences
if we ever encounter input with non-valid base64 characters (which
implicitly modifies the map).

The number of character ranges for base64 is quite low (3, plus 4 exceptions),
thus we can simply check that explicitly in code instead of using a dynamic hash table.
2022-01-24 07:24:34 +01:00
The-EDev
e688cbd18e
Fixed another vulnerability in mustache file loading
and made the file sanitizer a copy-less function
2022-01-11 21:48:51 +03:00
The-EDev
0a16021442
Fix vulnrabilities in mustache and static 2022-01-11 20:27:41 +03:00
The-EDev
03e59aa446
improved bracing rules, commented out clang-format 14 rule 2021-11-27 15:28:50 +03:00
The-EDev
7f4b7c8ff9
created new rules, used bot to enforce rules in PRs 2021-11-25 14:45:38 +03:00
The-EDev
576f90a0e4 Added Base64 decoder function and Base 64 unit tests 2021-10-31 02:50:19 +03:00
Sfinktah Bungholio
6597feb3a8 converted all (int) to static_cast 2021-02-21 11:14:30 +11:00
The-EDev
2422f55855 documented as much as possible relating to the API reference 2020-11-19 01:13:57 +03:00
ipknHama
3081e4e1a8 Cleanup include folder into crow subfolder
- only crow.h is exposed now
2016-09-21 23:11:06 +09:00