Commit graph

63 commits

Author SHA1 Message Date
lda
c7204f316c Merge branch 'master' into opt-ssl-for-sha 2024-08-16 12:33:11 -04:00
LDA
e8543bdb2a [FIX/WIP] Don't include Log. 2024-08-16 18:26:19 +02:00
LDA
3843a8d114 [MOD/WIP] Get SHA to use Open/LibreSSL if present
I still haven't tested on LibreSSL (Debian doesn't seem to actually like
it all that much), but manuals seems to state that they're the same in
that regard. If anyone is up to verify, let me know so that I'm aware
it's safe to merge it.
2024-08-16 18:22:53 +02:00
LDA
da857a3d53 [FIX] Pre-emptively free out the key
I fail to see a reason why this shouldn't be done, to be fair, and it
fixes a memory leakage with a Cytoplasm-based project I'm making.
2024-07-19 16:08:25 +02:00
c3646294f5 Merge pull request 'Fix HTTP header leakage' (#39) from lda/Cytoplasm:fix-duplicate-leak into master
Reviewed-on: Telodendria/Cytoplasm#39
2024-07-02 11:56:18 -04:00
LDA
b3be10e112 [FIX] Last TLS oopsie!
We should actually consider bringing back CI when possible.
2024-06-27 16:53:56 +02:00
LDA
b284fb607a [FIX] Fix HTTP leakage 2024-06-27 16:45:32 +02:00
LDA
d7faff734c [FIX] Actually apply serverName
As it turns out, it *was* odd. Not doing that will cause *someone* to
spend several hours fixing a SSL problem around a bridge they're making,
which needs to download media from a server and can't from *some* for an
undiscernable reason, causing said person to start going insane before
realising that Cytoplasm didn't set the server name properly.
2024-06-23 07:52:32 +02:00
LDA
5dc1ec49eb [FIX] Actually set fd.
I *should* have seen that one coming, oops!
2024-06-19 17:40:06 +02:00
lda
d983296dd2 [MOD] As it turns out, you do need to free thr fd. 2024-06-03 19:42:09 +02:00
lda
9108fef701 Fix inconsistent sanitation with the database (#32)
Cytoplasm's Db currently doesn't sanitate database entries consistently, and this PR should be a quick fix for this.

Reviewed-on: Telodendria/Cytoplasm#32
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-05-26 15:31:14 -05:00
346b912a06
ArraySort(): Fix bound checking bug.
Closes #31.
2024-05-18 10:50:18 -04:00
461357b526 Move headers from src/include to include/Cytoplasm.
This makes it easier to build Cytoplasm as a component of another
program (for example, Telodendria), or as a standalone system library.
2024-01-13 18:40:31 -05:00
31c9bc7f1c Update Cytoplasm license text for 2024. 2024-01-13 17:56:58 -05:00
662696ce12 C99 Compliance (#29)
This pull request brings Cytoplasm up from C89 to C99, which makes it much more portable across platforms. In particular, this pull request solves a number of issues with 32-bit platforms.

Closes #28.
Closes #12.
Closes #20.

Reviewed-on: Telodendria/Cytoplasm#29
2024-01-13 17:13:45 -05:00
lda
44b7f45bb7 [FIX] Fix other potential double-free
Was done "à la va-vite" since I can't really work on it directly right now.
2024-01-01 07:57:11 -05:00
lda
3788d044e6
[FIX] Fix potential double-free issue in Cytoplasm 2023-12-14 18:31:20 +01:00
lda
17f1a41519 HttpRouter: Decode path parts before matching. (#19)
Required by Telodendria/Telodendria#44.

Reviewed-on: Telodendria/Cytoplasm#19
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2023-12-02 10:25:28 -05:00
ba1ac5b42b Add JsonMerge().
Closes #15.
2023-11-06 19:59:46 -05:00
8ffade37b1 Add a meta header.
This allows programs to print the name and version of the library that
is currently in use.
2023-11-01 11:26:27 -04:00
3a683dbb70 Fix includes in headers.
These are installed to the system and some compilers may not  find the
headers in the current directory if we don't do this, even though
according to the C standard, either should work.
2023-10-30 12:10:41 -04:00
7e21b2bfce Format source code and apply license. 2023-09-28 19:16:45 -04:00
LoaD Accumulator
9c4c3fc899 Fixes issue #33 related to a memory issue, and format some code. (#35)
Fixes #33.

Co-authored-by: LoaD Accumulator <lda@freetards.xyz>
Reviewed-on: Telodendria/telodendria#35
Co-authored-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
Co-committed-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
2023-09-11 10:57:16 -04:00
8e8342528f Apply #72 2023-09-04 13:30:22 +00:00
4e58b41049 Update documentation on UtilServerTs(). 2023-08-17 18:09:20 +00:00
bcfab52f09 Ignore special case in Int64Str. This is hack but good enough for now. 2023-08-13 12:33:18 +00:00
a1da7c7b4a Json now uses Int64 for integers.
This should fix all timestamp errors on 32-bit systems in Cytoplasm and
Telodendria.
2023-08-13 03:11:40 +00:00
2c715c6e72 Make all timestamps use UInt64. 2023-08-12 23:02:06 +00:00
e9af54e4c7 Allow forcing the emulation mode for testing purposes. 2023-08-12 21:51:51 +00:00
63f835d006 Add signed 64-bit integer support. 2023-08-12 19:59:16 +00:00
92b1e60c4c Add 64-bit emulation for platforms that don't have a native 64-bit type. 2023-08-12 16:30:24 +00:00
b3b0206107 Format code. 2023-07-29 18:27:17 +00:00
ee267b077d Add HashMapKeys() and HashMapValues() functions for convenience. 2023-07-18 00:15:29 +00:00
e592cd8e5c Add basic Graph API.
This is going to be useful with state resolution and dependency ordering,
both of which will be crutial components of Telodendria.
2023-07-16 01:12:56 +00:00
c4ef6d4ddc Apply #71: Add ArrayUnique() function. 2023-07-15 22:27:24 +00:00
c4121d2dba Fix Unicode handling in Json, don't sign-extend bytes in Stream. 2023-07-15 17:57:21 +00:00
e557de8d9d Fix Unicode handling. 2023-06-21 02:49:58 +00:00
0b539a471d Fix CanonicalJson and ArraySort. 2023-06-21 02:37:56 +00:00
c03b092536 Format source code. 2023-06-18 02:53:52 +00:00
4abd0e9c22 Add Sha1 implementation. 2023-06-17 17:36:46 +00:00
f5abcf5e50 Refactor Sha API to return raw bytes, added Sha1() function. 2023-06-17 17:36:11 +00:00
179e16ed24 Apply #70: Add StrLower() function. 2023-06-12 14:10:59 +00:00
eb3732a2cd Fix potential race condition. 2023-06-09 19:27:49 +00:00
a177c55c26 Make Memory use a recursive mutex.
This allows some additional operations to be performed inside the memory
hooks, although it's still a bad idea to allocate or free memory while
inside the hook.
2023-06-04 18:44:37 +00:00
bd1918ee05 Re-add memory bounds checking.
Also fixed a recursive lock error in some configurations, and replaced
a usage of strcpy() with strncpy().
2023-05-29 23:53:17 +00:00
a358ca795d Format code. 2023-05-27 18:22:38 +00:00
11a7b6653d Log a message stating that TLS is disabled if the config requests it. 2023-05-27 17:55:49 +00:00
c5cfdb9894 Show human-readable thread ID in log messages.
This helps debug some multithreading issues.
2023-05-27 17:10:07 +00:00
5694a609eb It appears that OpenSSL closes the socket descriptor for us.
When we close it again manually, we may actually be closing another thread's
file descriptor, which causes all kinds of problems.
2023-05-27 17:03:40 +00:00
a853c5670c Fix potential write out of bounds. 2023-05-26 23:47:36 +00:00