Commit graph

176 commits

Author SHA1 Message Date
cfa7a065b2 Version 1.5
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 3s
Build for Releases / push-build-x86_64 (push) Successful in 6s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m9s
Build for Releases / push-build-aarch64 (push) Successful in 1m15s
Build for Releases / push-build-x86_64_debian (push) Successful in 34s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m15s
2024-11-25 17:39:04 +09:00
ca5296920c Update third-party submodule SimpleArchiver
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 20s
2024-11-25 17:23:17 +09:00
faa0c457d9 Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m9s
2024-11-25 16:04:44 +09:00
d6edaa3bdd Use proper format constants for size_t/uintX_t etc
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
2024-11-25 16:01:49 +09:00
0ecb8d6801 Update README.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
2024-11-25 14:21:00 +09:00
8052e693e6 Update Changelog.md 2024-11-25 14:20:28 +09:00
a467cceb90 Add separate flag for generate-static overwrite
Previous implementation allowed static files to overwrite existing files
on generate if static-dir was specified and generate-enable-overwrite
was specified. Now, an additional flag
"--generate-static-enable-overwrite" determines if static-dir files
overwrite on generate.
2024-11-25 14:17:32 +09:00
8e58873ea9 Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
2024-11-21 21:05:11 +09:00
2d485a3824 Version 1.4
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 3s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 20s
Build for Releases / push-build-x86_64 (push) Successful in 6s
Build for Releases / push-build-aarch64 (push) Successful in 17s
Build for Releases / push-build-x86_64_debian (push) Successful in 36s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m29s
2024-11-21 14:14:09 +09:00
3fc301cde5 Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
2024-11-21 14:06:09 +09:00
82693bfa3e Ensure http_template.c keeps track of _FILE files 2024-11-21 14:05:33 +09:00
e6e9fc16af More testing of nested FOREACH in example_config
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m10s
2024-11-20 17:12:10 +09:00
fddc43f36b More notes about FOREACH in Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 23s
2024-11-20 16:21:28 +09:00
10bf88ec3e Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 25s
2024-11-20 16:16:25 +09:00
20f413c8d9 Impl. nested FOREACH expressions
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 37s
IF/ELSEIF/ELSE/ENDIF and FOREACH/ENDFOREACH can now be nested in each
other in HTML templates.

TODO: Cleanup/refactorings, properly set up "files_map".
2024-11-20 16:12:58 +09:00
5e2ae5f87b Fix Unit Tests whilst keeping FOREACH working
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 21s
2024-11-19 21:26:42 +09:00
d46a323b15 Impl. FOREACH and NOTFOREACH
Some checks failed
Run Unit Tests / build-and-run-unit-tests (push) Failing after 4s
TODO: Figure out nested FOREACH or abandon that feature.
2024-11-19 20:53:11 +09:00
e9de2682f6 Refactoring related to {{{!IF}}}... 2024-11-19 15:07:40 +09:00
12a1edc897 Allow nested {{{!IF}}}..., fixes
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 20s
2024-11-18 20:10:45 +09:00
63a5eca63c Fix memory leak for array variables
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m7s
2024-11-18 17:41:26 +09:00
ba1c692e2f Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 23s
2024-11-18 17:10:41 +09:00
8da223461d Impl. extension of template delimeter expressions
Implemented "IF", "ELSEIF", "ELSE", "ENDIF", and "INDEX" for templates.

