-
-
Notifications
You must be signed in to change notification settings - Fork 15.5k
nixos/roundcube: security improvements #77532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fantastic work! Thanks for doing this.
I wonder if @Ma27 has an existing roundcube
instance that could be used for testing... 🤔
Thanks @symphorien! Let's see what @Ma27 has to say and go from there. Looking over the code you get the 👍 from me, though. Great work! |
Hoo thanks @symphorien ! I'll test now ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested my old config, the new one with the passwordfile and the peer authentication : it all works !
Great work 👍
I do :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for improving this module! Unfortunately I fonud some issues that should be addressed first :)
des_key is only used for cookies apparently. So changing it only logs users out.
Not necessarily: I observed on my personal instance that I didn't get logged out, but I couldn't connect to the mailservers (and had to hit "Logout" manually).
If the database is local, use postgres peer authentication. Otherwise, use a password file. Leave database initialisation to postgresql.ensure*. Leave /var/lib/roundcube creation to systemd. Run php upgrade script as unpriviledged user.
Thanks for your review. I fixed the syntax errors you found. I don't know what to do about the |
The php installer creates a random one, but we bypass it, so we have to create one ourselves. This should be backward compatible as encryption is used for session cookies only: users at the time of the upgrade will be logged out but nothing more. https://github.com/roundcube/roundcubemail/blob/259b7fa0650fea9320b38cb17c4e80497acae7a3/config/config.inc.php.sample#L73
fixes this warning: WARNING: Mimetype to file extension mapping doesn't work properly!
On freenode, I was advised to empty the table called |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Deployed to my roundcube instance and confirmed that truncating the session table if no des-key exists works fine 👍
The changes seem fine to me and since there are two more 👍, this should be good to go, so thanks a lot!
nixos/roundcube: add release notes for #77532
Motivation for this change
Things done
postgresql.ensure*
./var/lib/roundcube
creation to systemd.This should be backward compatible:
The nixos test still passes, with no modification.
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)cc @Ma27 @globin @Vskilet