14 Oct 2025 |
K900 | And we can just keep things using those forever probably | 16:25:11 |
raitobezarius | The only value I see goes beyond hashes personally | 16:25:12 |
K900 | convertHash is a massive hammer for a tiny nail | 16:25:19 |
raitobezarius | I see people who wants to use base32 data inside non-hashes | 16:25:19 |
raitobezarius | For valid reasons | 16:25:23 |
raitobezarius | If it ends up constructing convertHash, fine | 16:25:33 |
raitobezarius | But that's not my sole motive for spawning these primops | 16:25:49 |
emily | so Nixpkgs would need
- parsing and serialization for SRI and
<algo>:<digest> that matches the implementation
- a lookup table between hashes and byte sizes
and the code would be Lix-specific (because Nix has chosen that strings cannot contain NUL bytes so the intermediate values would not be valid)
that may be fine
| 16:26:06 |
raitobezarius | I'd say that the code is specific to those who have !(builtins?convertHash) true but idk | 16:26:48 |
emily | if you're going to allow NUL bytes in strings you surely want to be able to handle Base64 etc. in general | 16:26:52 |
raitobezarius | I mean you're right | 16:26:53 |
raitobezarius | Perhaps, we should advertise NUL in our bytes lol | 16:27:01 |
emily | Nix32 on the other hand is cursed | 16:27:02 |
K900 | That's a much later problem tbh | 16:27:02 |
raitobezarius | builtins.features.canContainNULInStrings | 16:27:06 |
K900 | And definitely not a convertHash sized problem | 16:27:09 |
emily | AIUI NUL bytes have already been decided to be allowed. | 16:27:22 |
K900 | Like I think having something of this shape is good long term | 16:27:23 |
raitobezarius | NUL bytes were merged, yeah | 16:27:33 |
K900 | But convertHash isn't even the right shape | 16:27:36 |
raitobezarius | Lix HEAD can have binary data now in strings | 16:27:40 |
K900 | Yes but it's not a problem for convertHash shaped things | 16:27:46 |
raitobezarius | (And we eliminated the security issue via a lint) | 16:27:50 |
emily | it seems totally reasonable to want to be able to convert between lock file formats that use SRI vs. base16 in Nix | 16:28:01 |
K900 | Yes but also ehhhhhhhhhhhhhhhhhhh | 16:28:21 |
raitobezarius | emily: Are you satisfied with the Lix proposal? I'm going to context switch to another thing | 16:28:25 |
K900 | Like the endpoint will probably be an FOD | 16:28:28 |
K900 | And FODs accept both | 16:28:34 |
raitobezarius | Do you know when would you like this to happen? | 16:28:35 |
K900 | And should continue to accept both IMO | 16:28:39 |