IF is used like: `{{{!IF Variable==SomeString}}}`.
ELSEIF is used like: `{{{!ELSEIF Variable==AnotherString}}}`.
ELSE is used like: `{{{!ELSE}}}`.
ENDIF is used like: `{{{!ENDIF}}}`.
INDEX is used like: `{{{!INDEX ArrayVar[2]}}}`.
2024-11-18 17:07:07 +09:00
d9d286c53f Refactor template handling
Split off some code into separate function to be updated for support for
more template features.
2024-11-18 13:11:13 +09:00
08769d026e Update third-party submodule SimpleArchiver
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
2024-11-15 17:42:26 +09:00
2c82b82b06 Allow "multi-valued-key-entries" in ParsedConfig
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 25s
This commit begins work on adding more templating features.
2024-11-15 16:28:31 +09:00
35aa5fc5a3 Update Changelog.md, Bump version 1.3
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 4s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
Build for Releases / push-build-x86_64 (push) Successful in 6s
Build for Releases / push-build-aarch64 (push) Successful in 1m11s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m25s
Build for Releases / push-build-x86_64_debian (push) Successful in 28s
2024-11-14 10:41:43 +09:00
6e9f0709b4 Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 20s
2024-11-12 17:26:33 +09:00
b056a8f99d Add missing NULL check in arg_parse.c
Previous implementation didn't crash because `closedir(...)` is lenient.
2024-11-12 17:25:52 +09:00
1b683f3395 Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 21s
2024-11-12 17:18:21 +09:00
33be6c49fd Fix erronous buffer declaration 2024-11-12 17:16:58 +09:00
cdacfc106d Add strip --strip-unneeded to debian builds (ci)
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 3s
Build for Releases / push-build-x86_64 (push) Successful in 6s
Build for Releases / push-build-aarch64 (push) Successful in 1m12s
Build for Releases / push-build-x86_64_debian (push) Successful in 33s
Build for Releases / push-build-aarch64_debian (push) Successful in 2m5s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m0s
2024-11-12 13:49:19 +09:00
600d558b11 Update README.md
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 4s
Build for Releases / push-build-x86_64 (push) Successful in 9s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 24s
Build for Releases / push-build-aarch64 (push) Successful in 1m12s
Build for Releases / push-build-x86_64_debian (push) Successful in 37s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m32s
2024-11-12 12:06:21 +09:00
b155934701 Update Changelod.md, version 1.2 2024-11-12 12:04:36 +09:00
4784f83234 Impl. copying over "static-dir" files on generate
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 34s
2024-11-11 15:09:12 +09:00
37e0c3a98b Remove unused parameter in function in config.c
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
2024-11-10 21:09:55 +09:00
0bbe280e1f Cleanup by separating "generate" to source files 2024-11-10 21:06:41 +09:00
faa262ba95 Check if fopen() fails during generating html
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 21s
2024-11-10 20:47:56 +09:00
68551de565 Fix typo in impl. of --generate-dir=<DIR>
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 21s
2024-11-10 20:45:37 +09:00
de2d15033e Impl. --generate-dir=<DIR>
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
Also added flag `--generate-enable-overwrite`.

Resolves #11
2024-11-10 20:39:49 +09:00
0d552d2cb0 Version 1.1
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 1s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 20s
Build for Releases / push-build-x86_64 (push) Successful in 6s
Build for Releases / push-build-aarch64 (push) Successful in 1m8s
Build for Releases / push-build-x86_64_debian (push) Successful in 34s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m9s
2024-11-08 15:20:08 +09:00
e1dde1576a Update Changelog.md
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 19s
2024-11-08 14:37:54 +09:00
1cb593e155 Allow key/value buffers to be dynamically sized
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 22s
Fixes #10
2024-11-08 14:32:57 +09:00
95aef64618 Refactor config.c to change c-macros to functions
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 1m56s
Resolves #9
2024-11-08 14:00:36 +09:00
80b1d49e74 Add Changelog.md
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 0s
Build for Releases / push-build-x86_64 (push) Successful in 7s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m2s
Build for Releases / push-build-aarch64 (push) Successful in 1m13s
Build for Releases / push-build-x86_64_debian (push) Successful in 31s
Build for Releases / push-build-aarch64_debian (push) Successful in 4m55s
2024-11-07 13:34:06 +09:00
53b3974d58 Fix invalid "closedir(...)" on NULL ptr 2024-11-07 13:30:59 +09:00
81c1123b7f Add build_releases.yaml action/workflow
All checks were successful
Build for Releases / ensure-release-exists (push) Successful in 1s
Run Unit Tests / build-and-run-unit-tests (push) Successful in 24s
Build for Releases / push-build-x86_64 (push) Successful in 8s
Build for Releases / push-build-aarch64 (push) Successful in 1m13s
Build for Releases / push-build-x86_64_debian (push) Successful in 34s
Build for Releases / push-build-aarch64_debian (push) Successful in 5m10s
2024-11-07 13:25:34 +09:00
a27930de85 Minor refactoring
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m1s
Accept connections until there are no more connections to accept in a
single iteration.
2024-11-06 14:47:47 +09:00
9ff991d907 Minor refactorings
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 20s
2024-11-04 16:25:19 +09:00
5a9cdb33c4 Fix possible double-close of connection fd
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m0s
2024-11-04 15:40:25 +09:00
fef2d154ce Handle multiple connections simultaneously
All checks were successful
Run Unit Tests / build-and-run-unit-tests (push) Successful in 2m2s
This commit changes the implementationt to store connected clients
file-descriptors and to iterate through them all periodically to handle
requests and to time-out stale connections. This means that even if one
connection is in progress, the program can still handle new connections
from other clients.

Note this does this not by threads but by taking advantage of
non-blocking io to handle each connection.

Fixes #8 .
2024-11-04 15:25:27 +09:00