From 4d3a6aa46f437411746dd5a5100382b209fb6431 Mon Sep 17 00:00:00 2001 From: Jiri Skala Date: Tue, 10 Sep 2013 08:53:47 +0200 Subject: [PATCH] fixed #1005549 - vsftpd startup broken updated man pages - systemd multiple instances --- vsftpd-2.3.4-sd.patch | 64 +++++++++++++++++++++++++++++++++---------- vsftpd.service | 3 +- vsftpd.spec | 6 +++- vsftpd.target | 5 +++- 4 files changed, 59 insertions(+), 19 deletions(-) diff --git a/vsftpd-2.3.4-sd.patch b/vsftpd-2.3.4-sd.patch index c54aca2..706365a 100644 --- a/vsftpd-2.3.4-sd.patch +++ b/vsftpd-2.3.4-sd.patch @@ -1,35 +1,69 @@ -diff -up vsftpd-2.3.4/vsftpd.8.sd vsftpd-2.3.4/vsftpd.8 ---- vsftpd-2.3.4/vsftpd.8.sd 2011-11-14 15:22:50.363265369 +0100 -+++ vsftpd-2.3.4/vsftpd.8 2011-11-15 08:32:55.270895429 +0100 -@@ -25,6 +25,8 @@ in +diff -up vsftpd-3.0.2/vsftpd.8.sd vsftpd-3.0.2/vsftpd.8 +--- vsftpd-3.0.2/vsftpd.8.sd 2013-09-04 13:04:40.383348837 +0200 ++++ vsftpd-3.0.2/vsftpd.8 2013-09-04 13:45:00.370277842 +0200 +@@ -25,6 +25,23 @@ in Direct execution of the .Nm vsftpd binary will then launch the FTP service ready for immediate client connections. +.Pp -+Systemd changes the vsftpd start-up. When the SysV initscript attempts to start one instance of the vsftpd daemon for each of /etc/vsftpd/*.conf file, each configuration file requires a proper unit file. Each instance of the vsftpd daemon is started separately. See systemd.unit(5). ++Systemd changes the vsftpd daemon start-up. The vsftpd package contains vsftpd-generator script generating symbolic links to /var/run/systemd/generator/vsftpd.target.wants directory. The generator is called during e.g. 'systemctl --system daemon-reload'. All these symbolic links link /usr/lib/systemd/system/vsftpd@.service file. ++The vsftpd daemon(s) is/are controlled by one of following ways: ++.Pp ++1. Single daemon using default /etc/vsftpd/vsftpd.conf configuration file ++.br ++# systemctl {start,stop,...} vsftpd[.service] ++.Pp ++2. Single daemon using /etc/vsftpd/.conf ++.br ++# systemctl {start,stop,...} vsftpd@[.service] ++.Pp ++3. All instances together ++.br ++# systemctl {restart,stop} vsftpd.target ++.Pp ++See systemd.unit(5), systemd.target(5) for further details. .Sh OPTIONS An optional configuration file or files -@@ -55,6 +57,9 @@ the "ftpd_banner" setting is set to "bla +@@ -55,6 +72,13 @@ the "ftpd_banner" setting is set to "bla setting and any identical setting that was in the config file. .Sh FILES .Pa /etc/vsftpd/vsftpd.conf +.Pp -+.Pa /lib/systemd/system/vsftpd.service ++.Pa /usr/lib/systemd/system/vsftpd.service ++.Pp ++.Pa /usr/lib/systemd/system/vsftpd@.service ++.Pp ++.Pa /usr/lib/systemd/system/vsftpd.target .Sh SEE ALSO .Xr vsftpd.conf 5 +.Xr systemd.unit 5 .end -diff -up vsftpd-2.3.4/vsftpd.conf.5.sd vsftpd-2.3.4/vsftpd.conf.5 ---- vsftpd-2.3.4/vsftpd.conf.5.sd 2011-11-14 15:22:50.546267713 +0100 -+++ vsftpd-2.3.4/vsftpd.conf.5 2011-11-15 08:48:42.872580090 +0100 -@@ -13,6 +13,9 @@ inetd such as +diff -up vsftpd-3.0.2/vsftpd.conf.5.sd vsftpd-3.0.2/vsftpd.conf.5 +--- vsftpd-3.0.2/vsftpd.conf.5.sd 2013-09-04 13:04:40.391348915 +0200 ++++ vsftpd-3.0.2/vsftpd.conf.5 2013-09-04 13:44:57.573250302 +0200 +@@ -12,7 +12,23 @@ inetd such as + .BR xinetd to launch vsftpd with different configuration files on a per virtual host basis. - -+Systemd changes the vsftpd daemon start-up. Each configuration file -+requires a proper unit file that can be obtained by cloning and modifying default vsftpd.service. This additional unit file should be placed to /etc/systemd/system. See systemd.unit(5) for details. -+ +- ++.P ++Systemd changes the vsftpd daemon start-up. The vsftpd package contains vsftpd-generator script generating symbolic links to /var/run/systemd/generator/vsftpd.target.wants directory. The generator is called during e. g. 'systemctl --system daemon-reload'. All these symbolic links link /usr/lib/systemd/system/vsftpd@.service file. ++The vsftpd daemon(s) is/are controlled by one of following ways: ++.P ++1. Single daemon using default /etc/vsftpd/vsftpd.conf configuration file ++.br ++# systemctl {start,stop,...} vsftpd[.service] ++.P ++2. Single daemon using /etc/vsftpd/.conf ++.br ++# systemctl {start,stop,...} vsftpd@[.service] ++.P ++3. All instances together ++.br ++# systemctl {restart,stop} vsftpd.target ++.P ++See systemd.unit(5), systemd.target(5) for further details. .SH FORMAT The format of vsftpd.conf is very simple. Each line is either a comment or a directive. Comment lines start with a # and are ignored. A directive line diff --git a/vsftpd.service b/vsftpd.service index 90d7618..8ebae44 100644 --- a/vsftpd.service +++ b/vsftpd.service @@ -1,11 +1,10 @@ [Unit] Description=Vsftpd ftp daemon After=network.target -PartOf=vsftpd.target [Service] Type=forking ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf [Install] -WantedBy=vsftpd.target +WantedBy=multi-user.target diff --git a/vsftpd.spec b/vsftpd.spec index 11f4829..07c83ec 100644 --- a/vsftpd.spec +++ b/vsftpd.spec @@ -3,7 +3,7 @@ Name: vsftpd Version: 3.0.2 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Very Secure Ftp Daemon Group: System Environment/Daemons @@ -170,6 +170,10 @@ rm -rf $RPM_BUILD_ROOT %{_sysconfdir}/rc.d/init.d/vsftpd %changelog +* Tue Sep 10 2013 Jiri Skala - 3.0.2-6 +- fixed #1005549 - vsftpd startup broken +- updated man pages - systemd multiple instances + * Thu Aug 15 2013 Jiri Skala - 3.0.2-5 - replaced systemd path by _unitdir macro - fixes #7194344 - multiple instances (target, generator) diff --git a/vsftpd.target b/vsftpd.target index 4de0c14..3f0a942 100644 --- a/vsftpd.target +++ b/vsftpd.target @@ -1,3 +1,6 @@ [Unit] Description=FTP daemon -Documentation=man:vsftpd +After=network.target + +[Install] +WantedBy=multi-user.target