From: Tomas Zeman <tzeman@volny.cz>
Date: Sun, 16 Dec 2007 12:14:44 +0100

diet-pure-ftpd

diff -r 8153a8594677 source/dietlibc/diet-pure-ftpd/FrugalBuild
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/source/dietlibc/diet-pure-ftpd/FrugalBuild	Wed Feb 15 15:27:06 2012 +0100
@@ -0,0 +1,39 @@
+# Maintainer: Tomas Zeman <tzeman@volny.cz>
+
+branch=diet
+pkgorig=pure-ftpd
+pkgname=$branch-$pkgorig
+pkgver=1.0.21
+pkgrel=2
+pkgdesc="A free, secure, production-quality and standard-conformant FTP server"
+url="http://www.pureftpd.org/"
+depends=('perl')
+conflicts=($pkgorig)
+provides=($pkgorig)
+backup=('etc/pure-ftpd.conf')
+archs=('i686')
+up2date="lynx -dump $url |grep Version|sed 's/.*n \(.*\) h.*/\1/'"
+source=(ftp://ftp.pureftpd.org/pub/$pkgorig/releases/$pkgorig-$pkgver.tar.bz2 \
+	pure-config.pl pure-ftpd.conf rc.$pkgorig rc.$pkgorig-hu.po)
+sha1sums=('1405ff2b9b9c3616c4e390eb99779884173a3347' \
+          '274bf6399afa4fbb6cb8593181c103e3ff7f1070' \
+          '7c6b89a0dcefdd96e2da943ec4b21a9d952d86eb' \
+          '2a0b5d5151251deb129c061a78fa5eca5525e99e' \
+          '1a12dbfaa9d2d5914b7a1db040d5d6ced71cd659')
+
+build()
+{
+	export CC="diet -v gcc -Os -nostdinc"
+	export LD="diet -v gcc -s -static"
+	Fcd $pkgorig-$pkgver
+	./configure --with-largefile --with-ftpwho --with-quotas \
+		--with-ratios --with-puredb --with-altlog --with-throttling \
+		--with-privsep --with-tls
+	make || Fdie
+	make prefix=$Fdestdir/usr install
+	install -D -m755 ../rc.pure-ftpd $Fdestdir/etc/rc.d/rc.pure-ftpd || Fdie
+	install -D -m644 ../pure-ftpd.conf $Fdestdir/etc/pure-ftpd.conf || Fdie
+	install -D -m755 ../pure-config.pl $Fdestdir/usr/sbin/pure-config.pl || Fdie
+	Ffile /etc/pure-ftpd.conf
+	Fexe /usr/sbin/pure-config.pl
+}
diff -r 8153a8594677 source/dietlibc/diet-pure-ftpd/pure-config.pl
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/source/dietlibc/diet-pure-ftpd/pure-config.pl	Wed Feb 15 15:27:06 2012 +0100
@@ -0,0 +1,121 @@
+#! /usr/bin/perl
+
+# (C) 2001-2004 Aristotle Pagaltzis
+# derived from code (C) 2001-2002 Frank Denis and Matthias Andree
+
+use strict;
+
+my ($conffile, @flg) = @ARGV;
+
+my $PUREFTPD;
+-x && ($PUREFTPD=$_, last) for qw(
+	${exec_prefix}/sbin/pure-ftpd
+	/usr/local/pure-ftpd/sbin/pure-ftpd
+	/usr/local/pureftpd/sbin/pure-ftpd
+	/usr/local/sbin/pure-ftpd
+	/usr/sbin/pure-ftpd
+);
+
+my %simple_switch_for = (
+	IPV4Only			=> "-4",
+	IPV6Only			=> "-6",        
+	ChrootEveryone			=> "-A",
+	BrokenClientsCompatibility	=> "-b",
+	Daemonize			=> "-B",
+	VerboseLog			=> "-d",
+	DisplayDotFiles			=> "-D",
+	AnonymousOnly			=> "-e",
+	NoAnonymous			=> "-E",
+	DontResolve			=> "-H",
+	AnonymousCanCreateDirs		=> "-M",
+	NATmode				=> "-N",
+	CallUploadScript		=> "-o",
+	AntiWarez			=> "-s",
+	AllowUserFXP			=> "-w",
+	AllowAnonymousFXP		=> "-W",
+	ProhibitDotFilesWrite		=> "-x",
+	ProhibitDotFilesRead		=> "-X",
+	AllowDotFiles			=> "-z",
+	AutoRename			=> "-r",
+	AnonymousCantUpload		=> "-i",
+	LogPID				=> "-1",
+	NoChmod				=> "-R",
+	KeepAllFiles			=> "-K",
+	CreateHomeDir			=> "-j",
+	NoRename			=> "-G",
+	CustomerProof			=> "-Z",
+	NoTruncate			=> "-0",
+);
+
+my %string_switch_for = (
+	SyslogFacility		=> "-f",
+	FortunesFile		=> "-F",
+	ForcePassiveIP		=> "-P",
+	Bind			=> "-S",
+	AnonymousBandwidth	=> "-t",
+	UserBandwidth		=> "-T",
+	TrustedIP		=> "-V",
+	AltLog			=> "-O",
+	PIDFile			=> "-g",
+);
+
+my %numeric_switch_for = (
+	MaxIdleTime		=> "-I",
+	MaxDiskUsage		=> "-k",
+	TrustedGID		=> "-a",
+	MaxClientsNumber	=> "-c",
+	MaxClientsPerIP		=> "-C",
+	MaxLoad			=> "-m",
+	MinUID			=> "-u",
+	TLS			=> "-Y",
+);
+
+my %numpairb_switch_for = (
+	LimitRecursion		=> "-L",
+	PassivePortRange	=> "-p",
+	AnonymousRatio		=> "-q",
+	UserRatio		=> "-Q",
+);
+
+my %numpairc_switch_for = (
+	Umask		=> "-U",
+	Quota		=> "-n",
+	PerUserLimits	=> "-y",
+);
+
+my %auth_method_for = (
+	LDAPConfigFile		=> "ldap",
+	MySQLConfigFile		=> "mysql",
+	PGSQLConfigFile		=> "pgsql",
+	PureDB			=> "puredb",
+	ExtAuth			=> "extauth",
+);
+
+my $simple_switch = qr/(@{[join "|", keys %simple_switch_for ]})\s+yes/i;
+my $string_switch = qr/(@{[join "|", keys %string_switch_for ]})\s+(\S+)/i;
+my $numeric_switch = qr/(@{[join "|", keys %numeric_switch_for ]})\s+(\d+)/i;
+my $numpairb_switch = qr/(@{[join "|", keys %numpairb_switch_for ]})\s+(\d+)\s+(\d+)/i;
+my $numpairc_switch = qr/(@{[join "|", keys %numpairc_switch_for ]})\s+(\d+):(\d+)/i;
+my $auth_method = qr/(@{[join "|", keys %auth_method_for ]})\s+(\S+)/i;
+
+die "Usage: pure-config.pl <configuration file> [extra options]\n"
+	unless defined $conffile;
+
+open CONF, "< $conffile" or die "Can't open $conffile: $!\n";
+
+!/^\s*(?:$|#)/ and (chomp, push @flg,
+	/$simple_switch/i		? ($simple_switch_for{$1}) :
+	/$string_switch/i		? ($string_switch_for{$1} . $2) :
+	/$numeric_switch/i		? ($numeric_switch_for{$1} . $2) :
+	/$numpairb_switch/i		? ($numpairb_switch_for{$1} . "$2:$3") :
+	/$numpairc_switch/i		? ($numpairc_switch_for{$1} . "$2:$3") :
+	/$auth_method/i			? ("-l" . "$auth_method_for{$1}:$2") :
+	/UnixAuthentication\s+yes/i	? ("-l" . "unix") :
+	/PAMAuthentication\s+yes/i	? ("-l" . "pam") :
+	()
+) while <CONF>;
+
+close CONF;
+
+print "Running: $PUREFTPD ", join(" ", @flg), "\n";
+exec { $PUREFTPD } ($PUREFTPD, @flg) or die "cannot exec $PUREFTPD: $!";
diff -r 8153a8594677 source/dietlibc/diet-pure-ftpd/pure-ftpd.conf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/source/dietlibc/diet-pure-ftpd/pure-ftpd.conf	Wed Feb 15 15:27:06 2012 +0100
@@ -0,0 +1,435 @@
+############################################################
+#                                                          #
+#         Configuration file for pure-ftpd wrappers        #
+#                                                          #
+############################################################
+
+# If you want to run Pure-FTPd with this configuration   
+# instead of command-line options, please run the
+# following command :
+#
+# /usr/sbin/pure-config.pl /usr/etc/pure-ftpd.conf
+#
+# Please don't forget to have a look at documentation at
+# http://www.pureftpd.org/documentation.shtml for a complete list of
+# options.
+
+# Cage in every user in his home directory
+
+ChrootEveryone              yes
+
+
+
+# If the previous option is set to "no", members of the following group
+# won't be caged. Others will be. If you don't want chroot()ing anyone,
+# just comment out ChrootEveryone and TrustedGID.
+
+# TrustedGID                    100
+
+
+
+# Turn on compatibility hacks for broken clients
+
+BrokenClientsCompatibility  no
+
+
+
+# Maximum number of simultaneous users
+
+MaxClientsNumber            50
+
+
+
+# Fork in background
+
+Daemonize                   yes
+
+
+
+# Maximum number of sim clients with the same IP address
+
+MaxClientsPerIP             8
+
+
+
+# If you want to log all client commands, set this to "yes".
+# This directive can be duplicated to also log server responses.
+
+VerboseLog                  no
+
+
+
+# List dot-files even when the client doesn't send "-a".
+
+DisplayDotFiles             yes
+
+
+
+# Don't allow authenticated users - have a public anonymous FTP only.
+
+AnonymousOnly               no
+
+
+
+# Disallow anonymous connections. Only allow authenticated users.
+
+NoAnonymous                 yes
+
+
+
+# Syslog facility (auth, authpriv, daemon, ftp, security, user, local*)
+# The default facility is "ftp". "none" disables logging.
+
+SyslogFacility              ftp
+
+
+
+# Display fortune cookies
+
+# FortunesFile              /usr/share/fortune/zippy
+
+
+
+# Don't resolve host names in log files. Logs are less verbose, but 
+# it uses less bandwidth. Set this to "yes" on very busy servers or
+# if you don't have a working DNS.
+
+DontResolve                 yes
+
+
+
+# Maximum idle time in minutes (default = 15 minutes)
+
+MaxIdleTime                 15
+
+
+
+# LDAP configuration file (see README.LDAP)
+
+# LDAPConfigFile                /etc/pureftpd-ldap.conf
+
+
+
+# MySQL configuration file (see README.MySQL)
+
+# MySQLConfigFile               /etc/pureftpd-mysql.conf
+
+
+# Postgres configuration file (see README.PGSQL)
+
+# PGSQLConfigFile               /etc/pureftpd-pgsql.conf
+
+
+# PureDB user database (see README.Virtual-Users)
+
+# PureDB                        /etc/pureftpd.pdb
+
+
+# Path to pure-authd socket (see README.Authentication-Modules)
+
+# ExtAuth                       /var/run/ftpd.sock
+
+
+
+# If you want to enable PAM authentication, uncomment the following line
+
+# PAMAuthentication             yes
+
+
+
+# If you want simple Unix (/etc/passwd) authentication, uncomment this
+
+# UnixAuthentication            yes
+
+
+
+# Please note that LDAPConfigFile, MySQLConfigFile, PAMAuthentication and
+# UnixAuthentication can be used only once, but they can be combined
+# together. For instance, if you use MySQLConfigFile, then UnixAuthentication,
+# the SQL server will be asked. If the SQL authentication fails because the
+# user wasn't found, another try # will be done with /etc/passwd and
+# /etc/shadow. If the SQL authentication fails because the password was wrong,
+# the authentication chain stops here. Authentication methods are chained in
+# the order they are given. 
+
+
+
+# 'ls' recursion limits. The first argument is the maximum number of
+# files to be displayed. The second one is the max subdirectories depth
+
+LimitRecursion              2000 8
+
+
+
+# Are anonymous users allowed to create new directories ?
+
+AnonymousCanCreateDirs      no
+
+
+
+# If the system is more loaded than the following value,
+# anonymous users aren't allowed to download.
+
+MaxLoad                     4
+
+
+
+# Port range for passive connections replies. - for firewalling.
+
+# PassivePortRange          30000 50000
+
+
+
+# Force an IP address in PASV/EPSV/SPSV replies. - for NAT.
+# Symbolic host names are also accepted for gateways with dynamic IP
+# addresses.
+
+# ForcePassiveIP                192.168.0.1
+
+
+
+# Upload/download ratio for anonymous users.
+
+# AnonymousRatio                1 10
+
+
+
+# Upload/download ratio for all users.
+# This directive superscedes the previous one.
+
+# UserRatio                 1 10
+
+
+
+# Disallow downloading of files owned by "ftp", ie.
+# files that were uploaded but not validated by a local admin.
+
+AntiWarez                   yes
+
+
+
+# IP address/port to listen to (default=all IP and port 21).
+
+# Bind                      127.0.0.1,21
+
+
+
+# Maximum bandwidth for anonymous users in KB/s
+
+# AnonymousBandwidth            8
+
+
+
+# Maximum bandwidth for *all* users (including anonymous) in KB/s
+# Use AnonymousBandwidth *or* UserBandwidth, both makes no sense.
+
+# UserBandwidth             8
+
+
+
+# File creation mask. <umask for files>:<umask for dirs> .
+# 177:077 if you feel paranoid.
+
+Umask                       133:022
+
+
+
+# Minimum UID for an authenticated user to log in.
+
+MinUID                      100
+
+
+
+# Allow FXP transfers for authenticated users.
+
+AllowUserFXP                no
+
+
+
+# Allow anonymous FXP for anonymous and non-anonymous users.
+
+AllowAnonymousFXP           no
+
+
+
+# Users can't delete/write files beginning with a dot ('.')
+# even if they own them. If TrustedGID is enabled, this group
+# will have access to dot-files, though.
+
+ProhibitDotFilesWrite       no
+
+
+
+# Prohibit *reading* of files beginning with a dot (.history, .ssh...)
+
+ProhibitDotFilesRead        no
+
+
+
+# Never overwrite files. When a file whoose name already exist is uploaded,
+# it get automatically renamed to file.1, file.2, file.3, ...
+
+AutoRename                  no
+
+
+
+# Disallow anonymous users to upload new files (no = upload is allowed)
+
+AnonymousCantUpload         no
+
+
+
+# Only connections to this specific IP address are allowed to be
+# non-anonymous. You can use this directive to open several public IPs for
+# anonymous FTP, and keep a private firewalled IP for remote administration.
+# You can also only allow a non-routable local IP (like 10.x.x.x) to
+# authenticate, and keep a public anon-only FTP server on another IP.
+
+#TrustedIP                  10.1.1.1
+
+
+
+# If you want to add the PID to every logged line, uncomment the following
+# line.
+
+#LogPID                     yes
+
+
+
+# Create an additional log file with transfers logged in a Apache-like format :
+# fw.c9x.org - jedi [13/Dec/1975:19:36:39] "GET /ftp/linux.tar.bz2" 200 21809338
+# This log file can then be processed by www traffic analyzers.
+
+# AltLog                     clf:/var/log/pureftpd.log
+
+
+
+# Create an additional log file with transfers logged in a format optimized
+# for statistic reports.
+
+# AltLog                     stats:/var/log/pureftpd.log
+
+
+
+# Create an additional log file with transfers logged in the standard W3C
+# format (compatible with most commercial log analyzers)
+
+# AltLog                     w3c:/var/log/pureftpd.log
+
+
+
+# Disallow the CHMOD command. Users can't change perms of their files.
+
+#NoChmod                     yes
+
+
+
+# Allow users to resume and upload files, but *NOT* to delete them.
+
+#KeepAllFiles                yes
+
+
+
+# Automatically create home directories if they are missing
+
+#CreateHomeDir               yes
+
+
+
+# Enable virtual quotas. The first number is the max number of files.
+# The second number is the max size of megabytes.
+# So 1000:10 limits every user to 1000 files and 10 Mb.
+
+#Quota                       1000:10
+
+
+
+# If your pure-ftpd has been compiled with standalone support, you can change
+# the location of the pid file. The default is /var/run/pure-ftpd.pid
+
+#PIDFile                     /var/run/pure-ftpd.pid
+
+
+
+# If your pure-ftpd has been compiled with pure-uploadscript support,
+# this will make pure-ftpd write info about new uploads to
+# /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and
+# spawn a script to handle the upload.
+
+#CallUploadScript yes
+
+
+
+# This option is useful with servers where anonymous upload is 
+# allowed. As /var/ftp is in /var, it save some space and protect 
+# the log files. When the partition is more that X percent full,
+# new uploads are disallowed.
+
+MaxDiskUsage               99
+
+
+
+# Set to 'yes' if you don't want your users to rename files.
+
+#NoRename                  yes
+
+
+
+# Be 'customer proof' : workaround against common customer mistakes like
+# 'chmod 0 public_html', that are valid, but that could cause ignorant
+# customers to lock their files, and then keep your technical support busy
+# with silly issues. If you're sure all your users have some basic Unix
+# knowledge, this feature is useless. If you're a hosting service, enable it.
+
+CustomerProof              yes
+
+
+
+# Per-user concurrency limits. It will only work if the FTP server has
+# been compiled with --with-peruserlimits (and this is the case on
+# most binary distributions) .
+# The format is : <max sessions per user>:<max anonymous sessions>
+# For instance, 3:20 means that the same authenticated user can have 3 active
+# sessions max. And there are 20 anonymous sessions max.
+
+# PerUserLimits            3:20
+
+
+
+# When a file is uploaded and there is already a previous version of the file
+# with the same name, the old file will neither get removed nor truncated.
+# Upload will take place in a temporary file and once the upload is complete,
+# the switch to the new version will be atomic. For instance, when a large PHP
+# script is being uploaded, the web server will still serve the old version and
+# immediatly switch to the new one as soon as the full file will have been
+# transfered. This option is incompatible with virtual quotas.
+
+# NoTruncate               yes
+
+
+
+# This option can accept three values :
+# 0 : disable SSL/TLS encryption layer (default).
+# 1 : accept both traditional and encrypted sessions.
+# 2 : refuse connections that don't use SSL/TLS security mechanisms,
+#     including anonymous sessions.
+# Do _not_ uncomment this blindly. Be sure that :
+# 1) Your server has been compiled with SSL/TLS support (--with-tls),
+# 2) A valid certificate is in place,
+# 3) Only compatible clients will log in.
+
+# TLS                      1
+
+
+
+# Listen only to IPv4 addresses in standalone mode (ie. disable IPv6)
+# By default, both IPv4 and IPv6 are enabled.
+
+# IPV4Only                 yes
+
+
+
+# Listen only to IPv6 addresses in standalone mode (ie. disable IPv4)
+# By default, both IPv4 and IPv6 are enabled.
+
+# IPV6Only                 yes
diff -r 8153a8594677 source/dietlibc/diet-pure-ftpd/rc.pure-ftpd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/source/dietlibc/diet-pure-ftpd/rc.pure-ftpd	Wed Feb 15 15:27:06 2012 +0100
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# (c) 2006 Miklos Vajna <vmiklos@frugalware.org>
+# rc.pure-ftpd for FrugalWare
+# distributed under GPL License
+
+# chkconfig: 2345 60 50
+# description: Pure-FTPd is a ftp daemon, which is the program \
+#              that answers incoming ftp service requests.
+
+source /lib/initscripts/functions
+TEXTDOMAIN=pure-ftpd
+TEXTDOMAINDIR=/lib/initscripts/messages
+
+actions=(restart start status stop)
+daemon=$"Pure-FTPd Server"
+
+pid="cat /var/run/pure-ftpd.pid 2> /dev/null"
+
+rc_start()
+{
+	start_msg
+	if [[ "$(eval $pid)" == "" ]] ; then
+		/usr/sbin/pure-config.pl /etc/pure-ftpd.conf &> /dev/null
+		ok $?
+	else
+		ok 999
+	fi
+}
+
+rc_stop()
+{
+	stop_msg
+	if [[ "$(eval $pid)" != "" ]] ; then
+		kill `cat /var/run/pure-ftpd.pid`
+		ok $?
+	else
+		ok 999
+	fi
+}
+
+rc_exec $1
diff -r 8153a8594677 source/dietlibc/diet-pure-ftpd/rc.pure-ftpd-hu.po
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/source/dietlibc/diet-pure-ftpd/rc.pure-ftpd-hu.po	Wed Feb 15 15:27:06 2012 +0100
@@ -0,0 +1,21 @@
+# Hungarian translations for rc.pure-ftpd package.
+# Copyright (C) 2006 THE rc.pure-ftpd'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the rc.pure-ftpd package.
+#  <vmiklos@frugalware.org>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: rc.pure-ftpd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-02-21 13:18+0100\n"
+"PO-Revision-Date: 2006-02-21 13:18+0100\n"
+"Last-Translator:  <vmiklos@frugalware.org>\n"
+"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: rc.pure-ftpd:16
+msgid "Pure-FTPd Server"
+msgstr "Pure-FTPd szerver"
