Implementation status for each section
This commit is contained in:
parent
bb4b5eba03
commit
b58063ef63
28
README.md
28
README.md
|
@ -328,13 +328,13 @@ const PackedList = struct {
|
||||||
members: [length]varint,
|
members: [length]varint,
|
||||||
}
|
}
|
||||||
const Groupmembers = PackedList;
|
const Groupmembers = PackedList;
|
||||||
const AdditionalGids = PackedList;
|
const Username2gids = PackedList;
|
||||||
```
|
```
|
||||||
|
|
||||||
A packed list is a list of varints.
|
A packed list is a list of varints.
|
||||||
|
|
||||||
Section `AdditionalGidsIndex` stores an index from `hash(username)` to `offset`
|
Section `Username2gidsIndex` stores an index from `hash(username)` to `offset`
|
||||||
in AdditionalGids.
|
in Username2gids.
|
||||||
|
|
||||||
Complete file structure
|
Complete file structure
|
||||||
-----------------------
|
-----------------------
|
||||||
|
@ -348,23 +348,23 @@ storing plain `u32` for easier inspection.
|
||||||
Each section is padded to 64 bytes.
|
Each section is padded to 64 bytes.
|
||||||
|
|
||||||
```
|
```
|
||||||
SECTION SIZE DESCRIPTION
|
STATUS SECTION SIZE DESCRIPTION
|
||||||
Header 48 see "Turbonss header" section
|
✅ Header 48 see "Turbonss header" section
|
||||||
bdz_gid2group ? gid->group bdz
|
bdz_gid2group ? gid->group bdz
|
||||||
bdz_uid2user ? uid->user bdz
|
bdz_uid2user ? uid->user bdz
|
||||||
bdz_groupname2group ? groupname->group bdz
|
bdz_groupname2group ? groupname->group bdz
|
||||||
bdz_name2user ? username->user bdz
|
bdz_name2user ? username->user bdz
|
||||||
idx_gid2group len(group)*32 bdz->offset gid2group
|
idx_gid2group len(group)*29/8 bdz->offset Groups
|
||||||
idx_groupname2group len(group)*32 bdz->offset groupname2group
|
idx_groupname2group len(group)*29/8 bdz->offset Groups
|
||||||
idx_uid2user len(user)*32 bdz->offset uid2user
|
idx_uid2user len(user)*29/8 bdz->offset Users
|
||||||
idx_name2user len(user)*32 bdz->offset name2user
|
idx_name2user len(user)*29/8 bdz->offset Users
|
||||||
idx_username2gids len(user)*32 Per-user gidlist index
|
idx_username2gids len(user)*29/8 bdz->offset Username2gids
|
||||||
ShellIndex len(shells)*2 Shell index array
|
✅ ShellIndex len(shells)*2 Shell index array
|
||||||
ShellBlob <= 4032 Shell data blob (max 63*64 bytes)
|
✅ ShellBlob <= 4032 Shell data blob (max 63*64 bytes)
|
||||||
Groups ? packed Group entries (8b padding)
|
Groups ? packed Group entries (8b padding)
|
||||||
Users ? packed User entries (8b padding)
|
✅ Users ? packed User entries (8b padding)
|
||||||
Groupmembers ? per-group memberlist (32b padding)
|
Groupmembers ? per-group memberlist (32b padding)
|
||||||
AdditionalGids ? Per-user gidlist entries
|
Username2gids ? Per-user gidlist entries (8b padding)
|
||||||
```
|
```
|
||||||
|
|
||||||
[git-subtrac]: https://apenwarr.ca/log/20191109
|
[git-subtrac]: https://apenwarr.ca/log/20191109
|
||||||
|
|
|
@ -3,5 +3,6 @@ test "turbonss test suite" {
|
||||||
_ = @import("shell.zig");
|
_ = @import("shell.zig");
|
||||||
_ = @import("header.zig");
|
_ = @import("header.zig");
|
||||||
_ = @import("user.zig");
|
_ = @import("user.zig");
|
||||||
|
_ = @import("group.zig");
|
||||||
_ = @import("padding.zig");
|
_ = @import("padding.zig");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue