Commit Graph

92 Commits

Author SHA1 Message Date
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