Skip to content
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

openntpd: fix constraints feature on NixOS #30987

Merged
merged 1 commit into from Nov 3, 2017

Conversation

wizeman
Copy link
Member

@wizeman wizeman commented Oct 30, 2017

Motivation for this change

The OpenNTPD constraints feature requires a valid chain of SSL
certificates, but the default path in openntpd didn't match the one in
NixOS.

Unfortunately the configured certificate path becomes hardcoded into the
binary, so this feature will likely still fail on other
distributions/operating systems, unless the path coincides with the
NixOS path or the user sets up a symlink.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

The OpenNTPD constraints feature requires a valid chain of SSL
certificates, but the default path in openntpd didn't match the one in
NixOS.

Unfortunately the configured certificate path becomes hardcoded into the
binary, so this feature will likely still fail on other
distributions/operating systems, unless the path coincides with the
NixOS path or the user sets up a symlink.
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
"--with-privsep-user=${privsepUser}"
"--sysconfdir=/etc"
"--localstatedir=/var"
"--with-cacert=/etc/ssl/certs/ca-certificates.crt"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you test and see if this still works with "${cacerts}/etc/ssl/certs/ca-bundle.crt". That would solve the problem on other operating systems.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe it would, because the cacerts package contains a fixed set of standard certificates, but other operating systems may have a different set of certificates, and the user may even have added (or removed) their own certificates to the ones that came with their operating system.

@Mic92
Copy link
Member

Mic92 commented Nov 3, 2017

also backported to 17.09.

@wizeman wizeman deleted the u/fix-openntpd-cert branch December 1, 2017 14:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants