]> ruderich.org/simon Gitweb - nsscash/nsscash.git/blob - TODO.adoc
README.adoc: misc updates
[nsscash/nsscash.git] / TODO.adoc
1 = TODOs
2
3 - Currently, all files are fetched first and then updated one-by-one. This
4   protects against partial updates if the server has issues, but won't help if
5   the disk is full. In that case it's possible that only passwd is updated but
6   then group cannot be written and now the system uses an inconsistent state.
7   To prevent this, write to temporary files for all files first and then
8   rename them all in one step. +
9   However, most of the time passwd and group are not directly linked in a way
10   that an inconsistent state will create problematic issues.
11
12 - Implement a push mechanism to reduce the traffic generated by regular runs
13   of `nsscash fetch` (e.g. via cron). +
14   However, for most setups even minutely updates won't generate any noticeable
15   traffic due to `If-Modified-Since`.
16
17 - Implement an improved file format for passwd/group nsscash to perform even
18   faster lookups. At the moment `mmap(2)` is the bottleneck. However,
19   switching to `read(2)` is problematic with a large number of users. A new
20   format using a B-tree like structure could use `read(2)` and thus improve
21   the performance, at the cost of increased complexity.