4 ms·
Capsicum is dead outside of FreeBSD, the Linux port went nowhere, and in the handful of places where it is used in FreeBSD base, it's not even utilizing capabil
by notaplumber 7y ago
Capsicum is dead outside of FreeBSD, the Linux port went nowhere, and in the handful of places where it is used in FreeBSD base, it's not even utilizing capabilities to its full potential. It wasn't even enabled by default for many years, until 11 or 12?
Meanwhile pledge(2) is protecting a large percentage of the OpenBSD base system, something like 85/90% of all programs. And unlike Capsicum, it is "practical" for developers. And important ports like archivers, and web browsers. The Capsicum project never shipped the much touted Capsicum-ized chrome, but OpenBSD has pledge/unveil chrome packages by default.
- anaphor 7y agoThe point is that they shouldn't be confused as having the same goal. The reason object capabilities are so difficult to integrate is that you basically have to refactor all of your software to use a different style of programming. I don't think that means that pledge is somehow superior. They do two completely different things. For an example of an active project using ocaps see: https://fuchsia.googlesource.com/fuchsia/ https://fuchsia.googlesource.com/fuchsia/ https://sel4.systems/ https://sel4.systems/
- notaplumber 7y agopledge(2), and the traditional OpenBSD privilege dropping model by which pledge(2) expands upon, is demonstrably the superior model by which developers can easily understand and use to design secure programs. Simple interfaces always beat more complicated ones.