From cb8067cdb5c827f4969e1ac95978b17036750fda Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 4 Aug 2008 09:36:11 +0000 Subject: [PATCH] More configuratbility for vsFTPd upstart job. svn path=/nixos/trunk/; revision=12472 --- system/options.nix | 21 +++++++++++++++++++++ upstart-jobs/default.nix | 3 ++- upstart-jobs/vsftpd.nix | 25 ++++++++++++++++++++++++- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/system/options.nix b/system/options.nix index 77c1f2f970b..b2b907733c9 100644 --- a/system/options.nix +++ b/system/options.nix @@ -1684,6 +1684,27 @@ Whether to enable the anonymous FTP user. "; }; + + writeEnable = mkOption { + default = false; + description = " + Whether any write activity is permitted to users. + "; + }; + + anonymousUploadEnable = mkOption { + default = false; + description = " + Whether any uploads are permitted to anonymous users. + "; + }; + + anonymousMkdirEnable = mkOption { + default = false; + description = " + Whether mkdir is permitted to anonymous users. + "; + }; }; printing = { diff --git a/upstart-jobs/default.nix b/upstart-jobs/default.nix index 2b851d051af..ce2cf17060d 100644 --- a/upstart-jobs/default.nix +++ b/upstart-jobs/default.nix @@ -317,7 +317,8 @@ let ++ optional config.services.vsftpd.enable (import ../upstart-jobs/vsftpd.nix { inherit (pkgs) vsftpd; - inherit (config.services.vsftpd) anonymousUser; + inherit (config.services.vsftpd) anonymousUser + writeEnable anonymousUploadEnable anonymousMkdirEnable; }) # X Font Server diff --git a/upstart-jobs/vsftpd.nix b/upstart-jobs/vsftpd.nix index 67a11e77b2f..01a509ea679 100644 --- a/upstart-jobs/vsftpd.nix +++ b/upstart-jobs/vsftpd.nix @@ -1,4 +1,6 @@ -{ vsftpd, anonymousUser }: +{ vsftpd, anonymousUser +, anonymousUploadEnable, anonymousMkdirEnable, writeEnable +}: { name = "vsftpd"; @@ -40,6 +42,27 @@ start script "anonymous_enable=YES" else "anonymous_enable=NO") + +(if writeEnable then +" +write_enable=YES" +else +" +write_enable=NO" +) + +(if anonymousUploadEnable then +" +anon_upload_enable=YES" +else +" +anon_upload_enable=NO" +) + +(if anonymousMkdirEnable then +" +anon_mkdir_write_enable=YES" +else +" +anon_mkdir_write_enable=NO" +) + " background=NO listen=YES