.
All rights reserved.
*/
/* ========================================================================== */
/*
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/
/* ========================================================================== */
]]>
Describe your package here
Describe your package requirements here
Currently there are no FAQ items provided.
pure-ftpdsettings
none
Services: PureFTPD Settings
pkg_edit.php?xml=pure-ftpdsettings.xml&id=0
installedpackages->package->$packagename->configuration->settings
Maximum connections
connections
Maximum number of clients allowed
input
number
Maximum connections per ip address
connectionsperip
Maximum number of clients allowed to connect per ip address
input
Upload cutoff threshold
cutoffthreshold
Disallow upload if the partition is more than percentage full.
input
number
Begin tcp port range
beginport
Specify that client connections begin at this port.
input
End tcp port range
endport
Specify that client connections end at this port.
input
number
Limit upload bandwidth
uploadbw
Limit the upload bandwdith in KB/s
input
number
Limit download bandwidth
downloadbw
Limit the download bandwdith in KB/s
input
number
Client File Deletion
filedeletion
Allow clients to upload files but disallow their ability to delete uploaded items.
checkbox
NAT Workaround mode
natworkaround
NAT mode. Force active mode. If your FTP server is behind a NAT box that doesn't support applicative FTP proxying, or if you use port redirection without a transparent FTP proxy, use this. Well... the previous sentence isn't very clear. Okay: if your network looks like this: FTP--NAT.gateway/router--Internet and if you want people coming from the internet to have access to your FTP server, please try without this option first. If Netscape clients can connect without any problem, your NAT gate-way rulez. If Netscape doesn't display directory listings, your NAT gateway sucks.
checkbox
Chroot environment
chroot
Allow users (but root) to only see their ~ and no system files.
checkbox
conf_mount_rw();
config_lock();
unlink_if_exists("/usr/local/etc/rc.d/pure-ftp*");
$fout = fopen("/usr/local/etc/rc.d/pure-ftpd.sh","w");
fwrite($fout, "#!/bin/sh\n\n");
$startline = "/usr/local/sbin/pure-ftpd";
if($_POST['connections']) $startline .= " -c " . $_POST['connections'];
if($_POST['connectionsperip']) $startline .= " -C " . $_POST['connectionsperip'];
if($_POST['cutoffthreshold']) $startline .= " -k " . $_POST['cutoffthreshold'];;
if($_POST['beginport'] and $_POST['endport']) $startline .= " -p " . $_POST['beginport'] . ":" . $_POST['endport'];
if($_POST['uploadbw'] and $_POST['downloadbw']) $startline .= " -T " . $_POST['uploadbw'] . ":" . $_POST['downloadbw'];;
if($_POST['natworkaround']) $startline .= " -N";
if($_POST['filedeletion']) $startline .= " -K";
if($_POST['chroot']) $startline .= " -A";
$startline .= " -B /usr/local/etc/pure-ftpd.conf";
fwrite($fout, $startline . "\n");
fclose($fout);
conf_mount_ro();
config_unlock();
chmod("/usr/local/etc/rc.d/pure-ftpd.sh", 0755);
mwexec("killall pure-ftpd");
mwexec("/usr/local/etc/rc.d/pure-ftpd.sh");