File vsftpd-3.0.3-address_space_limit.patch of Package vsftpd.5635

Index: vsftpd-3.0.3/main.c
===================================================================
--- vsftpd-3.0.3.orig/main.c
+++ vsftpd-3.0.3/main.c
@@ -317,7 +317,7 @@ env_init(void)
 static void
 limits_init(void)
 {
-  unsigned long limit = VSFTP_AS_LIMIT;
+  unsigned long limit = tunable_address_space_limit ?: VSFTP_AS_LIMIT;
   if (tunable_text_userdb_names)
   {
     /* Turns out, LDAP lookups for lots of userid -> name mappings can really
Index: vsftpd-3.0.3/parseconf.c
===================================================================
--- vsftpd-3.0.3.orig/parseconf.c
+++ vsftpd-3.0.3/parseconf.c
@@ -138,6 +138,7 @@ parseconf_uint_array[] =
   { "delay_successful_login", &tunable_delay_successful_login },
   { "max_login_fails", &tunable_max_login_fails },
   { "chown_upload_mode", &tunable_chown_upload_mode },
+  { "address_space_limit", &tunable_address_space_limit },
   { 0, 0 }
 };
 
Index: vsftpd-3.0.3/tunables.c
===================================================================
--- vsftpd-3.0.3.orig/tunables.c
+++ vsftpd-3.0.3/tunables.c
@@ -110,6 +110,7 @@ unsigned int tunable_delay_failed_login;
 unsigned int tunable_delay_successful_login;
 unsigned int tunable_max_login_fails;
 unsigned int tunable_chown_upload_mode;
+unsigned int tunable_address_space_limit;
 
 const char* tunable_secure_chroot_dir;
 const char* tunable_ftp_username;
@@ -255,6 +256,7 @@ tunables_load_defaults()
   tunable_max_login_fails = 3;
   /* -rw------- */
   tunable_chown_upload_mode = 0600;
+  tunable_address_space_limit = 0;	/* See main.c:limits_init */
 
   install_str_setting("/usr/share/empty", &tunable_secure_chroot_dir);
   install_str_setting("ftp", &tunable_ftp_username);
Index: vsftpd-3.0.3/tunables.h
===================================================================
--- vsftpd-3.0.3.orig/tunables.h
+++ vsftpd-3.0.3/tunables.h
@@ -112,6 +112,7 @@ extern unsigned int tunable_delay_failed
 extern unsigned int tunable_delay_successful_login;
 extern unsigned int tunable_max_login_fails;
 extern unsigned int tunable_chown_upload_mode;
+extern unsigned int tunable_address_space_limit;
 
 /* String defines */
 extern const char* tunable_secure_chroot_dir;
openSUSE Build Service is sponsored by