= TODOs

- Support big-endian systems in NSS module; the Go-part is endian agnostic

- Currently, all files are fetched first and then updated one-by-one. This
  protects against partial updates if the server has issues, but won't help if
  the disk is full. In that case it's possible that only passwd is updated but
  then group cannot be written and now the system uses an inconsistent state.
  To prevent this, write to temporary files for all files first and then
  rename them all in one step. +
  However, most of the time passwd and group are not directly linked in a way
  that an inconsistent state will create problematic issues.

- Implement a push mechanism to reduce the traffic generated by regular runs
  of `nsscash fetch` (e.g. via cron). +
  However, for most setups even minutely updates won't generate any noticeable
  traffic due to `If-Modified-Since`.

- Implement an improved file format for passwd/group nsscash to perform even
  faster lookups. At the moment `mmap(2)` is the bottleneck. However,
  switching to `read(2)` is problematic with a large number of users. A new
  format using a B-tree like structure could use `read(2)` and thus improve
  the performance, at the cost of increased complexity.
