a4f369a0a9
Fix leak in HttpClient.
2023-05-21 13:55:49 +00:00
e71ffec164
Add some basic heap memory bounds protection.
2023-05-21 13:24:00 +00:00
ae38791df2
Format code, remove dataDir from sample production.conf
2023-04-19 02:07:38 +00:00
0cca38115a
Move configuration to database, add process control API, fix memory leaks.
2023-04-19 00:33:38 +00:00
b21d018daa
Move router building function into a more sensible location.
2023-04-14 21:37:00 +00:00
83971dfaff
Refactor routing system to use HttpRouter.
2023-04-14 21:20:56 +00:00
f3c4c0ac65
Add a global log configuration.
...
This is the easiest and cleanest way to get logging into some of the
fundamental APIs, such as the database and TLS APIs. We don't want to
have to pass logging functions to those, but they can safely use the
global logging configuration.
2023-03-22 14:52:04 +00:00
5289c16e2b
Convert all code to new Stream API.
...
Also made a number of improvmements to tt, making it compatible with more
shells.
2023-03-18 14:32:09 +00:00
3af2d3d12b
Format code, update TODO items.
2023-03-09 03:35:40 +00:00
ca053a12b1
Break out main() into Main.c, fix some compile warnings on Cygwin.
2023-03-09 02:46:04 +00:00
5d590df83d
Remove DB_MIN_CACHE because that's dumb.
...
You should be able to totally disable the cache if you so please. This
should ensure Telodendria uses less memory on constrained systems.
2023-03-03 14:26:10 +00:00
9e9b5c9cda
Fix a write-out-of-bounds error in Json.
2023-02-23 03:46:05 +00:00
3bbff5379f
[WIP] Replace UserInteractiveAuth with a new Uia API.
...
Uia is a lot less characters to type. Do note that this API is far from
complete and this commit breaks user interactive authentication entirely.
2023-02-19 14:58:56 +00:00
5b77236e82
Fix -v option
2023-01-17 21:38:39 +00:00
e0f7c133d1
Add a non-JSON landing page. This is the basis for other HTML pages.
2023-01-17 20:29:16 +00:00
bd88c01c26
Don't read the timestamp after it's freed.
2023-01-16 03:57:01 +00:00
0f661f435f
Whoops, forgot to update the header.
2023-01-07 04:40:12 +00:00
e9aebab221
Move hex dump logic to Memory API.
2023-01-01 22:10:23 +00:00
d9d88eb028
Periodically purge old user interactive auth sessions.
...
Keeping them around is going to take up a lot of storage. If it takes more
than a half hour for a client to complete the auth, make him start over.
2022-12-28 15:52:19 +00:00
1a43ea6470
Fix bugs in Cron
2022-12-26 16:28:58 +00:00
3c8d89a52e
Update copyright year
2022-12-26 15:52:52 +00:00
c18a9a96e6
Add job scheduler.
...
This will be used for expiring sessions and tokens, among other things that
need to happen periodically.
2022-12-24 21:49:37 +00:00
eeabe93e3f
Revert using _POSIX_C_SOURCE.
...
It didn't fix the issue.
2022-12-24 00:51:49 +00:00
2d1bfd8b74
Define _POSIX_C_SOURCE again.
2022-12-23 22:53:48 +00:00
c3618488f2
Hexdump leaked memory to the log for debugging.
2022-12-15 20:18:12 +00:00
ede060ef59
Add ASCII logo!
2022-12-13 17:09:05 +00:00
fb5a8e4587
Convert configuration file to JSON
2022-12-09 23:57:30 +00:00
70bdf81df7
Fix references to old LOG_ constants
2022-11-24 18:51:07 +00:00
7544a97c7d
Format source code, add .exrc
2022-11-23 14:56:31 +00:00
84f311ae09
Don't make assumptions about where the config file is.
2022-11-23 14:31:05 +00:00
a0304f4062
Move where we open the database
2022-11-21 16:39:38 +00:00
0c6c1e5b19
Notify the user about the minimum max-cache instead of silently setting it.
2022-11-21 16:22:50 +00:00
cd584c1e93
Lock objects on disk if they're locked in memory.
...
This requires hanging onto an open file handle, and doesn't require
explicit unlocking, because POSIX says files are unlocked when their
descriptors are closed.
2022-11-21 16:13:11 +00:00
0fa2da8177
Don't chroot() on OpenBSD (pledge() causes it to trap here)
2022-11-20 13:19:56 +00:00
9597894356
Fix some warnings on GCC.
...
These aren't really anything to be concerned about, but making GCC feel good
about my code makes me feel better about my code.
2022-11-17 19:33:59 +00:00
8e71cc833c
Change behavior of "id" configuration directive.
2022-11-08 17:53:01 +00:00
6992f36c86
Fix segfault in fclose() on Linux.
2022-11-02 00:35:05 +00:00
757938b293
Fix segvault if no config file was specified.
2022-11-01 09:47:25 -04:00
82d460da6f
Fix some sneaky memory bugs and resource leaks.
2022-11-01 09:04:15 -04:00
63dbf9ae35
Fix a few more memory bugs. Still have some to tackle.
2022-10-31 19:52:37 -04:00
fd50fd83fb
Misc changes throughout the codebase during testing.
2022-10-31 08:12:42 -04:00
bcff59bacb
Store memory info in the allocated block, not as a separate block.
...
This will eventually enable us to get memory information in O(1) time.
Right now, we're still O(n) because MemoryInfoGet() still has to check to
see if the allocation is known or not.
2022-10-28 14:07:44 -04:00
f90b987218
Add a Db to the matrixArgs so that routes can access it.
2022-10-24 14:36:48 -04:00
624b080d47
Add max-cache option to the config file
2022-10-24 13:40:21 -04:00
648ce5c4cc
Remove NonPosix.h; it seems to be causing more trouble than it's worth.
2022-10-15 11:45:23 -04:00
bb93cae99a
Remove non-standard __FUNCTION__ use.
...
This cripples the Memory API just a little bit, but I'm sure we'll still
get useful enough information.
2022-10-15 09:34:47 -04:00
0c03c71081
Allow logging to the syslog
2022-10-14 20:55:15 -04:00
31719c2cd6
Tell exactly where the leaked pointer is, so it can be grepped.
2022-10-13 12:46:41 -04:00
80366fc294
Fix a few more calls to free()
2022-10-13 12:27:24 -04:00
8cb86e8f67
Use new Memory API for all memory allocations.
2022-10-13 12:18:42 -04:00