From 4785ed029f8129b453578223490725dfda29b6a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Thu, 13 Apr 2023 12:12:40 +0300 Subject: [PATCH] restructure README a bit --- README.md | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 0677278..6f9d832 100644 --- a/README.md +++ b/README.md @@ -29,24 +29,6 @@ Project goals - No runtime, no GC, as little as possible overhead. - Easy to compile for ancient glibc versions (comes out of the box with Zig). -Project status and known deficiencies -------------------------------------- - -Turbonss works, but, to the author's knowledge, was not deployed to production. -If you want to use turbonss instead of a battle-tested, albeit slower nscd, -keep the following in mind: -- turbonss has not been fuzz-tested, so it will crash a program on invalid - database file. Please compile with `ReleaseSafe`. It is plenty fast with this - mode, but an invalid database will lead to defined behavior (i.e. crash with - a stack trace) instead of overwriting memory wherever. -- if the database file was replaced while the program has been running, - turbonss will not re-read the file (it holds to the previous file - descriptor). -- requires a nightly version of zig (that will change with 0.11). - -The license is permissive, so feel free. I am also available for -[consulting][consulting] to fix all or part of those above, if that's your -preference. Dependencies ------------ @@ -182,12 +164,31 @@ of 1k users per group, and test ubernss with such corpus. Over 2500x difference. -Documentation -------------- +More Documentation +------------------ - Architecture is detailed in `docs/architecture.md` - Development notes are in `docs/development.md` +Project status and known deficiencies +------------------------------------- + +Turbonss works, but, to the author's knowledge, was not deployed to production. +If you want to use turbonss instead of a battle-tested, albeit slower nscd, +keep the following in mind: +- turbonss has not been fuzz-tested, so it will crash a program on invalid + database file. Please compile with `ReleaseSafe`. It is plenty fast with this + mode, but an invalid database will lead to defined behavior (i.e. crash with + a stack trace) instead of overwriting memory wherever. +- if the database file was replaced while the program has been running, + turbonss will not re-read the file (it holds to the previous file + descriptor). +- requires a nightly version of zig (that will change with 0.11). + +The license is permissive, so feel free to fork and implement the above (I +would appreciate if you told me, but surely you don't have to). I am also +available for [consulting][consulting] if that's your preference instead. + [nsswitch]: https://linux.die.net/man/5/nsswitch.conf [id]: https://linux.die.net/man/1/id [cmph]: http://cmph.sourceforge.net/