Commit graph

166 commits

Author SHA1 Message Date
bd310e62ac Merge pull request 'Fix TLS, again...' (#38) from lda/Cytoplasm:fix-tls into master
Some checks are pending
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Waiting to run
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Waiting to run
Reviewed-on: #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
bec672c92c [MOD] Use a different constant 2024-06-19 17:51:13 +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
LDA
8b2bdbe220 [FIX] Actually do proper stringification.
It just kept bothering me.
2024-06-15 13:48:39 +02:00
LDA
1ad6f0d976 Merge branch 'mem-moment' of https://git.telodendria.io/lda/Cytoplasm into mem-moment 2024-06-15 13:44:13 +02:00
LDA
9f706102c4 Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into mem-moment 2024-06-15 13:43:45 +02:00
lda
5003ddc281 Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm into mem-moment 2024-06-08 12:08:30 +02:00
b9dc169917 Merge pull request 'Fix file descriptor leakage' (#35) from lda/Cytoplasm:tls-file-leak into master
Some checks failed
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: #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
007b8f6d43 [MOD/WIP] Blazing-fast memory allocator 🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
This still however removes `MemoryIterate' from allocations, because
it's a real performance pickle. From my tests parsing large sync
replies, this commit is near instant(pv reports 23MiB/s on a 2MB sync).

Still need a good compromise along MemoryIterate(like maybe find out a
clever way to only make it run on a small subset, or maybe just randomly
run it from time to time, or maybe just roll without it except on some
soft of debug mode????)
2024-06-03 16:18:29 +02:00
lda
9108fef701 Fix inconsistent sanitation with the database (#32)
Some checks failed
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
lda
138ea1c8e9 [FIX] Oops. 2024-05-26 22:06:56 +02:00
lda
cdf4430a9e [FIX] Fix issue with const strings which may be invalidated 2024-05-26 22:01:06 +02:00
346b912a06
ArraySort(): Fix bound checking bug.
Some checks failed
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
5d87da31cd j2s generated code is now C99.
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 10s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 12s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 11s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 17s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 20s
It also no longer requires on the now-defunct Int64.h.
2024-01-13 18:55:31 -05:00
461357b526 Move headers from src/include to include/Cytoplasm.
Some checks failed
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
cd7df7bbb4 Enable higher optimization on fancy compilers.
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 9s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 10s
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 10s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 10s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 13s
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
2024-01-13 18:22:37 -05:00
c489eff517 Set -Wextra on fancy compilers.
Some checks failed
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_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_64, debian-v12.4) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 11s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 13s
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
2024-01-13 18:11:44 -05:00
039a487bdf Merge branch 'master' of https://git.telodendria.io/Telodendria/Cytoplasm
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 9s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 9s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 9s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 12s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 12s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 16s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 20s
2024-01-13 17:57:31 -05:00
31c9bc7f1c Update Cytoplasm license text for 2024. 2024-01-13 17:56:58 -05:00
11e0a34c02 Update README.md
Some checks failed
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 13s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 19s
2024-01-13 17:49:36 -05:00
08166dd3a7 Don't use install because it is not POSIX.
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 8s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 8s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 10s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 11s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 18s
Closes #13.
2024-01-13 17:26:17 -05:00
c3429f035c Update CHANGELOG.md
Some checks failed
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Failing after 10s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 11s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Failing after 13s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 13s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 14s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 19s
2024-01-13 17:18:17 -05:00
662696ce12 C99 Compliance (#29)
Some checks failed
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
d0969d0dd7 Add a simple CI workflow for compiling Cytoplasm. (#27)
All checks were successful
Compile Cytoplasm / Compile Cytoplasm (x86_64, freebsd-v14.0) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86, debian-v12.4) (push) Successful in 19s
Compile Cytoplasm / Compile Cytoplasm (x86, alpine-v3.19) (push) Successful in 17s
Compile Cytoplasm / Compile Cytoplasm (x86_64, debian-v12.4) (push) Successful in 17s
Compile Cytoplasm / Compile Cytoplasm (x86, netbsd-v9.3) (push) Successful in 16s
Compile Cytoplasm / Compile Cytoplasm (x86_64, alpine-v3.19) (push) Successful in 15s
Compile Cytoplasm / Compile Cytoplasm (x86_64, netbsd-v9.3) (push) Successful in 19s
Compile Cytoplasm / Compile Cytoplasm (x86, freebsd-v14.0) (push) Successful in 17s
Compile Cytoplasm / Compile Cytoplasm (x86_64, openbsd-v7.4) (push) Successful in 21s
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: #27
2024-01-13 11:08:44 -05:00
d7da8e0a54 Merge pull request 'Fix potential double-free issue in Cytoplasm' (#22) from lda/Cytoplasm:fix-router-issue into master
Reviewed-on: #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
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: #19
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2023-12-02 10:25:28 -05:00
29070c8f41 Fix memory leak in code generated by j2s code.
Closes #17.
2023-11-20 09:51:08 -05:00
bc67393036 Update CHANGELOG.md 2023-11-06 21:28:10 -05:00
ba1ac5b42b Add JsonMerge().
Closes #15.
2023-11-06 19:59:46 -05:00
01da37f7d7 Bump version number. 2023-11-06 14:20:42 -05:00
618bcbbac3 j2s: Add 'extern' type and ignored fields.
Closes #14.
2023-11-06 14:19:49 -05:00
d242597e73 Allow customization of compiler used in configure. 2023-11-04 15:58:23 -04:00
4e73273cbd Add CHANGELOG.md 2023-11-01 12:20:52 -04:00
dadc1ac5c7 Provide build instructions and logo.
Closes #8.
2023-11-01 11:26:48 -04: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
6ab1c7919b Explicitly set the make compiler to cc.
This makes it work out of the box on GNU systems where GNU make defaults
to c99, which doesn't accept -std=c89.
2023-11-01 11:25:32 -04:00
03fe5ca355 Move http man page to Cytoplasm from Telodendria. 2023-11-01 08:33:37 -04:00
75ecb22724 Remove int64 and uint64; add http. 2023-11-01 08:28:35 -04:00
cced0ad883 Closes #3 2023-10-30 14:41:58 -04:00
51898d5bac Update README.md 2023-10-30 15:31:49 -04:00
2ea041d99d main() is already included in the library.
The runtime stub doesn't need to be a separate object.
2023-10-30 14:11:22 -04:00
2714a822b0 j2s now generates the proper includes. 2023-10-30 13:43:35 -04:00
7c1173eef8 Install tools to system.
Note that int64 and uint64 should probably be removed.
2023-10-30 12:21:14 -04:00