pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
pkg/48101: vsftpd hard coded AS-limit is to small - failed to run on NetBSD 6.1
>Number: 48101
>Category: pkg
>Synopsis: vsftpd hard coded AS-limit is to small - failed to run on
>NetBSD 6.1
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Jul 31 12:50:00 +0000 2013
>Originator: Dr. W. Stukenbrock
>Release: NetBSD 6.1
>Organization:
Dr. Nagler & Company GmbH
>Environment:
System: NetBSD test-s0 5.1.2 NetBSD 5.1.2 (NSW-WS) #3: Fri Dec 21 15:15:43 CET
2012 wgstuken@test-s0:/usr/src/sys/arch/amd64/compile/NSW-WS amd64
Architecture: x86_64
Machine: amd64
>Description:
For "security reasons", vsftpd tries to avoid to use a large amount of
virtual memory.
For that reason it sets RLIMIT_AS to a fixed value defined in defs.h,
if such a limit
is present on the system.
The hardcoded value is 100MB. On 6.1 the process is about 150MB after
mapping the
required libraries (without SSL-libs).
So the hard coded value is to small ...
>How-To-Repeat:
Try to run vsftpd on NetBSD 6.1. After a connection is recieved, the
mmap() for reading
in the user config file will fail and the connection is closed again
>Fix:
The following patch will increase the memory limit from 100MB to 300MB.
Of couse a configurable value from the makefile would be better, but
this works (for now).
--- defs.h.xx 2013-07-31 14:25:32.000000000 +0200
+++ defs.h 2013-07-31 14:25:40.000000000 +0200
@@ -19,7 +19,7 @@
/* Must be at least the size of VSFTP_MAX_COMMAND_LINE, VSFTP_DIR_BUFSIZE and
VSFTP_DATA_BUFSIZE*2 */
#define VSFTP_PRIVSOCK_MAXSTR VSFTP_DATA_BUFSIZE * 2
-#define VSFTP_AS_LIMIT 100UL * 1024 * 1024
+#define VSFTP_AS_LIMIT 300UL * 1024 * 1024
#endif /* VSF_DEFS_H */
Remark: there is already a patch for defs.h and this one should be
added to it.
Please do not create another patch file for defs.h ...
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index