diff -r ad6bd3a91cab -r 32f160a66da4 diet-pure-ftpd.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/diet-pure-ftpd.patch Sun Jan 13 23:14:33 2008 +0100 @@ -0,0 +1,710 @@ +From bca72d17e958d2bce147147da167fa17a1cc43f7 Mon Sep 17 00:00:00 2001 +From: Tomas Zeman +Date: Sun, 16 Dec 2007 12:14:44 +0100 +Subject: [PATCH] diet-pure-ftpd-1.0.21-1-i686: + *added + +--- + source/dietlibc/diet-pure-ftpd/FrugalBuild | 39 ++ + source/dietlibc/diet-pure-ftpd/pure-config.pl | 121 ++++++ + source/dietlibc/diet-pure-ftpd/pure-ftpd.conf | 435 +++++++++++++++++++++ + source/dietlibc/diet-pure-ftpd/rc.pure-ftpd | 42 ++ + source/dietlibc/diet-pure-ftpd/rc.pure-ftpd-hu.po | 21 + + 5 files changed, 658 insertions(+), 0 deletions(-) + create mode 100644 source/dietlibc/diet-pure-ftpd/FrugalBuild + create mode 100644 source/dietlibc/diet-pure-ftpd/pure-config.pl + create mode 100644 source/dietlibc/diet-pure-ftpd/pure-ftpd.conf + create mode 100644 source/dietlibc/diet-pure-ftpd/rc.pure-ftpd + create mode 100644 source/dietlibc/diet-pure-ftpd/rc.pure-ftpd-hu.po + +diff --git a/source/dietlibc/diet-pure-ftpd/FrugalBuild b/source/dietlibc/diet-pure-ftpd/FrugalBuild +new file mode 100644 +index 0000000..0165876 +--- /dev/null ++++ b/source/dietlibc/diet-pure-ftpd/FrugalBuild +@@ -0,0 +1,39 @@ ++# Maintainer: Tomas Zeman ++ ++branch=diet ++pkgorig=pure-ftpd ++pkgname=$branch-$pkgorig ++pkgver=1.0.21 ++pkgrel=1 ++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 --git a/source/dietlibc/diet-pure-ftpd/pure-config.pl b/source/dietlibc/diet-pure-ftpd/pure-config.pl +new file mode 100644 +index 0000000..1f8c28e +--- /dev/null ++++ b/source/dietlibc/diet-pure-ftpd/pure-config.pl +@@ -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 [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 ; ++ ++close CONF; ++ ++print "Running: $PUREFTPD ", join(" ", @flg), "\n"; ++exec { $PUREFTPD } ($PUREFTPD, @flg) or die "cannot exec $PUREFTPD: $!"; +diff --git a/source/dietlibc/diet-pure-ftpd/pure-ftpd.conf b/source/dietlibc/diet-pure-ftpd/pure-ftpd.conf +new file mode 100644 +index 0000000..df983a2 +--- /dev/null ++++ b/source/dietlibc/diet-pure-ftpd/pure-ftpd.conf +@@ -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. : . ++# 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 : : ++# 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 --git a/source/dietlibc/diet-pure-ftpd/rc.pure-ftpd b/source/dietlibc/diet-pure-ftpd/rc.pure-ftpd +new file mode 100644 +index 0000000..61746ef +--- /dev/null ++++ b/source/dietlibc/diet-pure-ftpd/rc.pure-ftpd +@@ -0,0 +1,42 @@ ++#!/bin/bash ++ ++# (c) 2006 Miklos Vajna ++# 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 --git a/source/dietlibc/diet-pure-ftpd/rc.pure-ftpd-hu.po b/source/dietlibc/diet-pure-ftpd/rc.pure-ftpd-hu.po +new file mode 100644 +index 0000000..b987340 +--- /dev/null ++++ b/source/dietlibc/diet-pure-ftpd/rc.pure-ftpd-hu.po +@@ -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. ++# , 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: \n" ++"Language-Team: Hungarian \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" +-- +1.5.3.4 +