4 ms·
The article states that Got will use unveil and pledge [1] to harden to codebase. This is not supported in linux, so it's unlikely that ports with similar guara
by hsaliak 7y ago
The article states that Got will use unveil and pledge [1] to harden to codebase. This is not supported in linux, so it's unlikely that ports with similar guarantees will be straightforward. It will not replace git in general.
[1] https://www.openbsd.org/papers/BeckPledgeUnveilBSDCan2018.pdf https://www.openbsd.org/papers/BeckPledgeUnveilBSDCan2018.pd...
- tom_mellior 7y agoNewbie question: For porting to Linux, can't you just remove (#ifdef out, or something) the pledge and unveil calls? You would no longer get the guarantees, but aren't these similar to assertions in that once you have a well-tested program you can have some certainty that you wouldn't violate the pledges?
- hsaliak 7y agoThe goal of something like pledge/unveil is to harden a carefully written program from being exploited, so it has a role to play at runtime. Asserts are used for program invariants, so checking them at runtime is less important. So the big problem with ifdefing them out is that you no longer get these guarantees. Linux has seccomp that is similar in functionality, so the guarantees can be ported over - it's just going to take effort.
- wahern 7y agoseccomp doesn't support file paths, while pledge and unveil do. That makes a huge difference.