Commit graph

172 commits

Author SHA1 Message Date
LDA
708c5daad9 [FIX] Fix memory alignment issues
Some architectures(DEC Alpha as a main outlier, but x86 may behave that
way by setting flags) raise traps on unaligned operations, which can be
either costly(having to talk to the kernel, which may have to emulate
the read) or could cause program termination.

Also adds a basic memory interval for checking if a pointer has any
business living within the heap. Most systems separate those anyways so
it avoids doing potentially dangerous operations.
2024-10-24 11:41:33 +02:00
Jordan Bancino
4f316ff7b3
Documentation generator doesn't support C99 comments. 2024-09-21 16:31:31 -04:00
Jordan Bancino
6827d4fc39
Documentation is enforced. 2024-09-21 16:26:46 -04:00
Jordan Bancino
63bd879101
Run CI on pull requests. 2024-09-21 16:23:06 -04:00
Jordan Bancino
f7c51ee019 Basic work toward compiling on Darwin 2024-09-21 15:47:01 -04:00
Jordan Bancino
af4a142261 Whoops, typo 2024-09-21 15:00:08 -04:00
Jordan Bancino
10c8784f25 . 2024-09-21 14:59:13 -04:00
Jordan Bancino
4a21567bc5 2nd CI attempt 2024-09-21 14:52:41 -04:00
Jordan Bancino
ff094b50f2 First attempt to use new CI runner. (#55)
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/55
Co-authored-by: Jordan Bancino <jordan@bancino.net>
Co-committed-by: Jordan Bancino <jordan@bancino.net>
2024-09-21 18:46:43 +00:00
Jordan Bancino
8987802437 Merge pull request 'Fix LMDB use-after-free' (#53) from lda/Cytoplasm:fix-deadlock into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/53
2024-09-13 20:11:12 -04:00
LDA
9fed42d2ac [FIX] Fix LMDB use-after-free 2024-09-09 13:05:30 +02:00
Jordan Bancino
9c6781c458 Merge pull request 'Fix j2s generation issue' (#52) from lda/Cytoplasm:master into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/52
2024-09-02 14:38:02 -04:00
LDA
33139510b9 [FIX] Fix j2s generation issue
Aie...
2024-08-27 18:50:56 +02:00
Jordan Bancino
4831f2e03d Merge pull request 'Add key->[known structure] schemas to j2s' (#50) from lda/Cytoplasm:master into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/50
2024-08-27 12:34:49 -04:00
lda
cc665ac7fc Merge branch 'master' into master 2024-08-27 12:25:28 -04:00
Jordan Bancino
a121793795 Merge pull request 'Fix out the configure for the AUR' (#51) from lda/Cytoplasm:fix-configure into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/51
2024-08-27 09:44:49 -04:00
Jordan Bancino
9e1026d893 Merge pull request 'Add raw SHA inputs and hashtypes to ShaToHex' (#47) from lda/Cytoplasm:sha-revamp into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/47
2024-08-27 09:38:26 -04:00
LDA
5889bec95f [MOD] Use macro to determine if it is delimited 2024-08-27 11:24:18 +02:00
lda
d0b5c441dd [FIX] Fix out the configure 2024-08-26 21:28:44 +02:00
LDA
d3379d8157 [ADD] {Field}s in j2s 2024-08-26 15:38:20 +02:00
LDA
5df458f568 [FIX] Fix out define hjinks 2024-08-26 15:28:30 +02:00
LDA
adb7322823 [ADD] Raw SHA inputs, hashtypes to ShaToHex 2024-08-25 21:40:23 +02:00
Jordan Bancino
f5ce4f5238 Merge pull request 'Start optionally using the SHA implementation from the existing crypto API' (#44) from lda/Cytoplasm:opt-ssl-for-sha into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/44
2024-08-24 13:06:04 -04:00
LDA
7752ea7b86 [MOD] Drop LibreSSL "support" in SHA for now
We'll test later...
2024-08-23 22:45:24 +02:00
LDA
d00dcc9b50 Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into opt-ssl-for-sha 2024-08-23 22:44:33 +02:00
Jordan Bancino
494be7b4dc Merge pull request 'Fast memory allocation' (#36) from lda/Cytoplasm:mem-moment into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/36
2024-08-23 16:26:12 -04:00
Jordan Bancino
b6b915530c Merge pull request 'Getting optional LMDB support into Cytoplasm' (#43) from lda/Cytoplasm:lmdbwerk into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/43
2024-08-23 16:19:59 -04:00
Jordan Bancino
56257fb3da Merge pull request 'remove use of install in Makefile' (#46) from Levitating/Cytoplasm:remove-install into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/46
2024-08-23 16:15:00 -04:00
LevitatingBusinessMan (Rein Fernhout)
1d0eb9d49a remove use of install in Makefile
not posix
2024-08-22 03:49:43 +02:00
Jordan Bancino
39c25e5a17 Merge pull request 'Copy filename into preallocated field with Cytoplasm's Memory API' (#33) from lda/Cytoplasm:direct-filenames into master
Reviewed-on: https://git.telodendria.io/Telodendria/Cytoplasm/pulls/33
2024-08-18 19:26:18 -04:00
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
cf1b78b224 Merge branch 'lmdbwerk' of https://git.telodendria.io/lda/Cytoplasm into lmdbwerk 2024-08-11 15:29:16 +02:00
LDA
e133eebef3 [MOD/WIP] Use one shared DBI
Yeah, I was stupid for not doing that earlier.
2024-08-11 15:28:21 +02:00
LDA
3df1e4ab7b [ADD/WIP] Start rolling in intents 2024-08-11 12:46:49 +02:00
LDA
f32cdb7d89 [MOD/WIP] Mark listing transactions as readonly
May want to sprinkle in "hinting" on the nature of operations done the
database, which could allow LMDB to deal with those far more efficiently
(for example, a read-only transaction can just be done as soon as the
JSON itself is parsed out, as we don't really need the former anymore!)
2024-08-10 23:58:41 +02:00
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
LDA
0d122976d4 Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into mem-moment 2024-07-18 13:20:17 +02:00