1
Fork 0

restructure README a bit

This commit is contained in:
Motiejus Jakštys 2023-04-13 12:12:40 +03:00
parent 65bd0c9f9d
commit 4785ed029f
1 changed files with 21 additions and 20 deletions

View File

@ -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/