Jordan Bancino
098592de42
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
Jordan Bancino
7adf972bc5
Add support for arrays of primitives.
2023-08-04 20:47:36 +00:00
Jordan Bancino
20b4896f86
Fix memory leaks and remove logging messages.
2023-08-01 22:36:52 +00:00
Jordan Bancino
d9f5ca3e0d
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
Jordan Bancino
ddcd1a0294
Add [time] to interpolate dates and times using strftime().
2023-07-29 18:27:35 +00:00
Jordan Bancino
b3b0206107
Format code.
2023-07-29 18:27:17 +00:00
Jordan Bancino
70dbdf0a1e
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
Jordan Bancino
ee267b077d
Add HashMapKeys() and HashMapValues() functions for convenience.
2023-07-18 00:15:29 +00:00
Jordan Bancino
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
Jordan Bancino
c4ef6d4ddc
Apply #71 : Add ArrayUnique() function.
2023-07-15 22:27:24 +00:00
Jordan Bancino
c4121d2dba
Fix Unicode handling in Json, don't sign-extend bytes in Stream.
2023-07-15 17:57:21 +00:00
Jordan Bancino
e557de8d9d
Fix Unicode handling.
2023-06-21 02:49:58 +00:00
Jordan Bancino
0b539a471d
Fix CanonicalJson and ArraySort.
2023-06-21 02:37:56 +00:00
Jordan Bancino
c03b092536
Format source code.
2023-06-18 02:53:52 +00:00
Jordan Bancino
4abd0e9c22
Add Sha1 implementation.
2023-06-17 17:36:46 +00:00
Jordan Bancino
f5abcf5e50
Refactor Sha API to return raw bytes, added Sha1() function.
2023-06-17 17:36:11 +00:00
Jordan Bancino
280838ddd6
Bump version: v0.3.0 -> v0.4.0
2023-06-16 16:01:19 +00:00
Jordan Bancino
179e16ed24
Apply #70 : Add StrLower() function.
2023-06-12 14:10:59 +00:00
Jordan Bancino
eb3732a2cd
Fix potential race condition.
2023-06-09 19:27:49 +00:00
Jordan Bancino
a177c55c26
Make Memory use a recursive mutex.
...
This allows some additional operations to be performed inside the memory
hooks, although it's still a bad idea to allocate or free memory while
inside the hook.
2023-06-04 18:44:37 +00:00
Jordan Bancino
3ef8a2b234
Add a recipe to build the examples.
2023-05-30 13:20:23 +00:00
Jordan Bancino
bd1918ee05
Re-add memory bounds checking.
...
Also fixed a recursive lock error in some configurations, and replaced
a usage of strcpy() with strncpy().
2023-05-29 23:53:17 +00:00
Jordan Bancino
a358ca795d
Format code.
2023-05-27 18:22:38 +00:00
Jordan Bancino
11a7b6653d
Log a message stating that TLS is disabled if the config requests it.
2023-05-27 17:55:49 +00:00
Jordan Bancino
c5cfdb9894
Show human-readable thread ID in log messages.
...
This helps debug some multithreading issues.
2023-05-27 17:10:07 +00:00
Jordan Bancino
5694a609eb
It appears that OpenSSL closes the socket descriptor for us.
...
When we close it again manually, we may actually be closing another thread's
file descriptor, which causes all kinds of problems.
2023-05-27 17:03:40 +00:00
Jordan Bancino
a853c5670c
Fix potential write out of bounds.
2023-05-26 23:47:36 +00:00
Jordan Bancino
a7de0e4d16
Remove memory bound checking logic.
...
While this was nifty and impressive, it seems like it is too easy to mess
up, and is too platform-specific.
2023-05-26 23:10:00 +00:00
Jordan Bancino
b02ad117c4
Fix SIGBUS on some platforms. Memory alignment matters!
...
This is a temporary fix; I'm not convinced it will work on all platforms,
so I will probably end up removing all of the memory boundary code
altogether.
2023-05-26 23:05:35 +00:00
Jordan Bancino
4174bcf8f4
Add a Cytoplasm example, which I'll use to debug some stuff.
2023-05-26 22:25:03 +00:00
Jordan Bancino
0e60cd5195
Push Main return value into MainArgs.
...
This prevents weird things from happing on some architectures.
2023-05-26 21:05:06 +00:00
Jordan Bancino
3a78e50044
Fix incorrect block size.
2023-05-25 00:03:17 +00:00
Jordan Bancino
0c3ccb2c99
Don't log anything at the end of main; user may have redirected and closeed stream.
...
This would cause a segfault.
2023-05-24 23:32:53 +00:00
Jordan Bancino
061d9df739
Add sane default memory hook to Cytoplasm, fix more leaks in json.
2023-05-23 22:43:37 +00:00
Jordan Bancino
4b85d10983
Don't leak so much memory.
2023-05-23 17:53:19 +00:00
Jordan Bancino
f44db5a712
Properly initialize and destroy logging mutex in LogConfigCreate() and
...
LogConfigFree(), respectively.
2023-05-23 17:42:08 +00:00
Jordan Bancino
5975222246
Fix leak in HttpClient.
2023-05-21 13:55:49 +00:00
Jordan Bancino
814bef932f
Fix warning about integer size mismatch.
2023-05-21 13:35:56 +00:00
Jordan Bancino
2aa74e3156
Add some basic heap memory bounds protection.
2023-05-21 13:24:00 +00:00
Jordan Bancino
d95acb8aa8
Document hdoc
2023-05-21 00:21:39 +00:00
Jordan Bancino
c1dc01e66e
Apparently this expansion syntax only works on ksh.
2023-05-20 21:38:03 +00:00
Jordan Bancino
767c8728f7
Fix memory leaks in hdoc.
2023-05-15 22:38:52 +00:00
Jordan Bancino
ef8c2f0865
Make Telodendria use Cytoplasm.
...
This commit removes all the duplicate code and makes Telodendria use the
new Cytoplasm library.
2023-05-14 19:35:23 +00:00
Jordan Bancino
40eac30b5c
Import new Cytoplasm library based off of code from Telodendria.
...
Telodendria doesn't use this library yet, but it will soon.
2023-05-13 17:30:09 +00:00