The Debian init system general resolution returns
The Debian init system general resolution returns
Posted Oct 17, 2014 20:56 UTC (Fri) by jspaleta (subscriber, #50639)In reply to: The Debian init system general resolution returns by mgb
Parent article: The Debian init system general resolution returns
Lets make sure we've concluded the on-topic argument before moving on to the off-topic one about the security implications of relying on dbus.
you admit that logind does not in fact depend on anything being running on pid=1 Right? And you rescind your previous criticism that GNOME or anything else which depends on the logind API for functionality is implicitly dependent on any particular init being pid=1 right? I'll just go ahead and assume you've answered yes to those questions and we'll move on safe in the knowledge that you previously stated issues about high level software relying on a specific codebase running as pid=1 have now been address.
So... reliance on dbus in pid=1 as a security risk over other available ipc mechanisms available. I do not share your opinion that having pid=1 rely on dbus for IPC is an inherent security weakness. I personally look forward to the day when kdbus is a standard piece of kit for every process to rely on for inter process communication from pid=1 to pid=infinity+1.
Anyways... for everyone who agrees with you about the implications of relying on dbus in pid=1, then sysvinit with shim and cgmanager should work for you to keep logind for higher level bits of to rely on for now. You and those who agree with your opinion would of course be better off replacing shim with a fully independently developed codebase that implements the stable systemd dbus API.
As shim is just a fork of systemd and I don't see that being sustainable long term because users of that fork will be continually fighting against implementation decisions they don't agree with in the mainline codebase. That's not where you want to be.
Better to start fresh and build the implementation that works more consistently with your world view about the security risk of dbus. I've sort of hinted at extending runit with a helper to talk systemd APIs, as a way forward for you and people who share your opinion about the security of dbus while still keeping logind working. runit is in my estimation the best choice for you moving forward, as even upstart suffers from your perceived dbus over-reliance so you shouldn't even bother with resurrecting and extending it. The point being, logind will still operate as long as your independently developed service implementation running pid!=1 as long as it speaks the expected documented APIs logind expects to see.
-jef
Posted Oct 17, 2014 21:00 UTC (Fri)
by mpr22 (subscriber, #60784)
[Link] (3 responses)
Posted Oct 17, 2014 21:02 UTC (Fri)
by jspaleta (subscriber, #50639)
[Link] (2 responses)
-jef
Posted Oct 17, 2014 21:13 UTC (Fri)
by mpr22 (subscriber, #60784)
[Link] (1 responses)
A few. To be precise, two .c and three .h files (out of the total of sixteen files comprising the C source code), which contain rather generic helper functions and look to be rather extensively pruned compared to wherever in systemd they came from, too. This really, really isn't a "fork of systemd" by any reasonable definition of the phrase.
Posted Oct 17, 2014 22:06 UTC (Fri)
by jspaleta (subscriber, #50639)
[Link]
Either way I hope debian is able to sustain it and cgmanager, even if Canonical looses interest in maintaining either with staffed manpower. As clearly these two codebases are going to be critical if Debian is serious about multi-init support. GNOME might be today's firefight..but this is just a prelude to the much more difficult discussion concerning container support and the cgroup management question bound up in that. And containers go right to the heart of Debian's relevance in the server workloads and a much more interesting issue for the project long term I think. But I digress.
-jef
A cursory inspection of the systemd-shim source tree indicates that systemd-shim is not a fork of systemd. It is an independent reimplementation of a subset of systemd's functionality, which imports a few source files from the systemd code base.
The Debian init system general resolution returns
The Debian init system general resolution returns
The Debian init system general resolution returns
The Debian init system general resolution returns