-
-
Notifications
You must be signed in to change notification settings - Fork 11
Support Matrix
InitWare's features vary across its supported platforms. Enumerated below are details on which features are supported on which platforms:
| Platform | Min. ver. | Notify | Tracking | System | Auxiliary | Session |
|---|---|---|---|---|---|---|
| NetBSD | 9.0 | Datagram/Implicit | CGrpFS | Yes | Yes | Yes |
| FreeBSD | 13.0 | Datagram/Implicit | CGrpFS | Yes | Yes | Yes |
| DragonFly BSD | 5.8 | Datagram/Explicit | None [3] | No | Not recently tested | No |
| OpenBSD | 6.9 | Insecure [1] | CGrpFS | No | Yes | No [2] |
| macOS | 10.12 | Insecure [1] | CGrpFS | No | Not recently tested | No |
| GNU/Linux | 3.6 | Datagram/Implicit | CGroup | Yes | Yes | Yes |
| [1] | (1, 2) OpenBSD and macOS have no way to determine the credentials of the sender of a datagram in the UNIX domain. |
| [2] | OpenBSD doesn't use PAM, but rather BSD/OS's BSD Auth subsystem. We maun write a BSD Auth module to handle session setup. |
| [3] | DragonFly BSD doesn't have FUSE which CGrpFS uses. A port of CGrpFS to the PUFFS framework will help alleviate this in the future. |
Note that while InitWare was ported to macOS and DragonFly BSD, it has not recently been tested on these platforms; it may not build or work right at the moment.
This is the kind of sd_notify(3) interface supported. The three kinds are:
- Datagram/Implicit: Uses a datagram socket with implicit credential passing.
- Datagram/Explicit: Uses a datagram socket with explicit credential passing.
- Insecure: Uses a datagram socket without credential passing. Insecure as the sender reports their own PID, and this could be falsified.
Datagram/Implicit is binary-compatible with systemd's interface, while Datagram/Explicit and Insecure are source compatible with systemd's interface only if the provided sd_notify(3) functions are used.
Whether the service manager can track processes across forks, including notification on their exit. Either:
- CGroup: CGroups are used.
- CGrpFS: The CGrpsFS FUSE filesystem is used, which internally uses Kernel Queues, attaching a PROC event filter to watched processes to provide tracking of forks and exits.
- None: No advanced process tracking is available.
Whether InitWare may run as system manager.
Whether InitWare may run as an auxiliary service manager under another init system.
Whether InitWare's session manager may run.