-
-
Notifications
You must be signed in to change notification settings - Fork 16.6k
nordvpn: init at 4.0.0 #406725
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
base: staging
Are you sure you want to change the base?
nordvpn: init at 4.0.0 #406725
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.
Hello,
Thanks for your first PR.
I made some feedback, let me know if you need some help.
For such a security relevant package such as a vpn software, we should build from source if possible. This would also allow us to patch out quirks such as relying on /usr |
Your claims about salts are valid and correct! My earlier statement was based on an incorrect misunderstanding, and I've updated the comment accordingly. Another way to address quirks is to make changes directly in the NordVPN repository, which was my implicit assumption for the next release. I could update this to build from scratch, but I don’t see the added security benefit. All other Linux distributions download from |
You are right that most distributions fetch the However, the key issue here is trust and verifiability. At the moment, there's no reliable way to verify that the binaries provided on One of the strengths of Nix is its focus on reproducibility. Building from source allows us (most of the time) to produce reproducible outputs. This enables a verifiable 1-to-1 mapping between the source code and the resulting binaries, which significantly improves the security of the software supply chain. Fortunately, thanks to recent community efforts, we’re getting close to being able to build the client fully from source. That’s why I believe it’s worth pushing in that direction. |
Gotcha. A malicious attacker might somehow tamper with their binaries. Building from source is the secure way to go. Ok, will do, thanks! |
Modified the package to build from source instead of extracting the .deb file. Verified that core features function correctly. Thank you all for your time! |
6a79c37
to
30f70e6
Compare
I've reduced privileges by using a dedicated Additionally, the One more thing, Thanks again for the review! |
Requesting security team review due to the pinned libxml2 with known vulnerabilities fixed in the default version. |
To test, one may add the following to configuration.nix
fwiw - "pinned libxml2" change looks similar to these: one, two, three. |
Thanks for the reviews everyone! |
Don't forget to update the commit message accordingly. |
When can we expect this PR in unstable? |
This means @different-error can now use that libxml version:
|
Dumb answer: when it will be done and merged? No, but more seriously, it's difficult to evaluate such questions. At the moment, I think the author is waiting for #406725 (comment), and then it will be re-evaluated. There's also a minor conflict that need work, so, once all of this will be fixed, I guess the review process will continue. |
Unfortunately #425387 did not contain the libxml2_13 changes found in #421740. The master branch currently does not contain libxml2_13 package. Maybe @drupol @leona-ya can shed insights on expected timeline? |
Oh wait damn, indeed you are right, missed that staging cycle by two days, i missed that. |
I face some difficulty atm. I cannot build staging locally. Running the tests suite or building the VM either fails or consumes too much memory. You can find these changes in my fork here. Since I cannot build staging, I cannot push my changes to this PR. I intend to try every so often, but worst case I can change base back to master once libxml2_13 merges. |
Looks like |
Add the popular NordVPN to NixOS. Tested using the following configuration:
The configuration was tested by running:
There is another PR (#220616) for NordVPN, which is over two years old and has been stale for a year. Additionally, there are issues requesting NordVPN support for NixOS here and here.
I chose to extract the .deb package instead of building from source
to avoid modifying or leaking the salt. Meshnet is not yet supported, but core NordVPN features work. I’ll create another PR once the Meshnet issues are resolved.Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.