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
441599b088
Don't leak so much memory.
2023-05-23 17:53:19 +00:00
42191ec03f
Properly initialize and destroy logging mutex in LogConfigCreate() and
...
LogConfigFree(), respectively.
2023-05-23 17:42:08 +00:00
a4f369a0a9
Fix leak in HttpClient.
2023-05-21 13:55:49 +00:00
4cc876eb10
Fix warning about integer size mismatch.
2023-05-21 13:35:56 +00:00
51b9e2eaed
Clean Cytoplasm when td clean is run.
2023-05-21 13:34:05 +00:00
e71ffec164
Add some basic heap memory bounds protection.
2023-05-21 13:24:00 +00:00
d38ec7cb38
Document hdoc
2023-05-21 00:21:39 +00:00
896f561213
Apparently this expansion syntax only works on ksh.
2023-05-20 21:38:03 +00:00
f2f972bb9d
Fix memory leaks in hdoc.
2023-05-15 22:38:52 +00:00
ff0a9f33b8
Update TODO.
2023-05-15 01:43:46 +00:00
4043285413
Telodendria and all tools now use the Cytoplasm runtime stub.
...
This reduces the amount of manual work programs have to do, and gives us
some free features, like automatic leak reports in all tools.
2023-05-14 22:15:48 +00:00
8021cff122
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
5c8a42117c
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
a1e3bd7d8e
Clean up TODO
2023-05-11 12:00:44 +00:00
4d9c907b58
Attach device ID to authenticated user.
...
Now RouteWhoAmI can use UserAuthenticate just like the other endpoints.
2023-05-11 03:03:40 +00:00
c1c57fd4cf
Make RandState thread-specific.
2023-05-11 02:17:04 +00:00
609890654e
Fix handling of STATIC and broken compilation on GNU systems.
2023-05-10 03:32:56 +00:00
31866a14b4
Remove some extraneous whitespace from Util.c, not sure how that got there.
2023-05-07 12:08:26 +00:00
e6dd20e2b2
Update changelog.
2023-05-07 03:21:52 +00:00
ebc3da9b23
Fix some compile warnings.
2023-05-06 23:06:13 +00:00
a2eec3946c
I missed an instance of strcmp()
2023-05-06 23:02:46 +00:00
0b11b97022
Add StrEquals(), as equality checking is the most common use for strcmp().
...
This allows us to get rid of the hideous MATRIX_PATH_PART_EQUALS macro,
and prevents inconsistent usage of strcmp() (for example, !strcmp() vs
strcmp() == 0).
StrEquals() also has sensible behavior for dealing with NULL strings (it
doesn't just segfault like strcmp()).
2023-05-06 22:34:36 +00:00
0e69a12784
Register route.
2023-05-06 22:06:54 +00:00
2a87583d2f
Add /_matrix/client/v3/account/deactivate
2023-05-06 22:06:23 +00:00
95ceba0645
Add length calculations to JsonEncode() so we can set Content-Length.
2023-05-06 19:23:13 +00:00
bbea55be6c
Document http-debug-server, fixed typo in HttpServer docs.
2023-05-06 18:21:21 +00:00
3d9a7664b1
Add support for building static and shared libraries.
2023-05-06 17:04:35 +00:00