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
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
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
...
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Has been cancelled
Reviewed-on: #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
d983296dd2
[MOD] As it turns out, you do need to free thr fd.
2024-06-03 19:42:09 +02:00
9108fef701
Fix inconsistent sanitation with the database ( #32 )
...
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Has been cancelled
Cytoplasm's Db currently doesn't sanitate database entries consistently, and this PR should be a quick fix for this.
Reviewed-on: #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.
...
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Has been cancelled
Closes #31 .
2024-05-18 10:50:18 -04:00
461357b526
Move headers from src/include
to include/Cytoplasm
.
...
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 8s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 8s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 12s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 9s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 12s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 11s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 18s
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 )
...
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 8s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 10s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 9s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 11s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 17s
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: #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
3788d044e6
[FIX] Fix potential double-free issue in Cytoplasm
2023-12-14 18:31:20 +01:00
17f1a41519
HttpRouter
: Decode path parts before matching. (#19 )
...
Required by Telodendria/Telodendria#44 .
Reviewed-on: #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