Commit graph

935 commits

Author SHA1 Message Date
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
2b3d0aaeaf Prepare for v0.3.0 release.
Not exactly as complete as I initially imagined, but I want to get something
out because I've been spending too much time on the same issues.
2023-06-10 13:29:56 +00:00
af15234799 Make the debug server more accurately mimic the actual server. 2023-06-10 13:16:41 +00:00
971f099bb6 Fix potential race condition. 2023-06-09 19:27:49 +00:00
96a1d3c3c4 Move stream assignment; this makes debugging easier. 2023-06-04 18:50:02 +00:00
095e05e927 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
c511ca9f0f Add a recipe to build the examples. 2023-05-30 13:20:23 +00:00
faaa12c51f 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
88f73a6131 Fix a few segfaults in http and json. 2023-05-29 22:48:50 +00:00
c206ec495d Format code. 2023-05-27 18:22:38 +00:00
27e40135ad Log a message stating that TLS is disabled if the config requests it. 2023-05-27 17:55:49 +00:00
5df684b609 Show human-readable thread ID in log messages.
This helps debug some multithreading issues.
2023-05-27 17:10:07 +00:00
b5b1a021d8 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
54924b9444 Fix potential write out of bounds. 2023-05-26 23:47:36 +00:00
42526c95bb 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
34f33a1c1b 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
d24c1161f6 Add a Cytoplasm example, which I'll use to debug some stuff. 2023-05-26 22:25:03 +00:00
d81600d944 Fix more memory leaks in json.
By doing a little reference tracking, we can make sure we don't miss any
JsonValues that may be floating around by the time we're done.
2023-05-26 22:11:07 +00:00
efb27c9db8 Push Main return value into MainArgs.
This prevents weird things from happing on some architectures.
2023-05-26 21:05:06 +00:00
3b659ce09e Adjust milestone requirements. I really want v0.3.0 out soon. 2023-05-26 19:21:25 +00:00
34eb9ff670 Report memory hook issues as errors, segfault on error. 2023-05-25 18:26:17 +00:00
e87a0647e0 Fix incorrect block size. 2023-05-25 00:03:17 +00:00
836229fd1a 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
2693b89598 Add sane default memory hook to Cytoplasm, fix more leaks in json. 2023-05-23 22:43:37 +00:00
e22cf38eac Fix leaks in json. 2023-05-23 20:34:27 +00:00
b1049a9a70 Fix leak in http. 2023-05-23 20:19:27 +00:00