1
Fork 0
Commit Graph

236 Commits (ff814a474bd778524613f1d0bc18039fb8469123)

Author SHA1 Message Date
Motiejus Jakštys efd3cfc367 expose `len` to the delta-compressed iterator 2022-03-06 09:39:18 +02:00
Motiejus Jakštys 039aeb80dd delta decompression iterator 2022-03-06 06:37:24 +02:00
Motiejus Jakštys ec95b231fa varint iterator 2022-03-05 10:19:42 +02:00
Motiejus Jakštys e17b2c9641 expose native shell sections 2022-03-05 06:08:01 +02:00
Motiejus Jakštys 869f3f3a65 less memory thrashing 2022-03-05 05:40:00 +02:00
Motiejus Jakštys 87c424aab9 get rid of Corpus struct
it had some non-useful internal state
2022-03-04 11:12:04 +02:00
Motiejus Jakštys b81072f726 add usergids 2022-03-04 10:55:09 +02:00
Motiejus Jakštys a4e3e08f5f packing shell sections 2022-03-03 18:05:46 +02:00
Motiejus Jakštys e1bdb6c529 more robust bdz for numbers + helpers 2022-03-03 11:32:12 +02:00
Motiejus Jakštys 4fc54e5b65 [Section] slices instead of ArrayLists
It will need to be only indexed and interated anyway.
2022-03-02 07:15:08 +02:00
Motiejus Jakštys 9721e1be7f start with real sections 2022-03-02 06:50:15 +02:00
Motiejus Jakštys a526379fd8 cosmetic changes 2022-03-02 06:18:19 +02:00
Motiejus Jakštys 0ccbdc4215 indentation 2022-03-02 06:07:07 +02:00
Motiejus Jakštys 9392922216 some negative tests 2022-03-02 06:02:45 +02:00
Motiejus Jakštys 321d1f6afd sort and use unmanaged ArrayLists 2022-03-02 06:02:04 +02:00
Motiejus Jakštys e5870a95fe make corpus smoke test pass 2022-03-02 05:42:23 +02:00
Motiejus Jakštys 3c4455efeb cloning users and groups 2022-03-01 15:03:51 +02:00
Motiejus Jakštys 7df1296ce1 corpus test passing 2022-03-01 05:47:44 +02:00
Motiejus Jakštys 3eec9a3274 starting with sections 2022-02-28 20:34:15 +02:00
Motiejus Jakštys 40deb3f0be preparing for bringing this all together 2022-02-28 06:19:32 +02:00
Motiejus Jakštys 0b0e917086 deltaDecompress 2022-02-28 06:02:16 +02:00
Motiejus Jakštys ca67bf56e7 implement delta compression 2022-02-28 05:48:43 +02:00
Motiejus Jakštys df8ab1fbbf PackedGroup 2022-02-27 18:40:05 +02:00
Motiejus Jakštys 1ef962d64a mutate users in tests 2022-02-27 06:26:01 +02:00
Motiejus Jakštys b4c7cba627 mutable/immutable PackedUser 2022-02-26 11:20:44 +02:00
Motiejus Jakštys f4c4dc535c remove redundant comment 2022-02-26 10:46:06 +02:00
Motiejus Jakštys b02edc7190 use ArrayList instead of slices
The API is more ergonimic.
2022-02-26 10:29:41 +02:00
Motiejus Jakštys 87b4b81a48 formatting 2022-02-25 15:22:05 +02:00
Motiejus Jakštys 22c61d1207 fix PackedUser.maxSize 2022-02-25 15:17:24 +02:00
Motiejus Jakštys b0d74c0cad formatting 2022-02-25 14:01:35 +02:00
Motiejus Jakštys eed4f4e234 add some clarifying comments 2022-02-25 13:58:06 +02:00
Motiejus Jakštys b9fb07121b remove debug statements 2022-02-25 13:50:24 +02:00
Motiejus Jakštys 2154205711 refactoring UserReader 2022-02-25 13:47:23 +02:00
Motiejus Jakštys 751b51b859 change size treatment for PackedUser 2022-02-24 17:37:22 +02:00
Motiejus Jakštys 49a7d79b05 PackedUser is now readable 2022-02-24 17:33:27 +02:00
Motiejus Jakštys 0f43f8b2d0 wip refactoring PackedUser 2022-02-24 17:09:17 +02:00
Motiejus Jakštys b924e3a935 start packed group 2022-02-24 10:13:26 +02:00
Motiejus Jakštys 3bf1b3fc01 bring back additional_gids_offset 2022-02-24 05:32:27 +02:00
Motiejus Jakštys c0afca00b0 shorten cmph pack by 4 bytes 2022-02-23 20:30:42 +02:00
Motiejus Jakštys 3498167108 add bdz.zig 2022-02-23 18:30:35 +02:00
Motiejus Jakštys 4f1bada988 start with cmph.zig and bdz.zig 2022-02-23 18:24:23 +02:00
Motiejus Jakštys 609ab3d2b6 overflow tests 2022-02-23 10:19:50 +02:00
Motiejus Jakštys d555994960 wip varint 2022-02-23 07:10:49 +02:00
Motiejus Jakštys b58063ef63 Implementation status for each section 2022-02-23 06:31:25 +02:00
Motiejus Jakštys bb4b5eba03 add utf8 validation; rework user iterator 2022-02-23 06:09:42 +02:00
Motiejus Jakštys 0e5365127a increase gecos length 2022-02-22 15:22:30 +02:00
Motiejus Jakštys e06cac38b2 remove 3 bytes from PackedUser
additional_gids will be stored separately.
2022-02-22 15:16:45 +02:00
Motiejus Jakštys 78dc63669d add tests for upper limits 2022-02-22 15:04:59 +02:00
Motiejus Jakštys 26fbfc5f08 fix non-packed iterator 2022-02-22 14:37:47 +02:00
Motiejus Jakštys ab0562950c add some guard rails w.r.t. padding 2022-02-21 13:54:35 +02:00
Motiejus Jakštys f77d94e624 remove padding 2022-02-21 13:48:11 +02:00
Motiejus Jakštys 91849c128f non-packed user iterator 2022-02-20 14:13:06 +02:00
Motiejus Jakštys f2434e3d3c working on iterator 2022-02-20 13:47:17 +02:00
Motiejus Jakštys 54ec710f10 wip iterator 2022-02-20 12:44:21 +02:00
Motiejus Jakštys e54c153dd8 style 2022-02-20 09:47:47 +02:00
Motiejus Jakštys 9487194c95 simplify catch 2022-02-20 09:19:59 +02:00
Motiejus Jakštys 988ab9f6d4 update padded user alignment 2022-02-20 09:10:25 +02:00
Motiejus Jakštys 330db487ac add roundUp assertion 2022-02-19 22:12:49 +02:00
Motiejus Jakštys 4dbc7b03bc buffer is a pointer 2022-02-19 22:10:55 +02:00
Motiejus Jakštys ae2d3d5443 generalize padding funcs 2022-02-19 21:23:33 +02:00
Motiejus Jakštys 2fc925923f wip between-user padding 2022-02-19 18:20:50 +02:00
Motiejus Jakštys 4e45c6e5a9 simplify appendUser 2022-02-19 16:56:53 +02:00
Motiejus Jakštys ca28332126 add unit tests for padding 2022-02-19 16:04:13 +02:00
Motiejus Jakštys 623060dac3 remove unnecessary cast 2022-02-19 15:50:13 +02:00
Motiejus Jakštys fd1cab251d fix shell index offsets 2022-02-19 15:48:51 +02:00
Motiejus Jakštys 13b75e8046 user packing 2022-02-19 11:35:29 +02:00
Motiejus Jakštys 93c6a1c12a rename shell_len_or_place to _idx 2022-02-18 20:36:32 +02:00
Motiejus Jakštys 2964c918cc remove user.zig dependency on shell.zig 2022-02-18 20:35:42 +02:00
Motiejus Jakštys da727113e5 filling packed user 2022-02-18 20:29:45 +02:00
Motiejus Jakštys eacfc08592 fix PackedUser test
It is 120 bits long. @sizeOf returns 128, because, I guess, it tries to
word-align it (not byte-align it).

We are OK with non-word-aligned user struct, since it will have an
arbitrary []u8 slice right after it with the string data. However,
byte-alignment is important.
2022-02-18 17:40:04 +02:00
Motiejus Jakštys 1fe23aa1e5 adding user 2022-02-18 17:35:01 +02:00
Motiejus Jakštys 411fb91fd1 test and README tiny updates 2022-02-18 17:26:35 +02:00
Motiejus Jakštys 80ec63b6a4 fix casting functions, add some tests 2022-02-18 15:28:04 +02:00
Motiejus Jakštys 44107bac51 adding simple header validation 2022-02-18 07:42:43 +02:00
Motiejus Jakštys ed1e464305 header may err 2022-02-18 07:16:11 +02:00
Motiejus Jakštys 8c8570e6d1 start with Header 2022-02-17 11:55:05 +02:00
Motiejus Jakštys 00cf0e4a66 hashmap: use getOrPut 2022-02-17 11:11:16 +02:00
Motiejus Jakštys d9c8e69440 make Shell Writer work. 2022-02-17 10:54:39 +02:00
Motiejus Jakštys e2bc4e6094 also add a failing shell test 2022-02-16 11:55:13 +02:00
Motiejus Jakštys 67e8a1d83c add a test for resolving offsets 2022-02-16 11:48:53 +02:00
Motiejus Jakštys e55d01ed15 fix memleak 2022-02-16 11:32:27 +02:00
Motiejus Jakštys b43ba9c672 further along with popcon 2022-02-16 11:21:51 +02:00
Motiejus Jakštys f584642cca shellpop skeleton 2022-02-15 20:27:24 +02:00
Motiejus Jakštys 1e084cc3fb less error handling 2022-02-10 06:12:12 +02:00
Motiejus Jakštys 88d2a0f470 compile cmph from source 2022-02-10 06:07:52 +02:00
Motiejus Jakštys 3b7c63ad9f first steps 2022-02-09 12:53:01 +02:00