Commit graph

125 commits

Author SHA1 Message Date
LDA
20bb7a20ad [FIX/WIP] Fix mutex issues around LMDB
Currently doing a test run on another project of mine to find out how
stable it is.

Next up(more long-termed): Faster JSON parsing than just plaintext!
2024-08-10 10:33:50 +02:00
LDA
f6af2cd782 [FIX/WIP] Temporary fix to the database system
It used to crash, my bad.
2024-08-10 09:24:42 +02:00
LDA
2b061f1226 Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into lmdbwerk 2024-08-09 21:08:16 +02:00
Jordan Bancino
4903c075e8 Merge pull request 'Pre-emptively free out the key' (#41) from lda/Cytoplasm:hashmap-del-leak into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/41
2024-08-09 09:26:49 -04:00
LDA
a90c66736c [MOD/WIP] Disable thread-local storage for LMDB
DB locks ought to be enough...
2024-08-09 12:03:09 +02:00
LDA
004c53a028 [ADD/WIP] Listing in LMDB
I need to start entering a LMDB test run.
2024-08-09 11:44:16 +02:00
LDA
0743401955 [ADD/WIP] Most DB operations for LMDB
Somewhat untested. I want to go on a test run soon.

Next up: aargh... listing... The one thing LMDB may suck at.
2024-08-08 16:25:09 +02:00
LDA
5cb51a4d58 [ADD/WIP] Start to add LMDB operations 2024-08-08 14:38:23 +02:00
LDA
59dbfae1ae [MOD/WIP] Separate all DB operations
Somewhat untested, but I fail to see how it could fail, right?

Next up: Getting the basics of LMDB up and running.
2024-08-08 09:53:51 +02:00
LDA
b87979e9a2 [MOD/WIP] Start separating the main DB API
Not everything is available as of now, I'm still working on it, but it
builds and seems to work, and its 9PM, so that's worthapush.
2024-08-07 20:45:53 +02:00
LDA
87d9421f11 [ADD/WIP] Start adding a lmdb flag to configure
Start of my work to get out LMDB support. I want to make it optional, as
some environments just can't use LMDB(due to mapped RAM limits, or
places where mmap is unavailable (a rather cursed platform!)).

Next up: Start separating Db to allow multiple subimplementations
instead of being expressly for nested-dir JSON ops.
2024-08-07 12:48:33 +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
Jordan Bancino
c3646294f5 Merge pull request 'Fix HTTP header leakage' (#39) from lda/Cytoplasm:fix-duplicate-leak into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/39
2024-07-02 11:56:18 -04:00
Jordan Bancino
61b5430efe Merge pull request 'Fix TLS build issue' (#40) from lda/Cytoplasm:fix-tls into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/40
2024-07-02 11:55:53 -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
Jordan Bancino
dd99759e39 Merge pull request 'Fix stringification.' (#37) from lda/Cytoplasm:fix-stringify into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/37
2024-06-24 14:19:26 -05:00
Jordan Bancino
bd310e62ac Merge pull request 'Fix TLS, again...' (#38) from lda/Cytoplasm:fix-tls into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/38
2024-06-24 14:18:43 -05: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
eca717d90c Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into fix-tls 2024-06-19 17:39:37 +02:00
LDA
5fac67a674 [MOD] Fix stringification of version number
It just kept bothering me.
2024-06-15 13:54:49 +02:00
Jordan Bancino
b9dc169917 Merge pull request 'Fix file descriptor leakage' (#35) from lda/Cytoplasm:tls-file-leak into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/35
2024-06-07 14:00:44 -05: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: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/32
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-05-26 15:31:14 -05:00
Jordan Bancino
346b912a06
ArraySort(): Fix bound checking bug.
Closes #31.
2024-05-18 10:50:18 -04:00
Jordan Bancino
5d87da31cd j2s generated code is now C99.
It also no longer requires on the now-defunct Int64.h.
2024-01-13 18:55:31 -05:00
Jordan Bancino
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
Jordan Bancino
cd7df7bbb4 Enable higher optimization on fancy compilers. 2024-01-13 18:22:37 -05:00
Jordan Bancino
c489eff517 Set -Wextra on fancy compilers. 2024-01-13 18:11:44 -05:00
Jordan Bancino
039a487bdf Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm 2024-01-13 17:57:31 -05:00
Jordan Bancino
31c9bc7f1c Update Cytoplasm license text for 2024. 2024-01-13 17:56:58 -05:00
Jordan Bancino
11e0a34c02 Update README.md 2024-01-13 17:49:36 -05:00
Jordan Bancino
08166dd3a7 Don't use install because it is not POSIX.
Closes #13.
2024-01-13 17:26:17 -05:00
Jordan Bancino
c3429f035c Update CHANGELOG.md 2024-01-13 17:18:17 -05:00
Jordan Bancino
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: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/29
2024-01-13 17:13:45 -05:00
Jordan Bancino
d0969d0dd7 Add a simple CI workflow for compiling Cytoplasm. (#27)
This will allow us to pick up compiler warnings from other systems, mainly 32-bit ones. 32-bit systems have different integer sizes that cause all kinds of warnings that we should really address.

Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/27
2024-01-13 11:08:44 -05:00
Jordan Bancino
d7da8e0a54 Merge pull request 'Fix potential double-free issue in Cytoplasm' (#22) from lda/Cytoplasm:fix-router-issue into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/22
2024-01-04 19:32:57 -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
Jordan Bancino
928e9c8223 Update CHANGELOG.md 2023-12-02 10:26:24 -05:00
lda
17f1a41519 HttpRouter: Decode path parts before matching. (#19)
Required by Telodendria/Telodendria#44.

Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/19
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2023-12-02 10:25:28 -05:00
Jordan Bancino
29070c8f41 Fix memory leak in code generated by j2s code.
Closes #17.
2023-11-20 09:51:08 -05:00
Jordan Bancino
bc67393036 Update CHANGELOG.md 2023-11-06 21:28:10 -05:00
Jordan Bancino
ba1ac5b42b Add JsonMerge().
Closes #15.
2023-11-06 19:59:46 -05:00
Jordan Bancino
01da37f7d7 Bump version number. 2023-11-06 14:20:42 -05:00
Jordan Bancino
618bcbbac3 j2s: Add 'extern' type and ignored fields.
Closes #14.
2023-11-06 14:19:49 -05:00
Jordan Bancino
d242597e73 Allow customization of compiler used in configure. 2023-11-04 15:58:23 -04:00
Jordan Bancino
4e73273cbd Add CHANGELOG.md 2023-11-01 12:20:52 -04:00
Jordan Bancino
dadc1ac5c7 Provide build instructions and logo.
Closes #8.
2023-11-01 11:26:48 -04:00