<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: poettering</title><link>https://news.ycombinator.com/user?id=poettering</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 14 May 2026 21:35:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=poettering" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by poettering in "Lennart Poettering, Christian Brauner founded a new company"]]></title><description><![CDATA[
<p>Yes, I have.</p>
]]></description><pubDate>Tue, 27 Jan 2026 19:08:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46784736</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=46784736</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46784736</guid></item><item><title><![CDATA[New comment by poettering in "Why systemd is a problem for embedded Linux"]]></title><description><![CDATA[
<p>Most of our tools that adjust files work really well offline. systemd-tmpfiles, systemd-sysusers, systemctl and so on all support --root= and --image=.<p>I <i>really</i> don't know what the problem is suppoaed to be.<p>Lennart</p>
]]></description><pubDate>Tue, 05 Nov 2024 21:14:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=42055223</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=42055223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42055223</guid></item><item><title><![CDATA[New comment by poettering in "Varlink – IPC to replace D-Bus gradually in systemd"]]></title><description><![CDATA[
<p>The 64bit issue is certainly an issue, but very much overblown.<p>First of all, in systemd, which is a heavy D-Bus user, we effectively IRL only send integers > 2^53 when we use UINT64_MAX as a special "niche" marker meaning "unlimited"/"unset"/"undefined". But the thing is that JSON has a proper concept for this: the "null" value (or simply not specifying a specific JSON field). Hence, in reasonably clean APIs this is mostly a non-issue.<p>That said, sd-varlink/sd-json (i.e. systemd's implementation of it), of course is 64bit signed and unsigned integer clean when it processes JSON. More-over it automatically handles if you do what the various specs on the internet suggest you do if you have an integer > 2^53: you encode it as decimal value as a string.<p>Would it be better if JSON would have been more precise on this, yes. Is it a big issue? No, not at all.</p>
]]></description><pubDate>Mon, 30 Sep 2024 08:21:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=41694764</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=41694764</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41694764</guid></item><item><title><![CDATA[New comment by poettering in "Varlink – IPC to replace D-Bus gradually in systemd"]]></title><description><![CDATA[
<p>You are writing this as if JSON was a newly invented thing, and not a language that has become the lingua franca of the Internet when it comes to encoding structured data. Well understood, and universally handled, since 1997.<p>A 100 digit number cannot be encoded losslessly in D-Bus btw, nor in the far majority of IPC marshallings on this word.<p>Having done systems-level OS development since 25y or so I never felt the burning urge to send a 100 digit number over local IPC.<p>Not that 100 digit numbers aren't useful, even in IPC, but typically, that's a cryptography thing, and they generally use their own serializations anyway.</p>
]]></description><pubDate>Mon, 30 Sep 2024 08:13:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=41694732</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=41694732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41694732</guid></item><item><title><![CDATA[New comment by poettering in "Varlink – IPC to replace D-Bus gradually in systemd"]]></title><description><![CDATA[
<p>Not really. We use two text based formats for logging: BSD syslog, and systemd's structured logging (which is basically an env block, i.e. a key-value set, with some tweaks). Programs generate text logs, journald reads text logs hence. Programs that read from the journal get the text-based key/value stuff back, usually.<p>(Yes, we then store the structure log data on disk in a binary format. Lookup indexes are just nasty in text based formats).<p>Hence, not sure what the Journal has to do with Varlink, but any IPC that the journal does is text-based, and very nicely strace'able in fact, I do that all the time.<p>[Maybe, when trying to be a smartass, try to be "smart", and not just an "ass"?]</p>
]]></description><pubDate>Mon, 30 Sep 2024 08:10:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=41694711</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=41694711</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41694711</guid></item><item><title><![CDATA[New comment by poettering in "Varlink – IPC to replace D-Bus gradually in systemd"]]></title><description><![CDATA[
<p>Varlink is <i>not</i> a message bus. Hence you should be happy?</p>
]]></description><pubDate>Mon, 30 Sep 2024 05:20:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=41693786</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=41693786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41693786</guid></item><item><title><![CDATA[New comment by poettering in "Varlink – IPC to replace D-Bus gradually in systemd"]]></title><description><![CDATA[
<p>The marshalling cost for JSON is negligible. Yes, it might be a bit slower than GVariant for example, but only by some fractional <i>linear</i> factor. And on small messages (which D-Bus currently always is, due to message size constraints enforced by broker) the difference is impossible to measure. To a point it really doesn't matter, in particular as JSON parsers have been ridiculously well optimized in this world.<p>What does matter though are roundtrips. In Varlink there are <i>much</i> fewer required for typical ops than there are in D-Bus. That's because D-Bus implies a broker (which doubles the number of roundtrips), but also because D-Bus forces you into a model of sending smaller "summary" messages when enumerating plus querying "details" for each listed objects, because it enforces transfer rate limits on everything (if you hit them, you are kicked off the bus), which means you have to refrain from streaming too large data.<p>Or in other words: marshalling is quite an irrelevant minor detail when it comes to performance, you <i>must</i> look at roundtrips instead and the context switches it effects, instead.<p>Using JSON for this has two major benefits: the whole world speaks JSON, and modern programming languages typically pretty natively. And it's directly readable in tools such as strace. With a simple "strace" I can now reasonably trace my programs, which a binary serialization will never allow you. And if you tell me that that doesn't matter, then you apparently live in an entirely different world than I do, because in mine debuggability <i>does</i> matter. A lot. Probably more than most other things.<p>Lennart</p>
]]></description><pubDate>Mon, 30 Sep 2024 05:13:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=41693750</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=41693750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41693750</guid></item><item><title><![CDATA[New comment by poettering in "Backdoor in upstream xz/liblzma leading to SSH server compromise"]]></title><description><![CDATA[
<p>It would make things more secure in this specific backdooring case, since sshd only calls a single function of libsystemd (sd_notify) and that one would not trigger the dlopen of liblzma, hence the specific path chosen by the backdoor would not work (unless libselinux fucks it up fter all, see other comments)<p>Dlopen has drawbacks but also major benefits. We decided the benefits relatively clearly outweigh the drawbacks, but of course people may disagree.<p>I have proposed a mechanism before, that would expose the list of libs we potentially load via dlopen into an ELF section or ELF note. This could be consumed by things such as packagae managers (for auto-dep generation) and ldd. However there was no interest in getting this landed from anyone else, so I dropped it.<p>Note that there are various cases where people use dlopen not on hardcoded lib names, but dynamically configured ones, where this would not help. I.e. things like glibc nss or pam or anything else plugin based. But in particular pam kinda matters since that tends to be loaded into almost any kind of security relavant software, including sshd.</p>
]]></description><pubDate>Sat, 30 Mar 2024 07:42:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=39872711</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=39872711</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39872711</guid></item><item><title><![CDATA[New comment by poettering in "Backdoor in upstream xz/liblzma leading to SSH server compromise"]]></title><description><![CDATA[
<p>Uh. systemd documents the protocol at various places and the protocol is trivial: a single text datagram sent to am AF_UNIX socket whose path you get via the NOTIFY_SOCKET. That's trivial to implement for any one with some basic unix programming knowledge. And i tell pretty much anyone who wants to listen that they should just implement the proto on their own if thats rhe only reason for a libsystemd dep otherwise. In particular non-C environments really should do their own native impl and not botjer wrapping libsystemd just for this.<p>But let me stress two other things:<p>Libselinux pulls in liblzma too and gets linked into <i>tons</i> more programs than libsystemd. And will end up in sshd too (at the very least via libpam/pam_selinux). And most of the really big distros tend do support selinux at least to some level. Hence systemd or not, sshd remains vulnerable by this specific attack.<p>With that in mind libsystemd git dropped the dep on liblzma actually, all compressors are now dlopen deps and thus only pulled in when needed.</p>
]]></description><pubDate>Fri, 29 Mar 2024 18:04:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=39867126</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=39867126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39867126</guid></item><item><title><![CDATA[New comment by poettering in "Linux and TPMs with systemd measured boot [video]"]]></title><description><![CDATA[
<p>Nothing changed. You are just a victim of FUD on the Internet, my friend. That's all.</p>
]]></description><pubDate>Sun, 05 Nov 2023 21:01:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=38155603</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=38155603</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38155603</guid></item><item><title><![CDATA[New comment by poettering in "Linux and TPMs with systemd measured boot [video]"]]></title><description><![CDATA[
<p>Yes, a tpm2 enrollment takes up one slot, the recovery key another, a fido2 yet another, a pkcs11 key yet another and a password yet another in any combination/subset you like.</p>
]]></description><pubDate>Sun, 05 Nov 2023 21:00:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=38155594</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=38155594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38155594</guid></item><item><title><![CDATA[New comment by poettering in "Linux and TPMs with systemd measured boot [video]"]]></title><description><![CDATA[
<p>With systemd you can enroll any string you want as "PIN" for tpm. There are no restrictions. Can be long, can be alphanumeric, contain weird chars, up to you.</p>
]]></description><pubDate>Sun, 05 Nov 2023 20:53:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=38155536</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=38155536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38155536</guid></item><item><title><![CDATA[New comment by poettering in "Linux and TPMs with systemd measured boot [video]"]]></title><description><![CDATA[
<p>systemd has a similar logic, i.e. a recovery key concept, but we made sure you can type it in wherever a LUKS password would work too, even on systems where systemd is not available but LUKS ist. The recovery key is output in yubikey's modhex alphabet which means you can type it in on many keyboards even without setting a keymap first, and will work. We also output it as qr code, in case you want to scan it off. All on all it should be as robust as a recovery key could be.</p>
]]></description><pubDate>Sun, 05 Nov 2023 11:17:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=38150121</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=38150121</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38150121</guid></item><item><title><![CDATA[New comment by poettering in "Linux and TPMs with systemd measured boot [video]"]]></title><description><![CDATA[
<p>To my knowledge Ubuntu does not use the TPM2 PCR logic systemd provides at all, but their own.</p>
]]></description><pubDate>Sun, 05 Nov 2023 11:14:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=38150109</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=38150109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38150109</guid></item><item><title><![CDATA[New comment by poettering in "Fun with Kermit and ZMODEM over SSH"]]></title><description><![CDATA[
<p>Still would love if desktop terminal emulators would implement the zmodem receiver side, so that you can ssh into some host of your choice and just type "sz" to copy arbitrary files of your choice onto your local system.</p>
]]></description><pubDate>Tue, 25 Apr 2023 19:20:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=35705328</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=35705328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35705328</guid></item><item><title><![CDATA[New comment by poettering in "Systemd-Homed: Systemd Now Working to Improve Home Directory Handling"]]></title><description><![CDATA[
<p>We actually use something like the above. But thats not sufficient since we cannot set up the PAM session fully if $HOME is not accessible because we can't acquire a password for it...</p>
]]></description><pubDate>Mon, 23 Sep 2019 21:07:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=21053676</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=21053676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21053676</guid></item><item><title><![CDATA[New comment by poettering in "Systemd-Homed: Systemd Now Working to Improve Home Directory Handling"]]></title><description><![CDATA[
<p>Uh oh. This is implemented via a PAM module too. But it does substantially more than pam_mount so not sure what you want. It's like claiming that UNIX 'find' is NIH because 'ls' already can show directory listings.</p>
]]></description><pubDate>Mon, 23 Sep 2019 21:05:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=21053643</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=21053643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21053643</guid></item><item><title><![CDATA[New comment by poettering in "Systemd-Homed: Systemd Now Working to Improve Home Directory Handling"]]></title><description><![CDATA[
<p>Well. How frequently do you update your user record in /etc/passwd? I mean, if you do this a million times per second then maybe your are doig something wrong, no? I update my user record maybe every year when I update my password, but if you do that once per ms then uh oh</p>
]]></description><pubDate>Mon, 23 Sep 2019 21:02:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=21053611</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=21053611</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21053611</guid></item><item><title><![CDATA[New comment by poettering in "Systemd-Homed: Systemd Now Working to Improve Home Directory Handling"]]></title><description><![CDATA[
<p>Yes this is a problem. To address this systemd-homed is careful to validate the user record enclosed in the volume  first (which includes checking its signature against the keyring of accepted record signers) and checks whether the provided user password can unlock it. Only after this validation and that the fs actually matches the record we will mount it. Thus as long as the employer trusts its employees enough things should be reasonably safe.<p>(To make this happen the user record is embedded into the LUKS2 header metadata so that we can use it before mounting the fs)</p>
]]></description><pubDate>Mon, 23 Sep 2019 20:56:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=21053536</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=21053536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21053536</guid></item><item><title><![CDATA[New comment by poettering in "Systemd as tragedy"]]></title><description><![CDATA[
<p>Well, this boils down to: in a modern operating system, is it good design that an unprivileged user who logs in once can consume arbitrary runtime resources uncontrolled, unbounded forever, even after logout just because they decided to mask SIGHUP? I think not, I think the system should default to behaviour where unprivileged processes are clearly lifecycle bound, and when the user's sessions end they end comprehensively. I mean, other OSes don't really allow this unprivileged either, for good reasons: the lifecycle of the unpriv user's processes should be controlled by privileged code, and clearly be defined by the act of logging in and logging out in its lifetime.<p>It's entirely OK if the admin then opts out specific users or even all users from this behaviour, i.e. if a privileged players decides to liberalize unbounded, unlifecycled resource consumption for unprivileged players. But a default where unprivileged code can just stick around uncontrolled and consume as much as it wants forever is just a strange choice security wise.<p>i.e. I think the fact that SIGHUP masking is unrestricted, i.e. is not subject to privilege checks is the problem really. Something is unpriv by default that should be priv by default. And that's pretty much what this option in systemd provides you with.</p>
]]></description><pubDate>Tue, 29 Jan 2019 14:22:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=19026458</link><dc:creator>poettering</dc:creator><comments>https://news.ycombinator.com/item?id=19026458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19026458</guid></item></channel></rss>