libpathrs icon indicating copy to clipboard operation
libpathrs copied to clipboard

C-friendly API to make path resolution safer on Linux.

Results 40 libpathrs issues
Sort by recently updated
recently updated
newest added

This was only stabilised in Rust 1.80.0, so this might cause issues when building on older distributions (depending on when libpathrs starts getting packaged). Signed-off-by: Aleksa Sarai

impact/msrv

cgo function calls are quite expensive (~20x) and so there might be an argument that we should try to do some Go assembly hacks to try to avoid using cgo....

ideas welcome

Lennart suggested this would be something useful since it's quite tricky (though it also requires some kernel work to get this to be completely atomic).

upstream/linux

ErrorKind is quite useful for our tests and most library users would probably want it for some uses, but it probably needs to have a better-designed way of distinguishing errors...

api/rust

`ErrorImpl::InvalidArgument` should be seen as an `EINVAL` from the C API, for instance.

api/cffi

[Al Viro responded favourably](https://lwn.net/Articles/934460/) to blocking mounts over magic-links (or rather, mounts over "ethereal" components like everything in `/proc/self/*`), and this is fairly easy to implement. This would eliminate all...

security
upstream/linux

It might actually make sense to provide a `libpathrs-sys` crate which uses the `cdylib` to provide the regular `libpathrs` API. This is because the Rust crate is licensed LGPLv3-or-later, which...

api/cffi
api/rust

In order to avoid compatibility issues in the future, we should make use of symbol versioning from the first release in order to avoid having to bump the SONAME when...

api/cffi

While the new API makes error management much nicer, some users might just want to get raw errnos. We can very easily switch to returning raw errnos from a type...

At the moment, everything is hand-rolled. Since the first versions of this library (in 2019), there are now quite a few crates to help make safe C-friendly FFI bindings. We...

api/cffi