From ec8ce9234e540689f62537bd8d4e87c426f6cbf2 Mon Sep 17 00:00:00 2001 From: CentOS Buildsys Date: Mar 07 2014 09:58:59 +0000 Subject: import vsftpd-3.0.2-9.el7.src.rpm --- diff --git a/SOURCES/vsftpd-3.0.2-mrate.patch b/SOURCES/vsftpd-3.0.2-mrate.patch new file mode 100644 index 0000000..d1495c2 --- /dev/null +++ b/SOURCES/vsftpd-3.0.2-mrate.patch @@ -0,0 +1,72 @@ +diff -up vsftpd-3.0.2/ftpdataio.c.mrate vsftpd-3.0.2/ftpdataio.c +--- vsftpd-3.0.2/ftpdataio.c.mrate 2014-03-06 16:22:44.547366196 +0100 ++++ vsftpd-3.0.2/ftpdataio.c 2014-03-07 10:14:33.681097022 +0100 +@@ -251,7 +251,7 @@ handle_io(int retval, int fd, void* p_pr + { + long curr_sec; + long curr_usec; +- unsigned int bw_rate; ++ unsigned long bw_rate; + double elapsed; + double pause_time; + double rate_ratio; +@@ -278,19 +278,16 @@ handle_io(int retval, int fd, void* p_pr + { + elapsed = (double) 0.01; + } +- bw_rate = (unsigned int) ((double) retval / elapsed); +- if (bw_rate <= p_sess->bw_rate_max) ++ p_sess->bw_retval += retval; ++ bw_rate = (unsigned long) ((double) p_sess->bw_retval / elapsed); ++ if (bw_rate <= p_sess->bw_rate_max || p_sess->bw_retval < (unsigned long)(10*retval)) + { +- p_sess->bw_send_start_sec = curr_sec; +- p_sess->bw_send_start_usec = curr_usec; + return; + } + /* Tut! Rate exceeded, calculate a pause to bring things back into line */ + rate_ratio = (double) bw_rate / (double) p_sess->bw_rate_max; + pause_time = (rate_ratio - (double) 1) * elapsed; + vsf_sysutil_sleep(pause_time); +- p_sess->bw_send_start_sec = vsf_sysutil_get_time_sec(); +- p_sess->bw_send_start_usec = vsf_sysutil_get_time_usec(); + } + + int +@@ -443,6 +440,9 @@ struct vsf_transfer_ret + vsf_ftpdataio_transfer_file(struct vsf_session* p_sess, int remote_fd, + int file_fd, int is_recv, int is_ascii) + { ++ p_sess->bw_send_start_sec = vsf_sysutil_get_time_sec(); ++ p_sess->bw_send_start_usec = vsf_sysutil_get_time_usec(); ++ p_sess->bw_retval = 0; + if (!is_recv) + { + if (is_ascii || p_sess->data_use_ssl) +diff -up vsftpd-3.0.2/main.c.mrate vsftpd-3.0.2/main.c +--- vsftpd-3.0.2/main.c.mrate 2014-03-06 16:22:28.475362449 +0100 ++++ vsftpd-3.0.2/main.c 2014-03-06 16:24:27.056384556 +0100 +@@ -40,7 +40,7 @@ main(int argc, const char* argv[]) + /* Control connection */ + 0, 0, 0, 0, 0, + /* Data connection */ +- -1, 0, -1, 0, 0, 0, 0, ++ -1, 0, -1, 0, 0, 0, 0, 0, + /* Login */ + 1, 0, INIT_MYSTR, INIT_MYSTR, + /* Protocol state */ +diff -up vsftpd-3.0.2/session.h.mrate vsftpd-3.0.2/session.h +--- vsftpd-3.0.2/session.h.mrate 2014-03-06 16:22:15.376359081 +0100 ++++ vsftpd-3.0.2/session.h 2014-03-06 16:23:58.860379868 +0100 +@@ -29,9 +29,10 @@ struct vsf_session + struct vsf_sysutil_sockaddr* p_port_sockaddr; + int data_fd; + int data_progress; +- unsigned int bw_rate_max; ++ unsigned long bw_rate_max; + long bw_send_start_sec; + long bw_send_start_usec; ++ unsigned long bw_retval; + + /* Details of the login */ + int is_anonymous; diff --git a/SPECS/vsftpd.spec b/SPECS/vsftpd.spec index 22886f7..415fc4c 100644 --- a/SPECS/vsftpd.spec +++ b/SPECS/vsftpd.spec @@ -3,7 +3,7 @@ Name: vsftpd Version: 3.0.2 -Release: 6%{?dist} +Release: 9%{?dist} Summary: Very Secure Ftp Daemon Group: System Environment/Daemons @@ -61,6 +61,7 @@ Patch23: vsftpd-3.0.0-tz.patch Patch24: vsftpd-3.0.0-xferlog.patch Patch25: vsftpd-3.0.0-logrotate.patch Patch26: vsftpd-3.0.2-seccomp.patch +Patch27: vsftpd-3.0.2-mrate.patch %description vsftpd is a Very Secure FTP daemon. It was written completely from @@ -102,6 +103,7 @@ cp %{SOURCE1} . %patch24 -p1 -b .xferlog %patch25 -p1 -b .logrotate %patch26 -p1 -b .seccomp +%patch27 -p1 -b .mrate %build %ifarch s390x sparcv9 sparc64 @@ -172,6 +174,15 @@ rm -rf $RPM_BUILD_ROOT %{_sysconfdir}/rc.d/init.d/vsftpd %changelog +* Fri Mar 07 2014 Jiri Skala - 3.0.2-9 +- Resolves: #1063402 - vsftpd local_max_rate option doesn't work as expected + +* Fri Jan 24 2014 Daniel Mach - 3.0.2-8 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 3.0.2-7 +- Mass rebuild 2013-12-27 + * Fri Sep 13 2013 Jiri Skala - 3.0.2-6 - Resolves: #833093 - multiple instances - improved service, target unit files, man page