libsyd: SydB☮x /dev/syd interface implementation
libsyd is a comprehensive C library designed for interfacing with the
SydB☮x environment. It offers functionalities for managing sandbox
states, and facilitating runtime configuration and interaction with the
Sydb☮x sandboxing environment.
syd.py is a
Python module that uses ctypes to use libsyd.
- Sydb☮x Manual: https://git.sr.ht/~alip/syd
- LibSyd API Documentation: https://libsyd.exherbolinux.org
- Syd.Py API Documentation: https://pysyd.exherbolinux.org
Features
- Interact with the
/dev/syddevice for sandbox management. - Straightforward integration with C and Python applications.
Prerequisites
- Rust (1.65 or later)
- Python 3.x (if using Python bindings)
Building and Installing from Source
To build and install libsyd from source, follow these steps:
- Clone the repository:
- Use the Makefile which utilizes Cargo to build
- Switch to root and install
sudo make install
BUGS
Hey you, out there beyond the wall,
Breaking bottles in the hall,
Can you help me?
Report bugs to SydB☮x's bug tracker at https://todo.sr.ht/~alip/syd/:
- Always be polite, respectful, and kind: https://css-tricks.com/open-source-etiquette-guidebook/
- Keep your final change as small and neat as possible: https://tirania.org/blog/archive/2010/Dec-31.html
- Attaching poems with the bug report encourages consideration tremendously.
COPYRIGHT
- SPDX-License-Identifier: LGPL-3.0-or-later
- Copyright © 2023 Ali Polatel alip@chesswob.org
ChangeLog
3.0.1
- go: initial libsyd Go bindings
3.0.0
- Define
LockStateenum andLOCK_OFF,LOCK_EXECandLOCK_ONconstants. These were already defined for perl, and python so this makes the C library compatible. - use itoa crate to make
syd_loadfunction simpler and more efficient. - python: Implement the new function load.
- perl: Implement the new function load.
- Implement the new function syd_load.
- python: Implement new functions panic and reset.
- perl: Implement new functions panic and reset.
- Implement new functions syd_panic() and syd_reset().
- perl: fix argument handling of the
execfunction - perl: new constant
$syd::LIBSYD_PATHpoints to the path of libsyd.so. - Start using
nixto calllstatrather than Rust std. - Define
__all__forpysydsuch thatfrom syd import *becomes practical.
3.0.0-alpha.6
- Initial Perl bindings
3.0.0-alpha.5
- Fix tests
3.0.0-alpha.4
- Drop cbindgen dependency, include
syd.h
3.0.0-alpha.3
- Add build instructions to the readme
3.0.0-alpha.2
- Fix a problem with Doxygen API documentation generation
3.0.0-alpha.1
- Initial implementation of libsyd & syd.py






