|
|
|
@ -25,7 +25,7 @@ struct passwd { |
|
|
|
|
Turbonss, among others, implements this call, and takes the following steps to |
|
|
|
|
resolve a username to a `struct passwd*`: |
|
|
|
|
|
|
|
|
|
- Open the DB (using `mmap`) and interpret it's first 64 bytes as a `*struct |
|
|
|
|
- Open the DB (using `mmap`) and interpret it's first 128 bytes as a `*struct |
|
|
|
|
Header`. The header stores offsets to the sections of the file. This needs to |
|
|
|
|
be done once, when the NSS library is loaded. |
|
|
|
|
- Hash the username using a perfect hash function. Perfect hash function |
|
|
|
|