Debian maintainer unilaterally strips KeepassXC package of a lot of features
Debian maintainer unilaterally strips KeepassXC package of a lot of features
Team KeePassXC (@keepassxc@fosstodon.org)
Debian maintainer unilaterally strips KeepassXC package of a lot of features
Team KeePassXC (@keepassxc@fosstodon.org)
Storm in a teacup, as tends to be the norm on the internet.
Not only this is nothing new and nothing unexpected to happen in Sid of all places, but it's also something that helps bring keepassxc more in line with packaging guidelines on Debian. They already have lots of packages, both of the mutually-exclusive kind and of the complementary kind, with "foo-full", "foo-minimal", "foo-data" etc naming. p7zip and nginx of all things are quite interesting examples.
Plus, the author of the post sensationalizes the title to brigade the issue.
All that said:
keepassxc-minimal
, keepassxc-full
and the retained name keepassxc
as a virtual package name. keepassxc
to (proposed) keepassxc-full
. keepassxc-data
would be needed. Are there potential cases where one would want to switch between "-full" and "-minimal" or viceversa without the system seeing a software uninstallation in the meantime?Debian sid user here, and long time keepassxc user
Debian maintainer didnt communicate this well, but i agree that i dont want my password manager having any access to networking or interacting with anything other than the clipboard.
I'm not a developer or a security expert. This is just my gut feeling talking
Exactly. And if you want those features, you install the full version. Packages can break in sid, that is the whole point of it.
I am also running sid and keepassxc and I see no problem with this change. In fact it seems like a very sane thing to do, and something I wished more packages did.
The Debian maintainer is probably a volunteer. Can we not troll people who make Debian and Foss possible?
To be fair, it looks like the debian maintainer started the unfriendly discourse by calling the work of other FOSS devs "crap"
Everyone needs to chill out, otherwise we have another potential XZ social engineering attack
It would be catastrophic for something like keepass to have a malicious maintainer take over
You have a point to some degree, yet I still think it is defensible to make this post. He majorly altered software
He then went on to defend that decision in a less-than-graceful way before announcing there will be a second, new package.
But, to make it clear: I certainly don't approve of hate directed toward him and I don't have a personal issue with him.
He is paid by Canonical.
Explains some of the hubris.
The response by the debian maintainer responsible for this change to the keepassxc developer is an actual disgrace
Request to revert change:
@julian-klode this needs to be reverted asap. This is now our fourth bug report because of the decision to neuter the base KeePassXC package in Debian. Put the base package back where it was and create a keepassxc-minimal.
Response by debian maintainer:
julian-klode commented 9 hours ago: I'm afraid that's not going to happen. It was a mistake to ship with all plugins built by default. This will be painful for a year as users annoyingly do not read the NEWS files they should be reading but there's little that can be done about that. It is our responsibility to our users to provide them the most secure option possible as the default. All of these features are superfluous and do not really belong in a local password database manager, these developments are all utterly misguided. Users who need this crap can install the crappy version but obviously this increases the risk of drive-by contributor attacks.
The whole github issue is worth a read, as it actually explains the issue with the change.
Edit: as i gave the debian maintainers view visibility i wanted to give a quick summary of the keepassxc point of view as well:
He's not wrong but he sounds like a jackass. A minimal version sounds better than removing features that are present and used by people.
At first i thought some reasons sounded reasonable too, but after reading the github issue i changed my mind. See my edit for reasons.
users annoyingly do not read the NEWS files they should be reading
Devs having too much time.
If I were maintaining a package and got a "request" worded like that I would tell the person to go fuck themselves. It's extremely rude to order people around like that.
Of anything the maintainer was extremely courteous. I will be extremely wary of KeepassXC in the future given that its developers behave like this. As far as I'm concerned this is a clear cut case of maintainer bullying and I hope Debian sends a signal by kicking their -full package out completely.
Aren't the networking features just toggles in the settings already? I remember seeing several of the mentioned features in there.
Yes, these are off-by-default features.
Ah, I was wondering why I couldn't get it to detect my yubikey. I saw keepassxc-full in the repo but that also didn't seem to work. I'll have to revisit it.
Ι don't agree with what they did. They removed browser integration, not just the "favicon" thing. If this was a problem for normal users, well, normal users would just use Firefox's built-in password manager, not keepassxc. That change made the app useless to me, and going forward it will be a headache for NEW users who won't know of the -full package. It was a bad decision.
This is the kind of crap that makes me glad flatpak and such exist. I don’t want a maintainer making arbitrary decisions like this, it adds unpredictability and platform inconsistency.
A similar issue I face is that on Debian the python stdlib well.. isn’t all standard. In particular they split off the venv package, and it’s an extra step that adds unnecessary complication. No other Linux distros or other OS do this, it’s so frustrating. I guess someone is super happy they saved a few hundreds kilobytes of disk space though.
I guess someone is super happy they saved a few hundreds kilobytes of disk space though.
Yes. All the people basing docker images off if debian, and trying to get them as small as possible. The splitting up of packages, allows people to only pull in what they need.
Sorry I was way off in my assumption that the venv package is a few hundreds kilobytes. apt is reporting 6144 bytes. 6 kilobytes. Installing python on the base bookworm image is 38.3MB. If you’re already installing python, it’s a rounding error. Also they have a separate python3-minimal package (which saves a laughable 200kb), why are they de-featuring the regular python version when they also have a separate minimal version? It makes zero sense. The python3 package should contain the entire python standard library. If it were supposed to be an addon, it wouldn’t be part of the standard library.
I don't think many docker images out there will have keepassxc installed though.
If you base your Docker images on a full distribution then that is entirely your fault. People usually use specialized distributions for that.
You could even bootstrap your needed tooling from Busybox.
This is the kind of crap that makes me …
… not use Debian.
It’s work, I don’t get much of a choice here. I do get paid for the hassle though.
remove ALL features from it
A password manager which only manages passwords? Scandal!
I'm sorry for the dev who obviously isn't happy with this decision, but it feels a bit blown out of proportion IMO
well that's annoying, thanks for letting me know, will make sure my flow is adjusted
Don't debian packages have use flags like gentoo does ? Surely it's not hard to compile the binary with every possible combination of build flag in 2024 ?
There's a keepassxc-full package that comes with all the functionality. Anyhow, Debian does not have the concept of USE flags, these don't make sense in a binary-based distribution.
Good to know. Thanks for the heads up. Switching to KeePassXC-full
when it becomes available.
Rip keep ass xc emacs style defaults.
Keepassxc systemd integration when?
They didn't "strip" anything, they've split it into 2 variants, a package without networking features (
-DWITH_XC_NETWORKING=OFF
) and a package with them, because it's considered a privacy issue to have your password manager phone home and fetch favicons and so on. The packages will be calledkeepassxc
andkeepassxc-full
going forward.KeepassXC replied on that thread that it wasn't just the privacy problematic networking that was removed:
https://fosstodon.org/@keepassxc/112417651131348253
I expect the KeepassXC people are mostly bothered by the naming of the package because the version called "keepassxc" is now the basic one. Anyway, the maintainer has offered to call them
-minimal
and-full
and to make "keepassxc" a metapackage that pops up a debconf dialog telling users that install it to choose one. There is precedent with other complex packages that are split into basic and full. This should solve things nicely for everyone.Afaiu it, he added a second package with (quote) "all the crap" later, after the storm.
And no, it wasn't just the favicons feature that was removed (which like ... is that really such a big privacy issue that you need to remove it from the binary?). Support for Yubikey was removed as well — which is not a privacy issue. The reasoning mentioned by the Debian maintainer is that all of these features might turn out to be security issues in the long run. Thus, in his view, a password manager application must do nothing but provide access to the database within the app.
I find it an interesting example of diverging upstream, maintainer, and user interests in any case.
I find it a lot of unnecessary fuss over unstable. Sid is supposed to make breaking changes, you offer feedback and you follow it through politely. The next Debian stable is one year away, this is not an urgent matter
Fetching a favicon means raising a network connection with a predictable endpoint. That's already three concerns (four on the modern internet) to handle security-wise, and it's absolutely an unneeded feature. Favicons could just be shipped on something like
keepassxc-data
orkeepassxc-contrib
to handle locally, no need to raise a network call.I highly recommend reading the Github thread as this is not at all an accurate representation. These features you're talking about are off by default. Removing them from the existing package is just breaking existing users. There's already a report from a user who can't access their passwords because yubikey support was suddenly removed. You don't do that to users just because you suddenly develop an opinion as a package maintainer that you feel is important. There was no dialogue, no consideration and a very rude, dismissive attitude of Julian.
https://github.com/keepassxreboot/keepassxc/issues/10725
Yeah, well, this is Sid. It's called unstable for a reason. You have to read the changelogs or bad things will happen.
By the time it lands in stable it will most likely have a debconf dialog warning users and letting them transition smoothly to the version they want.