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

3proxy: init at 0.8.13 #67507

Merged
merged 4 commits into from Dec 19, 2019
Merged

3proxy: init at 0.8.13 #67507

merged 4 commits into from Dec 19, 2019

Conversation

misuzu
Copy link
Contributor

@misuzu misuzu commented Aug 26, 2019

Motivation for this change

New package

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option 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 nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Notify maintainers

Copy link
Member

@balsoft balsoft left a comment

Choose a reason for hiding this comment

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

LGTM!

pkgs/applications/networking/3proxy/default.nix Outdated Show resolved Hide resolved
@balsoft
Copy link
Member

balsoft commented Aug 26, 2019

@GrahamcOfBorg build _3proxy

@mmahut
Copy link
Member

mmahut commented Aug 27, 2019

@GrahamcOfBorg build _3proxy

@misuzu
Copy link
Contributor Author

misuzu commented Aug 30, 2019

I have a module for 3proxy. Should i push it here or wait for this pull request to by merged?

Copy link
Contributor

@alexarice alexarice left a comment

Choose a reason for hiding this comment

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

Builds with nix-review

@mmahut
Copy link
Member

mmahut commented Oct 10, 2019

@misuzu feel free to include it here, as well as the test for the module.

@GrahamcOfBorg build _3proxy

@mmahut
Copy link
Member

mmahut commented Oct 11, 2019

@GrahamcOfBorg test 3proxy

@mmahut mmahut requested a review from aanderse October 11, 2019 08:28
Copy link
Member

@aanderse aanderse left a comment

Choose a reason for hiding this comment

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

Impressive first package. You've done a great job here!

Ignore all other 3proxy options and load configuration from this file.
'';
};
users = mkOption {
Copy link
Member

Choose a reason for hiding this comment

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

I don't like options like this because it promotes bad user behavior and serves as more examples to other nixos developers on why it is ok to store secrets in the nix store (hint: it is not).

You have a usersFile option which covers the required functionality in a relatively simple way. What I'm suggesting is that you remove the users option in favor of usersFile. People who are entirely insistent on storing secrets in the nix store (or just want to quickly test with dummy data) are still free to write out something like:

services._3proxy.usersFile = pkgs.writeText ''
  user aanderse:CL:test
'';

I want to make it very clear this is just my opinion and not required in order to have this PR merged.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed.

nixos/modules/services/networking/3proxy.nix Show resolved Hide resolved
nixos/modules/services/networking/3proxy.nix Show resolved Hide resolved
type = types.nullOr types.lines;
default = null;
description = ''
Extra configuration, appended to the 3proxy configuration file.
Copy link
Member

Choose a reason for hiding this comment

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

Please include link to upstream documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

Copy link
Member

Choose a reason for hiding this comment

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

Please wrap links like so <link xlink:href="https://github.com/z3APA3A/3proxy/wiki/3proxy.cfg"/> for easy clicking.

Copy link
Contributor Author

@misuzu misuzu Oct 13, 2019

Choose a reason for hiding this comment

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

Done.

nixos/modules/services/networking/3proxy.nix Show resolved Hide resolved
type = types.nullOr types.lines;
default = null;
description = ''
Extra configuration for service.
Copy link
Member

Choose a reason for hiding this comment

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

As someone who has never used this program I would appreciate an explanation of what you put here, possibly including a link to the relevant section of upstream documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@misuzu
Copy link
Contributor Author

misuzu commented Nov 11, 2019

Rebased to fix merge conflict.

@aanderse aanderse dismissed their stale review November 12, 2019 01:26

Unable to review at this time

@aanderse
Copy link
Member

Sorry, I'm unable to continue with a review at this time. Ping @mmahut in case he is available.

@7c6f434c
Copy link
Member

@volth @mmahut it looks like your comments have been addressed, right?

@misuzu misuzu requested a review from volth November 27, 2019 12:32
@7c6f434c
Copy link
Member

Note that it looks like there is a Perl → Python NixOS test migration ongoing right now, so in future you probably should use the new Python test driver.

@7c6f434c 7c6f434c merged commit 6210c15 into NixOS:master Dec 19, 2019
@flokli
Copy link
Contributor

flokli commented Dec 19, 2019

The nixos manual currently fails to build because of that:

⇒  nix-build nixos/release.nix -A manual.x86_64-linux
these derivations will be built:
  /nix/store/66fgw6v1w9qmb1f3bp8i45w0jisppjnj-nixos-manual-combined.drv
  /nix/store/wiwciawbfr5i0lmskyi0vhmpdg0p6z4f-manual-olinkdb.drv
  /nix/store/n5kmhmlzpf5jr5p7yb1za20q0pc0xkj5-nixos-manual-html.drv
building '/nix/store/66fgw6v1w9qmb1f3bp8i45w0jisppjnj-nixos-manual-combined.drv'...

manual-combined.xml:19885: element para: Relax-NG validity error : Did not expect element para there
 19881    </para></listitem>
 19882    <listitem><para>
 19883      <literal>"strong"</literal>: authentication by username/password. If user is not registered his access is denied regardless of ACLs.
 19884    </para></listitem>
 19885  </itemizedlist></para><para>Double authentication is possible, e.g.
 19886  <para>
 19887    {

manual-combined.xml:19885: element para: Relax-NG validity error : Expecting element example, got para
 19881    </para></listitem>
 19882    <listitem><para>
 19883      <literal>"strong"</literal>: authentication by username/password. If user is not registered his access is denied regardless of ACLs.
 19884    </para></listitem>
 19885  </itemizedlist></para><para>Double authentication is possible, e.g.
 19886  <para>
 19887    {

manual-combined.xml:19885: element para: Relax-NG validity error : Expecting element bridgehead, got para
 19881    </para></listitem>
 19882    <listitem><para>
 19883      <literal>"strong"</literal>: authentication by username/password. If user is not registered his access is denied regardless of ACLs.
 19884    </para></listitem>
 19885  </itemizedlist></para><para>Double authentication is possible, e.g.
 19886  <para>
 19887    {

manual-combined.xml:19885: element para: Relax-NG validity error : Element para has extra content: text
 19881    </para></listitem>
 19882    <listitem><para>
 19883      <literal>"strong"</literal>: authentication by username/password. If user is not registered his access is denied regardless of ACLs.
 19884    </para></listitem>
 19885  </itemizedlist></para><para>Double authentication is possible, e.g.
 19886  <para>
 19887    {

manual-combined.xml:19885: element para: Relax-NG validity error : Expecting element annotation, got para
 19881    </para></listitem>
 19882    <listitem><para>
 19883      <literal>"strong"</literal>: authentication by username/password. If user is not registered his access is denied regardless of ACLs.
 19884    </para></listitem>
 19885  </itemizedlist></para><para>Double authentication is possible, e.g.
 19886  <para>
 19887    {

manual-combined.xml fails to validate
builder for '/nix/store/66fgw6v1w9qmb1f3bp8i45w0jisppjnj-nixos-manual-combined.drv' failed with exit code 3
cannot build derivation '/nix/store/n5kmhmlzpf5jr5p7yb1za20q0pc0xkj5-nixos-manual-html.drv': 1 dependencies couldn't be built
error: build of '/nix/store/n5kmhmlzpf5jr5p7yb1za20q0pc0xkj5-nixos-manual-html.drv' failed

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

8 participants