Compare commits

..

157 commits

Author SHA1 Message Date
71491ab6fc
Update to release v2.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Waiting to run
Release Telodendria / Release Telodendria (aarch64, alpine) (push) Failing after 3s
2024-09-21 17:03:14 -04:00
5041e0c991
Let's try again.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Successful in 16s
Release Telodendria / Release Telodendria (aarch64, alpine) (push) Failing after 3s
2024-09-21 16:59:42 -04:00
66c237727b
Apparently on: [tags] doesn't work.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Successful in 17s
Release Telodendria / Release Telodendria (aarch64, alpine) (push) Failing after 0s
2024-09-21 16:55:55 -04:00
505d01cea1
Hopefully finalize the release logic.
All checks were successful
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Successful in 20s
2024-09-21 16:52:41 -04:00
c7433bb745
Order actions properly.
All checks were successful
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Successful in 15s
Release Telodendria / Release Telodendria (aarch64, alpine) (push) Successful in 3s
2024-09-21 16:36:26 -04:00
8546ddb909
Get the ref name properly.
All checks were successful
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Successful in 15s
Release Telodendria / Release Telodendria (aarch64, alpine) (push) Successful in 2s
2024-09-21 16:35:18 -04:00
0e946b2422
Fix Release artifact
All checks were successful
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Successful in 15s
Release Telodendria / Release Telodendria (aarch64, alpine) (push) Successful in 3s
2024-09-21 16:32:15 -04:00
12e11f74a1
Fix typo in Git command.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Failing after 10s
Release Telodendria / Release Telodendria (aarch64, alpine) (push) Successful in 2s
2024-09-21 16:26:57 -04:00
3304f8c08f
Add release job.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Failing after 9s
Release Telodendria / Release Telodendria (aarch64, alpine) (push) Failing after 18s
2024-09-21 16:23:19 -04:00
59e3a6d3e2 Okay nevermind, that breaks CI.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Failing after 10s
2024-09-21 15:54:33 -04:00
46dcf8ab59 Fix submodule url.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Failing after 2s
2024-09-21 15:49:59 -04:00
21b830e514 Cytoplasm submodule now clones over SSH.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Failing after 2s
2024-09-21 15:49:06 -04:00
42223c94bb Basic work toward compiling on Darwin.
Some checks failed
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Failing after 2s
2024-09-21 15:47:25 -04:00
e083ece2ed Fast-forward Cytoplasm to latest master.
All checks were successful
Compile Telodendria / Compile Telodendria (aarch64, alpine) (push) Successful in 20s
2024-09-21 15:21:11 -04:00
2fcd51e810 Use Forgejo action runner. 2024-09-21 15:20:05 -04:00
lda
775b1d9571 Use hashtypes(c.f Cytoplasm#47) (#57)
Some checks failed
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Has been cancelled
This makes Telodendria compatible with Telodendria/Cytoplasm#47.

---

Please review the developer certificate of origin:

1. The contribution was created in whole or in part by me, and I have
the right to submit it under the open source licenses of the
Telodendria project; or
1. The contribution is based upon a previous work that, to the best of
my knowledge, is covered under an appropriate open source license and
I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the
Telodendria project license; or
1. The contribution was provided directly to me by some other person
who certified (1), (2), or (3), and I have not modified it.
1. I understand and agree that this project and the contribution are
made public and that a record of the contribution—including all
personal information I submit with it—is maintained indefinitely
and may be redistributed consistent with this project or the open
source licenses involved.

- [x] I have read the Telodendria Project development certificate of
origin, and I certify that I have permission to submit this patch
under the conditions specified in it.

Co-authored-by: Jordan Bancino <jordan@bancino.net>
Co-authored-by: LDA <lda@ari.lt>
Reviewed-on: #57
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-08-27 09:47:25 -04:00
6dd4440125 remove use of install in Makefile (#56)
Some checks failed
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Has been cancelled
The current make `install` target uses `install -D` to create leading components when install into a directory.
This doesn't work on some variants of `install(1)`.

Also see Telodendria/Cytoplasm#45 and Telodendria/Cytoplasm#13 and 08166dd3a7.

---

Please review the developer certificate of origin:

1. The contribution was created in whole or in part by me, and I have
the right to submit it under the open source licenses of the
Telodendria project; or
1. The contribution is based upon a previous work that, to the best of
my knowledge, is covered under an appropriate open source license and
I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the
Telodendria project license; or
1. The contribution was provided directly to me by some other person
who certified (1), (2), or (3), and I have not modified it.
1. I understand and agree that this project and the contribution are
made public and that a record of the contribution&mdash;including all
personal information I submit with it&mdash;is maintained indefinitely
and may be redistributed consistent with this project or the open
source licenses involved.

- [x] I have read the Telodendria Project development certificate of
origin, and I certify that I have permission to submit this patch
under the conditions specified in it.

Reviewed-on: #56
Co-authored-by: LevitatingBusinessMan (Rein Fernhout) <me@levitati.ng>
Co-committed-by: LevitatingBusinessMan (Rein Fernhout) <me@levitati.ng>
2024-08-23 16:16:33 -04:00
lda
e263eca5dc Fix build issues with #28 (#55)
Some checks failed
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Has been cancelled
Just here to fix old code issues with #28. (we really need CI back, don't we?)

---

Please review the developer certificate of origin:

1. The contribution was created in whole or in part by me, and I have
the right to submit it under the open source licenses of the
Telodendria project; or
1. The contribution is based upon a previous work that, to the best of
my knowledge, is covered under an appropriate open source license and
I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the
Telodendria project license; or
1. The contribution was provided directly to me by some other person
who certified (1), (2), or (3), and I have not modified it.
1. I understand and agree that this project and the contribution are
made public and that a record of the contribution&mdash;including all
personal information I submit with it&mdash;is maintained indefinitely
and may be redistributed consistent with this project or the open
source licenses involved.

- [x] I have read the Telodendria Project development certificate of
origin, and I certify that I have permission to submit this patch
under the conditions specified in it.

Co-authored-by: LDA <lda@ari.lt>
Reviewed-on: #55
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-08-21 14:32:42 -04:00
lda
ac9372a30a User Directory Patch #70 (#28)
Some checks failed
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Has been cancelled
Reviewed-on: #28
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-08-18 19:31:14 -04:00
a8924b8437
Update Cytoplasm to v0.4.1.
Some checks failed
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Has been cancelled
2024-05-18 10:55:15 -04:00
lda
ff85b72899 Fix IPv6 issue in parser (#52)
Some checks failed
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Has been cancelled
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Has been cancelled
Fixes compilation issue in the parser (and checks IPv6 slightly more).
---

Please review the developer certificate of origin:

1. The contribution was created in whole or in part by me, and I have
the right to submit it under the open source licenses of the
Telodendria project; or
1. The contribution is based upon a previous work that, to the best of
my knowledge, is covered under an appropriate open source license and
I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the
Telodendria project license; or
1. The contribution was provided directly to me by some other person
who certified (1), (2), or (3), and I have not modified it.
1. I understand and agree that this project and the contribution are
made public and that a record of the contribution&mdash;including all
personal information I submit with it&mdash;is maintained indefinitely
and may be redistributed consistent with this project or the open
source licenses involved.

- [x] I have read the Telodendria Project development certificate of
origin, and I certify that I have permission to submit this patch
under the conditions specified in it.

Co-authored-by: Jordan Bancino <jordan@bancino.net>
Reviewed-on: #52
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-03-29 11:48:25 -05:00
lda
bccbb3bcac Fix other double-free issue with router. (#53)
Some checks are pending
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Waiting to run
Similar issue to #33.
---

Please review the developer certificate of origin:

1. The contribution was created in whole or in part by me, and I have
the right to submit it under the open source licenses of the
Telodendria project; or
1. The contribution is based upon a previous work that, to the best of
my knowledge, is covered under an appropriate open source license and
I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the
Telodendria project license; or
1. The contribution was provided directly to me by some other person
who certified (1), (2), or (3), and I have not modified it.
1. I understand and agree that this project and the contribution are
made public and that a record of the contribution&mdash;including all
personal information I submit with it&mdash;is maintained indefinitely
and may be redistributed consistent with this project or the open
source licenses involved.

- [x] I have read the Telodendria Project development certificate of
origin, and I certify that I have permission to submit this patch
under the conditions specified in it.

Co-authored-by: Jordan Bancino <jordan@bancino.net>
Reviewed-on: #53
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-03-29 11:48:04 -05:00
dede82ad33 Update docs/dev/hosting.md
Some checks failed
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Successful in 19s
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Successful in 24s
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Failing after 24s
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Successful in 31s
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Successful in 30s
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Successful in 42s
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Failing after 42s
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Successful in 50s
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Successful in 1m38s
2024-01-14 14:13:53 -05:00
fde2b26857 Update docs/dev/hosting.md
Some checks failed
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Successful in 14s
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Successful in 15s
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Successful in 30s
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Successful in 26s
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Failing after 26s
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Failing after 23s
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Successful in 27s
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Successful in 33s
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Successful in 42s
2024-01-14 09:43:47 -05:00
6305f5d76e Update docs/dev/hosting.md
Some checks are pending
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Waiting to run
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Successful in 25s
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Successful in 23s
2024-01-14 09:36:57 -05:00
95a5f6f087 Fix compile warnings on 32-bit systems.
Some checks failed
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Failing after 14s
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Failing after 17s
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Successful in 21s
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Successful in 25s
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Successful in 24s
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Successful in 26s
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Successful in 26s
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Successful in 30s
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Successful in 37s
2024-01-13 20:41:29 -05:00
129802fe94 Fix ordering of LDFLAGS.
Some checks failed
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Failing after 13s
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Failing after 18s
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Successful in 20s
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Failing after 25s
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Failing after 26s
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Successful in 27s
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Failing after 27s
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Successful in 30s
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Successful in 39s
2024-01-13 20:31:49 -05:00
c7d44866c3 Put -L before -l in LDFLAGS.
Some checks failed
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Failing after 12s
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Failing after 17s
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Failing after 19s
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Failing after 23s
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Failing after 22s
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Failing after 23s
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Failing after 26s
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Failing after 28s
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Failing after 35s
2024-01-13 20:26:46 -05:00
85672985eb Fix compiler warnings on 32-bit platforms in json.c.
Some checks failed
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Failing after 14s
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Failing after 16s
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Failing after 23s
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Failing after 19s
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Failing after 22s
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Failing after 24s
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Failing after 24s
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Failing after 28s
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Failing after 36s
2024-01-13 20:25:16 -05:00
19443a1c24 Fix unused argument error on Clang. 2024-01-13 20:25:03 -05:00
15fb6d8c2a Make sure CI checks out submodules.
Some checks failed
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Failing after 13s
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Failing after 18s
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Failing after 24s
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Successful in 21s
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Failing after 24s
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Failing after 27s
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Successful in 28s
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Successful in 29s
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Failing after 31s
2024-01-13 20:14:42 -05:00
cd22aea772 Require Cytoplasm to be compiled separately.
Some checks failed
Compile Telodendria / Compile Telodendria (x86_64, alpine-v3.19) (push) Failing after 5s
Compile Telodendria / Compile Telodendria (x86_64, freebsd-v14.0) (push) Failing after 6s
Compile Telodendria / Compile Telodendria (x86, alpine-v3.19) (push) Failing after 5s
Compile Telodendria / Compile Telodendria (x86, debian-v12.4) (push) Failing after 8s
Compile Telodendria / Compile Telodendria (x86_64, debian-v12.4) (push) Failing after 10s
Compile Telodendria / Compile Telodendria (x86, netbsd-v9.3) (push) Failing after 10s
Compile Telodendria / Compile Telodendria (x86, freebsd-v14.0) (push) Failing after 8s
Compile Telodendria / Compile Telodendria (x86_64, netbsd-v9.3) (push) Failing after 12s
Compile Telodendria / Compile Telodendria (x86_64, openbsd-v7.4) (push) Failing after 14s
Also add the Gitea CI runner jobs.
2024-01-13 20:11:58 -05:00
ae0724f01c Support building a local copy of Cytoplasm.
Previously, one would have to install Cytoplasm globally to compile
Telodendria. Now, Telodendria builds and links against its own copy
unless --cytoplasm is set to nothing.
2024-01-13 20:02:57 -05:00
e62389aa14 Make Telodendria compatible with latest Cytoplasm.
This also brings Telodendria to C99 compliance.
2024-01-13 20:02:07 -05:00
f2a4a64b27 Add Cytoplasm as a submodule of Telodendria. 2024-01-13 18:05:00 -05:00
258f509413 Update docs/dev/hosting.md 2024-01-13 10:09:39 -05:00
2e92daeb00 Update docs/dev/hosting.md 2024-01-13 10:06:06 -05:00
ac7ea4dec1 Add docs/dev/hosting.md 2024-01-13 09:51:14 -05:00
54420f0036 Improvements to #44: Implement #22 and #9 (#51)
This pull request makes a very small commit on top of #44.

Closes #44.
Closes #9.
Closes #22.

Co-authored-by: LoaD Accumulator <lda@freetards.xyz>
Co-authored-by: lda <lda@freetards.xyz>
Co-authored-by: lda <lda@noreply.git.telodendria.io>
Reviewed-on: #51
2024-01-11 19:33:50 -05:00
lda
243de4f1a0 Add new entry to CONTRIBUTORS.txt (#50)
Reviewed-on: #50
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-01-06 10:02:53 -05:00
35b9ef51f9 PID File: Properly initialize variables in Main(). 2024-01-05 21:02:45 -05:00
83eb69f2cd Use j2s for the Config API. (#49)
Closes #7.
Closes #46.
Closes #47.

This pull request makes some minor on top of #46.

Co-authored-by: LoaD Accumulator <lda@freetards.xyz>
Co-authored-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
Co-authored-by: lda <lda@freetards.xyz>
Co-authored-by: lda <lda@noreply.git.telodendria.io>
Reviewed-on: #49
2024-01-05 21:00:27 -05:00
22d0e88dde Update copyright year in code. 2024-01-05 20:23:27 -05:00
f83be63d53 Add CONTRIBUTORS.txt and make a note of it in the LICENSE.txt and documentation. 2024-01-05 18:57:19 -05:00
lda
af4fd5dceb Update licensing text for 2024 (#48)
Co-authored-by: Jordan Bancino <jordan@bancino.net>
Reviewed-on: #48
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2024-01-04 19:32:03 -05:00
lda
2c6d5194d2 Set an error message with MatrixErrorCreate whenever applicable (#45)
Closes #6.

Co-authored-by: Jordan Bancino <jordan@bancino.net>
Reviewed-on: #45
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2023-12-02 10:24:08 -05:00
0a91a0c40b Remove site files & update README with current site.
The website is now managed in Grav.
2023-11-21 09:16:50 -05:00
d3dcf334f0 Update change log. 2023-11-21 09:14:03 -05:00
lda
3dae19e82d Refactor code to comply with #8 (#39)
Reviewed-on: #39
Co-authored-by: lda <lda@freetards.xyz>
Co-committed-by: lda <lda@freetards.xyz>
2023-11-21 09:11:45 -05:00
2d30719be4 Implement Registration Token Administrator API (#43)
This pull request fully implements and documents all of the registration token administrator API endpoints.

**NOTE:** There is a memory leak when listing all of the registration tokens. Debug this before merging.
 
~~Closes~~ Supersedes #37.

Closes #26.

This pull request is based off of #37, which addresses #26. This pull makes a number of improvements to the logic, organization, and behavior of the API endpoints.

Co-authored-by: hatkid <daichi93100@gmail.com>
Co-authored-by: LoaD Accumulator <lda@freetards.xyz>
Co-authored-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
Co-authored-by: lda <lda@freetards.xyz>
Co-authored-by: Load Accumulator <lda@freetards.xyz>
Reviewed-on: #43
2023-11-10 09:30:53 -05:00
503bfb6104 Suppress warnings of unused variables.
I will use them eventually when I implement all these functions.

I'm probably going to start CI work here soon, so I don't want warnings showing up in the logs unless they're important.
2023-11-08 15:17:27 -05:00
77800e4117 Housekeeping tasks with documentation and versioning. 2023-11-08 14:30:45 -05:00
db4ae0408c Fix admin endpoint names in documentation 2023-11-08 11:21:20 -05:00
edee1288d8 Remove unused global variables. 2023-11-08 09:45:49 -05:00
4b90800a2b Fix leak in RouteConfig, update documentation.
Closes #15.
2023-11-07 01:26:26 -05:00
6e7f170768 Start working on #15. 2023-11-06 20:42:39 -05:00
1f02f3c2a2 Allow customization of compiler in configure. 2023-11-04 15:56:57 -04:00
582c79b608 Schema are now generated out-of-tree.
Closes #40.
2023-11-04 15:28:20 -04:00
42a901b7f5 Update docs/dev/rationale.md 2023-11-01 20:35:48 -04:00
1fee47a628 Use Makefiles instead of a custom script (#38)
This pull request also requires the use of the external [Cytoplasm](/Telodendria/Cytoplasm) repository by removing the in-tree copy of Cytoplasm. The increased modularity requires a little more complex build process, but is overall better. Closes #19

The appropriate documentation has been updated. Closes #18

---

Please review the developer certificate of origin:

1. The contribution was created in whole or in part by me, and I have
the right to submit it under the open source licenses of the
Telodendria project; or
1. The contribution is based upon a previous work that, to the best of
my knowledge, is covered under an appropriate open source license and
I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the
Telodendria project license; or
1. The contribution was provided directly to me by some other person
who certified (1), (2), or (3), and I have not modified it.
1. I understand and agree that this project and the contribution are
made public and that a record of the contribution&mdash;including all
personal information I submit with it&mdash;is maintained indefinitely
and may be redistributed consistent with this project or the open
source licenses involved.

- [x] I have read the Telodendria Project development certificate of
origin, and I certify that I have permission to submit this patch
under the conditions specified in it.

Reviewed-on: #38
2023-11-01 12:27:45 -04:00
6377689a83 Update docs/CHANGELOG.md 2023-11-01 12:16:03 -04:00
23237f97b5 Format source code and apply license. 2023-09-28 19:16:45 -04:00
82ae2d4e41 Update 'docs/CHANGELOG.md' 2023-09-25 16:18:35 -04:00
7d3d84d969 Move Admin routes to /_telodendria/admin/v1 (with version number)
Closes #16.
2023-09-25 16:10:44 -04:00
bf1ce839d0 If HOST_NAME_MAX is undefined, use _POSIX_HOST_NAME_MAX.
Probably good enough. Closes #2
2023-09-25 16:02:09 -04:00
f8d3e54fec Use int instead of char in EvalExpr.
Closes #5
2023-09-25 15:58:43 -04:00
LoaD Accumulator
cb41716bf3 Implement #27 (#36)
Implements #27.

Co-authored-by: LoaD Accumulator <lda@freetards.xyz>
Co-authored-by: Jordan Bancino <jordan@bancino.net>
Reviewed-on: Telodendria/telodendria#36
Co-authored-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
Co-committed-by: LoaD Accumulator <lda@noreply.git.telodendria.io>
2023-09-25 09:39:21 -04:00
6247085df1 Add change log entry for #35. 2023-09-11 11:01:50 -04:00
LoaD Accumulator
0172fa083b 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
0b820b80f7 Convert configuration documentation. 2023-09-09 17:43:43 -04:00
6dcfa7dc02 Remove send-patch and tp. See #20. 2023-09-09 16:58:47 -04:00
024482d4e8 Put the finishing touches on CONTRIBUTING.md. 2023-09-09 16:57:52 -04:00
7a091c5b93 Add contributing documentation. 2023-09-09 16:50:38 -04:00
9e8523d92e Fix issue config. 2023-09-09 15:39:12 -04:00
419017bcc9 Don't allow blank issues. 2023-09-09 15:36:58 -04:00
1a009e87c3 Fix a few small bugs in Gitea templates. 2023-09-09 15:32:43 -04:00
08594e0fb1 Add Gitea issue templates. 2023-09-09 15:28:33 -04:00
56508afe4c Merge branch 'master' of https://git.telodendria.io/telodendria/telodendria 2023-09-09 00:12:07 -04:00
ac3582ddeb Fix table rendering in stats.md 2023-09-09 00:12:00 -04:00
61f7ab1040 Fix table rendering in stats.md 2023-09-09 00:11:32 -04:00
a672c05112 Finish moving over current Administrator API documentation. 2023-09-09 00:03:09 -04:00
09023089f5 Another typo. 2023-09-08 23:27:55 -04:00
6d6fd1645c Fix typo in privileges.md. 2023-09-08 23:27:14 -04:00
043c2e9e33 Add privileges documentation. 2023-09-08 23:26:47 -04:00
9e2f047e82 Fix typo in docs/user/admin/README.md 2023-09-08 17:23:06 -04:00
c78d075a93 Add admin documentation home page. 2023-09-08 17:22:24 -04:00
e4a217550f Add logo and center title. 2023-09-08 16:40:33 -04:00
d50372a91a Add technical rationale document. 2023-09-08 16:34:27 -04:00
fa3b5e95bd Add a nice README which will serve as the basis for the website. 2023-09-08 16:04:48 -04:00
7033a1f0b1 Add repository structure documentation. 2023-09-08 12:12:07 -04:00
f6c54cbc7f Add setup documentation. 2023-09-08 11:58:54 -04:00
3cb04417ff Add porting instructions. 2023-09-07 21:53:22 -04:00
93e6582db5 Add usage and install documentation. 2023-09-07 21:10:46 -04:00
ee62d31c68 Add documentation home page. 2023-09-07 20:23:40 -04:00
4bd527aa9a Remove old change log. 2023-09-07 20:06:12 -04:00
79ce36c860 Add CHANGELOG.md 2023-09-07 19:53:56 -04:00
be3ee54bd8 Merge pull request 'added git ignore and removed cvs ignore files' (#29) from array-in-a-matrix/telodendria:master into master
Reviewed-on: Telodendria/telodendria#29
2023-09-06 14:37:29 -04:00
array-in-a-matrix
5367ffca96 replaced .cvsignore with .gitignore 2023-09-06 11:45:44 -04:00
c5b2fcf586 Convert Cytoplasm README to markdown. 2023-09-05 22:10:33 -04:00
2b43a93524 Break proposals/admin.7 into multiple issues.
Closes #17
2023-09-05 21:54:26 -04:00
fd28f97449 Finish remaining issues in TODO.txt and add docs/ROADMAP.md. 2023-09-05 21:30:09 -04:00
745a208f14 Move over some more issues. 2023-09-05 19:31:46 -04:00
8843b34ba6 Merge branch 'master' of https://git.telodendria.io/telodendria/telodendria 2023-09-05 17:11:13 -04:00
b059f966f1 Make progress toward migrating TODO.txt to issues.
Still have a ways to go, but wanted to save my progress.
2023-09-05 17:09:58 -04:00
Jordan Bancino
8bf8afd91d Merge pull request '[MOD] Make the README(Markdown) file reflect the current situation.' (#11) from lda/telodendria:lda-dev into master
Reviewed-on: Telodendria/telodendria#11
2023-09-05 16:34:04 -04:00
6db3f3c612
[MOD] Make the README(Markdown) file reflect the current situation.
Signed-off-by: LoaD Accumulator <lda@freetards.xyz>
2023-09-05 22:25:39 +02:00
fd1172ff56 Summarize Matrix room activity in TODO.txt
I really want to get back to work on Telodendria. I need to find some
more time for it.
2023-09-04 13:35:28 +00:00
468656eee6 Apply #72 2023-09-04 13:30:22 +00:00
b625655439 Fix memory leak in some generated code. 2023-08-17 18:09:53 +00:00
dab666c969 Update documentation on UtilServerTs(). 2023-08-17 18:09:20 +00:00
36413b4dca Ignore special case in Int64Str. This is hack but good enough for now. 2023-08-13 12:33:18 +00:00
1c32e18c74 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
2382638005 Make all timestamps use UInt64. 2023-08-12 23:02:06 +00:00
38a303da91 Allow forcing the emulation mode for testing purposes. 2023-08-12 21:51:51 +00:00
2f76d5b9ae Add signed 64-bit integer support. 2023-08-12 19:59:16 +00:00
93c4b6bfc4 Add 64-bit emulation for platforms that don't have a native 64-bit type. 2023-08-12 16:30:24 +00:00
d565640455 Add schema for PDUs v1 and v3, the only unique PDU formats.
All other room versions use one of these two PDU formats.
2023-08-10 00:08:33 +00:00
bc71a7ec01 Add admin privilege to manage room aliases. 2023-08-09 15:50:03 +00:00
69d28f39d1 Begin working on room aliases.
These endpoints will help me build out some functionality that will be
needed when actually implementing rooms.
2023-08-09 15:19:45 +00:00
e0af88145e Add RouteCreateRoom stub. 2023-08-08 15:11:50 +00:00
6ef965d1e0 Apply patch to make MatrixErrorCreate() take a custom message. 2023-08-05 19:26:03 +00:00
28d9e1cb3b Add RoomCreateRequest schema. 2023-08-05 15:00:52 +00:00
78302d6320 Print admin registration token to configured log, not default stdout.
If Telodendria is started as a daemon and is logging to the syslog, we
want the token to show up in the syslog.
2023-08-05 14:12:02 +00:00
6ec87b8d76 Properly exclude Schema directories from showing up in CVS. 2023-08-05 14:03:08 +00:00
5f3220372e Implement filter validation by using j2s. 2023-08-05 13:46:23 +00:00
77d71989df Don't install configuration files. 2023-08-04 21:15:49 +00:00
e9600a21e9 Add support for arrays of primitives. 2023-08-04 20:47:36 +00:00
942d2aad18 Fix memory leaks and remove logging messages. 2023-08-01 22:36:52 +00:00
aeaa8487c3 Add leaky Cytoplasm JSON -> Struct code generator.
It is basically complete, I just have to finish cleaning up some of the
memory leaks and remove the log messages.
2023-08-01 20:23:19 +00:00
ed37afe564 Add [time] to interpolate dates and times using strftime(). 2023-07-29 18:27:35 +00:00
2e193d4bcf Format code. 2023-07-29 18:27:17 +00:00
d22baf440f Update TODO. 2023-07-29 15:50:45 +00:00
c467d0913d Add tp, a simple but powerful text preprocessor.
I might rename it, and I have yet to document it in a man page, but I have
found this extremely useful so I thought I'd give it a home here.
2023-07-29 00:04:42 +00:00
68b644a4f2 Add HashMapKeys() and HashMapValues() functions for convenience. 2023-07-18 00:15:29 +00:00
b65394ab50 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
a958c4a529 Apply #71: Add ArrayUnique() function. 2023-07-15 22:27:24 +00:00
c96ac30f28 Fix Unicode handling in Json, don't sign-extend bytes in Stream. 2023-07-15 17:57:21 +00:00
a4330123b9 Add EventRedact() prototype. 2023-07-09 23:18:18 +00:00
b1c23ee53a Begin prototyping state resolution API. 2023-07-07 03:15:13 +00:00
bc8283f844 Begin prototyping room API. 2023-07-07 02:56:09 +00:00
5f34b846ee Fix stable release version scheme (more details in an upcoming newsletter) 2023-07-01 20:18:59 +00:00
3054a80906 Fix Unicode handling. 2023-06-21 02:49:58 +00:00
539fde773f Fix CanonicalJson and ArraySort. 2023-06-21 02:37:56 +00:00
1fa07d2d3c Update TODO. 2023-06-18 03:25:03 +00:00
80da024e4e Update change log. 2023-06-18 03:19:12 +00:00
e3badbd55c Format source code. 2023-06-18 02:53:52 +00:00
861d4146c0 Add Filter API to validate filters and process events. 2023-06-18 02:53:06 +00:00
f9e1250d47 Begin working on filtering. 2023-06-17 19:09:06 +00:00
4e184102cb Add Sha1 implementation. 2023-06-17 17:36:46 +00:00
8bda70b1fb Refactor Sha API to return raw bytes, added Sha1() function. 2023-06-17 17:36:11 +00:00
8f0d197480 Bump version: v0.3.0 -> v0.4.0 2023-06-16 16:01:19 +00:00
b9641e89d6 Update TODO 2023-06-13 14:06:05 +00:00
1381a31cbd Update TODO. 2023-06-13 14:05:34 +00:00
c3287c1674 Update TODO. 2023-06-12 18:00:26 +00:00
071a86114c Apply #70: Add StrLower() function. 2023-06-12 14:10:59 +00:00
1f14169284 Apply #70: Fix warnings of unused variables. 2023-06-12 14:10:08 +00:00
2f946848cb Telodendria Bot can now send messages again.
The problem here is that some Matrix homeservers reject requests that don't
have a Content-Length. http was not sending a Content-Length because it was
reading from standard input. By reading from an actual file, we can actually
easily get the size of the file to send as the Content-Length.
2023-06-12 14:01:56 +00:00
190 changed files with 6585 additions and 21624 deletions

View file

@ -1,6 +0,0 @@
build
data
.env
*.patch
*.log
vgcore.*

View file

@ -0,0 +1,49 @@
name: Bug Report
about: File a bug report regarding Telodendria, its website, or its documentation.
body:
- type: markdown
attributes:
value: |
You are submitting a bug report. Please be sure to fill out the
title with a brief description of the bug.
- type: dropdown
attributes:
label: Type
description: Select the type of issue.
options:
- Memory Leak
- Crash
- Unexpected Error Message
- Documentation
- Website
- Other
validations:
required: true
- type: textarea
attributes:
label: Description
description: |
Please give a thorough and detailed description of the bug you
are reporting. Provide all the information you have, and do
some investigating to ensure you are providing a legitimate
issue report that is well thought out. **Include details on
how to reproduce the issue, or explicitly state that you were
unable to reproduce it.**
validations:
required: true
- type: textarea
attributes:
label: Log Output
description: |
Please copy and paste the relevant sections of the log output,
or the entire log if it is not unreasonably large. The logs
will be automatically formatted, no code block is necessary.
render: shell
validations:
required: true
- type: markdown
attributes:
value: |
Please attach any additional files that may aid in our
investigation of this issue, including screenshots, debugging
session stack traces and dumps, etc.

View file

@ -0,0 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: General Matrix Room
url: "https://matrix.to/#/#telodendria-general:bancino.net"
about: |
General discussion on Telodendria happens in this Matrix room. You
may get quicker feedback from there.

View file

@ -0,0 +1,18 @@
name: Feature Request
about: Request a new feature or enhancement be added to Telodendria.
title: "[Feature] "
body:
- type: markdown
attributes:
value: |
You are submitting a feature request. Please be sure to fill
out the title with a brief description of the feature you are
requesting.
- type: textarea
attributes:
label: Description
description: |
Please give a thorough and detailed description of the feature
you are requesting.
validations:
required: true

View file

@ -0,0 +1,25 @@
---
Please review the developer certificate of origin:
1. The contribution was created in whole or in part by me, and I have
the right to submit it under the open source licenses of the
Telodendria project; or
1. The contribution is based upon a previous work that, to the best of
my knowledge, is covered under an appropriate open source license and
I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the
Telodendria project license; or
1. The contribution was provided directly to me by some other person
who certified (1), (2), or (3), and I have not modified it.
1. I understand and agree that this project and the contribution are
made public and that a record of the contribution&mdash;including all
personal information I submit with it&mdash;is maintained indefinitely
and may be redistributed consistent with this project or the open
source licenses involved.
- [ ] I have read the Telodendria Project development certificate of
origin, and I certify that I have permission to submit this patch
under the conditions specified in it.

View file

@ -0,0 +1,27 @@
name: Compile Telodendria
run-name: Compile Telodendria on ${{ forgejo.actor }}
on:
push:
branches:
- 'ma*'
pull_request:
types: [opened, synchronize, reopened]
jobs:
"Compile Telodendria":
strategy:
matrix:
os: [alpine]
arch: [aarch64]
runs-on: ["${{ matrix.os }}", "${{ matrix.arch }}"]
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
submodules: true
- name: Configure Telodendria
run: ./configure
- name: Configure & Build Cytoplasm
run: make cytoplasm
- name: Build Telodendria
run: make

View file

@ -0,0 +1,44 @@
name: Release Telodendria
run-name: Release Telodendria on ${{ forgejo.actor }}
on:
push:
tags:
- 'v*'
jobs:
"Release Telodendria":
strategy:
matrix:
os: [alpine]
arch: [aarch64]
runs-on: ["${{ matrix.os }}", "${{ matrix.arch }}"]
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
submodules: true
- name: Archive submodules
run: git submodule foreach --recursive 'git archive --format tar --prefix=$displaypath/ -o submodule.tar HEAD'
- name: Archive repository
run: git archive --format tar -o release.tar HEAD
- name: Produce release archive
run: |
TOPDIR=$(pwd) git submodule --quiet foreach --recursive 'cd $TOPDIR; tar --concatenate --file=release.tar $displaypath/submodule.tar; rm -fv $displaypath/submodule.tar'
gzip release.tar
mkdir release
mv release.tar.gz release/Telodendria-$GITHUB_REF_NAME.tar.gz
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: Telodendria-$GITHUB_REF_NAME.tar.gz
path: release/Telodendria-$GITHUB_REF_NAME.tar.gz
- name: Publish release
uses: actions/forgejo-release@v2
with:
tag: $GITHUB_REF_NAME
title: "Telodendria $GITHUB_REF_NAME"
release-dir: release/
release-notes: "docs/CHANGELOG.md"
direction: upload
prerelease: true

18
.gitignore vendored Normal file
View file

@ -0,0 +1,18 @@
# Telodendria .gitignore
build
out
data
Makefile
*-leaked.txt
.env
*.patch
*.orig
*.log
vgcore.*
*.core
contrib/.vagrant
src/Schema
src/include/Schema
man/mandoc.db

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "Cytoplasm"]
path = Cytoplasm
url = https://git.telodendria.io/Telodendria/Cytoplasm.git

16
CONTRIBUTORS.txt Normal file
View file

@ -0,0 +1,16 @@
N: Jordan Bancino
E: jordan@bancino.net
M: @jordan:bancino.net
W: https://bancino.net
D: Project Lead
L: United States
N: LDA
E: marie@doskel.net
E: ldasta@tedomum.fr
E: lda@freetards.xyz
M: @lda:a.freetards.xyz
M: @lda:pain.agency
M: @fourier:ari.lt
D: Developer
L: France

1
Cytoplasm Submodule

@ -0,0 +1 @@
Subproject commit 4f316ff7b3a955b831ca4aefb8679ddf3396a7d0

View file

@ -1,3 +0,0 @@
build
out
*-leaked.txt

28
Cytoplasm/.indent.pro vendored
View file

@ -1,28 +0,0 @@
-bad
-bap
-bbb
-nbc
-bl
-c36
-cd36
-ncdb
-nce
-ci8
-cli1
-d0
-di1
-ndj
-ei
-fc1
-i4
-ip
-l72
-lc72
-lp
-npcs
-psl
-sc
-nsob
-nut
-nv

View file

@ -1,158 +0,0 @@
Cytoplasm (libcytoplasm)
========================================================================
Cytoplasm is a general-purpose C library and runtime stub for
creating high-level (particularly networked and multi-threaded) C
applications. It allows applications to take advantage of the speed,
flexibility, and simplicity of the C programming language, while
providing helpful code to perform various complex tasks. Cytoplasm
provides high-level data structures, a basic logging facility, an
HTTP client and server, and more.
Cytoplasm aims not to only do one thing well, but to do many things
good enough. The primary target of Cytoplasm is simple, yet higher
level C applications that have to perform relatively complex tasks,
but don't want to pull in a large number of dependencies.
Cytoplasm is extremely opinionated on the way programs using it are
written. It strives to create a comprehensive and tightly-integrated
programming environment, while also maintaining C programming
correctness. It doesn't do any macro magic or make C look like
anything other than C. It is written entirely in C89, and depends
only on a POSIX environment. This differentiates it from other
general-purpose libraries that often require modern compilers and
non-standard language and environment features. Cytoplasm is intended
to be extremely portable and simple, while still providing some of
the functionality expected in higher-level programming languages
in a platform-agnostic manner. In the case of TLS, Cytoplasm wraps
low-level TLS libraries to offer a single, unified interface to TLS
so that programs do not have to care about the underlying
implementation.
Cytoplasm is probably not suitable for embedded programming. It makes
liberal use of the heap, and while data structures are designed to
conserve memory where possible and practical, minimal memory usage
is not really a design goal for Cytoplasm, although Cytoplasm takes
care not to use any more memory than it absolutely needs. Cytoplasm
also wraps a few standard libraries with additional logic and
checking. While this ensures better runtime safetly, this inevitably
adds a little overhead.
Originally a part of Telodendria (https://telodendria.io), a Matrix
homeserver written in C, Cytoplasm was split off into its own project
due to the desire of some Telodendria developers to use Telodendria's
code in other projects. Cytoplasm is still a Telodendria project,
and is maintained along side of Telodendria itself, even living in
the same CVS module, but it is designed specifically to be distributed
and used totally independent of Telodendria.
The name "Cytoplasm" was chosen for a few reasons. It plays off the
precedent set up by the Matrix organization in naming projects after
the parts of a neuron. It also speaks to the function of Cytoplasm.
The cytoplasm of a cell is the supporting material. It is what gives
the cell its shape, and it facilitates the movement of materials
to the other cell parts. Likewise, Cytoplasm aims to provide a
support mechanism for C applications that have to perform complex
tasks.
Cytoplasm also starts with a C, which I think is a nice touch for C
libraries. It's also fun to say and unique enough that searching for
"libcytoplasm" should bring you to this project and not some other
one.
Building
------------------------------------------------------------------------
If your operating system or software distribution provides a pre-built
package of Cytoplasm, you should prefer to use that instead of
building it from source.
Cytoplasm aims to have zero dependencies beyond what is mandated
by POSIX. You only need the standard math and pthread libraries to
build it. TLS support can optionally be enabled by setting the
TLS_IMPL environment variable. The supported TLS implementations
are as follows:
* OpenSSL
* LibreSSL
If TLS support is not enabled, all APIs that use it should fall
back to non-TLS behavior in a sensible manner. For example, if TLS
support is not enabled, then the HTTP client API will simply return
an error if a TLS connection is requested.
Cytoplasm uses a custom build script instead of Make, for the sake
of portability. To build everything, just run the script:
$ sh make.sh
This will produce the following out/ directory:
out/
lib/
libcytoplasm.so - The Cytoplasm shared library.
libcytoplasm.a - The Cytoplasm static library.
cytoplasm.o - The Cytoplasm runtime stub.
bin/
hdoc - The documentation generator tool.
man/ - All Cytoplasm API documentation.
Usage
------------------------------------------------------------------------
Cytoplasm provides the typical .so and .a files, which can be used
to link programs with it in the usual way. However, Cytoplasm also
provides a minimal runtime environment that is intended to be used
with the library. As such, it also provides a runtime stub, which
is intended to be linked in with programs using Cytoplasm. This
stub is responsible for setting up and tearing down some Cytoplasm
APIs. While it isn't required by any means, it makes Cytoplasm a
lot easier to use for programmers by abstracting out all of the
common logic that most programs will want to use.
Here is the canonical Hello World written with Cytoplasm:
#include <Log.h>
int Main(void)
{
Log(LOG_INFO, "Hello World!");
return 0;
}
If this file is Hello.c, then you can compile it by doing something
like this:
$ cc -o hello Hello.c cytoplasm.o -lcytoplasm
This command assumes that the runtime stub resides in the current
working directory, and that libcytoplasm.so is in your library path.
If you're using the version of Cytoplasm installed by your operating
system or software distribution, consult the documentation for the
location of the runtime stub. It may be located in
/usr/local/libexec or some other similar location. If you've built
Cytoplasm from source and wish to link to it from there, you may wish
to do something like this:
$ export CYTOPLASM=/path/to/Cytoplasm/out/lib
$ cc -o hello Hello.c "${CYTOPLASM}/cytoplasm.o" \
"-L${CYTOPLASM}" -lcytoplasm
As you may have noticed, C programs using Cytoplasm's runtime stub
don't write the main() function. Instead, they use Main(). The main()
function is provided by the runtime stub. The full form of Main()
expected by the stub is as follows:
int Main(Array *args, HashMap *env);
The first argument is a Cytoplasm array of the command line
arguments, and the second is a Cytoplasm hash map of environment
variables. Most linkers will let programs omit the env argument,
or both arguments if you don't need either. The return value of
Main() is returned to the operating system.
Note that both arguments to Main may be treated like any other
array or hash map. However, do not invoke ArrayFree() or HashMapFree()
on the passed pointers, because memory is cleaned up after Main()
returns.

View file

@ -1,28 +0,0 @@
#include <Array.h>
#include <HashMap.h>
#include <Log.h>
int
Main(Array * args, HashMap * env)
{
size_t i;
char *key;
char *val;
Log(LOG_INFO, "Hello World!");
Log(LOG_INFO, "Arguments: %lu", ArraySize(args));
for (i = 0; i < ArraySize(args); i++)
{
Log(LOG_INFO, " [%ld] %s", i, ArrayGet(args, i));
}
Log(LOG_INFO, "Environment:");
while (HashMapIterate(env, &key, (void **) &val))
{
Log(LOG_INFO, " %s = %s", key, val);
}
return 0;
}

View file

@ -1,328 +0,0 @@
#!/usr/bin/env sh
addprefix() {
prefix="$1"
shift
for thing in "$@"; do
echo "${prefix}${thing}"
done
unset prefix
unset thing
}
: "${NAME:=Cytoplasm}"
: "${LIB_NAME:=$(echo ${NAME} | tr '[A-Z]' '[a-z]')}"
: "${VERSION:=0.3.0}"
: "${CVS_TAG:=${NAME}-$(echo ${VERSION} | sed 's/\./_/g')}"
: "${SRC:=src}"
: "${TOOLS:=tools}"
: "${EXAMPLES:=examples}"
: "${BUILD:=build}"
: "${OUT:=out}"
: "${STUB:=RtStub}"
: "${LICENSE:=LICENSE.txt}"
: "${CC:=cc}"
: "${AR:=ar}"
: "${DEFINES:=-D_DEFAULT_SOURCE -DLIB_NAME=\"${NAME}\" -DLIB_VERSION=\"${VERSION}\"}"
: "${INCLUDE:=${SRC}/include}"
: "${CFLAGS:=-Wall -Wextra -pedantic -std=c89 -O3 -pipe}"
: "${LD_EXTRA:=-flto -fdata-sections -ffunction-sections -s -Wl,-gc-sections}"
: "${LDFLAGS:=-lm -pthread}"
if [ "${DEBUG}" = "1" ]; then
CFLAGS="${CFLAGS} -O0 -g"
LD_EXTRA=""
fi
if [ -n "${TLS_IMPL}" ]; then
case "${TLS_IMPL}" in
"LIBRESSL")
TLS_LIBS="-ltls -lcrypto -lssl"
;;
"OPENSSL")
TLS_LIBS="-lcrypto -lssl"
;;
*)
echo "Unrecognized TLS implementation: ${TLS_IMPL}"
echo "Consult Tls.h for supported implementations."
echo "Note that the TLS_ prefix is omitted in TLS_IMPL."
exit 1
<