Commit graph

946 commits

Author SHA1 Message Date
d0c81a8136 Fix potential memory leak if duplicate keys exist in a JSON object. 2022-12-06 21:26:33 +00:00
01a6d71101 Remove Constants.h 2022-11-30 18:30:39 +00:00
5771e615d7 Document CanonicalJson 2022-11-30 18:23:25 +00:00
439e14a410 Format header 2022-11-30 17:59:19 +00:00
5610cafe46 Document Json 2022-11-30 17:54:10 +00:00
27da9ed88f Document Memory API 2022-11-29 01:56:34 +00:00
643bdb2ec7 Document send-patch 2022-11-27 14:30:52 +00:00
889a16856d Add Db(3) 2022-11-26 20:39:47 +00:00
e066e90d1d Finish documenting Util 2022-11-26 19:04:47 +00:00
6900d0649e Begin working on Util man page 2022-11-25 21:54:57 +00:00
f07ea912b2 Add Log(3) to index 2022-11-25 16:52:27 +00:00
2c0e7e5d65 Fix incorrect function declaration. 2022-11-25 16:52:12 +00:00
8045c583ba Write man page for Log 2022-11-25 16:40:47 +00:00
70bdf81df7 Fix references to old LOG_ constants 2022-11-24 18:51:07 +00:00
399939654a Fix a few areas where obscure compilers sometimes choke 2022-11-23 17:31:57 +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
be3b73f2af Fix cache size warning 2022-11-23 00:53:06 +00:00
520b062dbb Should probably make sure this succeeds. 2022-11-23 00:44:29 +00:00
fb56c3fca6 Clean up output a little 2022-11-22 23:57:58 +00:00
dce9788adf Fix a bug when overriding CFLAGS with .env 2022-11-22 22:31:53 +00:00
b155d0dbe4 ftruncate() technically lives in unistd.h
It should be included to prevent warnings on some compilers.
2022-11-22 22:31:36 +00:00
21d97656e8 Update TODO items; refactor some milestones. 2022-11-21 21:18:00 +00:00
7f883fc92e Remove debugging statements... whoops!
I'm usually pretty good about this.
2022-11-21 21:09:05 +00:00
973e826e57 Fix bug in floating objects to mostRecent 2022-11-21 21:07:40 +00:00
40e5c1ef2a Fix some bugs in DbCreate() regarding UtilMkdir() 2022-11-21 20:59:22 +00:00
789baf33a1 Make Db interfaces take varargs.
This makes it much more flexible, at the expense of making it a little
more fragile. I can think of a number of scenarios where we'll have
paths that have variables in multiple spots, and I don't want to do
sprintf() magic every time I need to access an object at one of those
paths.
2022-11-21 20:31:37 +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
f56a067456 Make Makefile more portable 2022-11-20 19:31:04 +00:00
d7f5a6798d Add some more porting instructions 2022-11-20 15:23:16 +00:00
70fd925c98 Make production configuration file more platform-agnostic 2022-11-20 13:25:07 +00:00
0fa2da8177 Don't chroot() on OpenBSD (pledge() causes it to trap here) 2022-11-20 13:19:56 +00:00
c23f817a55 Rename Makefile.OpenBSD to just Makefile (other ports may want it) 2022-11-20 13:01:50 +00:00
46dbc7dad5 Change build to all. Apparently OpenBSD ports requires this. 2022-11-20 02:05:02 +00:00
247aeabf66 Begin preliminary work on an OpenBSD port. 2022-11-20 01:53:15 +00:00
845658e0ac Obscure bug when using OpenBSD make 2022-11-20 01:40:55 +00:00
2293b57b88 Fix main title size 2022-11-20 00:19:00 +00:00
71a6842302 Remove install/uninstall recipes, and replace telodendria-setup with package
man page.
2022-11-20 00:12:53 +00:00
8db83fe1fc Don't have the synopsis table be styled like real tables. 2022-11-19 23:22:21 +00:00
d61770c772 Make mandoc link to man pages
Now web users can just click on the references and be taken to that page.
Unfortunately this generates a lot of broken links as well, for example
all the times I like to a system manual page that I don't copy to the
web server.
2022-11-19 23:15:08 +00:00
8d203f6cb8 Pull OpenBSD 7.2 mandoc.css
Somewhere between OpenBSD 7.1 and 7.2, mandoc changed the way it does a
lot of things. This commit pulls the base mandoc.css, and then includes it
in the Telodendria sylesheet. It is no longer feasable to customize the
mandoc stylesheet much, so luckily the default style is good enough.
2022-11-19 00:34:41 +00:00
e8b80e4c69 Clarify development notice. 2022-11-18 23:53:29 +00:00
9b7acbf586 New color scheme 2022-11-18 23:51:03 +00:00
fb7363d97e Don't uninstall the configuration file. 2022-11-18 22:49:06 +00:00
fe29b9f848 Remove unit testing code.
Until I can do it properly, I don't want to do it at all.
2022-11-18 22:27:23 +00:00
07f4ecd2d7 Make a number of improvements to cache handling.
- Items that are too big for the cache are now no longer immediately
  evicted; everything else is. This is probably not desirable, but it is
  not unexpected.
- Multithreading now should work as expected; DbRefs are locked before
  they are updated from the disk, and they are not evicted from the cache
  if they are locked by another thread.
- The cache may be no smaller than 1024 bytes. Previously the caller of
  DbOpen() could choose to disable the cache, and provisions were made in
  the code to support this, but this is now no longer possible because
  without the cache, there would be no way to know what files were open,
  which could lead to a race condition if two threads open the same file.
2022-11-18 22:17:56 +00:00
045c6d8644 Cache eviction 2022-11-18 20:42:08 +00:00
e7ad166877 Fix some memory leaks in Db 2022-11-18 19:36:15 +00:00