--- proftpd-dfsg-1.3.1.orig/src/proftpd.8
+++ proftpd-dfsg-1.3.1/src/proftpd.8
@@ -30,7 +30,7 @@
 option, the main
 .B proftpd
 daemon writes its process ID to
-.B /usr/local/var/run/proftpd.pid
+.B /var/run/run/proftpd.pid
 to make it easy to know which process to SIGHUP.
 .SH OPTIONS
 .TP 12
@@ -66,7 +66,7 @@
 .BI \-c,\--config " config\-file"
 Specifies an alternate \fIconfig\-file\fP to be parsed at startup, rather
 than the default configuration file.  The default configuration file is
-.B /usr/local/etc/proftpd.conf
+.B /etc/proftpd/proftpd.conf
 .br
 .TP
 .BI \-N,\--nocollision
@@ -97,23 +97,23 @@
 used.
 .SH FILES
 .PD 0
-.B /usr/local/sbin/proftpd
+.B /usr/sbin/proftpd
 .br
-.B /usr/local/etc/proftpd.conf
+.B /etc/proftpd/proftpd.conf
 .br
-.B /usr/local/bin/ftpwho
+.B /usr/bin/ftpwho
 .br
-.B /usr/local/bin/ftpcount
+.B /usr/bin/ftpcount
 .br
-.B /usr/local/bin/ftptop
+.B /usr/bin/ftptop
 .br
-.B /usr/local/sbin/ftpshut
+.B /usr/sbin/ftpshut
 .br
 .B /var/log/xferlog
 .br
-.B /usr/local/var/run/proftpd.pid
+.B /var/run/run/proftpd.pid
 .br
-.B /usr/local/var/run/proftpd.scoreboard
+.B /var/run/run/proftpd.scoreboard
 .PD
 .SH AUTHORS
 .PP
--- proftpd-dfsg-1.3.1.orig/utils/ftptop.1
+++ proftpd-dfsg-1.3.1/utils/ftptop.1
@@ -59,9 +59,9 @@
 modes.
 .SH FILES
 .PD 0
-.B /usr/local/bin/ftptop
+.B /usr/bin/ftptop
 .br
-.B /usr/local/var/run/proftpd/proftpd.scoreboard
+.B /var/run/run/proftpd/proftpd.scoreboard
 .PD
 .SH AUTHORS
 .PP
--- proftpd-dfsg-1.3.1.orig/utils/ftpwho.1
+++ proftpd-dfsg-1.3.1/utils/ftpwho.1
@@ -44,9 +44,9 @@
 will only show session information for the given virtual host.
 .SH FILES
 .PD 0
-.B /usr/local/bin/ftpwho
+.B /usr/bin/ftpwho
 .br
-.B /usr/local/var/run/proftpd/proftpd.scoreboard
+.B /var/run/run/proftpd/proftpd.scoreboard
 .PD
 .SH AUTHORS
 .PP
--- proftpd-dfsg-1.3.1.orig/utils/ftpcount.1
+++ proftpd-dfsg-1.3.1/utils/ftpcount.1
@@ -36,9 +36,9 @@
 will only show the session count for the given virtual host.
 .SH FILES
 .PD 0
-.B /usr/local/bin/ftpcount
+.B /usr/bin/ftpcount
 .br
-.B /usr/local/var/run/proftpd/proftpd.scoreboard
+.B /var/run/run/proftpd/proftpd.scoreboard
 .PD
 .SH AUTHORS
 .PP
--- proftpd-dfsg-1.3.1.orig/utils/ftpshut.8
+++ proftpd-dfsg-1.3.1/utils/ftpshut.8
@@ -107,7 +107,7 @@
 until the indicated time on the following day.
 .SH FILES
 .PD 0
-.B /usr/local/sbin/ftpshut
+.B /usr/sbin/ftpshut
 .br
 .B /etc/shutmsg
 .PD
--- proftpd-dfsg-1.3.1.orig/config.guess
+++ proftpd-dfsg-1.3.1/config.guess
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
 #   Inc.
 
-timestamp='2006-11-15'
+timestamp='2006-07-02'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -161,7 +161,6 @@
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
-	    sh5el) machine=sh5le-unknown ;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
@@ -794,7 +793,7 @@
     x86:Interix*:[3456]*)
 	echo i586-pc-interix${UNAME_RELEASE}
 	exit ;;
-    EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*)
+    EM64T:Interix*:[3456]*)
 	echo x86_64-unknown-interix${UNAME_RELEASE}
 	exit ;;
     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
@@ -1209,9 +1208,6 @@
     SX-6:SUPER-UX:*:*)
 	echo sx6-nec-superux${UNAME_RELEASE}
 	exit ;;
-    SX-8:SUPER-UX:*:*)
-	echo sx8-nec-superux${UNAME_RELEASE}
-	exit ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit ;;
--- proftpd-dfsg-1.3.1.orig/config.sub
+++ proftpd-dfsg-1.3.1/config.sub
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
 #   Inc.
 
-timestamp='2006-11-07'
+timestamp='2006-07-02'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -276,7 +276,6 @@
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
-	| score \
 	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
@@ -285,7 +284,7 @@
 	| tahoe | thumb | tic4x | tic80 | tron \
 	| v850 | v850e \
 	| we32k \
-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
 	| z8k)
 		basic_machine=$basic_machine-unknown
 		;;
@@ -368,7 +367,7 @@
 	| tron-* \
 	| v850-* | v850e-* | vax-* \
 	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
 	| xstormy16-* | xtensa-* \
 	| ymp-* \
 	| z8k-*)
@@ -910,10 +909,6 @@
 	sb1el)
 		basic_machine=mipsisa64sb1el-unknown
 		;;
-	sde)
-		basic_machine=mipsisa32-sde
-		os=-elf
-		;;
 	sei)
 		basic_machine=mips-sei
 		os=-seiux
@@ -925,9 +920,6 @@
 		basic_machine=sh-hitachi
 		os=-hms
 		;;
-	sh5el)
-		basic_machine=sh5le-unknown
-		;;
 	sh64)
 		basic_machine=sh64-unknown
 		;;
@@ -1374,9 +1366,6 @@
 # system, and we'll never get to this point.
 
 case $basic_machine in
-        score-*)
-		os=-elf
-		;;
         spu-*)
 		os=-elf
 		;;
--- proftpd-dfsg-1.3.1.orig/debian/po/templates.pot
+++ proftpd-dfsg-1.3.1/debian/po/templates.pot
@@ -0,0 +1,53 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr ""
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
--- proftpd-dfsg-1.3.1.orig/debian/po/da.po
+++ proftpd-dfsg-1.3.1/debian/po/da.po
@@ -0,0 +1,106 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd 1.2.9-16\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2004-10-13 18:53+0200\n"
+"Last-Translator: Morten Brix Pedersen <morten@wtf.dk>\n"
+"Language-Team: Danish <dansk@klid.dk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr ""
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+#, fuzzy
+#| msgid "inetd, standalone"
+msgid "standalone"
+msgstr "inetd, alene"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+#, fuzzy
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd kan køre enten som en service fra inetd, eller som en alenestående "
+"server. Hvert valg har deres fordele. Hvis du kun har et par ftp "
+"forbindelser om dagen, kan det måske ikke være ressourcerne værd at have "
+"proftpd kørende hele tiden."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Advarsel om syntaksændringer i ProFTPd opsætning."
+
+#, fuzzy
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Du opgraderer fra en før-1.2.8 version. Du bør kigge din gamle opsætning "
+#~ "igennem for at sikre, at den er kompatibel med de nuværende direktiver. "
+#~ "Se dokumentationen tilgængelig i proftpd-doc og ret /etc/proftpd.conf til "
+#~ "dine behov."
+
+#, fuzzy
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Desværre er det næsten umuligt for mig at konvertere hele din opsætning "
+#~ "automatisk. Du skal gøre det selv. ProFTPd kan måske ikke bruge den "
+#~ "resulterede opsætning, og vil ikke kunne starte efter opgraderingen."
+
+#~ msgid "Run proftpd from inetd or standalone?"
+#~ msgstr "Kør proftpd fra inetd eller alene?"
+
+#, fuzzy
+#~ msgid ""
+#~ "On the other hand, if your ftp site is visited frequently, you should "
+#~ "rather run proftp as a standalone server (because with inetd, each time a "
+#~ "connection is opened, a new process is spawned)."
+#~ msgstr ""
+#~ "På den anden side, hvis dit ftpsted bliver besøgt ofte, så er inetd ikke "
+#~ "et godt valg, fordi hver gang en forbindelse bliver åbnet, skal en ny "
+#~ "proces startes."
--- proftpd-dfsg-1.3.1.orig/debian/po/de.po
+++ proftpd-dfsg-1.3.1/debian/po/de.po
@@ -0,0 +1,111 @@
+# Translation of proftpd-dfsg debconf templates to German
+# Copyright (C) Jens Nachtigall <nachtigall@web.de>, 2004.
+# Copyright (C) Helge Kreutzmann <debian@helgefjell.de>, 2006, 2007.
+# This file is distributed under the same license as the proftpd-dfsg package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg 1.3.1-3\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-19 19:14+0100\n"
+"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
+"Language-Team: de <debian-l10n-german@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "von Inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "Servermodus"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Proftpd starten:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd kann entweder als Dienst über Inetd oder als eigener Server "
+"gestartet werden. Jede der beiden Startarten hat ihre Vorteile. Falls Sie "
+"nur wenige FTP-Verbindungen täglich erwarten, dann ist es wahrscheinlich "
+"sinnvoller, ProFTPd mittels Inetd zu starten, um Ressourcen zu schonen."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Andererseits sollte ProFTPd als eigener Server betrieben werden, falls Sie "
+"viel Verkehr erwarten, um das Starten neuer Prozesse für jede eingehende "
+"Verbindung zu vermeiden."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Warnung: Syntax-Veränderungen der ProFTPd-Konfiguration."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Sie führen ein Upgrade von einer Version älter als 1.3.0 durch. "
+#~ "Wahrscheinlich werden Sie Ihre bisherige Konfiguration hinsichtlich der "
+#~ "neuen Direktiven überprüfen müssen. Bitte konsultieren Sie hierfür die "
+#~ "Dokumentation im Paket proftpd-doc und passen Sie Ihre /etc/proftpd.conf "
+#~ "an."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Leider ist es nahezu unmöglich, Ihre bisherige Konfiguration automatisch "
+#~ "zu konvertieren, abgesehen von ein paar elementaren Dingen. Sie werden es "
+#~ "selbst tun müssen. Außerdem könnte es sein, dass ProFTPd nicht in der "
+#~ "Lage wäre, die aus der Konvertierung resultierende Konfiguration zu "
+#~ "nutzen, so dass es nach dem Upgrade nicht neu starten würde."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Beachten Sie auch, dass beginnend mit Version 1.3.0 dynamische Module "
+#~ "verwendet werden und die Konfiguration aufgeteilt werden sollte, wobei "
+#~ "Befehle, die Module laden, in der neuen Konfigurationsdatei /etc/proftpd/"
+#~ "modules.conf für zukünftige Bearbeitungen bleiben sollten. Diese Datei "
+#~ "sollte von der Hauptkonfigurationsdatei eingebunden werden."
+
+#~ msgid "Run proftpd from inetd or standalone?"
+#~ msgstr "ProFTPd über Inetd oder als Daemon starten?"
+
+#~ msgid ""
+#~ "On the other hand, if your ftp site is visited frequently, you should "
+#~ "rather run proftp as a standalone server (because with inetd, each time a "
+#~ "connection is opened, a new process is spawned)."
+#~ msgstr ""
+#~ "Wenn der FTP-Server jedoch sehr oft benutzt werden wird, sollten Sie ihn "
+#~ "stattdessen als Daemon betreiben, da bei Inetd bei jeder Verbindung eine "
+#~ "eigene Instanz des Programms gestartet werden würde."
--- proftpd-dfsg-1.3.1.orig/debian/po/cs.po
+++ proftpd-dfsg-1.3.1/debian/po/cs.po
@@ -0,0 +1,110 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2008-01-02 22:30+0100\n"
+"Last-Translator: Jan Outrata <outrataj@upcase.inf.upol.cz>\n"
+"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "z inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "samostatně"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Spouštět proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd může běžet buď jako služba z inetd, nebo jako samostatný server. Obě "
+"možnosti mají svoje výhody. Při několika ftp spojeních za den je lepší "
+"spouštět ProFTPd z inetd, aby šetřil zdroje."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Naopak při větším provozu by měl ProFTPd běžet jako samostatná služba, aby "
+"nemusel při každém příchozím spojení spouštět nový proces."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Upozornění na změny syntaxe v konfiguraci ProFTPd."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Aktualizujete z verze před 1.3.0. Pravděpodobně budete muset aktualizovat "
+#~ "své předchozí nastavení, aby bylo v souladu s nynějšími direktivami. "
+#~ "Konzultujte dokumentaci dostupnou v proftpd-doc a podle potřeby upravte /"
+#~ "etc/proftpd/proftpd.conf."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Naneštěstí je téměř nemožné převést vaše nastavení, až na nějaké základní "
+#~ "věci, automaticky. Budete to muset udělat sami. ProFTPd také nemusí být "
+#~ "schopný použít výslednou konfiguraci a po aktualizaci by se znovu "
+#~ "nespustil."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Od verze 1.3.0 se používají dynamické moduly a nastavení by mělo být "
+#~ "rozděleno. Instrukce pro zavedení modulů by se měly nacházet v novém "
+#~ "konfiguračním souboru /etc/proftpd/modules.conf. Tento soubor by měl být "
+#~ "zahrnut v hlavním konfiguračním souboru."
+
+#~ msgid ""
+#~ "On the other hand, if your ftp site is visited frequently, you should "
+#~ "rather run proftp as a standalone server (because with inetd, each time a "
+#~ "connection is opened, a new process is spawned)."
+#~ msgstr ""
+#~ "Na druhou stranu, pokud je váš ftp server navštěvován často, není inetd "
+#~ "dobrá volba, protože pokaždé, když je otevřeno spojení, je spuštěn nový "
+#~ "proces."
--- proftpd-dfsg-1.3.1.orig/debian/po/es.po
+++ proftpd-dfsg-1.3.1/debian/po/es.po
@@ -0,0 +1,113 @@
+# proftpd debconf translation to spanish
+# Copyright (C) 2003, 2006, 2007 Software in the Public Interest
+# This file is distributed under the same license as the proftpd package.
+#
+# Changes:
+# - Initial translation
+#        Carlos Valdivia Yagüe <valyag@dat.etsit.upm.es>, 2003
+#
+# - Revisions
+#        Carlos Valdivia Yagüe <valyag@dat.etsit.upm.es>, 2006, 2007
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd 1.3.1-3\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-12 15:45+0100\n"
+"Last-Translator: Carlos Valdivia Yagüe <valyag@dat.etsit.upm.es>\n"
+"Language-Team: Debian L10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "desde inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "independiente"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Ejecutar proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd puede ejecutarse como un servicio desde inetd o como un servidor "
+"independiente. Ambas opciones tienen sus ventajas. Si sólo recibe unas pocas "
+"conexiones FTP diarias, probablemente sea mejor ejecutar ProFTPd desde inetd "
+"para ahorrar recursos."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Por otro lado, con más tráfico, ProFTPd debería ejecutarse como un servidor "
+"independiente para evitar crear un proceso nuevo por cada conexión entrante."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Aviso de cambios de sintaxis en la configuración de ProFTPd."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Está actualizando desde una versión de ProFTPd anterior a la 1.3.0. Es "
+#~ "muy posible que necesite revisar la configuración anterior para adecuarla "
+#~ "a las directivas actuales. Por favor, consulte la documentación "
+#~ "disponible en proftpd-doc y modifique apropiadamente /etc/proftpd.conf."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Desgraciadamente, es casi imposible convertir su configuración de forma "
+#~ "automática, salvo algunas cuestiones elementales. Tendrá que hacerlo por "
+#~ "su cuenta. ProFTPd podría tener problemas para usar la nueva "
+#~ "configuración y no arrancar después de actualizar."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Tenga en cuenta que a partir de la versión 1.3.0, ProFTPd utiliza módulos "
+#~ "dinámicos y la configuración se ha separado en dos, quedando las "
+#~ "instrucciones de carga de módulos en el nuevo fichero de configuración /"
+#~ "etc/proftpd/modules.conf. Ese fichero debería ser incluido por el fichero "
+#~ "de configuración principal."
--- proftpd-dfsg-1.3.1.orig/debian/po/fi.po
+++ proftpd-dfsg-1.3.1/debian/po/fi.po
@@ -0,0 +1,56 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg 1.3.1-3\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-12 20:06+0200\n"
+"Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
+"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Finnish\n"
+"X-Poedit-Country: Finland\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "inetdistä"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "itsenäisenä"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Aja proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd voidaan ajaa joko palveluna inetdistä tai itsenäisenä palvelimena. "
+"Molemmilla vaihtoehdoilla on hyvät puolensa. Jos FTP-yhteyksiä on vain "
+"muutamia päivässä, on luultavasti parempi ajaa ProFTPd inetdistä resurssien "
+"säästämiseksi."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Toisaalta suuremmilla liikennemäärillä ProFTPd kannattaa ajaa itsenäisenä "
+"palvelimena, koska tällöin vältetään uuden prosessin luominen kullekin "
+"yhteydelle."
--- proftpd-dfsg-1.3.1.orig/debian/po/eu.po
+++ proftpd-dfsg-1.3.1/debian/po/eu.po
@@ -0,0 +1,95 @@
+# translation of proftpd-dfsg1.3.1-3-templates.po to Euskara
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Piarres Beobide <pi@beobide.net>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg1.3.1-3-templates\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-19 10:17+0100\n"
+"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
+"Language-Team: Euskara <Librezale@librezale.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "inetd bidez"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "bakarka"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "proftpd exekutatu:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd inetd bidezko zerbitzu bat edo bakarkako zerbitzari bezala exekutatu "
+"daiteke, Aukera bakoitzak bere onurak ditu. Eguneko FTP konexio gutxi "
+"badituzu, hobe da ziurrenik ProFTPd inetd biez exekutatzea errekurtso "
+"gutxiago erabiltzeko."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Beste aldetik, trafiko handi bat baduzu, ProFTPd bakarka exekutatu beharko "
+"zenuke konexio bakoitzean ez prozesu berriak sortu ez daitezen."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Kontutan izan sintaxi aldaketak egon direla ProFTPd konfigruazioan."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "1.3.0 aurreko bertsio batetatik bertsio berritzen ari zara. ziurrenik "
+#~ "aurreko konfigurazioa gainbegiratu beharko duzu direktiba berriak "
+#~ "betetzen dituela ziurtatzeko. Mesedez begiratu dokumentazio eta nola-egin "
+#~ "eskuragarriak eta aldatu /etc/proftpd/proftpd.conf behar den moduan."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Tamalez, nahiko zaila da zure konfigurazioa automatikoki eraldatzea, "
+#~ "oinarrizko aldaketa batzuek ezik. Aldaketa hauek zure kabuz egin beharko "
+#~ "dituzu. ProFTPd-ek arazoak izan ditzake konfigurazio berria erabiltzeko "
+#~ "eta posible da ezin exekutatu izatea bertsio-berritzearen ondoren."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Kontutan izan 1.3.0 bertsiotik aurrera modulu dinamikoak erailtzen direla "
+#~ "eta konfigurazioa zatitua izan dela, /etc/proftpd/modules.conf fitxategi "
+#~ "berrian modulu karga argibideak mantendu direlarik. Fitxategi hori "
+#~ "konfigurazio fitxategi nagusian txertatu beharko en."
--- proftpd-dfsg-1.3.1.orig/debian/po/fr.po
+++ proftpd-dfsg-1.3.1/debian/po/fr.po
@@ -0,0 +1,100 @@
+# Translation of proftpd-dfsg debconf templates to French
+# Copyright (C) 2007 Christian Perrier <bubulle@debian.org>
+# This file is distributed under the same license as the proftpd-dfsg package.
+#
+# Christian Perrier <bubulle@debian.org>, 2006-2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-12 11:55+0530\n"
+"Last-Translator: Christian Perrier <bubulle@debian.org>\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "Depuis inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "Indépendamment"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Lancement de proftpd :"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd peut être lancé soit en tant que service depuis inetd, soit comme un "
+"serveur indépendant. Chaque méthode a ses avantages. Pour quelques "
+"connexions par jour, il est suggéré de lancer ProFTPd depuis inetd afin de "
+"préserver les ressources du système."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Au contraire, avec un trafic plus important, il est recommandé d'exécuter "
+"ProFTPd indépendamment pour éviter de démarrer un nouveau processus pour "
+"chaque connexion entrante."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Changement de syntaxe dans la configuration de ProFTPd"
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Vous effectuez une mise à jour depuis une version inférieure à 1.3.0. Il "
+#~ "vous sera probablement nécessaire de revoir votre configuration "
+#~ "antérieure afin d'être conforme aux nouvelles directives. Veuillez "
+#~ "consulter la documentation disponible dans le paquet proftpd-doc et "
+#~ "modifier /etc/proftpd/proftpd.conf en conséquence."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Malheureusement, il est à peu près impossible de convertir votre "
+#~ "configuration automatiquement, sauf pour des points particulièrement "
+#~ "simples. Vous devrez le faire vous-même. ProFTPd pourrait être incapable "
+#~ "d'utiliser le fichier de configuration résultant et ne redémarrera donc "
+#~ "pas après la mise à jour."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Veuillez également noter qu'à partir de la version 1.3.0, des modules "
+#~ "dynamiques sont utilisés et que la configuration doit être éclatée en "
+#~ "plusieurs fichiers. Les instructions de chargement des modules sont "
+#~ "placées dans le nouveau fichier de configuration /etc/proftpd/modules."
+#~ "conf pour des développements futurs. Ce fichier sera appelé par le "
+#~ "fichier de configuration principal."
--- proftpd-dfsg-1.3.1.orig/debian/po/gl.po
+++ proftpd-dfsg-1.3.1/debian/po/gl.po
@@ -0,0 +1,107 @@
+# Galician translation of proftpd-dfsg's debconf templates
+# This file is distributed under the same license as the proftpd-dfsg package.
+# Jacobo Tarrio <jtarrio@debian.org>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-12 19:35+0000\n"
+"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "desde inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "autónomo"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Executar proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd pode executarse coma un servizo de inetd ou coma un servidor "
+"autónomo. Cada posibilidade ten as súas avantaxes. Con só unhas poucas "
+"conexións por FTP diarias, seguramente sexa mellor executar ProFTPd desde "
+"inetd para aforrar recursos."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Por outro lado, con máis tráfico, ProFTPd debería funcionar coma un servidor "
+"autónomo para non ter que crear un novo proceso por cada conexión entrante."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Aviso sobre cambios de sintaxe na configuración de ProFTPd."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Está a se actualizar dunha versión anterior á 1.3.0. Seguramente ha ter "
+#~ "que revisar a súa configuración anterior para que se axuste ás directivas "
+#~ "actuais. Consulte a documentación e os \"how-tos\" dispoñibles no paquete "
+#~ "proftpd-doc e modifique /etc/proftpd/proftpd.conf como sexa necesario."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Lamentablemente, actualmente é case imposible converter a súa "
+#~ "configuración automaticamente, agás para algunhas cousas básicas. Ha ter "
+#~ "que o facer vostede mesmo. ProFTPd tamén podería ser incapaz de empregar "
+#~ "a configuración resultante, polo que non había volver iniciarse trala "
+#~ "actualización."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Teña tamén en conta que, a partires da versión 1.3.0, empréganse módulos "
+#~ "dinámicos e a configuración debería estar dividida, mantendo as "
+#~ "instruccións de carga dos módulos no novo ficheiro de configuración /etc/"
+#~ "proftpd/modules.conf. Ese ficheiro debería ter unha directiva de "
+#~ "inclusión no ficheiro de configuración principal."
+
+#~ msgid "Run proftpd from inetd or standalone?"
+#~ msgstr "¿Executar proftpd desde inetd ou dun xeito autónomo?"
+
+#~ msgid ""
+#~ "On the other hand, if your ftp site is visited frequently, you should "
+#~ "rather run proftp as a standalone server (because with inetd, each time a "
+#~ "connection is opened, a new process is spawned)."
+#~ msgstr ""
+#~ "Por outro lado, se o seu sitio FTP recibe moitas visitas, sería mellor "
+#~ "executar proftp coma un servidor autónomo (porque con inetd lánzase un "
+#~ "novo proceso cada vez que se abre unha conexión)."
--- proftpd-dfsg-1.3.1.orig/debian/po/id.po
+++ proftpd-dfsg-1.3.1/debian/po/id.po
@@ -0,0 +1,101 @@
+# proftpd-dfsg debconf translation for Bahasa Indonesia.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the proftpd-dfsg package.
+# Arief S Fitrianto <arief@gurame.fisika.ui.ac.id>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpf-dfsg\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2008-01-03 13:27+0700\n"
+"Last-Translator: Arief S Fitrianto <arief@gurame.fisika.ui.ac.id>\n"
+"Language-Team: Debian L10N Indonesia <debian-l10n-id@gurame.fisika.ui.ac."
+"id>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Indonesian\n"
+"X-Poedit-Country: INDONESIA\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "dari inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "mandiri"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Jalankan proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd dapat beroperasi sebagai layanan dari inetd atau sebagai suatu "
+"server mandiri. Setiap pilihan memiliki keuntungan masing-masing. Jika "
+"koneksi FTP sangat sedikit per harinya, lebih baik menjalankan ProFTPd dari "
+"inetd untuk menghemat sumber daya komputer/server."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Namun apabila lalu lintas FTP sangat tinggi, ProFTPd sebaiknya dioperasikan "
+"sebagai suatu server mandiri untuk menghindari pembukaan proses baru setiap "
+"ada sambungan FTP yang masuk."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr ""
+#~ "Hati-hati terhadap adanya perubahan sintaks pada konfigurasi ProFTPd."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Anda sedang memperbaharui versi pra-1.3.0. Mungkin Anda perlu melihat "
+#~ "kembali konfigurasi sebelumnya agar sesuai dengan sintaks yang berlaku "
+#~ "pada versi baru. Silakan membaca dokumentasi dan petunjuk yang tersedia "
+#~ "pada paket proftpd-doc kemudian ubah /etc/proftpd/proftpd.conf sesuai "
+#~ "kebutuhan."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Malangnya, saat ini hampir tidak mungkin untuk mengubah konfigurasi lama "
+#~ "secara otomatis selain beberapa konfigurasi dasar. Anda harus "
+#~ "melakukannya sendiri. ProFTPd bisa jadi tidak dapat menggunakan "
+#~ "konfigurasi yang dihasilkan dan tidak akan beroperasi setelah proses "
+#~ "pembaharuan ini."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Perlu dicatat pula bahwa mulai versi 1.3.0, modul-modul dinamik digunakan "
+#~ "dan konfigurasi harus dipisahkan. Konfigurasi modul disimpan dalam "
+#~ "berkas /etc/proftpd/modules.conf untuk kebutuhan versi mendatang. Berkas "
+#~ "ini harus dilibatkan dalam berkas konfigurasi utama."
--- proftpd-dfsg-1.3.1.orig/debian/po/ja.po
+++ proftpd-dfsg-1.3.1/debian/po/ja.po
@@ -0,0 +1,102 @@
+# 
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+# 
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+# 
+#    Developers do not need to manually edit POT or PO files.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg 1.3.1-6\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2008-01-30 08:03+0900\n"
+"Last-Translator: Hideki Yamane (Debian-JP) <henrich@debian.or.jp>\n"
+"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "inetd 経由"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "スタンドアロン"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "proftpd の起動方法:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd は、inetd 経由のサービスとして実行することもできますし、 スタンドア"
+"ローンのサーバとしても実行できます。どちらにもそれぞれ利点があります。1日に数"
+"回の ftp アクセスしかない場合は、資源を節約するために ProFTPd を inetd から起"
+"動するのが良いかも知れません。"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"一方、頻繁なアクセスがある場合は、接続ごとに新規プロセスが生成されるのを避け"
+"るため、ProFTPd をスタンドアロンサーバとして動作させるべきです。"
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "ProFTPd 設定での書式変更に関する警告"
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "今回は、1.3.0 より古いバージョンからのアップグレードとなります。恐らく現在"
+#~ "の書式に適合するように設定ファイルを見直す必要があるでしょう。proftpd-doc "
+#~ "パッケージで参照可能な文書と How to を確認し、/etc/proftpd.conf の必要な部"
+#~ "分を変更して下さい。"
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "残念なことに、いくつかの基本的な設定以外は設定ファイルを自動的に変換するの"
+#~ "は現状ではほとんど不可能です。自分で変換する必要があります。自動変換後の設"
+#~ "定を使うことは恐らくできないので、アップグレード後に ProFTPd を再起動する"
+#~ "こともできません。"
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "バージョン 1.3.0 から動的モジュールが使用され、設定が分割されたのにも注意"
+#~ "してください。モジュールのロードを引き続き行うには、以降の新しい設定を行う"
+#~ "ために用意された新しい /etc/proftpd/modules.conf 設定ファイルで指定を行い"
+#~ "ます。メインの設定ファイルでこのファイルを含めておくことが必要です。"
--- proftpd-dfsg-1.3.1.orig/debian/po/it.po
+++ proftpd-dfsg-1.3.1/debian/po/it.po
@@ -0,0 +1,51 @@
+# This is the italian debconf template for proftpd.
+# Copyright (C) 2003 Francesco P.Lovergine <frankie@debian.org>
+# This file is distributed under the same license as the proftpd package.
+# Francesco P.Lovergine <frankie@debian.org>, 2003.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd 1.3.1\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2008-04-29 14:28+0100\n"
+"Last-Translator: Francesco Paolo Lovergine <frankie@debian.org>\n"
+"Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Italian\n"
+"X-Poedit-Country: ITALY\n"
+"X-Poedit-SourceCharset: iso-8859-1\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "da inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+#| msgid "inetd, standalone"
+msgid "standalone"
+msgstr "autonomo"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Esecuzione proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "ProFTPd can be run either as a service from inetd, or as a standalone server. Each choice has its own benefits. With only a few FTP connections per day, it is probably better to run ProFTPd from inetd in order to save resources."
+msgstr "Ogni scelta ha i suoi benefici. Se si hanno poche connessioni ftp al giorno, risorse."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "On the other hand, with higher traffic, ProFTPd should run as a standalone server to avoid spawning a new process for each incoming connection."
+msgstr "D'altro canto, con traffico maggiore, ProFTPd dovrebbe essere eseguito come servizio autonomo per evitare di lanciare un nuovo processo per ogni connession in ingresso."
+
--- proftpd-dfsg-1.3.1.orig/debian/po/nb.po
+++ proftpd-dfsg-1.3.1/debian/po/nb.po
@@ -0,0 +1,95 @@
+# translation of proftpd-dfsg.po to Norwegian Bokmål
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Bjørn Steensrud <bjornst@skogkatt.homelinux.org>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-15 12:36+0100\n"
+"Last-Translator: Bjørn Steensrud <bjornst@skogkatt.homelinux.org>\n"
+"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "fra inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "frittstående"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Kjør proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd kan kjøres enten som en tjeneste fra inetd, eller som en "
+"frittstående tjener. Hvert valg har sine fordeler. Hvis det bare er noen få "
+"FTP-tilkoblinger om dagen, er det antakelig bedre å kjøre ProFTPd fra inetd "
+"for å spare ressurser."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"På den annen side, med høyere trafikk bør ProFTPd kjøre som en frittstående "
+"tjener for å unngå å starte en ny prosess for hver innkommende tilkobling."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Advarsel om syntaksendringer i ProFTPd-oppsettet."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Det oppgraderes nå fra en versjon tidligere enn 1.3.0. Det er trolig "
+#~ "nødvendig å se over det tidligere oppsettet så det stemmer med gjeldende "
+#~ "direktiver. Les dokumentasjonen og how-to-filene i proftpd-doc og endre /"
+#~ "etc/proftpd/proftpd.conf ved behov."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Det er dessverre nesten umulig nå å konvertere oppsettet automatisk, "
+#~ "unntatt for noen helt grunnleggende saker. Du må gjøre det selv. ProFTPd "
+#~ "kunne også være ute av stand til å bruke et automatisk konvertert oppsett "
+#~ "og ville ikke starte på nytt etter oppgradering."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Merk også at fra og med versjon 1.3.0 brukes det dynamiske moduler, og "
+#~ "oppsettet bør deles opp, med instruksjoner for lasting av moduler "
+#~ "inneholdt i den nye oppsettsfila /etc/proftpd/modules.conf for fremtidige "
+#~ "endringer. Den fila bør inkluderes fra hovedoppsettsfila."
--- proftpd-dfsg-1.3.1.orig/debian/po/nl.po
+++ proftpd-dfsg-1.3.1/debian/po/nl.po
@@ -0,0 +1,116 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#    Translators, please read /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-19 17:43+0100\n"
+"Last-Translator: Bart Cornelis <cobaco@skolelinux.no>\n"
+"Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Dutch\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "via inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "losstaand"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "ProFTPd uitvoeren:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd kan als een losstaande server, of als een dienst via inetd gedraaid "
+"worden. Elke keuze heeft z'n eigen voordelen. Als u relatief weinig ftp-"
+"verbindingen per dag binnenkrijgt is het waarschijnlijk aan te raden om "
+"ProFTPd via inetd te draaien daar dit systeembronnen spaart."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Als u daarentegen relatief veel verkeer heeft, draait u ProFTPd beter als "
+"een losstaande server, daar u dan vermijd dat er voor elke binnenkomende "
+"verbinding een proces afgesplitst wordt. "
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr ""
+#~ "Waarschuwing betreffende syntax-veranderingen in de ProFTPd-configuratie."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "U voert een opwaardering uit vanaf een pre-1.3.0 versie. U zult "
+#~ "waarschijnlijk uw bestaande configuratie moeten aanpassen om te voldoen "
+#~ "aan de huidige richtlijnen. Gelieve de documentatie beschikbaar in "
+#~ "proftpd-doc te consulteren en de noodzakelijke aanpassingen in /etc/"
+#~ "proftpd.conf door te voeren."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Het is helaas bijna onmogelijk om uw instelling automatisch om te "
+#~ "schakelen. Dit wordt geprobeerd, maar afgezien van eenvoudige opzetten, "
+#~ "zult u zelf nog aanpassingen moeten uitvoeren. Het is mogelijk dat "
+#~ "ProFTPd de automatisch gegenereerde configuratie niet kan gebruiken, "
+#~ "waardoor de herstart van ProFTPd na de opwaardering zal mislukken."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Opgelet: vanaf versie 1.3.0 worden er gebruik gemaakt van dynamische "
+#~ "modules en is de configuratie opgesplitst (waarbij de instructies voor "
+#~ "het laden van modules in het nieuwe /etc/proftpd/modules.conf "
+#~ "configuratiebestand gehouden worden teneinde toekomstige hacks toe te "
+#~ "laten; dit bestand wordt ingevoegd (included) door het "
+#~ "hoofdconfiguratiebestand."
+
+#~ msgid "Run proftpd from inetd or standalone?"
+#~ msgstr "ProFTPd losstaand, of vanuit inetd opstarten?"
+
+#~ msgid ""
+#~ "On the other hand, if your ftp site is visited frequently, you should "
+#~ "rather run proftp as a standalone server (because with inetd, each time a "
+#~ "connection is opened, a new process is spawned)."
+#~ msgstr ""
+#~ "Daar staat tegenover dat wanneer uw ftp-site druk bezocht wordt het beter "
+#~ "is om proftp als een losstaande server te draaien (Inetd start namelijk "
+#~ "bij iedere verbinding een nieuw proces)."
--- proftpd-dfsg-1.3.1.orig/debian/po/pt.po
+++ proftpd-dfsg-1.3.1/debian/po/pt.po
@@ -0,0 +1,108 @@
+# Portuguese translation of proftpd debconf messages.
+# This file is distributed under the same license as the proftpd package.
+# Ricardo Silva <ardoric@gmail.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg 1.3.1-3:\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-15 12:23+0000\n"
+"Last-Translator: Ricardo Silva <ardoric@gmail.com>\n"
+"Language-Team: Native Portuguese <traduz@debianpt.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "a partir do inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "em modo solitrio"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Correr o proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"O ProFTPd pode ser corrido tanto como um servio do inetd, bem como um "
+"servidor solitrio. Cada escolha tem os seus benefcios. Se tem apenas "
+"algumas ligaes ftp por dia,  provavelmente melhor correr o proftpd pelo "
+"inetd para poupar recursos."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Por outro lado, com mais trafego, o ProFTPd deve ser iniciado como um "
+"servidor solitrio para evitar a criao de novos processos para cada "
+"ligao."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Aviso sobre mudanas de sintaxe na configurao do ProFTPd."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Est a actualizar de uma verso anterior a 1.3.0. Provavelmente ter de "
+#~ "rever a sua configurao prvia de forma a ser compatvel com as "
+#~ "directivas actuais. Por favor, consulte a documentao e os how-to's "
+#~ "disponveis no pacote proftpd-doc e mude o ficheiro /etc/proftpd/proftpd."
+#~ "conf conforme necessrio."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Infelizmente,  quase impossvel actualmente converter a sua configurao "
+#~ "automaticamente, a no ser em alguns pontos bsicos. Ter de o fazer por "
+#~ "si prprio. O ProFTPd pode tambm no ser capaz de usar a configurao "
+#~ "resultante, e no se inicializar depois da actualizao."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Note tambm que a partir da verso 1.3.0, so usados mdulos dinmicos e "
+#~ "a configurao deve ser separada, mantendo instrues de carregamento do "
+#~ "mdulos no novo ficheiro de configurao /etc/proftpd/modules.conf para "
+#~ "'hacks' futuros. Esse ficheiro deve ser includo pelo ficheiro principal "
+#~ "de configurao."
+
+#~ msgid "Run proftpd from inetd or standalone?"
+#~ msgstr "Correr o proftpd a partir do inetd ou em modo solitrio?"
+
+#~ msgid ""
+#~ "On the other hand, if your ftp site is visited frequently, you should "
+#~ "rather run proftp as a standalone server (because with inetd, each time a "
+#~ "connection is opened, a new process is spawned)."
+#~ msgstr ""
+#~ "Por outro lado, se o seu 'site' de ftp  visitado frequentemente, deve "
+#~ "correr o proftpd como um servidor solitrio (porque com o inetd, sempre "
+#~ "que uma nova ligao  aberta,  corrido um novo processo)."
--- proftpd-dfsg-1.3.1.orig/debian/po/ru.po
+++ proftpd-dfsg-1.3.1/debian/po/ru.po
@@ -0,0 +1,101 @@
+# translation of ru.po to Russian
+# This file is distributed under the same license as the PACKAGE package.
+#    Translators, please read /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+#
+# Yuriy Talakan' <yt@amur.elektra.ru>, 2006.
+# Yuri Kozlov <kozlov.y@gmail.com>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: 1.3.1-3\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-26 21:56+0300\n"
+"Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "через inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "самостоятельно"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Запуск proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd может быть запущен либо как сервис через inetd, либо как "
+"самостоятельный сервер. Каждый из способов имеет свои преимущества. Если к "
+"ftp-серверу в день подключаются лишь несколько человек, то лучше запускать "
+"ProFTPd через inetd, чтобы сэкономить ресурсы."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"С другой стороны, если подключений много, то вы наоборот, должны запускать "
+"ProFTPd как самостоятельный сервер, чтобы избежать создания нового процесса "
+"при каждом входящем соединении."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Предупреждение: в синтаксисе настройки ProFTPd есть изменения."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Вы обновляетесь с версии пред-1.3.0. Возможно вам нужно проверить "
+#~ "имеющиеся настройки на совместимость с текущей версией. Обратитесь к "
+#~ "документации из пакета proftpd-doc и исправьте файл /etc/proftpd/proftpd."
+#~ "conf так как нужно."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "К сожалению, полная автоматическая конвертация невозможна, кроме "
+#~ "некоторых элементарных вещей. Вы должны сделать это сами. ProFTPd не "
+#~ "сможет использовать получившиеся настройки и не сможет перезапуститься "
+#~ "после обновления."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Обратите внимание, что начиная с версии 1.3.0, используются динамические "
+#~ "модули и настройки надо разделить, оставив инструкции по загрузке модулей "
+#~ "в новом настроечном файле /etc/proftpd/modules.conf для будущих "
+#~ "изменений. Этот файл надо подключить в главном настроечном файле."
--- proftpd-dfsg-1.3.1.orig/debian/po/sk.po
+++ proftpd-dfsg-1.3.1/debian/po/sk.po
@@ -0,0 +1,102 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg 1.3.0-24\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-12 13:01+0100\n"
+"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
+"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "z inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "samostatne"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Spúšťať proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd je možné spúšťať buď ako službu pomocou inetd alebo ako samostatný "
+"server. Každá voľba má svoje výhody. Ak máte iba niekoľko ftp spojení za "
+"deň, je pre vás pravdepodobne lepšie spúšťať ProFTPd pomocou inetd aby ste "
+"šetrili systémové zdroje."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Na druhej strane, pri vyššej premávke by mal byť ProFTPd spustený ako "
+"samostatný server, aby nebolo potrebné spúšťať nový proces pre každé "
+"prichádzajúce spojenie."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Upozornenie na zmeny syntaxe konfigurácie ProFTPd."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Aktualizujete z verzie staršej ako 1.3.0. Pravdepodobne budete musieť "
+#~ "revidovať vašu predchádzajúcu konfiguráciu, aby zodpovedala súčasným "
+#~ "direktívam. Prosím, pozrite si dokumentáciu a návody dostupné v proftpd-"
+#~ "doc a zmeňte /etc/proftpd/proftpd.conf podľa potreby."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Bohužiaľ, je takmer nemožné automaticky previesť vaše nastavenia okrem "
+#~ "niektorých základných vecí. Budete to musieť urobiť sami. Je tiež možné, "
+#~ "že ProFTPd nebude schopný použiť výslednú konfiguráciu a po aktualizácii "
+#~ "sa nereštartuje."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Všimnite si tiež, že počínajúc verziou 1.3.0, sa používajú dynamické "
+#~ "moduly a konfigurácia by mala byť rozdelená. Inštrukcie týkajúce sa "
+#~ "načítania modulov by mali byť v /etc/proftpd/modules.conf a tento súbor "
+#~ "by mal byť zahrnutý (include) v hlavnom konfiguračnom súbore."
+
+#~ msgid "Run proftpd from inetd or standalone?"
+#~ msgstr "Spúštať proftpd z inetd alebo samostatne?"
+
+#~ msgid ""
+#~ "On the other hand, if your ftp site is visited frequently, you should "
+#~ "rather run proftp as a standalone server (because with inetd, each time a "
+#~ "connection is opened, a new process is spawned)."
+#~ msgstr ""
+#~ "Na druhej strane ak je váš ftp server navštevovaný často, mali by ste "
+#~ "radšej proftpd spúšťať ako samostatný server (pretože zakaždým, keď inetd "
+#~ "prijme spojenie sa spustí nový proces)."
--- proftpd-dfsg-1.3.1.orig/debian/po/sv.po
+++ proftpd-dfsg-1.3.1/debian/po/sv.po
@@ -0,0 +1,54 @@
+# translation of proftpd-dfsg_1.3.1-9_sv.po to swedish
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Martin Bagge <martin.bagge@bthstudent.se>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg_1.3.1-9_sv\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2008-06-21 11:53+0200\n"
+"Last-Translator: Martin Bagge <martin.bagge@bthstudent.se>\n"
+"Language-Team: swedish <debian-l10n-swedish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "genom inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "ensamstående"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Kör proftd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr "ProFTPd kan köras som tjänst genom inetd eller som ensamstående tjänst. De båda alternativen har olika fördelar och nackdelar. Med ett fåtal FTP-anslutningar om dagen så är det förmodligen ett bättre val att köra ProFTPd genom inetd för att spara resurser."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr "Å andra sidan så bör ProFTPd köras som ensamstående tjänst om du räknar med högtrafik, då slipper du problem med att det skapas en ny process för varje inkommande anslutning."
+
--- proftpd-dfsg-1.3.1.orig/debian/po/tr.po
+++ proftpd-dfsg-1.3.1/debian/po/tr.po
@@ -0,0 +1,60 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Mert Dirik <mertdirik@gmail.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: $paket $surum\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2008-06-16 23:21+0200\n"
+"Last-Translator: Mert Dirik <mertdirik@gmail.com>\n"
+"Language-Team: Debian L10n Turkish <debian-l10n-turkish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Turkish\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "inetd'den"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "kendibaşına"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "'proftpd'yi çalıştır:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd bir inetd hizmeti ya da kendibaşına bir sunucu olarak "
+"çalıştırılabilir. Her iki seçeneğin de kendilerine özgü yararları vardır. "
+"Eğer günde birkaç FTP bağlantısından fazlasını almıyorsanız, ProFTPd'yi "
+"inetd'den çalıştırarak sistem kaynaklarını koruyabilirsiniz."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Öte yandan yüksek bir trafikte, gelen her bağlantıda yeni bir işlem "
+"oluşturmaktan kaçınmak için ProFTPd kendibaşına bir sunucu olarak "
+"çalıştırılmalıdır."
--- proftpd-dfsg-1.3.1.orig/debian/po/vi.po
+++ proftpd-dfsg-1.3.1/debian/po/vi.po
@@ -0,0 +1,94 @@
+# Vietnamese translation for ProFTPd.
+# Copyright © 2007 Free Software Foundation, Inc.
+# Clytie Siddall <clytie@riverland.net.au>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd-dfsg 1.3.1-3\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2007-12-22 12:45+1030\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.7b1\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr "từ inetd"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "standalone"
+msgstr "độc lập"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr "Chạy proftpd:"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"ProFTPd có thể chạy hoặc như dịch vụ từ inetd, hoặc như trình phục vụ độc "
+"lập. Mỗi tùy chọn có lợi riêng. Chỉ có vài kết nối FTP trong mỗi ngày thì "
+"rất có thể nên chạy ProFTPd từ inetd để tiết kiệm tài nguyên."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+"Mặt khác, khi có nhiều kết nối hơn, ProFTPd nên chạy như trình phục vụ độc "
+"lập, để tránh cần phải tạo một tiến trình mới cho mỗi kết nối gửi đến."
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Cảnh báo về cú pháp bị thay đổi trong cấu hình ProFTPd."
+
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Bạn đang nâng cấp từ một phiên bản trước 1.3.0. Rất có thể là bạn cần "
+#~ "phải xem lại cấu hình trước, để tuân theo các chỉ thị hiện thời. Xem tài "
+#~ "liệu hướng dẫn có sẵn trong gói « proftpd-doc » và sửa đổi tập tin cấu "
+#~ "hình « /etc/proftpd/proftpd.conf » như cần thiết."
+
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Tiếc là hiện thời gần không thể chuyển đổi thiết lập một cách tự động, "
+#~ "trừ đối với một số vấn đề cơ bản. Vậy bạn cần phải tự làm. ProFTPd cũng "
+#~ "có lẽ không thể sử dụng cấu hình kết quả, và không khởi chạy được sau khi "
+#~ "nâng cấp."
+
+#~ msgid ""
+#~ "Note also that starting from 1.3.0 version, dynamic modules are used and "
+#~ "configuration should be splitted, keeping modules loading instructions "
+#~ "within the new /etc/proftpd/modules.conf configuration file for future "
+#~ "hacks. That file should be included by the main configuration file."
+#~ msgstr ""
+#~ "Cũng ghi chú rằng kể từ phiên bản 1.3.0, các mô-đun động được dùng và cấu "
+#~ "hình nên bị chia ra, giữ các mô-đun nạp câu lệnh bên trong tập tin cấu "
+#~ "hình « etc/proftpd/modules.conf » mới để sửa đổi sau. Tập tin đó nên được "
+#~ "tập tin cấu hình chính bao gồm."
--- proftpd-dfsg-1.3.1.orig/debian/po/POTFILES.in
+++ proftpd-dfsg-1.3.1/debian/po/POTFILES.in
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] proftpd.templates
--- proftpd-dfsg-1.3.1.orig/debian/po/pt_BR.po
+++ proftpd-dfsg-1.3.1/debian/po/pt_BR.po
@@ -0,0 +1,173 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#    Translators, please read /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: proftpd\n"
+"Report-Msgid-Bugs-To: proftpd-dfsg@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-10 16:37+0200\n"
+"PO-Revision-Date: 2004-08-07 16:55-0300\n"
+"Last-Translator: Andr Lus Lopes <andrelop@debian.org>\n"
+"Language-Team: Debian-BR Project <debian-l10n-portuguese@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+msgid "from inetd"
+msgstr ""
+
+#. Type: select
+#. Choices
+#: ../proftpd.templates:2001
+#, fuzzy
+#| msgid "inetd, standalone"
+msgid "standalone"
+msgstr "inetd, standalone"
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid "Run proftpd:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+#, fuzzy
+msgid ""
+"ProFTPd can be run either as a service from inetd, or as a standalone "
+"server. Each choice has its own benefits. With only a few FTP connections "
+"per day, it is probably better to run ProFTPd from inetd in order to save "
+"resources."
+msgstr ""
+"O Proftpd pode ser executado como um servio do inetd ou como um servidor "
+"standalone. Cada mtodo tem seus prprios benefcios. Se voc recebe poucas "
+"conexes ftp por dia, pode no ser compensador em termos de consumo de "
+"recursos manter o proftpd em execuo o tempo todo."
+
+#. Type: select
+#. Description
+#: ../proftpd.templates:2002
+msgid ""
+"On the other hand, with higher traffic, ProFTPd should run as a standalone "
+"server to avoid spawning a new process for each incoming connection."
+msgstr ""
+
+#~ msgid "Warning on syntax changes in ProFTPd configuration."
+#~ msgstr "Aviso sobre a sintaxe de mudanas na configurao do ProFTPd."
+
+#, fuzzy
+#~ msgid ""
+#~ "You are upgrading from a pre-1.3.0 version. Probably you will need to "
+#~ "revise your previous configuration to be compliant with current "
+#~ "directives. Please, consult documentation and how-tos available in "
+#~ "proftpd-doc and change /etc/proftpd/proftpd.conf as needed."
+#~ msgstr ""
+#~ "Voc est atualizando a aprtir de verso anterior  verso 1.2.8. "
+#~ "Provavelmente voc precisar revisar sua confgiurao anterior para que a "
+#~ "mesma seja compatvel com as diretivas atuais. Por favor, consulte a "
+#~ "documentao disponvel no pacote proftpd-doc e modifique o arquivo /etc/"
+#~ "proftpd.conf de acordo com a mesma."
+
+#, fuzzy
+#~ msgid ""
+#~ "Unfortunately, it is nearly impossible currently to convert your setup "
+#~ "automatically, but for some basic issues. You will have to do  it "
+#~ "yourself. ProFTPd could also be unable to use the resulting  "
+#~ "configuration, and it would not restart after upgrading."
+#~ msgstr ""
+#~ "Infelizmente,  quase impossvel converter sua configurao antiga "
+#~ "automaticamente, salvo alguns detalhes elementares. Voce ter que fazer "
+#~ "isso manualmente. O ProFTPd poder tambm no ser capaz de usar a "
+#~ "configurao resultante e no conseguir reiniciar aps a atualizao."
+
+#~ msgid "Run proftpd from inetd or standalone?"
+#~ msgstr "Executar o proftpd em modo inetd ou standalone ?"
+
+#, fuzzy
+#~ msgid ""
+#~ "On the other hand, if your ftp site is visited frequently, you should "
+#~ "rather run proftp as a standalone server (because with inetd, each time a "
+#~ "connection is opened, a new process is spawned)."
+#~ msgstr ""
+#~ "Por outro lado, caso seu site ftp seja visitado frequentemente, o inetd "
+#~ "no  uma boa escolha, devido a um novo processo ser iniciado a cada vez "
+#~ "que uma conexo  iniciada."
+
+#~ msgid "Enable anonymous access?"
+#~ msgstr "Habilitar acesso annimo?"
+
+#~ msgid ""
+#~ "Enabling anonymous access grants access to your ftp site by any user, "
+#~ "without being a system user.  This is probably not a good idea for "
+#~ "paranoid sysadmins.  Only enable if you know what it does."
+#~ msgstr ""
+#~ "Habilitar acesso annimo garante que qualquer usurio, mesmo no sendo "
+#~ "usurio do sistema, acesse seu site ftp. Essa provavelmente no  uma boa "
+#~ "para administradores de sistemas paranicos. Somente habilite essa opo "
+#~ "se voce realmente sabe o que isso pode acarretar."
+
+#~ msgid "Using SQL with ProFTPd."
+#~ msgstr "Usando SQL com ProFTPd."
+
+#~ msgid ""
+#~ "I found some old sql directives in /etc/proftpd.conf.  This release of "
+#~ "proftpd doesn't know many of the old sql-related configuration options.  "
+#~ "Many new ones were introduced, and old ones aren't recognized."
+#~ msgstr ""
+#~ "Algumas diretrizes SQL antigas foram encontradas em /etc/proftpd.conf. "
+#~ "Essa verso do proftpd no reconhece muitas das opes de configurao "
+#~ "antigas relacionadas  SQL. Muitas novas diretrizes foram includas e "
+#~ "antigas opes no so reconhecidas."
+
+#~ msgid ""
+#~ "Luckily, it is well documented.  Therefore I refer you to the "
+#~ "documentation in /usr/share/doc/proftpd/README.mod_sql.  I will not start "
+#~ "proftpd; do that yourself when you edited the configuration."
+#~ msgstr ""
+#~ "Porm, este processo  bem documentado.  Entretanto  aconselhado a "
+#~ "leitura da documentao presente em /usr/share/doc/proftpd/README."
+#~ "mod_sql. O proftpd no ser iniciado; faa isso manualmente depois de "
+#~ "editar as configuraes."
+
+#, fuzzy
+#~ msgid "Edit configuration file ${file}?"
+#~ msgstr " Editar arquivo de configurao /etc/proftpd.conf ?"
+
+#, fuzzy
+#~ msgid ""
+#~ "You did not install any debconf-enabled versions of the proftpd yet. This "
+#~ "means that I shall ask you some questions about the way to start proftpd "
+#~ "and anonymous access."
+#~ msgstr ""
+#~ "Nenhuma verso anterior do pacote proftpd com suporte debconf foi "
+#~ "instalada em seu sistema. Isso significa que eu devo lhe fazer algumas "
+#~ "perguntas sobre a maneira de iniciar o proftpd e sobre acesso annimo."
+
+#, fuzzy
+#~ msgid ""
+#~ "However, since you had proftpd installed before, I need to know if it is "
+#~ "ok for me to edit ${file} to actually make those changes.  Only answer "
+#~ "yes if you did not change much.  You will have a chance to review the "
+#~ "changes later on."
+#~ msgstr ""
+#~ "Porm, uma vez que voc possua o proftpd instalado anteriormente,  "
+#~ "preciso saber se voc permite que o arquivo /etc/proftpd.conf seja "
+#~ "editado para relizar algumas mudanas. Somente responda sim se voc no "
+#~ "muda muito sua configurao."
+
+#, fuzzy
+#~ msgid ""
+#~ "If you answer `no' here, I will not ask questions that may require me to "
+#~ "edit the file."
+#~ msgstr ""
+#~ "Caso voc responda `no' aqui, questes que requeiram a edio desse "
+#~ "arquivo no sero perguntadas."
--- proftpd-dfsg-1.3.1.orig/debian/control
+++ proftpd-dfsg-1.3.1/debian/control
@@ -0,0 +1,110 @@
+Source: proftpd-dfsg
+Section: net
+Priority: optional
+Maintainer: Francesco Paolo Lovergine <frankie@debian.org>
+Standards-Version: 3.7.3
+Build-Depends: libmysqlclient15-dev (>= 5.0.16), libpam-dev, debhelper (>=5), zlib1g-dev, 
+ libpq-dev, libldap2-dev, libssl-dev, libwrap0-dev, libcap-dev|not+linux-gnu, 
+ autotools-dev, libncurses5-dev, dpatch, libacl1-dev, libattr1-dev
+Homepage: http://www.proftpd.org/
+
+Package: proftpd
+Architecture: all
+Depends: proftpd-basic, proftpd-mod-mysql, proftpd-mod-pgsql, proftpd-mod-ldap
+Description: versatile, virtual-hosting FTP daemon
+ ProFTPd is a powerful replacement for wu-ftpd. This File Transfer Protocol
+ daemon supports hidden directories, virtual hosts, and per-directory
+ ".ftpaccess" files. It uses a single main configuration file, with a
+ syntax similar to Apache.
+ .
+ Because of the advanced design, anonymous-FTP directories can have
+ an arbitrary internal structure (bin, lib, etc, and special files are
+ not needed). Advanced features such as multiple password files and
+ upload/download ratios are also supported.
+ .
+ This is a convenience transitional package used to install all provided
+ modules, so you can safely remove it after upgrading. You should
+ alternatively install proftpd-basic and one or more of the other 
+ proftpd-mod-* packages if you need advanced features.
+
+Package: proftpd-basic
+Architecture: any
+Depends: netbase (>= 4.13), ${shlibs:Depends}, debconf (>= 0.5.00), adduser, ucf (>= 0.30), debianutils (>= 1.21.0), libpam-runtime (>= 0.76-13.1), update-inetd, sed (>=4.1.5)
+Conflicts: ftp-server, proftpd-common, proftpd (<= 1.3.1-11)
+Replaces: proftpd-common, proftpd (<= 1.3.1-11)
+Provides: ftp-server
+Suggests: proftpd-doc, openssl, proftpd-mod-mysql, proftpd-mod-pgsql, proftpd-mod-ldap
+Description: versatile, virtual-hosting FTP daemon - binaries
+ ProFTPd is a powerful replacement for wu-ftpd. This File Transfer Protocol
+ daemon supports hidden directories, virtual hosts, and per-directory
+ ".ftpaccess" files. It uses a single main configuration file, with a
+ syntax similar to Apache.
+ .
+ Because of the advanced design, anonymous-FTP directories can have
+ an arbitrary internal structure (bin, lib, etc, and special files are
+ not needed). Advanced features such as multiple password files and
+ upload/download ratios are also supported.
+ .
+ This package contains the daemon and all main modules used for
+ common configurations. If you need database-centric authentication 
+ install the suitable proftpd-mod suggested package.
+
+Package: proftpd-doc
+Architecture: all
+Suggests: proftpd (>> 1.2.10-1)
+Section: doc
+Description: Versatile, virtual-hosting FTP daemon - documentation
+ ProFTPd is a powerful replacement for wu-ftpd. This File Transfer Protocol
+ daemon supports hidden directories, virtual hosts, and per-directory
+ ".ftpaccess" files. It uses a single main configuration file, with a
+ syntax similar to Apache.
+ .
+ Because of the advanced design, anonymous-FTP directories can have
+ an arbitrary internal structure (bin, lib, etc, and special files are
+ not needed). Advanced features such as multiple password files and
+ upload/download ratios are also supported.
+ .
+ This package contains the software documentation. 
+Homepage: http://www.proftpd.org/docs
+
+Package: proftpd-mod-mysql
+Architecture: any
+Depends: proftpd-basic (=${binary:Version}), ${shlibs:Depends}
+Description: versatile, virtual-hosting FTP daemon - MySQL module
+ ProFTPd is a powerful replacement for wu-ftpd. This File Transfer Protocol
+ daemon supports hidden directories, virtual hosts, and per-directory
+ ".ftpaccess" files. It uses a single main configuration file, with a
+ syntax similar to Apache.
+ .
+ Because of the advanced design, anonymous-FTP directories can have
+ an arbitrary internal structure (bin, lib, etc, and special files are
+ not needed). Advanced features such as multiple password files and
+ upload/download ratios are also supported.
+
+Package: proftpd-mod-pgsql
+Architecture: any
+Depends: proftpd-basic (=${binary:Version}), ${shlibs:Depends}
+Description: versatile, virtual-hosting FTP daemon - PostgreSQL module
+ ProFTPd is a powerful replacement for wu-ftpd. This File Transfer Protocol
+ daemon supports hidden directories, virtual hosts, and per-directory
+ ".ftpaccess" files. It uses a single main configuration file, with a
+ syntax similar to Apache.
+ .
+ Because of the advanced design, anonymous-FTP directories can have
+ an arbitrary internal structure (bin, lib, etc, and special files are
+ not needed). Advanced features such as multiple password files and
+ upload/download ratios are also supported.
+
+Package: proftpd-mod-ldap
+Architecture: any
+Depends: proftpd-basic (=${binary:Version}), ${shlibs:Depends}
+Description: versatile, virtual-hosting FTP daemon - LDAP module
+ ProFTPd is a powerful replacement for wu-ftpd. This File Transfer Protocol
+ daemon supports hidden directories, virtual hosts, and per-directory
+ ".ftpaccess" files. It uses a single main configuration file, with a
+ syntax similar to Apache.
+ .
+ Because of the advanced design, anonymous-FTP directories can have
+ an arbitrary internal structure (bin, lib, etc, and special files are
+ not needed). Advanced features such as multiple password files and
+ upload/download ratios are also supported.
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-mod-pgsql.install
+++ proftpd-dfsg-1.3.1/debian/proftpd-mod-pgsql.install
@@ -0,0 +1 @@
+usr/lib/proftpd/mod_sql_postgres.so
--- proftpd-dfsg-1.3.1.orig/debian/rules
+++ proftpd-dfsg-1.3.1/debian/rules
@@ -0,0 +1,165 @@
+#!/usr/bin/make -f
+
+PACKAGE=proftpd-basic
+NAME=proftpd
+
+#
+# HAVE_OPENSSL is required by mod_sql.c. 
+# See #233031 for details. 
+#
+# FIXME: To be checked for 1.3.0+
+# 
+PROFTPD_FLAGS := -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_OPENSSL -DUSE_LDAP_TLS
+CFLAGS := -O2 $(PROFTPD_FLAGS) 
+CC := gcc
+
+# Some special build options
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+  CFLAGS += -g -O0
+endif
+ifneq (,$(findstring verbose,$(DEB_BUILD_OPTIONS)))
+DH_VERBOSE=1
+export DH_VERBOSE
+endif
+
+# the dpatch rules
+include /usr/share/dpatch/dpatch.make
+
+#
+# dpkg-arch rules
+# FIXME: To be checked for 1.3.0+
+# 
+ifeq (,$(DEB_BUILD_GNU_TYPE))
+  include debian/scripts/dpkg-arch.mk
+endif
+
+DSOMODS1 = mod_site_misc:mod_load:mod_ban:mod_quotatab:mod_sql:mod_sql_mysql:mod_sql_postgres:mod_dynmasq:
+DSOMODS2 = mod_quotatab_sql:mod_ldap:mod_quotatab_ldap:mod_ratio:mod_tls:mod_rewrite:mod_radius:mod_wrap:mod_wrap2:mod_wrap2_file:
+DSOMODS3 = mod_wrap2_sql:mod_quotatab_file:mod_quotatab_radius:mod_facl:mod_ctrls_admin:mod_ifsession
+CONF_ARGS := --prefix=/usr \
+	     --with-includes=$(shell pg_config --includedir):$(shell mysql_config --include|sed -e 's/-I//') \
+	     --mandir=/usr/share/man --sysconfdir=/etc/$(NAME) --localstatedir=/var/run --libexecdir=/usr/lib/$(NAME) \
+	     --enable-sendfile --enable-facl --enable-dso --enable-autoshadow --enable-ctrls --with-modules=mod_readme \
+	     --enable-ipv6 --enable-nls
+#	     --enable-devel=stacktrace 
+
+ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
+  CONF_ARGS += --build $(DEB_HOST_GNU_TYPE)
+else
+  CONF_ARGS += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
+endif
+	
+build: configure-stamp build-stamp
+build-stamp: 
+	dh_testdir
+	
+	$(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" all
+	
+	touch build-stamp 
+
+install: build-stamp
+	dh_testdir
+	dh_clean -k
+	
+	$(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+
+configure: configure-stamp
+configure-stamp: patch-stamp
+	
+	./configure $(CONF_ARGS) --with-shared=$(DSOMODS1)$(DSOMODS2)$(DSOMODS3)
+	
+	touch configure-stamp
+
+clean: myclean unpatch
+myclean:
+	dh_testdir
+	dh_clean
+	
+	$(MAKE) distclean || true
+	
+	-test -r /usr/share/misc/config.sub && \
+		cp -f /usr/share/misc/config.sub ./config.sub
+	-test -r /usr/share/misc/config.guess && \
+		cp -f /usr/share/misc/config.guess ./config.guess
+	
+	rm -f build-stamp configure-stamp install-stamp patch-stamp
+	rm -f stamp-build stamp-configure debian/files.saved debian/files
+	rm -f $$(find . -type l) $$(find . -name "*~" -o -name "*.o")
+	rm -f $(NAME) config.cache config.log lib/*.a ftpshut Make.rules
+	rm -rf debian/$(PACKAGE) debian/$(NAME)-doc
+	rm -rf debian/files* debian/*substvars* debian/*.gz core
+	rm -f $$(find * -name "*.orig") modules/mod_ratio.c
+	rm -f contrib/dist/rpm/proftpd.spec
+	rm -rf $$(find $(CURDIR) -name .libs)
+	rm -f $$(find $(CURDIR) -name config.log )
+	rm -f $$(find $(CURDIR) -name config.status )
+	rm -f contrib/mod_wrap2/mod_wrap2.h \
+	      contrib/mod_wrap2/Makefile \
+	      contrib/mod_load/mod_load.c \
+	      contrib/mod_load/mod_load.h \
+	      contrib/mod_load/Makefile 
+	# clean up libtool files still around
+	find contrib -name "*.la" -exec rm -f {} \;
+
+binary-indep: checkroot build
+	dh_installdirs -i 
+	dh_install -i 
+	dh_installdocs -i 
+	dh_installchangelogs -i ./ChangeLog
+	dh_installexamples -i 
+	
+	dh_compress -i
+	dh_fixperms -i
+	dh_installdeb -i
+	dh_gencontrol -i 
+	dh_md5sums -i
+	dh_fixperms -i
+	dh_builddeb -i
+
+binary-arch: checkroot build install
+	dh_installdirs -a
+	dh_install -a --sourcedir=debian/tmp
+	dh_installdocs -a
+	dh_installchangelogs -a ChangeLog
+	
+	# removes proftpd.conf installed by upstream
+	rm -f debian/$(PACKAGE)/etc/$(NAME)/$(NAME).conf
+	# removes .la and .a files currently not useful
+	rm -f debian/$(PACKAGE)/usr/lib/$(NAME)/mod_*.la debian/$(PACKAGE)/usr/lib/$(NAME)/mod_*.a
+	
+	install -m 644 debian/templates/*.conf debian/$(PACKAGE)/usr/share/$(NAME)/templates
+	install -m 644 debian/templates/welcome.msg debian/$(PACKAGE)/usr/share/$(NAME)/templates/welcome.msg 
+	install -m 644 debian/templates/ftpusers debian/$(PACKAGE)/etc 
+	install -m 755 debian/$(PACKAGE).init debian/$(PACKAGE)/etc/init.d/$(NAME) 
+	install -m 644 debian/$(NAME).pam debian/$(PACKAGE)/etc/pam.d/$(NAME) 
+	install -m 644 debian/templates/default debian/$(PACKAGE)/etc/default/$(NAME) 
+	install debian/ftpusers.5 debian/$(PACKAGE)/usr/share/man/man5/ftpusers.5
+	install debian/ftpasswd.8 debian/$(PACKAGE)/usr/share/man/man8/ftpasswd.8
+	install debian/ftpstats.8 debian/$(PACKAGE)/usr/share/man/man8
+	install contrib/xferstats.holger-preiss debian/$(PACKAGE)/usr/sbin/ftpstats
+	install -m 755 contrib/ftpasswd debian/$(PACKAGE)/usr/sbin/ftpasswd
+	install -m 755 contrib/ftpquota debian/$(PACKAGE)/usr/sbin/ftpquota
+	install -m 755 debian/$(NAME).cron.monthly debian/$(PACKAGE)/etc/cron.monthly/$(NAME)
+	install -m 755 debian/proftpd-gencert debian/$(PACKAGE)/usr/sbin/proftpd-gencert
+
+	dh_installdebconf -a
+	dh_compress -a
+	dh_fixperms -a
+	dh_installdeb -a
+	dh_makeshlibs -a
+	dh_shlibdeps -a -l$(CURDIR)/debian/tmp/usr/lib/$(NAME)
+	dh_perl -a
+	dh_gencontrol -a 
+	dh_strip -a
+	dh_md5sums -a
+	dh_fixperms -a
+	dh_builddeb -a
+
+binary:	binary-arch binary-indep
+
+checkroot:
+	dh_testdir
+	dh_testroot
+
+.PHONY: binary binary-arch binary-indep clean checkroot patch unpatch myclean install configure
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd.conf.5
+++ proftpd-dfsg-1.3.1/debian/proftpd.conf.5
@@ -0,0 +1,37 @@
+." This file was automatically generated on  9 giugno 2005 from Configuration.html.
+." This file may be distributed under the GNU General Public License.
+."
+.TH PROFTPD.CONF 5 " 9 giugno 2005" "proftpd.conf" "Debian proftpd"
+.SH NAME
+proftpd.conf - Configuration file for ProFTPD
+.SH DESCRIPTION
+.PP
+\fBWARNING: This file was automatically generated\fR from the file
+\fI/usr/share/doc/proftpd-doc/Configuration.html\fR (from the
+package \fIproftpd-doc\fR).  It is very well possible that there are
+a few remaining conversion errors.  If in doubt, always consult the
+HTML version.
+.PP
+This manual page describes the configuration options that are
+available in the proftpd configuration file \fI/etc/proftpd/proftpd.conf\fR.
+.SH SYNTAX
+.PP
+A list of available options follow.
+.PP
+.PP
+.SH "SEE ALSO"
+\fBproftpd\fR(8)
+.PP
+The full documentation for
+.B proftpd.conf
+is maintained as a HTML file in the package
+.B proftpd-doc
+; if for example the
+.B lynx
+and
+.B proftpd-doc
+packages are properly installed at your site, the command
+.IP
+.B lynx /usr/share/doc/proftpd-doc/Configuration.html
+.PP
+should give you access to the complete manual.
--- proftpd-dfsg-1.3.1.orig/debian/watch
+++ proftpd-dfsg-1.3.1/debian/watch
@@ -0,0 +1,2 @@
+version=3
+ftp://ftp.proftpd.org/distrib/source/proftpd-([\d\.]+)\.tar\.gz
--- proftpd-dfsg-1.3.1.orig/debian/ftpquota.8
+++ proftpd-dfsg-1.3.1/debian/ftpquota.8
@@ -0,0 +1,128 @@
+.TH FTPQUOTA "8" "August 2005" "Proftpd" "Proftpd Utilities"
+.SH NAME
+ftpquota \- An utility to manage Proftpd quotas
+.SH SYNOPSIS
+usage: ftpquota [options]
+.SH DESCRIPTION
+This utility can be used to create quota tables and manage their records
+in order to control the mod_quotatab module behavior in Proftpd.
+.SH OPTIONS
+.PP
+The following options describe the type of operation to be performed:
+.TP
+\fB\-\-add\-record\fR
+Create a new record with the specified limits.  Any
+limits left unspecified with have their default
+values.  This option requires the \fB\-\-name\fR and
+\fB\-\-quota\-type\fR options.
+.TP
+\fB\-\-create\-table\fR
+Create the table if not present.  Used to initialize
+a table.  The default limit table path is
+"./ftpquota.limittab".  The default tally table path is
+"./ftpquota.tallytab".
+.TP
+\fB\-\-delete\-record\fR
+Deletes a quota record from the table.  This option
+requires the \fB\-\-name\fR and \fB\-\-quote\-type\fR options.
+.TP
+\fB\-\-show\-records\fR
+Prints out all of the quota records in the table in
+a legible format.
+.TP
+\fB\-\-update\-record\fR
+Updates a quota record with the specified limits.  Any
+limits left unspecified will be updated with their
+default value.  This option requires the \fB\-\-name\fR and
+\fB\-\-quota\-type\fR options.
+.PP
+The following option describes the type of table on which to operate:
+.TP
+\fB\-\-type\fR
+Specifies a table type to use.  The allowable options
+are: "limit" or "tally".  This is required.
+.IP
+The following options are used to specify specific quota limits:
+.TP
+\fB\-\-Bu\fR, \fB\-\-bytes\-upload\fR
+Specifies the limit of the number of bytes that may be
+uploaded.  Defaults to \fB\-1\fR (unlimited).
+.TP
+\fB\-\-Bd\fR, \fB\-\-bytes\-download\fR
+Specifies the limit of the number of bytes that may be
+downloaded.  Defaults to \fB\-1\fR (unlimited).
+.TP
+\fB\-\-Bx\fR, \fB\-\-bytes\-xfer\fR
+Specifies the limit of the number of bytes that may be
+transferred.  Note that this total includes uploads,
+downloads, AND directory listings.  Defaults to
+\fB\-1\fR (unlimited).
+.TP
+\fB\-\-Fu\fR, \fB\-\-files\-upload\fR
+Specifies the limit of the number of files that may be
+uploaded.  Defaults to \fB\-1\fR (unlimited).
+.TP
+\fB\-\-Fd\fR, \fB\-\-files\-download\fR
+Specifies the limit of the number of files that may be
+downloaded.  Defaults to \fB\-1\fR (unlimited).
+.TP
+\fB\-\-Fx\fR, \fB\-\-files\-xfer\fR
+Specifies the limit of the number of files that may be
+transferred, including uploads and downloads.  Defaults
+to \fB\-1\fR (unlimited).
+.TP
+\fB\-L\fR, \fB\-\-limit\-type\fR
+Specifies the type of limit, "hard" or "soft", of
+the bytes limits.  If "hard", any uploaded files that
+push the bytes used counter past the limit will be
+automatically deleted; if "soft", those extra bytes
+will be allowed, but future uploads will be denied.
+This option only makes sense if \fB\-\-type\fR is "limit".
+.TP
+\fB\-N\fR, \fB\-\-name\fR
+Specifies a name for the quota record.  This name
+will be the user/login name, group name, or class
+name, depending on the quota type.  This option
+is ignored if the quota type specified is "all".
+.HP
+\fB\-P\fR, \fB\-\-per\-session\fR
+Specifies that the quota limit is to be applied only
+to each session, rather than persisting across
+sessions.  By default, quotas are persistent.
+Specifies a "quota type" for this record, where
+.TP
+\fB\-Q\fR, \fB\-\-quota\-type\fR
+the type means to which category of FTP users this
+quota will apply.  The quota type must be one of:
+"user", "group", "class", or "all".
+.PP
+The following options are miscellaneous:
+.TP
+\fB\-\-help\fR
+Displays this message.
+.TP
+\fB\-\-table\-path\fR
+Specifies the path to a quota table file to use.
+.TP
+\fB\-\-units\fR
+Specifies whether to treats bytes as is, in kilobytes,
+megabytes, or gigabytes.  Allowable options are:
+"B" or "byte", "Kb" or "kilo", "Mb" or "mega",
+and "Gb" or "giga".  Defaults to "byte".
+.TP
+\fB\-\-verbose\fR
+Toggles more verbose information about the doings of
+the tool as it works.
+.SH AUTHORS
+The Proftpd team. See http://www.proftpd.org/ for information.
+.SH COPYRIGHT
+Copyright (C) 2000-2002 TJ Saunders <tj@castaglia.org>.
+.P
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version. 
+.SH NOTES
+Manual page written for Debian GNU/Linux by
+Francesco P. Lovergine <frankie@debian.org>, Aug 2005
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-doc.install
+++ proftpd-dfsg-1.3.1/debian/proftpd-doc.install
@@ -0,0 +1,20 @@
+README usr/share/doc/proftpd-doc
+README.controls usr/share/doc/proftpd-doc/misc
+README.PAM usr/share/doc/proftpd-doc/misc
+RELEASE_NOTES usr/share/doc/proftpd-doc
+README.IPv6 usr/share/doc/proftpd-doc/misc
+README.ports usr/share/doc/proftpd-doc/misc
+README.capabilities usr/share/doc/proftpd-doc/misc
+README.DSO usr/share/doc/proftpd-doc/misc
+README.LDAP usr/share/doc/proftpd-doc/misc
+README.classes usr/share/doc/proftpd-doc/misc
+README.facl usr/share/doc/proftpd-doc/misc
+README.modules usr/share/doc/proftpd-doc/misc
+CREDITS usr/share/doc/proftpd-doc
+NEWS usr/share/doc/proftpd-doc
+debian/*.txt usr/share/doc/proftpd-doc/misc
+doc/howto usr/share/doc/proftpd-doc
+doc/contrib usr/share/doc/proftpd-doc
+doc/modules usr/share/doc/proftpd-doc
+doc/faq.html usr/share/doc/proftpd-doc
+doc/Configuration.* usr/share/doc/proftpd-doc
--- proftpd-dfsg-1.3.1.orig/debian/proftpd.pam
+++ proftpd-dfsg-1.3.1/debian/proftpd.pam
@@ -0,0 +1,11 @@
+#%PAM-1.0
+auth       required	pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
+@include common-auth
+
+# This is disabled because anonymous logins will fail otherwise,
+# unless you give the 'ftp' user a valid shell, or /bin/false and add
+# /bin/false to /etc/shells.
+#auth       required	pam_shells.so
+
+@include common-account
+@include common-session
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-mod-ldap.install
+++ proftpd-dfsg-1.3.1/debian/proftpd-mod-ldap.install
@@ -0,0 +1,2 @@
+usr/lib/proftpd/mod_ldap.so
+usr/lib/proftpd/mod_quotatab_ldap.so
--- proftpd-dfsg-1.3.1.orig/debian/scripts/dpkg-arch.mk
+++ proftpd-dfsg-1.3.1/debian/scripts/dpkg-arch.mk
@@ -0,0 +1,7 @@
+# see dpkg-architecture(8)
+DEB_BUILD_ARCH		:= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
+DEB_BUILD_GNU_CPU	:= $(shell dpkg-architecture -qDEB_BUILD_GNU_CPU)
+DEB_BUILD_GNU_SYSTEM	:= $(shell dpkg-architecture -qDEB_BUILD_GNU_SYSTEM)
+DEB_BUILD_GNU_TYPE	:= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_GNU_SYSTEM	:= $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM)
+DEB_HOST_GNU_TYPE	:= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
--- proftpd-dfsg-1.3.1.orig/debian/changelog
+++ proftpd-dfsg-1.3.1/debian/changelog
@@ -0,0 +1,2497 @@
+proftpd-dfsg (1.3.1-17lenny2~bpo40+1) etch-backports; urgency=low
+
+  * Backported to etch due to multiple security fixes.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon,  9 Mar 2009 21:35:05 +0100
+
+proftpd-dfsg (1.3.1-17lenny2) stable; urgency=low
+
+  * Fixed 3173.dpatch to use pr_utf8_get_encoding() (supported in 1.3.1) instead of 
+    pr_encode_get_encoding() supported in 1.3.2. 
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 27 Feb 2009 21:27:09 +0100
+
+proftpd-dfsg (1.3.1-17lenny1) stable; urgency=low
+
+  * Security: added 3124.dpatch patch to manage another SQL injection due to % variable
+    substitution in user/group names. This is fixed in 1.3.2. This is CVE-2009-0542.
+  * Security: added 3173fix.dpatch to use PQescapeStringConn() instead of the 
+    deprecated PQescapeString(), which does not honour the encoding. 
+    This is referred to the previous fix of #3173 aka CVE-2009-0543.
+    (closes: #516388)
+  * Added 3176.dpatch to manage correctly postgres-specific charset names introduced
+    in patch 3173.dpatch.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 24 Feb 2009 10:55:09 +0100
+
+proftpd-dfsg (1.3.1-17) unstable; urgency=high
+
+  * Security: added 3173.dpatch patch to manage a critical encoding-dependent SQL
+    injection with SQL-based authentication.
+    See http://bugs.proftpd.org/show_bug.cgi?id=3173. This is fixed in 1.3.2.
+    Thanks TJ for backported patch. 
+  * Now debian/rules removes at cleaning time a couple of .la files
+    under contrib/ still around after building. This fixes a recently discovered 
+    FTBS error due to those files.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 06 Feb 2009 12:52:04 +0100
+
+proftpd-dfsg (1.3.1-16) unstable; urgency=low
+
+  * Enabled nls support to allow alternative encodings to work.
+    (closes: #503274)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 20 Oct 2008 13:02:51 +0200
+
+proftpd-dfsg (1.3.1-15) unstable; urgency=high
+
+  * Fixed debian/changelog for wrongly close #496622 instead of #497622.
+  * [PATCH,SECURITY] New 3115.dpatch.
+    Fixes a cross-site forgery based on long command use, CVE-2008-4242.
+    (closes: #502674)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sun, 21 Sep 2008 23:32:46 +0200
+
+proftpd-dfsg (1.3.1-14) unstable; urgency=low
+
+  * Fixed a bit debian/changelog layout and typos.
+  * DisplayFirstChdir -> DisplayChdir in standard proftpd.conf comments.
+    (closes: #496517, #496160)
+  * Added a versioned replaces/conflicts against pre -12 versions.
+    That would manage nicer by-hand installations of proftpd-basic when
+    starting from old single-binary versions. This is not required for
+    (dist)upgrades but it does not hurt anyway.
+  * [PATCH] New 3094.dpatch.
+    Implements unidirectional shutdown of TLS/SSL sessions which is mandatory
+    to support recent filezilla and possibly other clients. This will avoid
+    many headaches for Filezilla >=3.1 users reporting failures in connecting
+    proftpd servers.
+    (closes: #498136)
+  * Fixed long description of proftpd to use 'transitional package' instead of
+    'pseudo package' expression.
+    (closes: #497622)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 26 Aug 2008 16:27:46 +0200
+
+proftpd-dfsg (1.3.1-13) unstable; urgency=low
+
+  * Modified proftpd.conf template to fix AuthOrder syntax.
+  * Removed supefluous comments in model templates.
+  * [PATCH] New patch pam_auth.dpatch, previuously overlooked :-(
+    PAM authoritative configuration not honored fixed.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2986
+    (closes: #493265)
+  * [PATCH] New patch mod_ldap.c.dpatch
+    Fixes two major problems which render mod_ldap unusable on
+    64bit archs and causes serious breakage when URLs are used
+    for LDAPServer configuration. See #3097 and #3046 on proftpd bugzilla.
+    (closes: #491719)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 08 Aug 2008 16:23:41 +0200
+
+proftpd-dfsg (1.3.1-12) unstable; urgency=low
+
+  * Binary packages are now splitted:
+  	- proftpd-mod-mysql
+        - proftpd-mod-pgsql
+        - proftpd-mod-ldap
+        - proftpd-basic
+        - proftpd (pseudo)
+    to reduce dependencies for basic proftpd installations without exotic
+    auth layers. The proftpd binary is now a pseudo-package used for
+    migrating from etch to the new structure.
+    (closes: #364331)
+  * Removed perl dependency in proftpd-basic.
+  * Updated debconf templates
+     - Japanese. Closes: #463172                                                                                             
+     - Brazilian Portuguese. Closes: #486259                                                                                 
+     - Turkish. Closes: #486560                                                                                              
+     - Swedish. Closes: #487371
+  * Updated README.Debian file.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 24 Jun 2008 14:19:19 +0200
+
+proftpd-dfsg (1.3.1-11) unstable; urgency=medium
+
+  * [PATCH] mod_dynmasq.dpatch
+        Added contributed module mod_dynmasq and modified a bit templates for
+        supporting it.
+    (closes: #354059)
+  * Removing currently superfluous static and libtool files in usr/lib/proftpd.
+  * Fixed typo in dh_shlibdeps call in debian/rules.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 16 Jun 2008 23:56:54 +0200
+
+proftpd-dfsg (1.3.1-10) unstable; urgency=low
+
+  * Commented better tls.conf templates in order to simplify SSL/TTL certs
+    generation for users. Changed /etc/ssl/{private/certs} paths used for
+    coherence.
+  * Added a /usr/sbin/proftpd-gencert utility to generate or re-create a self-signed
+    SSL/TLS certificate. This is inspired to the exim4 sample script and
+    useful for lazy people.
+  * Added openssl as suggested package. It is required in order to run
+    proftpd-gencert.
+  * Now set IdentLookups off in default proftpd.conf.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 20 May 2008 10:12:46 +0200
+
+proftpd-dfsg (1.3.1-9) unstable; urgency=low
+
+  * Removed bashisms in debian/rules and revised file names removed.
+    (closes: #478617)
+  * [PATCH] mod_cap.dpatch. Removed obsolete embedded sys/capability.h header
+    inclusion in mod_cap.c modules. Also it avoids building of the obsolete 
+    embedded libpcap.
+    (closes: #479893)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 07 May 2008 11:01:46 +0200
+
+proftpd-dfsg (1.3.1-8) unstable; urgency=low
+
+  * Long due fix to cron.weekly to explicitly specifing the log path.
+    This is not strictly requested because ftpstats has been fixed for
+    default, but anyway useful as reminder for admin in case he changed
+    the log path.
+  * Now debconf warning message about pre-1.3.0 migration has been dropped. 
+    (closes: #452285)
+  * Added a check-config stanza to proftpd.init file to check proftpd.conf. 
+  * Postinst file fixed, it now should gracefully exit on configuration
+    errors for true. 
+    (closes: #379503)
+  * Revised changelog to wrap within 80 columns and making lintian happy. 
+  * Updated it.po to remove fuzziness.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 29 Apr 2008 14:28:24 +0200
+
+proftpd-dfsg (1.3.1-7) unstable; urgency=low
+
+  * [PATCH] check_order.dpatch
+  	Make sure that the handling of any <Limit LOGIN> sections happens after
+        the class of the session has been determined.  Otherwise, any
+        AllowClass/DenyClass directives within the <Limit>
+        section will not be handled properly.
+  * [PATCH] mod_delay.dpatch
+  	Fixing possible segfault due to DelayTable loading failure.
+        See http://bugs.proftpd.org/show_bug.cgi?id=3044
+  * [PATCH] ftpstats.dpatch
+  	Fixes default xferlog pathname in ftpstats.
+        (closes: #378826)
+  * [PATCH] mod_quotatab_sql.dpatch
+  	Fixes segfault when n mod_quotatab_sql if the SQL query returns 
+        NULL bytes/files values
+        See http://bugs.proftpd.org/show_bug.cgi?id=3061
+  * Reintroduced conflicting/replacing against proftpd-common, 
+    just for corner cases. 
+    (closes: #460420)
+  * Introduced new sample templates to be included by provided proftpd.conf 
+    for exotic implementations. They are only optionally included.
+  * Revised class_rules_fix.dpatch to fix netacl.c changes. 
+    See http://bugs.proftpd.org/show_bug.cgi?id=3035
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 04 Apr 2008 17:46:56 +0200
+
+proftpd-dfsg (1.3.1-6) unstable; urgency=low
+
+  * Template revision in 1.3.1-4 altered shared/proftpd/inetd_or_standalone
+    choices. Now proftpd.postinst has been revised for that.
+    (closes: #461913)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 21 Jan 2008 15:06:48 +0100
+
+proftpd-dfsg (1.3.1-5) unstable; urgency=low
+
+  * Long due typo fix in welcome.msg template.
+    (closes: #435320)
+  * Now reload daemon after rotation, due to SIGUP fixing in 1.3.1.
+    (closes: #428828, #435524)
+  * [PATCH] ip_acl_fix.dpatch
+        IPv4 ACLs (not glob/wildcard rules) were not being compared properly
+        against IPv4-mapped IPv6 connections. Thanks TJ.
+        See http://bugs.proftpd.org/show_bug.cgi?id=3031
+  * [PATCH] class_rules_fix.dpatch
+        Class rules do not honor '!' negation character. Thanks TJ.
+        See http://bugs.proftpd.org/show_bug.cgi?id=3033
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 21 Jan 2008 11:46:43 +0100
+
+proftpd-dfsg (1.3.1-4) unstable; urgency=low
+
+  * Added LSB init section to debian/proftpd.init for run-time init.d
+    dependencies.
+  * Removed LSB-like functions in proftpd.init because lsb-base is required
+    since etch.
+  * Added new configuration sub-files: ldap.conf, sql.conf and tls.conf with
+    advanced configurations.
+    All files are included by the main one.
+  * debian/templates/basic.conf renamed proftpd.conf to simplify debian/rules
+  * Added a 'status' stanza to proftpd init script (in daemon mode only).
+    (closes: #370199)
+  * debian/changelog wrapped better to 80 columns.
+  * Template normalization and translation party, thanks Christian Perrier
+    and others for the global patch here merged.
+  	+ Debconf templates and debian/control reviewed by the debian-l10n-
+    	english team as part of the Smith review project. Closes: #455778
+  	+ [Debconf translation updates]
+  	+ Slovak. Closes: #455887
+  	+ Finnish. Closes: #455970
+  	+ Galician. Closes: #455985
+  	+ Norwegian Bokmål. Closes: #456410
+  	+ Portuguese. Closes: #456539
+  	+ Spanish; Castilian. Closes: #456674
+  	+ Basque. Closes: #457036
+  	+ German. Closes: #457091
+  	+ Vietnamese. Closes: #457380
+  	+ Dutch. Closes: #457807
+  	+ Russian. Closes: #457875
+  	+ French. Closes: #458520
+  	+ Finnish. Closes: #455970
+  	+ Czech. Closes: #458791
+  	+ Indonesian. Closes: #458828
+  * [PATCH] sql_timer_cb.dpatch
+  	TIMED connections don't reconnect to the SQL database.
+        See http://bugs.proftpd.org/show_bug.cgi?id=3022
+  * Added a specific Homepage field in debian/control for proftpd-doc.
+  * Policy bumped to 3.7.3 (no relevant changes).
+  * Removed wu-ftpd among conflicting packages (superfluous).
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 07 Jan 2008 10:41:53 +0100
+
+proftpd-dfsg (1.3.1-3) unstable; urgency=low
+
+  * Disabled language support: currently only en_US is supported, so it is
+    not that useful.  It was wrongly compiled in as a DSO module, anyway. 
+    A configuration option --enable-nls should be used instead. 
+    Fixed modules.conf.
+    (closes: #451747, #451090, #457178)
+  * Commented out stacktrace support at configuration time.
+  * Properly moved to debhelper compatibility 5.
+  * Fixed clean rules to remove auto-generated files.
+  * [Lintian] Fixed FSF address in debian/copyright file. 
+              This is a GPL2 or later program.
+  * [Lintian] Spelling error adviced->advised fixed in README.Debian.
+  * Added missing --oknodo at daemon startup in proftpd.init.
+    (closes: #455562)
+  * [debian/templates/basic.conf] Added an AuthOrder commented directive in 
+    default proftpd.conf template.
+  * [debian/rules] Minor changes in script style.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 20 Dec 2007 11:58:45 +0100
+
+proftpd-dfsg (1.3.1-2) unstable; urgency=low
+
+  * Set off all module directives for safety in default template and also
+    changed a bit basic.conf and modules.conf templates.
+  * New modules building and loading added:
+  	mod_ban
+        mod_lang
+        mod_load
+        mod_quotatab_radius
+        mod_site_misc
+        mod_wrap2
+        mod_wrap2_file
+        mod_wrap2_sql
+  * Added patch:
+  	tls-openssl-version.dpatch:
+             Do not fails if OpenSSL header does not match library version, 
+             just warns.
+             See  http://bugs.proftpd.org/show_bug.cgi?id=2996
+	     (closes: #447534)
+  * Removed obsolete patches.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 18 Oct 2007 17:06:46 +0200
+
+proftpd-dfsg (1.3.1-1) unstable; urgency=low
+
+    New upstream release, with merged fixes for old bugs and a good deal of
+    new bugs of course :) (closes: #384039)
+  * Upstream merged patches:
+  	auth_cache.dpatch
+        auth_loop.dpatch
+        ipv6only.dpatch
+        auth_fix.dpatch
+        CORE-2006-1127.dpatch
+        SA23141.dpatch
+        SA22803.dpatch
+        ipv6_cidr_warn.dpatch
+        sighup_fault.dpatch
+        cve_2006_5815.dpatch
+        remove_rpath.dpatch
+        modules_order.dpatch
+   * Existing patchset updated for current sources.
+   * In debian/templates/basic.conf: 'DisplayFirstChdir path' changed in 
+     'DisplayChdir path true' due to changes in directive. 
+     Version 1.3.0 default config will issue a warning.
+   * Added patches:
+        - mode_t.dpatch:
+                FTBS due to conflicting types for 'mode_t'.
+        	See http://bugs.proftpd.org/show_bug.cgi?id=2993
+        - authoritative_pam.dpatch:
+                Authoritative PAM is not honored.
+                See http://bugs.proftpd.org/show_bug.cgi?id=2986
+        - mod_wrap2_file.dpatch:
+                Fixed mod_wrap2_file misbehavior.
+                See http://bugs.proftpd.org/show_bug.cgi?id=2988
+        - auth-id-cache.dpatch:
+                mod_auth_file uid2name() does not cache results causing slow 
+                LIST response. See http://bugs.proftpd.org/show_bug.cgi?id=2984
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 15 Oct 2007 23:18:54 +0200
+
+proftpd-dfsg (1.3.0-26) UNRELEASED; urgency=low
+
+  * Added a modules_order patch to manage modules that use their own build script.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2974
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 05 Oct 2007 23:25:28 +0200
+
+proftpd-dfsg (1.3.0-25) unstable; urgency=low
+
+  * Fixed typo in configuration template.
+    (closes: #424602)
+  * FYI: patch auth_cache fixes CVE-2007-2165.
+  * Removed obsolete pre-etch postgresql-dev build-dep.
+    (closes: #429980)
+  * Anonymous restrictions apply after a failed anonymous login followed by a 
+    successful normal user login. Added a patch anon.dpatch to manage. 
+    See http://bugs.proftpd.org/show_bug.cgi?id=2939
+  * Added debconf template: sk.po
+    (closes: #440724)
+  * Added versioned dependency for sed.
+    (closes: #431399)
+  * Added Homepage field in debian/control.
+  * In proftpd.postinst pre-check before adding a ftp service line via
+    update-inetd. Currently hostname/addresses list prefix to services are not
+    managed at all. This partially fix #430849 for what concerns proftpd.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 29 Sep 2007 11:22:52 +0200
+
+proftpd-dfsg (1.3.0-24) unstable; urgency=low
+
+  * Added ipv6only.dpatch to avoid syslog pollution on ipv6-only boxes.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2932
+    (closes: #422448)
+  * One more fix due to typo into auth_cache patch. 
+    See again http://bugs.proftpd.org/show_bug.cgi?id=2922
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 14 Jun 2007 14:38:20 +0200
+
+proftpd-dfsg (1.3.0-23) unstable; urgency=low
+
+  * Transitional packages proftpd-mysql, proftpd-pgsql and proftpd-ldap removed.
+    (closes: #422717)
+  * Cleaned post-etch build-deps and dependencies.
+  * auth_cache patch fixed to manage correctly PAM auth.
+    See again http://bugs.proftpd.org/show_bug.cgi?id=2922
+    (closes: #421818)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 19 May 2007 15:05:38 +0200
+
+proftpd-dfsg (1.3.0-22) unstable; urgency=high
+
+  * Added update-inetd dependency.
+  * Security: added a auth_cache patch to manage stacked auth scheme which 
+    can manage to introduce unexpected behaviors in some corner cases.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2922
+    (closes: #419255)
+  * Added a auth_loop patch to avoid endless loop in auth modules.
+    
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 17 Apr 2007 10:48:43 +0200
+
+proftpd-dfsg (1.3.0-21) unstable; urgency=low
+
+  * Changed default template to document the SQLBackend directive.
+    README.Debian also changed as consequence. Also added a few more useful
+    commented directives in debian/templates/basic.conf.
+  * Updated debconf templates
+    (closes: #408618, #412222)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sun,  4 Mar 2007 11:19:16 +0100
+
+proftpd-dfsg (1.3.0-20) unstable; urgency=medium
+
+  * New patch: auth_fix (fixes taken from 1.3.1rc1)
+    mod_auth_unix returns ERROR instead of DECLINE and causes denial of service
+    when used as first auth module in a AuthOrder directive with others.
+    (cfr http://bugs.proftpd.org/show_bug.cgi?id=2721)
+  * Added libattr1-dev build-dep for backporters.
+    (closes: #400738, #405981)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 18 Jan 2007 12:25:22 +0100
+
+proftpd-dfsg (1.3.0-19) unstable; urgency=high
+
+  * Updated NEWS and README.Debian in order to document SQL backend engine 
+    configuration. (closes: #369813, #405184)
+  * Uses correct encoding declaration in pt debconf template.
+    (closes: #403486)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue,  2 Jan 2007 10:47:24 +0100
+
+proftpd-dfsg (1.3.0-18) unstable; urgency=high
+
+  * Rebuilt for cleaning spurious changes introduced by uncomplete building.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 14 Dec 2006 16:10:26 +0100
+
+proftpd-dfsg (1.3.0-17) unstable; urgency=high
+
+  * SECURITY: ProFTPD Controls Buffer Overflow, locally exploitable. 
+    This is fixed in 1.3.1. New patch CORE-2006-1127 added.
+    See http://www.coresecurity.com/?module=ContentMod&action=item&id=1594
+    and http://bugs.proftpd.org/show_bug.cgi?id=2867 for reference.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 14 Dec 2006 10:21:56 +0100
+
+proftpd-dfsg (1.3.0-16) unstable; urgency=high
+
+  * Added a new security patch for Secunia SA23141 advisory (mod_tls abuse)
+    See SA23141 patch for details.
+    See http://secunia.com/advisories/23141/ for advisory
+    See http://bugs.proftpd.org/show_bug.cgi?id=2860 for details.
+    (closes: #400793)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 29 Nov 2006 11:27:34 +0100
+
+proftpd-dfsg (1.3.0-15) unstable; urgency=high
+
+  * Sigh, a new patch fixes for sure security bug Secunia SA22803 advisory 
+    (sreplace() abuse). See SA22803 patch added to the previous one which 
+    was anyway correct on the basis of CVE-2006-5815.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2858 for details.
+    See http://secunia.com/advisories/22803/ for advisory.
+    (closes: #399070)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 28 Nov 2006 13:29:58 +0100
+
+proftpd-dfsg (1.3.0-14) unstable; urgency=medium
+
+  * New patch: ipv6_onoff: adds long due ipv6 run-time enabling/disabling, 
+    based on http://bugs.proftpd.org/show_bug.cgi?id=2817 CVS patch. 
+    It adds UseIPv6 on|off directive and --ipv4/--ipv6 command line options.
+  * Now changed default proftpd.conf to enable explicitly as previous default.
+    Admin can turn it off if he likes so. That is an alternative to provide an 
+    ipv6 address/name map.
+  * Documenting new option in README.Debian.
+  * Updated japanese debconf template.
+    (closes: #400152)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 24 Nov 2006 11:58:58 +0100
+
+proftpd-dfsg (1.3.0-13) unstable; urgency=high
+
+  * Security fix for CVE-2006-5815, DoS with low impact.
+    (See http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-5815)
+    Patch cve_2006_5815 added, taken from main.c(1.292->1.294). Other
+    vendors' patch (1.292->1.293) is wrong and causes segfault.
+    Debian rocks as always instead ;-)
+    (closes: #399070)
+  * Updated german po file for debconf.
+    (closes: #399252)
+  * Updated italian po file for debconf.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 20 Nov 2006 12:03:08 +0100
+
+proftpd-dfsg (1.3.0-12) unstable; urgency=high
+
+  * Fixing properly update-rc.d call in postrm. Eventually the init script
+    should be changed to work with dh_installinit, which would be more clean.
+    (closes: #397918)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 10 Nov 2006 15:03:30 +0100
+
+proftpd-dfsg (1.3.0-11) unstable; urgency=medium
+
+  * Sigh, reverted a change in proftpd.install due to an initial package 
+    splitting no more completed. The result was missing SQL and LDAP modules.
+    (closes: #394233)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 20 Oct 2006 14:32:04 +0200
+
+proftpd-dfsg (1.3.0-10) unstable; urgency=low
+
+  * Removed RFCs in the original tarball. 
+    (closes: #393408)
+  * Added a watch file for uscan.
+  * Templates updated.
+    (closes: #375102,#381949,#383077)
+  * Removes proftpd user on purge in postrm.
+    (closes: #387982)
+  * Merged by 1.3.0-9.1 NMU (thanks Arjan Oosting):
+  	+ Call update-inetd during remove and disappear and not during purge.
+         (closes: #388647)
+        + Make dependency on libcap-dev conditional to fix FTBFS on GNU/kFreeBSD
+         (closes: #375017)
+        + Deregister /etc/init.d script on purge
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 16 Oct 2006 15:16:21 +0200
+
+proftpd (1.3.0-9) unstable; urgency=low
+
+  * Missing examples added to proftpd-doc: moved proftpd.examples to 
+    proftpd-doc.examples
+  * Added patch: sighup_fault
+    	Daemon fails when receive SIGHUP and mod_ctrls is enabled.
+    	Cfr http://bugs.proftpd.org/show_bug.cgi?id=2792
+  * Policy bumped to 3.7.2, no changes.
+  * proftpd.init: added /var/run/proftpd creation at run-time (ubuntu patch).
+  * Typo in README.Debian corrected
+    (closes: #369745)
+  * Russian debconf template revised
+    (closes: #367164)
+  * Added a note in README.Debian about AuthOrder and other issues.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu,  1 Jun 2006 14:29:18 +0200
+
+proftpd (1.3.0-8) unstable; urgency=medium
+
+  * New patch for configure.in/configure (remove_rpath) to remove rpath adding
+    at libtool installation time. 
+    (closes: #368301)
+  * Updated patch ipv6_cidr_warn.dpatch to the latest version in CVS.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2785                                                                   
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 22 May 2006 12:22:51 +0200
+
+proftpd (1.3.0-7) unstable; urgency=low
+
+  * Added a note about IPv6 CIDR in README.Debian
+    Added patch ipv6_cidr_warn.dpatch to warn about 32bit CIDR use in IPv6 
+    context.(closes: #365464)
+  * Added patch mod_wrap_noparanoid to avoid builtin paranoid checking in 
+    libwrap. (closes: #366397)
+  * Added a commented directive in basic.conf to specify PassivePorts.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue,  9 May 2006 09:51:52 +0200
+
+proftpd (1.3.0-6) unstable; urgency=low
+
+  * Removed bashism in proftpd.init.
+    (closes: #366089)
+  * Changed proftpd.init to run start-stop-daemon only if the pid file is 
+    present.
+  * Added a commented "UseSendFile off" directive in standard config as 
+    suggestion to see ftp upload progress.
+    (closes: #280105)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri,  5 May 2006 11:30:32 +0200
+
+proftpd (1.3.0-5) unstable; urgency=low
+
+  * New fr.po debconf templates.
+    (closes: #364400)
+  * Now proftpd.init does not fail when proftpd is already stopped.
+    (closes: #364074, #363657)
+  * Revised the mothly cron script.
+    (closes: #364580)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed,  3 May 2006 22:55:39 +0200
+
+proftpd (1.3.0-4) unstable; urgency=low
+
+  * Added /var/log/proftpd directory to proftpd.dirs
+    (closes: #363921)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 20 Apr 2006 18:19:10 +0200
+
+proftpd (1.3.0-3) unstable; urgency=low
+
+  * Sigh, now postinst moves a pre-existent old configuration 
+    for 1.2 series in the new location before applying ucf.
+  * Now postinst adds automagically the inclusion of modules.conf to old
+    config. Also revised sed calls to use in-place editing.
+  * Typos in proftpd.init for logging functions corrected.
+  * Template corrected to use /usr/lib/proftpd as module path.
+    (closes: #363650)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 20 Apr 2006 15:00:54 +0200
+
+proftpd (1.3.0-2) unstable; urgency=low
+
+  * Adding a 'proftpd' user to own the daemon in proftpd.postinst.
+  * Removing upstream basic.conf installated in /etc/proftpd, which
+    prevented a correct template use in postinst phase.
+  * Removed mod_readme in modules.conf which is already statically loaded.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 19 Apr 2006 11:24:48 +0200
+
+proftpd (1.3.0-1) unstable; urgency=low
+
+  The "Here we go" release.
+
+  * New upstream release (final). Just closing fixed-in-experimental issues.
+    (closes: #353175, #349827, #207136, #274414, #356221)
+  * First upload to unstable.
+  * Moved to LSB logging in proftpd.init and changed a bit script inners.
+  * Revised mysql_config use in rules file.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 18 Apr 2006 12:42:04 +0200
+
+proftpd (1.2.10+1.3.0rc5-4) experimental; urgency=low
+
+  * Revised maintainer scripts to correctly manage upgrades of modules.conf and
+    proftpd.conf from 1.2.9 series.
+  * English debconf template revised. 
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 29 Mar 2006 16:04:00 +0200
+
+proftpd (1.2.10+1.3.0rc5-3) experimental; urgency=low
+
+  * Added README.Debian with a few details about the new package and release.
+  * Removed obsolete build-deps: bzip2, shar-utils and patch
+  * Now debian/rules uses mysql_config for includes path
+  * Long and brief descriptions revised
+  * Added support by ucf for /etc/proftpd/modules.conf which is now used for
+    default configuration.
+  * All templates file now moved to /usr/share/proftpd/templates
+  * Now removing /etc/proftpd and /var/run/proftpd on purge in postrm.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 27 Mar 2006 19:51:22 +0200
+
+proftpd (1.2.10+1.3.0rc5-2) experimental; urgency=low
+
+  * Removed bogus libmysqlclient*-dev dependency in proftpd binary package. 
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 23 Mar 2006 13:48:53 +0100
+
+proftpd (1.2.10+1.3.0rc5-1) experimental; urgency=low
+
+  The 'Here we go' release for 1.3.
+
+  * New almost final upstream release. Definitive release would come in 
+    a couple of weeks or so. (closes: #353175, #349827)
+  * Merging with my own experimental branch for 1.3.0 with DSO support.
+    Packaging has been completely revised and simplified (no more multi-binary).
+  * Moved from dbs to dpatch patching system.
+  * Moved to DSO support for add-on modules. 
+  * Moved configuration in a /etc/proftpd directory due to the new 
+    style of multi-files config.
+    (closes: #207136)
+  * Migrated the patch-set and removed obsolete patches.
+  * Debconf template revised. Sorry all translations need revisions.
+    (closes: #274414,#356221)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 22 Mar 2006 10:11:45 +0100
+
+proftpd (1.2.10-27) unstable; urgency=low
+
+  * Transition libmysqlclient12 -> libmysqlclient15, retaining
+    back-compatibility for backporters, just in case.
+    (closes: #343799)
+  * Updated invalid de.po.
+    (closes: #326799)
+  * Now latest mod_ldap is backported to 1.2.10 API correctly. 
+    Thanks Stephan Jaeger.
+    (closes: #321937)
+  * Depends changed in Recommends in proftpd-common in respect with 
+    other proftpd-* packages.
+    This will not remove proftpd-common when ever proftpd is removed, which is
+    not a good thing IMHO. The whole issue will be obsoleted in the new 1.3.0 
+    packaging anyway, because it will remove the both proftpd-common and 
+    proftpd-* in upgrading. 
+    Note that proftpd-common installs a few common scripts.
+    (closes: #341008)
+  * Added 33.documentation.diff patch for a couple of minor doc issues:
+    (closes: #309251,#306339)
+  * Removed Paul Martin as proftpd uploader, he is not active since 
+    years about that.
+  * Moved to level 4 compatibility for debhelper (no changes).
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 11 Jan 2006 13:54:17 +0100
+
+proftpd (1.2.10-26) unstable; urgency=low
+
+  * Changed /dev/tty into /dev/null to manage crappy update-inetd in 
+    batch processing. That's definitively not required by policy, 
+    but useful...
+    (closes: #340262)
+  * Updated download location into copyright file.
+    (closes: #340240)
+  * Updated danish template
+    (closes: #340130)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 22 Nov 2005 11:37:51 +0100
+
+proftpd (1.2.10-25) unstable; urgency=high
+
+  * Added patch 32.mod_tls.c.diff to manage a change in openssl (0.9.8a),
+    this is superfluous in incoming 1.3.0, needed in 1.2.10.
+    (closes: #334979)
+  * Added debconf2.0 alternative to dependencies.
+    (closes: #332076)
+  * Updated templates
+    (closes: #335357,#328054,#334370)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 16 Nov 2005 11:36:42 +0100
+
+proftpd (1.2.10-24) unstable; urgency=low
+
+  * Sigh. Reintroduced /dev/tty redirection for update-inetd in
+    maintainer scripts. See #236595. It seems current netbase does not
+    solve the problem when there is a non controlling terminal indeed. Try
+    to do an upgrade/install via dsh for test.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 23 Sep 2005 11:08:59 +0200
+
+proftpd (1.2.10-23) unstable; urgency=low
+
+  * Managing nicely bad configs now, and other minor changes to init script now done.
+    (closes: #41089, #326943)
+  * Updated de.po template.
+    (closes: #326799)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sun, 11 Sep 2005 11:13:39 +0200
+
+proftpd (1.2.10-22) unstable; urgency=low
+
+  * Updated patch 29.misc-sql.diff to manage a signal 11 error.
+    See http://bugs.proftpd.org/attachment.cgi?id=2344 patch for report
+    http://bugs.proftpd.org/show_bug.cgi?id=2485#c19. Thanks Greg.
+  * Typo in rules files introduced prevented config.guess update.
+    Thanks Ryo Kato.
+  * Missed diskuse contrib tool added. 
+    Thanks Ryo Kato.
+  * Added diskuse.8 man page.
+  * Little change to ftpquota.8 man page contents.
+  * proftpd.init corrected to use || instead of -o in xinetd tests. 
+    Thanks Christoph Bussenius.
+    
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri,  2 Sep 2005 20:36:41 +0200
+
+proftpd (1.2.10-21) unstable; urgency=low
+
+  * Added ftpquota.8 man page
+  * Typo corrected in template file
+    (closes: #317620)
+  * Added vietnamese template
+    (closes: #317608)
+  * Little modification to template statement
+    (closes: #274414)
+  * Removed automatic creation of proftpd.conf.5 file which is broken.
+    A brief version of the page is now provided manually to refer the HTML page.
+    Sorry guys, upstream is not so keen on man pages...
+    (closes: #313146)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sun, 28 Aug 2005 13:10:47 +0200
+
+proftpd (1.2.10-20) unstable; urgency=high
+
+  * SECURITY: Managing SQLShowInfo format string vulnerability.
+    See  http://bugs.proftpd.org/show_bug.cgi?id=2645 for information.
+    Related patch is 31.mod_sql.c.diff.
+  * Policy bumped to 3.6.2, no changes.
+  * New modification to mod_delay to avoid other problem with that module
+    which could cause memory corruption/leakage. The never end saga continues.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 30 Jun 2005 10:18:13 +0200
+
+proftpd (1.2.10-19) unstable; urgency=high
+
+  * SECURITY: Managing ftpshut format string vulnerability.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2646 for information.
+    Related patch is 30.response.c.diff.
+  * A couple of finds had wrong position in args lists, due to recent changes.
+    So missed a few documents.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 29 Jun 2005 11:54:32 +0200
+
+proftpd (1.2.10-18) unstable; urgency=high
+
+  * Sigh! I left around development settings in rules file to test 
+    the damn signal 11 thingy. That disabled capabilities.
+    (closes: #315687)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 25 Jun 2005 09:31:37 +0200
+
+proftpd (1.2.10-17) unstable; urgency=low
+
+  Last (?) upload for 1.2.10 series awaiting for the first amazing 1.3.0
+
+  * Added a libpq-dev build-dep to be both compatible with incoming postgresql 
+    8 and maintain sarge compatibility. Now using pg_config in rules file to 
+    work with both pgsql 7 and 8. Removed patch 04.mod_sql_postgres.c.diff.
+    (closes: #313481)
+  * mod_delay locks and unlocks the table now, this should prevent 
+    random signal 11
+    See http://bugs.proftpd.org/show_bug.cgi?id=2630 for information.
+    Updated again 22.mod_delay.c.diff for that. 
+    Probable follow up for #308313 and #301275.
+  * Reordered find options to avoid warning in current version.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 22 Jun 2005 10:22:38 +0200
+
+proftpd (1.2.10-16) unstable; urgency=low
+
+  "The very first Etch Era version" release.
+
+  * New patch: 29.misc-sql.diff:
+    Adds "sql_exit" internal mod_sql command, and removes 'core.exit' handlers 
+    from backend modules
+    (closes: #294077)
+  * Added a note in README.News about new mod_ldap directives which obsolete 
+    old ones. That change should also be considered possibly for a sarge 
+    doc-only update. 
+    (closes: #287357)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon,  6 Jun 2005 15:50:09 +0200
+
+proftpd (1.2.10-15) unstable; urgency=high
+
+  * Sigh, castaglia changed the patch for mod_delay again: one of the 
+    boundary did not have sense indeed.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2622 and #308313 again.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu,  2 Jun 2005 11:18:08 +0200
+
+proftpd (1.2.10-14) unstable; urgency=high
+
+  * Finally solved the random segfault in mod_delay.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2622.
+    (closes: #308313)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed,  1 Jun 2005 10:49:19 +0200
+
+proftpd (1.2.10-13) unstable; urgency=high
+
+  * Added a -DUSE_LDAP_TLS to CFLAGS in rules for mod_ldap, else it does 
+    not work with TLS. This is now (2.8.15) required along with the yet 
+    present SSL flag.
+    (closes: #308861)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 18 May 2005 13:30:30 +0200
+
+proftpd (1.2.10-12) unstable; urgency=high
+
+  * Added a patch 28.mod_ls.c to manage incorrect symlink following in
+    recursive listing. That breaks old versions behavior and create problem
+    to mirroring software.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2551 for information
+    (closes: #308578)
+  * Revised again 22.mod_delay.c.diff patch to manage long delays:
+    http://bugs.proftpd.org/show_bug.cgi?id=2601
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 13 May 2005 09:51:43 +0200
+
+proftpd (1.2.10-11) unstable; urgency=high
+
+  The "Welcome back to my digital life, just after freezing" release.
+
+  * Added copy of the missed ftpquota command in debian/rules.
+    And yes, its man page is missing yet, it needs to be written from 
+    scratch :-/ http://forums.proftpd.org/phpBB2/viewtopic.php?t=421
+  * Updated patch 22.mod_delay.c.diff to manage an important mod_delay problem
+    which causes a segfault and DOS.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2554 for related upstream 
+    thread.
+  * Another important issue, off BTS.
+    sendfile() fails with large files on some archs (x86_64 for instance) again.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2509 for upstream thread.
+    Previous patch needs revision. Incidentally this solves also the automake
+    cache inclusion.
+    (closes: #307136)
+  * Updated mod_ldap to 1.3.0rc1 version (2.8.15).
+    (closes: #306763)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed,  4 May 2005 14:34:52 +0200
+
+proftpd (1.2.10-10) unstable; urgency=low
+
+  * mod_quotatab_sql.c needed revision to remove another lvalue casting.
+    New patch 27.mod_quotatab_sql.c.diff for that.
+    (closes: #287966)
+  * Revised proftpd-doc to add missing new documentation, howtos and examples.
+    (thanks TJ who pointed me to that).
+  * New FLOSS License Exception for MySQL Server and client libraries now 
+    includes OpenSSL. See manual (appendix I) or 
+    http://dev.mysql.com/doc/mysql/en/mysql-floss-license-exception.html
+    So, now linking with libmysqlclient12 is allowed, debian/control changed.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri, 11 Feb 2005 14:13:39 +0100
+
+proftpd (1.2.10-9) unstable; urgency=high
+
+  * Syncing quotatab files from CVS to be coherent with new mod_ldap.c
+    module. That's a new patch for that: 25.mod_quotatab.c.diff See
+    http://sf.net/mailarchive/forum.php?thread_id=6255251&forum_id=2637.
+    This justify urgency.
+  * Changed a bit 01.contrib.mod_ldap.c.diff to not declare version variable 
+    after instructions. See also CVS committment as shown in
+    http://cvs.sf.net/viewcvs.py/*checkout*/proftp/proftpd/contrib/mod_ldap.c?rev=1.37
+    (closes: #288327)
+  * New patch 26.mod_radius.c.diff to solve compiling problems on recent 
+    GCC and AMD64
+    (closes: #287966)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sun,  2 Jan 2005 21:21:22 +0100
+
+proftpd (1.2.10-8) unstable; urgency=medium
+
+  * Updated patch 22.mod_delay.c.diff to not check for DelayTable if DelayEngine 
+    is off. See http://bugs.proftpd.org/show_bug.cgi?id=2540 for information.
+    (closes: #283811)
+  * Typo in rules, now removing README.cygwin, not README.cgywin :-/
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 29 Dec 2004 22:51:30 +0100
+
+proftpd (1.2.10-7) unstable; urgency=medium
+
+  * New mod_ldap from cvs (2.8.14 instead of 2.8.12). It adds the new 
+    LDAPProtocolVersion directive and other fixes. 
+    01.contrib.mod_ldap.c.diff changed to reflect this.
+    Therefore, mod_ldap now works with protocols 2 or 3 and defaults to 3.
+    This partially fixes #279530.
+  * Patch 03.mod_ldap.c.diff removed (integrated upstream)
+  * Added libpam-rutime versioned dependency in proftpd-common due to 
+    /etc/pam.d/common-* use which is not a woody feature. This does facilitate 
+    use in mixed environment, if not proper upgrades. 
+    Thanks Marc Moeller who pointed a problem due to that.
+  * Added a patch to correcly merge all directives when mod_ifsession is used.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2536 for details.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 18 Dec 2004 09:32:15 +0100
+
+proftpd (1.2.10-6) unstable; urgency=medium
+
+  * Updated mod_delay again from CVS.
+  * Added new patch for TimeoutLogin connection problem: 23.timeout.diff.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2516 for details.
+    (closes: #282214)
+  * Now uses common modules for PAM.
+    (closes: #283131)
+  * Updated german template
+    (closes: #282497)
+  * Removed README files for other platforms.
+  * Removed superfluous perl-base dependency. 
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 29 Nov 2004 14:46:28 +0100
+
+proftpd (1.2.10-5) unstable; urgency=low
+
+  * Sigh, now includes a more recent mod_delay/0.4 instead of mod_delay/0.3
+    (closes: #282045)
+  * Changed xinetd section in rules file to manage better cases with/without a 
+    possible empty /etc/xinetd.d directory.
+    Corrected typo in init script.
+    Corrected xinetd documentation xref in postinst.
+    (closes: #282064)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 20 Nov 2004 09:09:21 +0100
+
+proftpd (1.2.10-4) unstable; urgency=low
+
+  * First upload into unstable. Here we go!
+    (closes: #278309)
+  * Fixes problems probably due to a backported patch from 1.2.10 into 1.2.9-19
+    (closes: #281528)
+  * Fixed a bit default proftpd.conf.
+    (closes: #279580)
+  * Added mod_delay contributed module to manage the so-called "Timing attack".
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 17 Nov 2004 23:12:30 +0100
+
+proftpd (1.2.10-3) experimental; urgency=low
+
+  * Revised patch 21.sendfile_with_large_files due to type mismatch in a function call :-(
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri,  5 Nov 2004 13:38:11 +0100
+
+proftpd (1.2.10-2) experimental; urgency=low
+
+  * Merging changes from 1.2.9-19:
+       - new debconf templates: cs.po, da.po, de.po
+       - built with --enable-sendfile which should reduce average CPU load.
+       - added patch for >2GB files with sendfile(): 21.sendfile_with_large_files.
+         See See http://bugs.proftpd.org/show_bug.cgi?id=2509 for original patch.
+         Hint: run autoconf2.50 after applying cvs patch to the original tree.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri,  5 Nov 2004 11:04:43 +0100
+
+proftpd (1.2.10-1) experimental; urgency=low
+
+  * New upstream release.
+    Removed all patches integrated upstream:
+          13.mod_sql_mysql.c.diff
+          15.mod_quotatab_sql.c.diff
+          16.dirtree.c.diff
+          17.netio.c.diff
+          18.mod_auth_file.c.diff
+          19.main.c.ipv6.diff
+  * Changed 01.mod_ldap.diff patch: removed Ivo's old patch which was also not
+    documented anywhere. See NEWS.Debian for information. Thanks TJ.
+  * Changed NEWS.Debian file to document the above thing.
+  * Added 20.core.create-home.diff patch from CVS to support script exec on
+    home creation.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 11 Oct 2004 23:19:46 +0200
+
+proftpd (1.2.9-16) unstable; urgency=low
+
+  * Added /etc/xinetd.conf to the file checked in init script to verify
+    if proftpd call is configured in xinetd.
+    (closes: #271163)
+  * Added a versioned dependency from libmysqlclient10, compatible with that
+    distributed in sarge.
+    (closes: #269454)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 11 Sep 2004 20:45:04 +0200
+
+proftpd (1.2.9-15) unstable; urgency=high
+
+  * Just a better warning message into proftpd.init.
+  * Revised this changelog for typos.
+  * Updated pt_BR translation.
+    (closes: #264252)
+  * Severity set to high to enter sarge within time slot for freeze.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 17 Aug 2004 13:20:57 +0200
+
+proftpd (1.2.9-14) unstable; urgency=high
+
+  * Added a better management of inetd/xinetd in proftpd.init script. Now
+    inet/standalone/none servertype are considered. It tries to startup
+    in daemon mode only if inetd/xinetd support is truly missing.
+    This is not optimal, but works in the most cases. The greatest problem 
+    is the same pointed below: configuration status could not reflect the 
+    effective daemon status.
+    (closes: #263247)
+  * Renamed 16.dirtree,c.diff into 16.dirtree.c.diff: typo in patch name.
+  * Added ipv6 related patch, again related to weird IPv6 message into
+    #263247: 19.main.c.ipv6.diff. It is present in 1.2.10rc1.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue,  3 Aug 2004 22:38:08 +0200
+
+proftpd (1.2.9-13) unstable; urgency=low
+
+  * New patch: 18.mod_auth_file.c.diff
+    See: http://bugs.proftpd.org/show_bug.cgi?id=2445
+    If one uses the AuthUserFile or AuthGroupFile directive within a <Global>
+    context, that directive overrides any AuthUserFile or AuthGroupFile
+    directives within the "main server" or <VirtualHost> contexts. This patch
+    solves that bug.
+    (closes: #262697)
+  * Revised proftpd.conf comments.
+    (closes: #256520)
+  * Added a -DHAVE_OPENSSL to CFLAGS in rules file. Apparently mysql configure
+    check for SSL support but does not #define properly for mod_sql.c, which
+    is anyway in contrib section. Maybe mod_sql.c needs patching.
+    This hack solves the issue for what concerns Debian anyway.
+    (closes: #233031)
+  * Now double check for inetd/standalone mode. Daemon starts if ServerType is
+    standalone or is absent _and_ ftp service is absent (or commented out) in
+    inetd.conf. That's not so great, because inetd.conf could not reflect
+    the current inetd status, but it's better than nothing.
+    (closes: #256525)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon,  2 Aug 2004 16:01:14 +0200
+
+proftpd (1.2.9-12) unstable; urgency=high
+
+  * Removed all autoconf-related rules within Makefile.in, so patch 07.autoconf.diff
+    has changed. Previous patch tried to force the use of a recent autoconf
+    instead. This freezes configure in the form issued by upstream.
+    (closes: #248612)
+  * Autotools file config.(guess|sub) moved into the build-tree.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 12 May 2004 15:00:07 +0200
+
+proftpd (1.2.9-11) unstable; urgency=low
+
+  * Removed a duplicated build-dep (libwrap0-dev)
+  * Using autotools-dev build-dep instead of autoconf
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 10 May 2004 21:12:30 +0200
+
+proftpd (1.2.9-10) unstable; urgency=low
+
+  * Deletion of /etc/proftpd.conf on purge has been moved into
+    proftpd-common.postrm. The same for all other no-return actions. 
+    Ratio: proftpd-common is the only package which is purged after
+    removing of all bin-dep packages, not just on transitions from a bin
+    package to another. Therefore that's the right place to purge things.
+    (closes: #247860)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Fri,  7 May 2004 23:28:47 +0200
+
+proftpd (1.2.9-9) unstable; urgency=low
+
+  * Added mod_ifsession compilation (rules), as asked by users.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 17 Apr 2004 20:17:30 +0200
+
+proftpd (1.2.9-8) unstable; urgency=high
+
+  * netbase versioning uniformed to 4.13 for each package.
+  * The no-end saga of ucf, again. Version -7 missed modifications done in -6 for
+    #239528, due to cvs repository outdated status.
+    (closes: #244020)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 13 Apr 2004 13:51:47 +0200
+
+proftpd (1.2.9-7) unstable; urgency=high
+
+  * Removed a double check for inetd update (proftpd.postinst)
+    (closes: #242013)
+  * Added an '|| true' into install_ftp (proftpd.postinst)
+  * Integrating a patch to avoid an infinite loop.
+    See http://bugs.proftpd.org/show_bug.cgi?id=2300 for patch.
+    Fixed by 17.netio.c.diff
+    (closes: #243071,#243277)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 12 Apr 2004 09:41:52 +0200
+
+proftpd (1.2.9-6) unstable; urgency=high
+
+  * Umpf. Previuous upload did not solve the issue. It seems definitively a
+    problem with ucf (Thanks Paul Slootman): --debconf-ok should be used
+    only before a db_stop. Also reverted again with redirection for
+    update-inetd. 
+    For some reason the whole problem was not so easily evident.
+    (closes: #239528)
+  * Previous upload missed patch 16.dirtree.c.diff due to outdated cvs
+    repository on alioth.
+  * Cosmetic changes into basic anon section (DirFake*).
+    Other issues are secondary/outdated.
+    (closes: #240209)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 29 Mar 2004 23:31:52 +0200
+
+proftpd (1.2.9-5) unstable; urgency=high
+                                                                                                                                         
+  * Reverted redirection of stdin and stdout for update-inetd. Also reverted
+    netbase versioning dependency. Apparently workaround in current
+    update-inetd does not work as it should.
+    (closes: #239528)
+                                                                                                                                         
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Wed, 24 Mar 2004 20:14:55 +0100
+                                                                                                                                         
+proftpd (1.2.9-4) unstable; urgency=high
+
+  * Typo introduced in postrm (closes: #236963)
+  * Removed redirection workaround for update-inetd (already builtin in 
+    netbase >=4.13).
+    Changed version dependency for netbase as consequence.
+    (closes: #236595)
+  * Security problem (although conf dependent) fixed in patch 16.dirtree.c.diff. 
+    (Thanks iSteve) See
+    http://bugs.proftpd.org/show_bug.cgi?id=2267 for hint and patch.
+  * Typo in ftpstats.8 corrected (Thanks iSteve)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue,  9 Mar 2004 11:50:36 +0100
+
+proftpd (1.2.9-3) unstable; urgency=low
+
+  * New patch 15.mod_quotatab_sql.c.diff. (Thanks Jerome Walters)
+    Bug found by Christian Schulte <cs@schulte.it>: delta values are signed,
+    and can be negative.
+  * Now use --debconf-ok for ucf, but needs versioning depends on ucf >= 0.30
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 26 Feb 2004 00:11:09 +0100
+
+proftpd (1.2.9-2) unstable; urgency=low
+
+  * Using basic.conf from 1.2.8 series, instead of the old one with prefixed
+    anonymous section.
+  * Added libncurses5-dev build-dep for ftptop.
+  * Policy bumped to 3.6.1 (no changes).
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 17 Nov 2003 13:59:24 +0100
+
+proftpd (1.2.9-1) unstable; urgency=low
+
+  * The first post-Halloween release now moving to sid. 
+    Now using upstream tarball.
+  * CVS repository enabled: tagging appropriately.
+  * Removed patch 14.manpages.diff: manpages are integrated in upstream
+    tarballs, even if not present in CVS.
+  * New patch: 14.mod_quotatab.diff: mod_quotatab 1.2.11 contributed module
+    now replaces the old 1.2.7.
+  * Removed 13.manpages.diff patch which is not due in off-cvs releases.
+  * Tries to manage upgrades from pre-1.2.9 series in a soft way:
+        - The scoreboard file format changed, so all inetd sessions need
+        to be killed and file moved before restarting the service. The
+        file needs to be moved for a standalone configuration, anyway.
+        - SocketOptions directive replaces and deprecates the following
+          directives: tcpReceiveWindow, and tcpSendWindow.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon,  3 Nov 2003 14:14:00 +0100
+
+proftpd (1.2.8+cvs20031020-1) experimental; urgency=low
+
+  * A new CVS snapshot (post 1.2.9rc3).
+  * Merged stuff from unstable branch
+  	- New russian template.
+  	- Added a versioned dependency from debianutils to proftpd-common
+   	- Removed RFCs
+        - Changed order in module loading for dependencies
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 20 Oct 2003 23:36:58 +0200
+
+proftpd (1.2.8+cvs20030927-1) experimental; urgency=high
+
+  * A new CVS snapshot (post 2003-9-24 exploit).
+  * Merged stuff from unstable branch (>= -9):
+         - Now using case insensitive egrep in init files
+         - Patches renumbered sequentially
+         - Removing anonymous access enabling/disabling. A well
+         commented basic configuration, to be modified by hand is much
+         more effective and secure. Also that code is completely failing
+         if admin changed configuration on his own, as generally done by
+         everyone. So, debconf configuration is much less intrusive, and
+         it's performed anyway. User 'ftp' is also added by default if
+         not present, being a considered a 'system' one.
+
+           Added a NEWS.Debian file to explain the new policy.
+           Changed templates as consequence.
+         - International templates revised.
+         - Added strict version source dependency for proftpd-common.
+         - Use proftpd.org instead of .net in control file descriptions.
+         - Added NEWS.Debian as kept in unstable branch.
+         - Removed 05.ftpstats.diff (unuseful).
+         - Postinst revised to manage welcome.msg nicely.
+  * Bugs fixed at this time (see below):
+    (closes: #192590,#204157,#192590,#203230,#186074,#212416)
+    (closes: #145669 see 
+     http://www.castaglia.org/proftpd/patches/README.require-valid-user)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sun, 28 Sep 2003 17:52:31 +0200
+
+proftpd (1.2.8+cvs20030818-1) experimental; urgency=low
+
+  * A new CVS snapshot. IPV6 is now integrated.
+  * Removed previous patches 01.ipv6_rollback.diff and 00.ipv6.diff all IPv6
+    related.
+  * Changed patch 20.contrib.mod_ldap.c.diff to reflect modifications in
+    inet.h
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 19 Aug 2003 09:19:19 +0200
+
+proftpd (1.2.8+cvs20030805-1) experimental; urgency=low
+
+  * A new CVS snapshot. See NEWS file for a list of bugs solved.
+    All Debian patches applies but some hacks on the first one.
+  * Policy updated to 3.6.0
+  * Bugs closed at this time: #204157,#192590,#203230
+  * Added IPV6 support.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue,  5 Aug 2003 20:57:31 +0200
+
+proftpd (1.2.8+cvs20030620-1) experimental; urgency=low
+
+  * This is based on cvs tree at the date. It's not prime time ready.
+  * Removed duplicated tarball: fixes #192590
+  * Removed patches already in CVS:
+       AB.fixes_handling_of_contexts_to_use_proper_pool.diff
+       B2.mod_sql_postgres.c.diff
+       10.mod_cap.c.diff
+  * Added patches:
+       91.autoconf.diff - move configure.in to configure.ac to force use
+       of autoconf2.50 B2.mod_sql_mysql.c.diff - use <mysql/mysql.h>
+       instead of <mysql.h> B3.manpages.diff - add man pages that are
+       missing in the cvs tree
+  * Added autoconf build-dep.
+  * Policy updated to 3.5.10.
+  * Minor changes in rules file in order to build correctly.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 21 Jun 2003 17:31:36 +0200
+
+proftpd (1.2.8-8) unstable; urgency=high
+
+  * Added a set +e before testing proftpd configuration.
+    Proftpd could crash in some cases when testing.
+    (closes: #197585)
+  * Added AB.fixes_handling_of_contexts_to_use_proper_pool.diff: fixes
+    handling of contexts to use properpool, by patching src/dirtree.c and
+    src/sets.c. This is from current CVS tree.
+    (closes: #197586)
+  * Security: added B2.mod_sql_postgres.c.diff:
+    See http://bugs.proftpd.org/show_bug.cgi?id=2087 for information. This
+    has been created using diff among mod_sql_postgres.c-1.16 and 
+    mod_sql_postgres.c-1.10.
+    This is from current CVS tree.
+    (closes: #197984)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 19 Jun 2003 13:50:29 +0200
+
+proftpd (1.2.8-7) unstable; urgency=high
+
+  * Added an input (</dev/tty) redirection for ucf in maint scripts.
+    (closes: #194359). This is a workaround for #193694 which is a
+    debconf/ucf interaction problem.
+  * Japanese podebconf template
+    (closes: #194646)
+  * Updated french podebconf template
+    (closes: #192406)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 27 May 2003 12:49:50 +0200
+
+proftpd (1.2.8-6) unstable; urgency=low
+
+  * Added missing HTML documentation to proftpd-doc. This also clarify
+    misbehaving for mod_tls.
+    (closes: #150694)
+  * Added mod_rewrite, mod_radius, mod_wrap to all packages. So added
+    libwrap0-dev among build-deps.
+    (closes: #158305)
+  * Added more README files and removed a couple of obsoleted ones.
+  * debconf template and it.po revised as suggested.
+    (closes: #190821)
+  * New fr.po integrated.
+    (closes: #191227)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue,  6 May 2003 20:56:06 +0200
+
+proftpd (1.2.8-5) unstable; urgency=high
+
+  * Explicitly depends on libmysqlclient10-dev, which is the last LGPL
+    licensed. Also, current sql module is not tested with mysql4, so the
+    conservative approach is the safest one.
+  * Introduced Replaces in control/proftpd-common against old packages.
+    (closes: #188114)
+  * Policy updated.
+  * Maintainer script totally revised. Wow! Some more hints in basic.conf
+    added too. Also a new warning note is displayed when upgrading.
+    (closes: #168305, #145662, #187695, #186646, #187695)
+    Debconf IS NOT a configuration tool. Now I use it only for minimal
+    config interactions. We absolutely needed a more powerful config editor
+    for proftpd.conf, but I seriously doubt it can be really written.
+  * Introduced -q for savelog instead of stdout/stderr redirect, in
+    cron.monthly.
+    (closes: #188722)
+  * Now truly install ftpasswd.8 among proftpd-common man pages :-/
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 24 Apr 2003 12:31:26 +0200
+
+proftpd (1.2.8-4) unstable; urgency=medium
+
+  * Init file revised to use current default pidfile or PidFile directive.
+    Scoreboard file name no more has the daemon pid bundled.
+    (closes: #186312)
+  * Now postinst changes obsolete LsDefaultOptions in ListOptions directive.
+    That's needed in moving from 1.2.6 basic.conf. Added a list_options()
+    function for this.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 27 Mar 2003 11:09:00 +0100
+
+proftpd (1.2.8-3) unstable; urgency=high
+
+  * Removed dh_undocumented which is no more used.
+  * Added a new patch:
+  	10.mod_cap.c.diff - solves a double free in mod_cap which caused #185030.
+  * Re-added mod_cap thanks to previous patch. So readded libcap-dev.
+  * Patch 20.contrib.mod_ldap.c.diff revised.
+    (closes: #185125, #175581,#185567)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Sat, 22 Mar 2003 11:56:53 +0100
+
+proftpd (1.2.8-2) unstable; urgency=high
+
+  * Removed mod_cap. It needs more investigation.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 18 Mar 2003 13:27:24 +0100
+
+proftpd (1.2.8-1) unstable; urgency=high
+
+  * New upstream release, merging with my experimental 1.2.7 pkg...
+    (closes: #185084)
+    This also solve a potential seriuous license bug as stated in 
+    http://lists.debian.org/debian-legal/2003/debian-legal-200303/msg00287.html
+    and 
+    http://lists.debian.org/debian-legal/2003/debian-legal-200301/msg00287.html.
+  * IPv6 removed. It will be available in 1.2.9 anyway. It was also
+    disabled in all releases before 1.2.6-5, so I guess it's not a
+    high-requested feature :)
+  * configure updated to 2.57.
+  * added config.(sub|guess) cleaning.
+  * Paul asked to become co-maintainer.
+  * Removed patches:
+  	30.libcap.change.build.dir.diff
+        32.libcap.compilation.fix.diff.uue
+        50.proftpd-1.2.6rc1-tls.2002.07.11.patch
+        AE.mod_tls.c.no.certificates.found.diff
+        91.mod_tls.diff
+        AF.ipv6.diff
+        B0.mod_ls.c.fsmatch.diff
+  * Added patches:
+  	90.man.diff
+  * Changed fr.po: now truly closes: #182889.
+  * Policy update.
+  * Added dep/build-dep from libcap2(-dev). It does not work with stable libcap.
+    (closes: #185030, hopefully #185125)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Tue, 18 Mar 2003 12:34:58 +0100
+                                                                                           
+proftpd (1.2.6-5) unstable; urgency=low
+
+  * Only restart the daemon if runlevels allow, in accordance with
+    policy section 10.3.3.2. (Closes: #166907)
+  * Revised contents of ftpstats.8 (frankie)
+  * Added ftpasswd.8 (frankie)
+  * Removed obsolete proftpd libcap building. Now uses standard one. (frankie)
+    (Closes: #168953)
+  * fr.po updated (frankie) (Closes: #182889)
+  * pt_BR.po updated (frankie) (Closes: #177226)
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon,  3 Mar 2003 10:39:59 +0100
+
+proftpd (1.2.6-4) unstable; urgency=low
+
+  * debian/control: put proftpd-doc in section "doc".
+  * Now uses po-debconf templates (frankie).
+  * Added Italian template (frankie).
+  * debian/control: added frankie@debian.org as co-maintainer.
+  * debian/control: added build-depend on sharutils, as we now need
+    uudecode because of...
+  * debian/patches: two of the patches contain RCS Id tags in their
+    context, which got mangled by CVS, so they're now uuencoded, which
+    required changes to...
+  * debian/scripts/file2cat: now uudecodes files with .uue extension
+  * debian/scripts/dbs-build.mk: ignore CVS directories when applying
+    patches.
+  * debian/rules: use $$m instead of $m for loop variable.
+    (Closes: #166205)
+  * debian/patches/AC.mod_unixpw.c.ldap.fix.diff: if getpwnam/getpwuid
+    return NULL, revert to original method of getting pw entries.
+    (Closes: #165188)
+  * debian/rules: remove incorrect logic for detecting kernel version
+    which was causing linuxprivs never to be compiled in. Thanks to 
+    frankie for tracing this one. (Closes: #166215)
+
+ -- Paul Martin <pm@debian.org>  Mon, 28 Oct 2002 14:24:28 +0000
+
+proftpd (1.2.6-3) unstable; urgency=low
+
+  * debian/proftpd.config: unfortunately Ivo's patch had a bug in it.
+    Fixed this and another problematic conditional pointed out by Andrew
+    Suffield. (Closes: #164556,#164556)
+  * debian/proftpd.config: more compare-versions fixes. (Closes: #165677)
+
+ -- Paul Martin <pm@debian.org>  Mon, 21 Oct 2002 12:27:08 +0100
+
+proftpd (1.2.6-2) unstable; urgency=low
+
+  * New maintainer. (Closes: #163632)
+  * debian/proftpd.config: fix version test (Closes: #164556)
+  * debian/patches/B0.mod_ls.c.fsmatch.diff: Fixes the "virtual
+    filesystem" abstraction. Only contrib/mod_test.c would be
+    affected, if we built it.
+  * debian/rules: added undocumented.7 link to ftpasswd.8.
+    (Bug: #150101) Bug left open until proper manpage is written.
+  * debian/patches/B1.ftpasswd.cracklib.location.diff: Change the
+    default location of the cracklib dictionaries to match their
+    Debian location. (Closes: #159365)
+
+ -- Paul Martin <pm@debian.org>  Fri, 18 Oct 2002 18:12:59 +0100
+
+proftpd (1.2.6-1) unstable; urgency=low
+
+  * New upstream release.
+  * debian/patches/20.contrib.mod_ldap.c.diff: Updated.
+  * debian/patches/AF.ipv6.diff: Updated.
+  * debian/patches/AG.mod_ratio.c.3.3.diff: Removed.
+  * debian/patches/AH.mod_ldap.c.HEAD.diff: Removed.
+
+ -- Ivo Timmermans <ivo@debian.org>  Sat,  7 Sep 2002 14:49:52 +0200
+
+proftpd (1.2.5+1.2.6rc2-1) unstable; urgency=low
+
+  * New upstream version.
+  * debian/control: Change section from non-US to net.
+  * debian/copyright: Change licenses for mod_ldap.c and mod_ratio.c.
+  * Take advantage of the required new source upload to create an
+    .orig.tar.gz and a .diff.gz.
+  * debian/proftpd.postinst: Call db_stop before replace_file.
+  * debian/patches/33.mod_quota.c.exemption.fix.diff: Removed (upstream
+    has removed mod_quota.c).
+  * debian/rules: Don't include mod_quota.c in compilation.
+  * debian/patches/50proftpd-1.2.5-tls.2002.05.30.patch: Replaced by
+    50.proftpd-1.2.6rc1-tls.2002.07.11.patch.
+  * debian/patches/AB.mod_ls.c.large.files.support.diff: Removed (upstream
+    has included LFS).
+  * debian/patches/AF.ipv6.diff: Updated.
+  * debian/patches/AG.mod_ratio.c.3.3.diff: Update mod_ratio.c to version
+    3.3.
+  * debian/patches/AH.mod_ldap.c.HEAD.diff: Update mod_ldap.c to CVS HEAD.
+
+ -- Ivo Timmermans <ivo@debian.org>  Sun,  1 Sep 2002 17:06:41 +0200
+
+proftpd (1.2.5-3) unstable; urgency=low
+
+  * debian/proftpd.init:
+      - Remove bashism;
+      - signal(): remove superfluous "proftpd" in the find statement;
+        (Closes: #156878)
+      - Added new option "force-stop", which will try to kill proftpd even
+        though the config file says it is started from inetd (like
+        force-start). (Closes: #153922)
+  * debian/proftpd.config: Stop any running proftpd when the old setting
+    was to be run standalone, and the new setting to run from inetd.
+    (Closes: #144882, #151362)
+  * debian/proftpd.postrm: Remove debconf calls.
+    (Closes: #148727, #156464)
+  * debian/copyright:
+      - Include the license exception the ProFTPd team has given (long
+        ago) to allow binaries linked against OpenSSL to be distributed.
+      - Include licenses for contributed modules.
+
+ -- Ivo Timmermans <ivo@debian.org>  Sun, 18 Aug 2002 20:25:11 +0200
+
+proftpd (1.2.5-2) unstable; urgency=low
+
+  * debian/proftpd.init: Let the init script get the location of the
+    scoreboard from the config. (Closes: #150162)
+  * debian/patches/AE.mod_tls.c.no.certificates.found.diff: Don't try to
+    check certificate files on startup. (Closes: #153992, #154238)
+  * debian/patches/20.contrib.mod_ldap.diff: Fix segfault in uid-lookup in
+    proftpd-ldap. (Closes: #150525)
+  * debian/control: Changed sections from non-US/main to non-US.
+  * debian/patches/AF.ipv6.diff: IPv6 patch from Jan Rekorajski, Amand
+    TIHON and others.
+
+ -- Ivo Timmermans <ivo@debian.org>  Tue, 13 Aug 2002 23:23:54 +0200
+
+proftpd (1.2.5-1) unstable; urgency=low
+
+  * New upstream version. (Closes: #146839)
+  * Updated TLS patch.
+  * Upstream now includes ftpasswd, deleted it from 99.misc.diff.
+  * Deleted the patch to delete doc/rfc/draft-murray-auth-ftp-ssl-08.txt,
+    which has been deleted upstream.
+  * Updated AB.mod_ls.c.large.files.support.diff.
+  * Removed one "ShowSymlinks on" from basic.conf. (Closes: #148358)
+
+ -- Ivo Timmermans <ivo@debian.org>  Thu, 13 Jun 2002 17:16:10 +0200
+
+proftpd (1.2.4+1.2.5rc1-6) unstable; urgency=high
+
+  * One more try...
+  * /etc/proftpd.conf is no longer marked as a conffile.  Instead, we
+    verify its existence every time postinst is ran, possibly copying it
+    over from our default version in
+    /usr/share/doc/<package>/examples/proftpd.conf.  If we need to change
+    it, ucf is called to let the user merge in any changes he
+    made. (Closes: #143351)
+  * Rephrased the shared/proftpd/replace_file_install debconf question.
+    (Closes: #144715)
+  * Removed mention of obsolete proftpd-sql in package description.
+    (Closes: #144365)
+
+ -- Ivo Timmermans <ivo@debian.org>  Sun, 28 Apr 2002 10:22:42 +0200
+
+proftpd (1.2.4+1.2.5rc1-5) unstable; urgency=high
+
+  * Reworked postinst to handle configuration files better; allow the user
+    to review the changes before committing them.  Thanks to Roland Mas
+    for the help. (Closes: #143351)
+  * Stop proftpd from prerm. (Closes: #143376)
+
+ -- Ivo Timmermans <ivo@debian.org>  Mon, 22 Apr 2002 13:50:50 +0200
+
+proftpd (1.2.4+1.2.5rc1-4) unstable; urgency=high
+
+  * Configuring proftpd-ldap, proftpd-*sql with debconf was broken, now
+    uses shared debconf templates.  This fixes a release critical bug
+    nobody reported.
+  * Properly mention that support for mysql or postgresql is included in
+    proftpd-{my,pg}sql package descriptions.
+
+ -- Ivo Timmermans <ivo@debian.org>  Wed, 17 Apr 2002 12:07:20 +0200
+
+proftpd (1.2.4+1.2.5rc1-3) unstable; urgency=medium
+
+  * Use CFLAGS when running configure.
+  * Large file support (partially by Petr Cech, thank you).
+    (Closes: #139325)
+  * Fix typo in postinst. (Closes: #140498)
+  * Correct == to = in init script. (Closes: #140896)
+  * Apply fix for proftpd-ldap by Steve Langasek, which makes mod_unixpw
+    use getpwnam if pwdfname isn't /etc/passwd. (Closes: #141275)
+  * Fix crash of proftpd-*sql when user shell field is NULL.
+    (Closes: #140141)
+  * Updated debconf template for Brazilian Portugese. (Closes: #141690)
+
+ -- Ivo Timmermans <ivo@debian.org>  Thu, 11 Apr 2002 19:25:53 +0200
+
+proftpd (1.2.4+1.2.5rc1-2) unstable; urgency=low
+
+  * Changelog entry for 1.2.4-2 got lost, readded.
+  * Changed build dependency for postgresql-dev to 7.2 or higher.
+  * Added build dependency on bzip2.
+  * Patch, probably from Ignacy Gawedzki, to prevent server crash when
+    using REST+GET on unaccessible source. (Closes: #136696)
+
+ -- Ivo Timmermans <ivo@debian.org>  Mon,  4 Mar 2002 19:37:21 +0100
+
+proftpd (1.2.4+1.2.5rc1-1) unstable; urgency=low
+
+  * New upstream version. (Closes: #125829)
+  * Switch to dbs.
+  * Updated TLS patch. (Closes: #118804)
+  * Fix ftpstats (see bugreport for details). (Closes: #133647)
+  * Updated init.d script, use /etc/defaults.  Thanks to Marc Haber for
+    the patch. (Closes: #120324, #128805)
+  * Fixed a typo in postinst which might have caused problems when
+    upgrading.
+  * Renamed the English debconf template, added French translation.
+    (Closes: #136104)
+  * Redirect stderr to /dev/null in cron.monthly. (Closes: #136309)
+
+ -- Ivo Timmermans <ivo@debian.org>  Sun,  3 Mar 2002 18:37:41 +0100
+
+proftpd (1.2.4-2) unstable; urgency=high
+
+  * Fix segfault on ls /////////// (Closes: 125829)
+
+ -- Ivo Timmermans <ivo@debian.org>  Sun, 23 Dec 2001 23:00:43 +0100
+
+proftpd (1.2.4-1) unstable; urgency=low
+
+  * New upstream release
+  * Added Russian debconf templates.
+    (Closes: #114953, #114954, #114955, #114957)
+  * Fixed small error in build script that prevented the German debconf
+    templates from being installed.
+  * Updated standards version.
+  * Make proftpd suggest proftpd-doc instead of recommend.
+    (Closes: #113673)
+  * Allow two extra digits for total number of bytes sent in the xferstat
+    script. (Closes: #107387)
+  * Link in mod_wrap. (Closes: #111454)
+
+ -- Ivo Timmermans <ivo@debian.org>  Mon, 22 Oct 2001 01:45:19 +0200
+
+proftpd (1.2.2-1) unstable; urgency=high
+
+  * New upstream release (Closes: #109070):
+     - Doesn't use ifdef's inside a printf call.
+       (Closes: #104402, #104948)
+  * Don't log `No certificates found' message for each connection, only
+    print it on startup. (Closes: #103318)
+  * Change documentation for HideGroup. (Closes: #106548)
+  * Add new directives for proftpd-ldap: LDAPCheckAllow, LDAPCheckDeny,
+    LDAPHomedirOnDemandScript
+
+ -- Ivo Timmermans <ivo@debian.org>  Sat, 18 Aug 2001 17:29:31 +0200
+
+proftpd (1.2.1+1.2.2rc3-3) unstable; urgency=low
+
+  * Depend on adduser. (Closes: #102944)
+  * Updated the Spanish debconf template. (Closes: #102135)
+  * Include genuser.pl and ftpasswd in the proftpd-common package.
+    (Closes: #102489)
+
+ -- Ivo Timmermans <ivo@debian.org>  Tue,  3 Jul 2001 01:01:44 +0200
+
+proftpd (1.2.1+1.2.2rc3-2) unstable; urgency=low
+
+  * Added -r to rm -f /var/run/proftpd in postrm.
+
+ -- Ivo Timmermans <ivo@debian.org>  Mon,  2 Jul 2001 00:48:16 +0200
+
+proftpd (1.2.1+1.2.2rc3-1) unstable; urgency=low
+
+  * New upstream release.
+  * Applied the TLS patch by Peter Runestig.
+  * Included new config.sub and config.guess. (Closes: #99862)
+  * Fixed regexp in proftpd.init. (Closes: #98078)
+
+ -- Ivo Timmermans <ivo@debian.org>  Thu, 28 Jun 2001 11:57:49 +0200
+
+proftpd (1.2.1-9) unstable; urgency=low
+
+  * Changed sections now that postgresql is in non-US. (Closes: #97124)
+  * Kill any references to /usr/doc and /usr/man from debian/rules.
+
+ -- Ivo Timmermans <ivo@debian.org>  Fri, 11 May 2001 11:16:51 +0200
+
+proftpd (1.2.1-8) unstable; urgency=low
+
+  * Fixed the logic that determines how to handle
+    /etc/proftpd.conf. (Closes: #96593)
+
+ -- Ivo Timmermans <ivo@debian.org>  Wed,  9 May 2001 10:57:32 +0200
+
+proftpd (1.2.1-7) unstable; urgency=low
+
+  * Check that /etc/proftpd.conf exists before calculating the md5sum
+    (doh).
+
+ -- Ivo Timmermans <ivo@debian.org>  Sun,  6 May 2001 14:06:32 +0200
+
+proftpd (1.2.1-6) unstable; urgency=low
+
+  * Make proftpd-doc suggest proftpd-common. (Closes: #95724)
+  * Added tests to see if /etc/proftpd.conf exists. (Closes: #95650)
+
+ -- Ivo Timmermans <ivo@debian.org>  Wed,  2 May 2001 15:09:40 +0200
+
+proftpd (1.2.1-5) unstable; urgency=low
+
+  * Include German debconf templates. (Closes: #93770, #93989)
+  * Redirect update-inetd stdout and stdin to /dev/tty.
+    (Closes: #93152)
+  * Include ftpusers(5) manual page, originally from the ftpd package.
+    (Closes: #94348)
+  * Automatically generate a proftpd.conf(5) manual page from the file
+    doc/Configuration.html; add perl-base to build dependencies.
+    (Closes: #65354)
+
+ -- Ivo Timmermans <ivo@debian.org>  Thu, 19 Apr 2001 03:13:02 +0200
+
+proftpd (1.2.1-4) unstable; urgency=low
+
+  * Make proftpd-common and -doc replace proftpd. (Closes: #93230)
+  * Don't edit /etc/init.d/proftpd from postinst, as this is already
+    handled correctly with a grep. (Closes: #93331)
+  * Split proftpd-sql into proftpd-mysql and proftpd-pgsql.  This is ugly,
+    but necessary. (Closes: #72347, #93150)
+  * proftpd-ldap no longer conflicts with itself.
+  * All the configure scripts use the same config.cache file.
+
+ -- Ivo Timmermans <ivo@debian.org>  Mon,  9 Apr 2001 02:34:26 +0200
+
+proftpd (1.2.1-3) unstable; urgency=low
+
+  * `Let's split up' -- Created a separate package for SQL authentication,
+    drop mod_sql from the standard package.
+  * Created a separate package with mod_ldap for LDAP authentication
+    (untested!). (Closes: #60458)
+  * Check md5sum of /etc/proftpd.conf or ask user before asking questions
+    that mean we have to edit the file. (Closes: #90673)
+  * Needs debhelper 3.0 or later.
+  * Include Brazilian, Dutch and Spanish debconf templates.
+    (Closes: #92143, #92318)
+  * Move all debconf related stuff out of postinst into config.  This
+    makes update-inetd work correctly if it needs to ask something.
+    (Closes: #91931, #91987; addresses #90676)
+  * Also edit the ServerType directive in /etc/proftpd.conf when switching
+    to/from inetd mode. (Closes: #91931, #91987)
+  * Use /etc/pam.d/proftpd (fix typo). (Closes: #91745)
+  * Drop manual.uue from the source, delete sharutils from build depends.
+  * Remove the contents from /var/run/proftpd in postrm and postinst.
+    (Closes: #90675, #91262)
+
+ -- Ivo Timmermans <ivo@debian.org>  Sat, 24 Mar 2001 23:32:58 +0100
+
+proftpd (1.2.1-2) unstable; urgency=low
+
+  * Added postgresql-dev and sharutils to the build dependencies.
+    (Closes: #90650)
+  * Run proftpd as root from inetd.  proftpd switches to the user/group
+    that is given in the configuration file after startup anyway.
+    (Closes: #90643, #90645)
+  * Set priority to optional.
+  * In cron.monthly, test for ftpstats in the right directory
+    (/usr/sbin). (Closes: #90669)
+
+ -- Ivo Timmermans <ivo@debian.org>  Thu, 22 Mar 2001 18:21:46 +0100
+
+proftpd (1.2.1-1) unstable; urgency=low
+
+  * New upstream release.  (Closes: #49742, #60188, #62589, #64926,
+    Closes: #66784, #66785, #68848, #74153, #74545, #74758, #77701,
+    Closes: #76453, #78922, #80220, #81757, #82921, #83822, #85561,
+    Closes: #86175, #86855)
+  * New maintainer. (Closes: #66783, #67343, #68356, #72841, #75487,
+    Closes: #76258, #85259, #85589, #85710, #85724, #85940, #86011,
+    Closes: #86519, #87194, #90299)
+  * Send savelog output from cron.monthly to /dev/null.
+    (Closes: #72894, #88150)
+  * Applied a patch submitted by me that fixes segfaults due to using
+    a nonexistant postgres connection. (Closes: #76710)
+  * Fixed a small error. (Closes: #77701)
+  * Check for the presence of any SQL* directives in proftpd.conf on
+    upgrade, refer to README.mod_sql. (Closes: #77701)
+  * Added /etc/ftpusers file. (Closes: #79062, #87568)
+  * Changed modules/mod_pam.c to use /etc/pam.d/proftpd by default.
+  * Replace pam_unix_password by pam_unix and remove the shadow option
+    from /etc/pam.d/proftpd. (Closes: #81753)
+  * Ask whether proftpd should start from inetd or standalone.
+    (Closes: #67720)
+  * Test if ftpstats exists on the system before executing it in
+    cron.monthly. (Closes: #86773)
+  * postinst: Call cp in a separate shell to prevent ~ftp caching trouble.
+    (Closes: #44530)
+  * Made changes to contrib/mod_sql*.c to allow both mysql and postgres
+    modules to be linked in.
+  * Fixed small but obvious mistake in mod_sqlpw.c. (Closes: #76723)
+  * Apply fix from ftp://ftp.urbanrage.com/pub/c/mod_quota.c (by Dmitry
+    Alyabyev) for QuotaExempt.
+  * Added a line with PersistentPasswd to basic.conf, to please NIS and
+    LDAP users bugging about proftpd not finding their dynamic
+    users. (Closes: #62197)
+  * Set DenyFilter in basic.conf to prevent a DoS posted to bugtraq
+    (proftpd bug id 1066). (Closes: #89871)
+  * Move Umask to the <Directory> blocks.
+
+ -- Ivo Timmermans <ivo@debian.org>  Wed,  7 Mar 2001 02:52:26 +0100
+
+proftpd (1.2.0pre10-2.1) unstable; urgency=high
+
+  * Non-Maintainer upload.
+  * Applied patch against string format buffer attack.
+  * Removed extra User/Group pair from basic.conf, server now runs as
+    user/group nobody by default.
+  * Added build dependencies on libmysqlclient-dev (instead of
+    mysql-dev), zlib1g-dev, debhelper and libpam-dev.
+  * In contrib/libcap/libcap.h: moved the capability.h include to just
+    below sys/types.h to fix horrible build errors.
+
+ -- Ivo Timmermans <ivo@debian.org>  Sat, 24 Feb 2001 02:32:02 +0100
+
+proftpd (1.2.0pre10-2) frozen unstable; urgency=high
+
+  * Use setproctitle(%s,foo) in main.c, lamagra@DIGIBEL.ORG advisory.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed,  5 Jul 2000 18:50:07 -0500
+
+proftpd (1.2.0pre10-1) unstable; urgency=low
+
+  * New upstream version (CVS), closes: #59851, #58043, #58149, #41090.
+  * Included lines in default config which make files overwritable,
+    closes: #58258.
+  * Added patch from Gerhard Poul to create xferreport in cron.daily,
+    closes: #57935.
+  * Added patch from Christian Hammers so the init.d script reliably kills
+    the daemon even in inetd mode, and without using killall, closes:
+    #48487, #45853.
+  * Added directory umask to default config, closes: #42279.
+  * Included more documentation and READMEs.
+  * Disabled mod_pgsql and statically linked to library for mod_mysql,
+    closes: #51120, #50342.
+  * Enabled new module mod_quota.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  7 Mar 2000 14:54:10 -0600
+
+proftpd (1.2.0pre9-7) unstable; urgency=low
+
+  * New upstream version (CVS), fixes TYPE L, closes: #58043.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 16 Feb 2000 16:17:00 -0600
+
+proftpd (1.2.0pre9-6) unstable; urgency=low
+
+  * Uploaded for the correct dist (unstable).
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 20 Dec 1999 05:19:47 -0600
+
+proftpd (1.2.0pre9-5) unstable; urgency=low
+
+  * Included ftpstats manpage by Darren Benham (gecko), closes: #51867,
+    #39508.
+  * Changed xferstats to ftpstats in example crontab, closes: #50027.
+  * Slink version updated as of 2.1r4, closes: #33193, #36829, #34564.
+  * No longer asks debconf questions in the postinst, closes: #48353,
+    #46695.
+  * Included compile fixes from slink version, closes: #49170.
+
+ -- Johnie Ingram <johnie@debian.org>  Fri, 17 Dec 1999 21:01:02 -0600
+
+proftpd (1.2.0pre9-4) stable; urgency=low
+
+  * Included compile fixes from slink version.
+  * Changed xferstats to ftpstats in example crontab, closes: #50027.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon,  8 Nov 1999 22:12:13 -0600
+
+proftpd (1.2.0pre9-3) stable; urgency=high
+
+  * Really really important security upload for slink.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon,  8 Nov 1999 19:35:58 -0600
+
+proftpd (1.2.0pre9-2) unstable; urgency=low
+
+  * New upstream version, closes: #49170 (have_sendfile on m68k).
+
+ -- Johnie Ingram <johnie@debian.org>  Sat, 30 Oct 1999 20:51:00 -0500
+
+proftpd (1.2.0pre9-1) unstable; urgency=low
+
+  * New upstream version, closes: #43842, #38203, #48274, #46407, #40085, #33206.
+  * Included patch from Madarasz Gergely so it works on 2.0 kernels again
+    (adopted upstream), closes: #47138.
+  * Database client libraries are linked dynamically, closes: #47147.
+  * Split of netbase ends inetd.conf problems, closes: #17514.
+  * Starting in standalone mode removes ftp from inetd.conf, closes: #29734.
+  * Changed PAM service class to 'ftp'.
+
+ -- Johnie Ingram <johnie@debian.org>  Sat, 30 Oct 1999 20:44:31 -0500
+
+proftpd (1.2.0pre7-3) unstable; urgency=low
+
+  * New upstream version (pre8 beta).
+  * Added detection of slink (ancient non-FHS) system during build.
+  * Changed awkward name xferstats.proftpd to ftpstats.
+  * Debconfified install question.
+  * Updated SQL support.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon,  4 Oct 1999 13:32:59 -0500
+
+proftpd (1.2.0pre7-2) unstable; urgency=low
+
+  * Turned off debugging feature, closes: #46309.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu, 30 Sep 1999 09:49:00 -0500
+
+proftpd (1.2.0pre7-1) unstable; urgency=low
+
+  * New upstream version.
+  * Fixed pam configuration error, closes: #45775, #45769
+  * Split mod_sql out of mod_mysql; added mod_pgsql.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 27 Sep 1999 00:51:11 -0500
+
+proftpd (1.2.0pre6-3) unstable; urgency=low
+
+  * Updated mod_mysql module, updated CVS, added docs.
+  * Closing old bugs:
+    * Authentication (PAM) works, closes: #38229, #22894, #10360.
+    * Kills on upgrade, closes: #44531.  
+    * Restarts on upgrade, closes: #38560, #33540, #33205.
+    * But only if ServerType standalone, closes: #32950.
+    * No killall to fail, closes: #38260.
+
+ -- Johnie Ingram <johnie@debian.org>  Sat, 18 Sep 1999 01:48:47 -0500
+
+proftpd (1.2.0pre6-2) unstable; urgency=high
+
+  * New upstream security update.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu, 16 Sep 1999 13:14:32 -0500
+
+proftpd (1.2.0pre6-1) unstable; urgency=low
+
+  * New upstream version.
+  * Separate PAM configuration file; PersistentPasswd defaults to off to
+    allow NIS and PAM auth to work.
+  * Reactivated linuxprivs module, fixed upstream.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 13 Sep 1999 02:50:19 -0500
+
+proftpd (1.2.0pre5-1) unstable; urgency=low
+
+  * New upstream version.
+  * ARM support (1.1.7r3-4 NMU, #29805), mod_mysql, and all debian patches
+    are now included upstream.
+
+ -- Johnie Ingram <johnie@debian.org>  Fri, 10 Sep 1999 03:58:40 -0500
+
+proftpd (1.2.0pre4-3) unstable; urgency=low
+
+  * Updated to Standards-Version 3.0.1.1 (FHS).
+  * Purging proftpd will stop the daemon, closes: #44531.
+
+ -- Johnie Ingram <johnie@debian.org>  Sun,  5 Sep 1999 09:50:48 -0500
+
+proftpd (1.2.0pre4-2) unstable; urgency=high
+
+  * More security fixes.
+
+ -- Johnie Ingram <johnie@debian.org>  Sun,  5 Sep 1999 09:38:01 -0500
+
+proftpd (1.2.0pre4-1) unstable; urgency=high
+
+  * New upstream version, fixing remote root exploit.
+  * Prepared with the PAM of glibc 2.1, closes: #36742, #38562.
+  * Note: the README.Solaris2.5x is included as humor, illustrating how
+    bad non-free OSes can be, closes: #36540.
+  * Fixed segfault possibility in mysql module.
+  * Updated to Standards-Version 3.0.1.0.
+  * Conflicts with and provides ftp-server, closes: #42407.
+  * Added dependency on libpam-modules.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 30 Aug 1999 11:52:18 -0500
+
+proftpd (1.2.0pre2-7) unstable; urgency=low
+
+  * Added useful undocumented features to mod_ratio and mod_mysql.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon,  3 May 1999 12:23:18 -0400
+
+proftpd (1.2.0pre2-6) unstable; urgency=low
+
+  * Activated PAM support, closes: #24115, #24524.
+  * Also closes: #35292, fixed in 1.20pre2-4.
+
+ -- Johnie Ingram <johnie@debian.org>  Fri, 23 Apr 1999 11:04:57 -0400
+
+proftpd (1.2.0pre2-5) unstable; urgency=low
+
+  * Changed default (undocumented) TimeoutStalled from 0 to 300.
+
+ -- Johnie Ingram <johnie@debian.org>  Sat, 10 Apr 1999 17:53:29 -0400
+
+proftpd (1.2.0pre2-4) unstable; urgency=low
+
+  * Conflicts with wu-ftpd-academ, closes: #35036.
+  * The postrm no longer dies if proftpd is not currently running, closes:
+    #35292.
+  * Updated mod_ratio to 2.0beta, added experimental and utterly
+    undocumented mod_mysql 0.1.
+  * Updated to Standards-Version 2.5.0.0.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu,  8 Apr 1999 12:01:42 -0400
+
+proftpd (1.2.0pre2-3) unstable; urgency=low (high for glibc 2.1)
+
+  * New upstream version (1.2.0pre2)
+      * Fixes root priv problem with glibc 2.1 (mod_linuxprivs disabled),
+        closes: #34604.
+      * Fixes ls -lR again, closes: #34521, #33671, #33494
+      * Returns 550 instead of 553 when retrieving dir, closes: #29498.
+
+ -- Johnie Ingram <johnie@debian.org>  Fri, 19 Mar 1999 10:29:43 -0500
+
+proftpd (1.2.0pre2-2) frozen unstable; urgency=medium
+
+  * Uploaded for frozen.  Fixes ls -alR looping bug discovered by Jim
+    Pick, closes: #33494.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu,  4 Mar 1999 08:11:14 -0500
+
+proftpd (1.2.0pre2-1) unstable; urgency=medium
+
+  * New upstream version, closes: #33494 (ls -alR looping bug discovered
+    by Jim Pick).
+  * Debugging turned off by default, closes: #33396.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 17 Feb 1999 12:46:15 -0500
+
+proftpd (1.2.0pre1-2) stable frozen unstable; urgency=high
+
+  * Uploaded for stable by request of Wichert Akkerman.  This fixes the
+    Palmetto bug discovered by netect.com.  Upgrade.  Now.
+  * Bug also fixed in slink and potato on Feb 4, closes: #32686, #33173.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 10 Feb 1999 09:26:18 -0500
+
+proftpd (1.2.0pre1-1) frozen unstable; urgency=medium
+
+  * Include path exploit fix (closes: #32686, important).
+  * Rehashing (-HUP) now properly discards old LogFormat logs, and
+    recreates from the conf file, closes: #28641.
+  * Fixed division by 0 in xferstats.proftp, closes: #26946.
+  * No longer complains to stderr when capababilities (a 2.2.x feature)
+    aren't supported by the kernel, closes: #27861.
+  * Includes ARM support (1.1.7r3-4 NMU), closes: #29805.
+  * Module mod_ls fixed so ncftp -R works, closes: #29520.
+  * Removing package kills proftpd, closes: #30157, #32331, #32607.
+  * No longer slow (846.68 kB/s over ethernet), closes: #29396.
+  * Tweaked regex in /etc/init.d/proftpd.
+  * Daemon is not pointlessly stopped during upgrade: #28900.
+  * Updated documentation from upstream website.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu,  4 Feb 1999 13:37:17 -0500
+
+proftpd (1.1.7r3-4) unstable; urgency=low
+
+  * Only queries about installing anonymous ftp once (#27873 and #25432).
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 12 Oct 1998 18:24:59 -0400
+
+proftpd (1.1.7r3-3) unstable; urgency=low
+
+  * Merged fix from Alpha release by Paul Slootman (#27823).
+  * Bugs fixed prior to this release, or non-bugs: #20130, #24675, #25158,
+    #25162.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 12 Oct 1998 17:16:53 -0400
+
+proftpd (1.1.7r3-2) unstable; urgency=low
+
+  * New upstream version (CVS).
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 12 Oct 1998 12:53:14 -0400
+
+proftpd (1.1.7r3-1.1) unstable; urgency=low
+
+  * non-maintainer (binary-only) upload for Alpha
+  * invoke "make install" with some modified parameters, else it tries to
+    create directories outside the source directory.
+
+ -- Paul Slootman <paul@debian.org>  Mon, 12 Oct 1998 21:07:12 +0200
+
+proftpd (1.1.7r3-1) unstable; urgency=low
+
+  * New upstream version (pristine).
+
+ -- Johnie Ingram <johnie@debian.org>  Sat, 10 Oct 1998 13:11:38 -0400
+
+proftpd (1.1.7r2-2) unstable; urgency=low
+
+  * New upstream version (CVS).
+  * Module linuxprivs is now compiled in for better security, on
+    architectures with kernel source newer than 2.1.103.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed,  7 Oct 1998 10:55:38 -0400
+
+proftpd (1.1.7r2-1) unstable; urgency=low, closes=26839
+
+  * New upstream version (pristine).
+  * Removal will not run init.d script if script doesn't exist (#26839).
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  6 Oct 1998 14:17:08 -0400
+
+proftpd (1.1.7r1-1) unstable; urgency=low
+
+  * New upstream version 1.1.7pl1 (CVS).
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 23 Sep 1998 11:29:21 -0400
+
+proftpd (1.1.7pre1-1) unstable; urgency=low, closes=25168 16502 20868 26638 23485 25272
+
+  * New upstream version (CVS) includes ability to diable wtmp logging
+    (#16502) and a correct implementation of %L (#20868).
+  * Fixed xferstats conflict with hylafax-server (#26638).
+  * Removing proftpd now stops the running daemon (#25272).
+  * Bugs fixed prior to this release, by other packages, or non-bugs:
+    #25168, #23485.
+  * Updated to Standards-Version 2.4.1.4.
+
+ -- Johnie Ingram <johnie@debian.org>  Sat, 12 Sep 1998 17:16:53 -0400
+
+proftpd (1.1.6r2-3) unstable; urgency=low
+
+  * Ratio support is accepted by upstream author as a "contrib" module,
+    and now fully documented.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  8 Sep 1998 22:30:45 -0400
+
+proftpd (1.1.6r2-2) unstable; urgency=low, closes=26089 25133
+
+  * New upstream version (CVS), fixing symlink Bug (#26089) and general
+    slowness when used with 2.1.x kernels (#25133).
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  8 Sep 1998 14:54:59 -0400
+
+proftpd (1.1.6r2-1) unstable; urgency=low, closes=26167 26305 23156 17488
+
+  * New upstream version (CVS).
+  * Modified for new debhelper behavior (#26167, #26305).
+  * Closes #17488, as ls -lat is now supported.
+  * Added xferstats manpage and program wu-ftpd-academ, as modified by
+    Holger Preiss (TU Dresden) (#23156).
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  8 Sep 1998 12:29:25 -0400
+
+proftpd (1.1.6r-1.1) unstable; urgency=low
+
+  * non-maintainer upload for Alpha
+  * don't use wildcards in debian/examples, as that fails with debhelper_1.1.9
+
+ -- Paul Slootman &lt;paul@debian.org&gt;  Wed, 26 Aug 1998 22:37:29 +0200
+
+proftpd (1.1.6r-1) unstable; urgency=low
+
+  * New upstream version (CVS).
+
+ -- Johnie Ingram <johnie@debian.org>  Thu, 20 Aug 1998 10:51:04 -0400
+
+proftpd (1.1.6pre4-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  4 Aug 1998 12:25:14 -0400
+
+proftpd (1.1.6pre2-1) unstable; urgency=low
+
+  * New upstream version (fixes ident timeouts).
+
+ -- Johnie Ingram <johnie@debian.org>  Fri, 31 Jul 1998 11:51:32 -0400
+
+proftpd (1.1.6pre1-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu, 30 Jul 1998 14:29:27 -0400
+
+proftpd (1.1.5r-3) unstable; urgency=low
+
+  * New upstream version (1.1.5pl3).
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 20 Jul 1998 23:04:08 -0400
+
+proftpd (1.1.5r-2) unstable; urgency=low
+
+  * Tweaked syslog logging: CWD command, initial connect, etc.
+  * Added HostRatio directive.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue, 14 Jul 1998 12:09:35 -0400
+
+proftpd (1.1.5r-1) unstable; urgency=low
+
+  * New upstream version.
+  * Removed extraneous debugging output from mod_ratio.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue, 14 Jul 1998 11:00:58 -0400
+
+proftpd (1.1.5pre3-2) unstable; urgency=low
+
+  * Added custom-written ratio module.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue, 14 Jul 1998 01:23:00 -0400
+
+proftpd (1.1.5pre3-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Johnie Ingram <johnie@debian.org>  Sun, 12 Jul 1998 22:11:05 -0400
+
+proftpd (1.1.5pre1-1) unstable; urgency=low, closes=23568 17765 18589
+
+  * New upstream version.
+  * Source code uses correct FSF address (#23568).
+  * Recursive directory listings (ls -lR) now supported (#17765).
+  * No longer possible to crash/spin server with huge dirs (#18589).
+  * Probably fixes 10360, 16502, 18855, 20130, 22894, 23485, and 23875,
+    but more testing is needed.
+
+ -- Johnie Ingram <johnie@debian.org>  Sun,  5 Jul 1998 18:24:45 -0400
+
+proftpd (1.0.3-1) unstable; urgency=low, closes=22207 22437 14447 21808
+
+  * New upstream version.
+  * ProFTPD now uses port 20 for outgoing data instead of "wierd ports"
+    (#14447).
+  * Pre-install script will not fail if init.d script is missing (#22207).
+  * Closes Bug #22437 against ncftp, incorrect handling of multiline
+    responses, actually due to proftpd's incorrect multiline response.
+  * Includes example configurations (#21808).
+
+ -- Johnie Ingram <johnie@debian.org>  Fri, 22 May 1998 17:17:20 -0400
+
+proftpd (1.0.2-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu, 21 May 1998 15:21:06 -0400
+
+proftpd (1.0.1-1) unstable; urgency=low
+
+  * New (somewhat unreleased) upstrem version, fixing potential segfault
+    problem.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue, 19 May 1998 13:48:26 -0400
+
+proftpd (1.0.0unoff1-2) unstable; urgency=low
+
+  * Real-time ratio levels are now logged for each user, at the higher
+    debugging levels (>= 3).
+  * Ratios are calculated at session start in addition to during chdir
+    commands.
+
+ -- Johnie Ingram <johnie@debian.org>  Sun, 19 Apr 1998 20:06:01 -0400
+
+proftpd (1.0.0unoff1-1) unstable; urgency=low
+
+  * Now includes current directories in status output.
+  * The ftpwho command now shows the entire command being executed.
+  * Remoted commands logged separate from malloc debugging: most at level
+    3, STOR, RETR and CWD at level 2.
+  * Now logs the rough bandwidth of each transfer to syslog.
+  * Disabled NEED_PERSISTENT_PASSWORD so NIS works (#18144, #14916).
+  * Converted from debmake to debhelper packaging technology.
+  * Undocumented support for upload/download ratios added.
+
+ -- Johnie Ingram <johnie@debian.org>  Sat, 18 Apr 1998 23:24:15 -0400
+
+proftpd (1.0.0-8) unstable; urgency=low
+
+  * Priority is now extra.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 18 Mar 1998 17:01:21 -0500
+
+proftpd (1.0.0-7) unstable; urgency=low
+
+  * Corrected spelling of proftpd in init.d message output.
+
+ -- Johnie Ingram <johnie@debian.org>  Sat, 14 Mar 1998 19:47:23 -0500
+
+proftpd (1.0.0-6) unstable; urgency=low
+
+  * Included force-reload target in help text returned by init.d script,
+    and switched to the unofficial official downcase style.
+
+ -- Johnie Ingram <johnie@debian.org>  Fri,  6 Feb 1998 23:43:19 -0500
+
+proftpd (1.0.0-5) unstable; urgency=low
+
+  * Corrected year and URL info in copyright file.
+  * Added reload and force-reload targets to init.d script.
+  * Updated to Standards-Version 2.4.0.0.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  3 Feb 1998 15:05:51 -0500
+
+proftpd (1.0.0-4) unstable; urgency=low, closes=17489
+
+  * Applied proftpd-1.0.0-chmod.patch, fixing behavior of the SITE CHMOD
+    command when octal numbers do not begin with 0.
+  * Default config now shows symlinks as symlinks (#17489).
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  3 Feb 1998 13:14:10 -0500
+
+proftpd (1.0.0-3) unstable; urgency=low
+
+  * Built with new version of debmake to correct md5sum error.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 21 Jan 1998 13:33:39 -0500
+
+proftpd (1.0.0-2) unstable; urgency=low, closes=14234
+
+  * Setting up anonymous FTP now sets up an example welcome.msg (#14234).
+  
+ -- Johnie Ingram <johnie@debian.org>  Thu,  1 Jan 1998 14:02:50 -0500
+
+proftpd (1.0.0-1) unstable; urgency=low, closes=12753
+
+  * New upstream version, fixes MDTM and NOOP commands.
+  * Closed #12753, as install now asks to set up anonymous FTP.
+  * Init script modified for better compliance with policy 2.3.0.1 section
+    3.6.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 31 Dec 1997 23:43:20 -0500
+
+proftpd (0.99.0pl11-2) unstable; urgency=low
+
+  * Fixed bug in preinst discovered on powerpc architecture -- the preinst
+    script could fail with some versions of bash.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  9 Dec 1997 20:11:07 -0500
+
+proftpd (0.99.0pl11-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue, 11 Nov 1997 13:53:58 -0500
+
+proftpd (0.99.0pl10-1) unstable; urgency=low, closes=14725
+
+  * New upstream version, supporting md5 passwords (#14725).
+  * Fixed bug where proftpd would not start automatically after upgrade if
+    anonymous FTP was enabled.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue, 11 Nov 1997 12:36:52 -0500
+
+proftpd (0.99.0pl9-2) unstable; urgency=low
+
+  * Fixed errors in default proftpd.conf pointed out by Scott K. Ellis.
+  * Configuration script no longer asks if anonymous FTP should be
+    enabled, if anonymous FTP is enabled.
+  * Closed #10360, as proftpd now works correctly on both shadow and
+    non-shadow systems.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 29 Oct 1997 14:54:31 -0500
+
+proftpd (0.99.0pl9-1) unstable; urgency=low
+
+  * New upstream version.
+  * Features support for the SIZE command (#13963).
+  
+ -- Johnie Ingram <johnie@debian.org>  Wed, 29 Oct 1997 14:05:12 -0500
+
+proftpd (0.99.0pl8-1) unstable; urgency=low
+
+  * New upstream version.
+  * Includes support for the MDTM command used by the ftp method of dpkg
+    (#13959).
+  * Added code from Christoph Lameter to set up anonymous ftp (#13334).
+  * Removed patch to fix non-shadow support, as this feature has been
+    added to the configuration script.
+  * Added SHELL=/bin/bash to debian rules.
+  * Updated to Standards-Version 2.3.0.0 and debmake 3.4.2..
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 20 Oct 1997 16:11:05 -0400
+
+proftpd (0.99.0pl7-1) unstable; urgency=medium
+
+  * New upstream version.
+  * Fixes wtmp corruption program (#12013, #12483).
+  * Added patch to fix non-shadow support.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 24 Sep 1997 14:10:51 -0400
+
+proftpd (0.99.0pl6-5) unstable; urgency=low
+
+  * Tweaked packaging for better multi-architecture support.
+
+ -- Johnie Ingram <johnie@debian.org>  Sun, 31 Aug 1997 00:38:31 -0400
+
+proftpd (0.99.0pl6-4) unstable; urgency=low
+
+  * Updated to Standards-Version 2.2.0.0 and debmake 3.3.11.
+  * Removed "Evil" code to auto-fetch HTML manual during package build
+    reported by James Troup (#11598).
+  * Switched to pristine upstream tar archive.
+
+ -- Johnie Ingram <johnie@debian.org>  Sat,  9 Aug 1997 14:59:24 -0400
+
+proftpd (0.99.0pl6-3) unstable; urgency=low
+
+  * Linked against libc6 again on Intel architecture.
+  * Fixed errors in default proftpd.conf pointed out by Rob Browning.
+
+ -- Johnie Ingram <johnie@debian.org>  Mon, 28 Jul 1997 04:26:05 -0400
+
+proftpd (0.99.0pl6-2) unstable; urgency=low
+
+  * Updated HTML manual, modifed build script to mirror automatically.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu, 10 Jul 1997 11:14:33 -0400
+
+proftpd (0.99.0pl6-1) unstable; urgency=low
+
+  * New upstream version.
+  * Added complete HTML manual and FAQ to package.
+  * Updated to Standards-Version 2.1.3.3 and debmake 3.3.4.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  8 Jul 1997 23:46:06 -0400
+
+proftpd (0.99.0pl5-1) unstable; urgency=low
+
+  * New upstream version.
+  * No longer unnecessarily edits /etc/inetd.conf during upgrades,
+    and /etc/init.d/proftpd script now automatically detects when proftpd
+    is being run out of inetd instead (Bug #10462).
+  * Closed Bug #10373.
+
+ -- Johnie Ingram <johnie@debian.org>  Wed, 11 Jun 1997 02:46:55 -0400
+
+proftpd (0.99.0pl4-3) unstable; urgency=low
+
+  * Built with libc5 (on i386 systems) in another attempt to fix Bug
+    #10373 (corruption of utmp and wtmp).
+  * Some tweaks to debian "clean" target.
+
+ -- Johnie Ingram <johnie@debian.org>  Sat,  7 Jun 1997 11:47:45 -0400
+
+proftpd (0.99.0pl4-2) unstable; urgency=low
+
+  * Added TODO file and upstream changelog to package.
+  * Temporarily disabled wtmp logging since this corrupts the log on
+    libc5/libc6 systems (Bug #10373).
+
+ -- Johnie Ingram <johnie@debian.org>  Thu,  5 Jun 1997 20:14:17 -0400
+
+proftpd (0.99.0pl4-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Johnie Ingram <johnie@debian.org>  Thu,  5 Jun 1997 13:28:13 -0400
+
+proftpd (0.99.0pl3-2) unstable; urgency=low
+
+  * Added patch from author to fix premature termination of the control
+    connection during MPUT commands.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  3 Jun 1997 15:59:42 -0400
+
+proftpd (0.99.0pl3-1) unstable; urgency=low
+
+  * Initial Release.
+  * Contains two additional patches from the author to fix compilation on
+    libc6, and to log the full pathname in the xferlog.
+
+ -- Johnie Ingram <johnie@debian.org>  Tue,  3 Jun 1997 09:41:41 -0400
+
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd.cron.monthly
+++ proftpd-dfsg-1.3.1/debian/proftpd.cron.monthly
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# cron script to rotate the proftpd server logfile, based on the
+# wu-ftpd script by Peter Tobias <tobias@et-inf.fho-emden.de>.
+
+[ -x /usr/sbin/ftpstats ] || exit 0
+
+cd /var/log/proftpd
+savelog -q -u root -g adm -m 640 -c 12 /var/log/proftpd/xferreport 
+ftpstats -a -r -l 2 -d -h -f /var/log/proftpd/xferlog 2>/dev/null >/var/log/proftpd/xferreport
+savelog -q -u root -g adm -m 640 -c 7 /var/log/proftpd/xferlog 
+savelog -q -u root -g adm -m 640 -c 7 /var/log/proftpd/proftpd.log
+savelog -q -u root -g adm -m 640 -c 7 /var/log/proftpd/controls.log
+# reload could be not sufficient for all logs, a restart is safer
+/usr/sbin/invoke-rc.d proftpd restart 2>/dev/null >/dev/null || true
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.NEWS
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.NEWS
@@ -0,0 +1,53 @@
+proftpd (1.3.1-12) unstable; urgency=low
+
+    Starting from this version, exotic authentication modules have been
+    splitted into different binary packages to reduce the number of 
+    dependencies. For compatibility they are all installed in upgrading,
+    but you can remove both all unused proftpd-mod-* modules and the
+    pseudo-package proftpd, now used only for migration.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 19 Jun 2008 15:24:22 +0200
+
+proftpd (1.3.1-10) unstable; urgency=low
+
+     A new tiny `proftpd-gencert` script is now provided to create SSL/TLS 
+     self-signed certificate. The resulting key and certificate can be
+     used along with the tls.conf template to provide ftps connections.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 19 May 2008 18:03:49 +0200
+
+proftpd (1.3.1-4) unstable; urgency=low
+
+     Starting from this version a few example set of directives used 
+     for exotic authentications are splitted out in a few separate 
+     .conf files (currently LDAP, SQL and TLS related) which need
+     to be included by the main proftpd.conf file. 
+     Their use is optional but strongly suggested. All directives
+     are commented out by default.
+
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Thu, 03 Jan 2008 17:35:56 +0100
+
+proftpd (1.3.0-1) unstable; urgency=low
+
+     Starting from 1.3.0 proftpd support  DSO and debian packaging moved
+     to  a single  package  style, in  respect  with the  multi-binaries
+     package  previously used.  The  list of  modules  (all modules  are
+     enabled per default) is  visibile in /etc/proftpd/modules.conf. You
+     could  also need  to  comment  out the  unused  SQL backend  module
+     loading (mod_sql_mysql  or mod_sql_postgres) in that  file in order
+     to  have  the right  SQL  engine  working. Another  possibility  is
+     specifying a suitable AuthOrder in your configuration file.
+
+     mod_sql_mysql should handle old MySQL password format more
+     gracefully.  Starting with MySQL 4.1.1, the format for passwords stored
+     using the MySQL PASSWORD() function changed.  This format change causes
+     issues for sites that have passwords stored in the older format.  Users
+     of mod_sql+mod_sql_mysql would see this as users being unable to login.
+     Now, if compiled against MySQL 4.1.1 or later, mod_sql_mysql will first
+     check the password using the current MySQL format; if that fails it
+     will fall back to checking the old format.  Note that this only affects
+     sites which have "SQLAuthTypes Backend" in their proftpd.conf.
+
+     
+ -- Francesco Paolo Lovergine <frankie@debian.org>  Mon, 6 Jun 2005 14:39:04 +0200
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.dirs
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.dirs
@@ -0,0 +1,14 @@
+etc/init.d
+etc/cron.monthly
+etc/default
+etc/pam.d
+usr/bin
+usr/sbin
+var/run
+var/run/proftpd
+usr/lib/proftpd
+etc/proftpd
+usr/share/doc/proftpd
+usr/share/proftpd
+usr/share/proftpd/templates
+var/log/proftpd
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.init
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.init
@@ -0,0 +1,222 @@
+#!/bin/sh 
+
+### BEGIN INIT INFO
+# Provides:          proftpd
+# Required-Start:    $syslog $local_fs $network
+# Required-Stop:     $syslog $local_fs $network
+# Should-Start:      $remote_fs $named
+# Should-Stop:       $remote_fs $named
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Starts ProFTPD daemon
+# Description:       This script runs the FTP service offered
+#                    by the ProFTPD daemon
+### END INIT INFO
+
+# Start the proftpd FTP daemon.
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+DAEMON=/usr/sbin/proftpd
+NAME=proftpd
+
+# Defaults
+RUN="no"
+OPTIONS=""
+
+PIDFILE=`grep -i 'pidfile' /etc/proftpd/proftpd.conf | sed -e 's/pidfile[\t ]\+//i'`
+if [ "x$PIDFILE" = "x" ];
+then
+	PIDFILE=/var/run/proftpd.pid
+fi
+
+# Read config (will override defaults)
+[ -r /etc/default/proftpd ] && . /etc/default/proftpd
+
+trap "" 1
+trap "" 15
+
+test -f $DAEMON || exit 0
+
+. /lib/lsb/init-functions
+
+#
+# Servertype could be inetd|standalone|none.
+# In all cases check against inetd and xinetd support.
+#
+if ! egrep -qi "^[[:space:]]*ServerType.*standalone" /etc/proftpd/proftpd.conf
+then
+    if [ $(dpkg-divert --list xinetd|wc -l) -eq 1 ] 
+    then
+	if egrep -qi "server[[:space:]]*=[[:space:]]*/usr/sbin/proftpd" /etc/xinetd.conf 2>/dev/null || \
+	   egrep -qi "server[[:space:]]*=[[:space:]]*/usr/sbin/proftpd" /etc/xinetd.d/* 2>/dev/null
+	then
+    		RUN="no"
+    		INETD="yes"
+	else
+		if ! egrep -qi "^[[:space:]]*ServerType.*inetd" /etc/proftpd/proftpd.conf
+		then
+    			RUN="yes"
+			INETD="no"
+		else
+			RUN="no"
+			INETD="no"
+		fi
+	fi
+    else
+    	if egrep -qi "^ftp.*/usr/sbin/proftpd" /etc/inetd.conf 2>/dev/null
+    	then
+    		RUN="no"
+    		INETD="yes"
+    	else
+		if ! egrep -qi "^[[:space:]]*ServerType.*inetd" /etc/proftpd/proftpd.conf
+		then
+    			RUN="yes"
+			INETD="no"
+		else
+			RUN="no"
+			INETD="no"
+		fi
+    	fi
+    fi
+fi
+
+# /var/run could be on a tmpfs
+
+[ ! -d /var/run/proftpd ] && mkdir /var/run/proftpd
+
+start()
+{
+    log_daemon_msg "Starting ftp server" "$NAME"
+
+    start-stop-daemon --start --quiet --pidfile "$PIDFILE" --oknodo --exec $DAEMON -- $OPTIONS  
+    if [ $? != 0 ]; then
+        log_end_msg 1
+        exit 1
+    else
+        log_end_msg 0
+    fi
+}
+
+signal()
+{
+
+    if [ "$1" = "stop" ]; then
+	SIGNAL="TERM"
+    	log_daemon_msg "Stopping ftp server" "$NAME"
+    else
+	if [ "$1" = "reload" ]; then
+	    SIGNAL="HUP"
+    	    log_daemon_msg "Reloading ftp server" "$NAME"
+	else
+	    echo "ERR: wrong parameter given to signal()"
+	    exit 1
+	fi
+    fi
+    if [ -f "$PIDFILE" ]; then
+    	start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"
+   	 if [ $? = 0 ]; then
+        	log_end_msg 0
+    	else
+		SIGNAL="KILL"
+		start-stop-daemon --stop --signal $SIGNAL --quiet --pidfile "$PIDFILE"
+    		if [ $? != 0 ]; then
+        		log_end_msg 1
+        		[ $2 != 0 ] || exit 0
+    		else
+        		log_end_msg 0
+    		fi
+    	fi
+   	if [ "$SIGNAL" = "KILL" ]; then
+		rm -f "$PIDFILE"
+    	fi
+    else
+        log_end_msg 0
+    fi
+}
+
+case "$1" in
+    start)
+	if [ "x$RUN" = "xyes" ] ; then
+	    start
+	else
+	    if [ "x$INETD" = "xyes" ] ; then
+		echo "ProFTPd is started from inetd/xinetd."
+	    else 
+	    	echo "ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
+	    fi
+	fi
+	;;
+
+    force-start)
+	if [ "x$INETD" = "xyes" ] ; then
+	    echo "Warning: ProFTPd is started from inetd/xinetd (trying to start anyway)."
+	fi
+	start
+	;;	
+    
+    stop)
+	if [ "x$RUN" = "xyes" ] ; then
+	    signal stop 0
+	else
+	    if [ "x$INETD" = "xyes" ] ; then
+		echo "ProFTPd is started from inetd/xinetd."
+	    else 
+	    	echo "ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
+	    fi
+	fi
+	;;
+
+    force-stop)
+	if [ "x$INETD" = "xyes" ] ; then
+	    echo "Warning: ProFTPd is started from inetd/xinetd (trying to kill anyway)."
+	fi
+	signal stop 0
+	;;
+
+    reload)
+	signal reload 0
+	;;
+
+    force-reload|restart)
+	if [ "x$RUN" = "xyes" ] ; then
+	    signal stop 1
+	    sleep 2
+	    start
+	else
+	    if [ "x$INETD" = "xyes" ] ; then
+		echo "ProFTPd is started from inetd/xinetd."
+	    else 
+	    	echo "ProFTPd warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration."
+	    fi
+	fi
+	;;
+
+    status)
+	if [ "x$INETD" = "xyes" ] ; then
+	    echo "ProFTPd is started from inetd/xinetd."
+	else 
+	    if [ -f "$PIDFILE" ]; then
+	    	pid=$(cat $PIDFILE)
+	    else
+	    	pid="x"
+	    fi
+	    if [ `pidof proftpd|grep "$pid"|wc -l` -ne 0 ] ; then
+	    	echo "ProFTPd is started in standalone mode, currently running."
+	    else
+	    	echo "ProFTPd is started in standalone mode, currently not running."
+	    fi
+	fi
+	;;
+
+    check-config)
+        $DAEMON -t >/dev/null && echo "ProFTPd configuration OK" && exit 0
+        exit 1
+        ;;
+
+    *)
+	echo "Usage: /etc/init.d/$NAME {start|status|force-start|stop|force-stop|reload|restart|force-reload|check-config}"
+	exit 1
+	;;
+esac
+
+exit 0
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.prerm
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.prerm
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+if [ -x "/usr/sbin/invoke-rc.d" ]; then
+    invoke-rc.d proftpd stop
+else 
+	if [ -x "/etc/init.d/proftpd" ]; then
+		/etc/init.d/proftpd stop
+	fi
+fi
+
+#DEBHELPER#
--- proftpd-dfsg-1.3.1.orig/debian/mod_mysql.texi
+++ proftpd-dfsg-1.3.1/debian/mod_mysql.texi
@@ -0,0 +1,19 @@
+This module is contained in the mod_mysql.c file, and is not compiled in
+by default.  It provides the backend support to connect to MySQL
+databases.
+
+@heading MySQL Database Directives
+
+@subheading @anchor{MySQLInfo} MySQLInfo
+
+@format
+Syntax: MySQLInfo host user pass dbname
+Default: none
+Context: server config, virtual host
+@end format
+
+Configures the MySQL database driver (the database may be remote).  A
+connection isn't made until use of a SQL feature requires it, after
+which it may be held open for the lifetime of the FTP session
+depending on the directives in use.  Use @kbd{""} to specify a null
+password.
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.templates
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.templates
@@ -0,0 +1,23 @@
+# These templates have been reviewed by the debian-l10n-english
+# team
+#
+# If modifications/additions/rewording are needed, please ask
+# debian-l10n-english@lists.debian.org for advice.
+#
+# Even minor modifications require translation updates and such
+# changes should be coordinated with translators and reviewers.
+
+Template: shared/proftpd/inetd_or_standalone
+Type: select
+__Choices: from inetd, standalone
+Default: standalone
+_Description: Run proftpd:
+ ProFTPd can be run either as a service from inetd, or as a standalone
+ server. Each choice has its own benefits. With only a few FTP
+ connections per day, it is probably better to run ProFTPd from inetd in
+ order to save resources.
+ .
+ On the other hand, with higher traffic,
+ ProFTPd should run as a standalone server to avoid spawning a new
+ process for each incoming connection.
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-doc.dirs
+++ proftpd-dfsg-1.3.1/debian/proftpd-doc.dirs
@@ -0,0 +1,2 @@
+usr/share/doc/proftpd-doc
+usr/share/doc/proftpd-doc/misc
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.config
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.config
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+action=$1
+version=$2
+
+db_title ProFTPd configuration
+
+db_input high shared/proftpd/inetd_or_standalone || true
+db_go
--- proftpd-dfsg-1.3.1.orig/debian/ftpstats.8
+++ proftpd-dfsg-1.3.1/debian/ftpstats.8
@@ -0,0 +1,101 @@
+.\" Copyright (C) 1999 Darren Benham
+.\"
+.\" This manual page is free software.  It is distributed under the
+.\" terms of the GNU General Public License as published by the Free
+.\" Software Foundation; either version 2 of the License, or (at your
+.\" option) any later version.
+.\"
+.\" This manual page is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this manual page; if not, write to the Free Software
+.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+.\" USA
+.\"
+.TH FTPSTATS 8 "October 30, 2002" "Debian GNU/Linux"
+
+.SH NAME
+ftpstats \- FTP Log summarizer
+.SH SYNOPSIS
+.B ftpstats
+.RI [ options ] 
+.SH DESCRIPTION
+.PP
+Ftpstats dissects the defined ftp log and reports various 
+statistics as requested.
+This manual page was written for the Debian GNU/Linux distribution
+because the original program does not have a manual page.
+.P
+.SH OPTIONS
+.P
+.TP
+.BR \-f " filename"
+Use
+.IR filename
+rather than the default
+.IR /var/log/xferlog
+.
+.TP
+.BR \-r
+Include real users.
+.TP
+.BR \-a
+Include anonymous users.
+.TP
+.BR \-h
+Include report on hourly traffic.
+.TP
+.BR \-d
+Include report on domain traffic.
+.TP
+.BR \-t
+Report on total traffic by section.
+.TP
+.BR \-i
+Report on incoming traffic only (uploads).
+.TP
+.BR \-o
+Report on outgoing traffic only (downloads).
+.TP
+.BR \-D "domain"
+Report only on traffic from
+.IR domain
+.  This option leads to problems with the local domain:  e.g. test.com is
+encountered under test and not recognized under com, -D com will give you only
+stats about com excluding test.com!  Use -A com for correct results.
+
+.TP
+.BR \-A "address"
+Report only on traffic from addresses whose end matches
+.IR address
+.  e.g. -A test.domain.com will report on address ending with test.domain.com
+
+.TP
+.BR \-l "depth"
+Depth of path detail for sections
+
+.TP
+.BR \-s "section"
+Section to report on.  e.g. -s /pub will report only on paths under /pub
+.SH BUGS
+No known bugs at this time.
+If you discover any bugs, please report at http://bugs.proftpd.org/
+For help/support, try the ProFTPD mailing lists, detailed on
+http://www.proftpd.org/lists.html
+.br
+.SH SEE ALSO
+.BR proftpd (8), proftpd.conf (5), xferlog (5)
+.SH AUTHORS
+ProFTPD is written and maintained by a number of people, full credits
+can be found on http://www.proftpd.org/credits.html
+.br
+.SH CREDITS
+This manual page was written by
+Francesco P. Lovergine <frankie@debian.org> and other Debian developers,
+for the Debian GNU/Linux system (but may be used by others).
+.br
+Please use the most appropriate mailing list listed on
+http://www.proftpd.org/lists.html for ftpstats related comments.
--- proftpd-dfsg-1.3.1.orig/debian/compat
+++ proftpd-dfsg-1.3.1/debian/compat
@@ -0,0 +1 @@
+5
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.README.Debian
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.README.Debian
@@ -0,0 +1,111 @@
+ProFTPD Server for Debian
+-------------------------
+
+** Debian is different
+
+Current maintainer (me) of proftpd on Debian system has the questionable
+habit to integrate many cvs-stolen intermediate patches to the official
+proftpd release, to fix known issues and provide preview features.
+The result is that the released program can be quite far from the
+original tarball, so do not bother upstream team with bug reporting
+about Debian proftpd, without pre-check with the maintainer.
+
+** Different authorization layers
+
+The most exotic authorization and add-on layers (based on MySQL,
+PostgreSQL and LDAP) are splitted in different independent packages,
+named proftpd-mod-* and you need to install the required add-on package
+in order to use those types of authentication modes with the proftpd-basic
+package, where all other main modules live. See also Dynamic Modules in
+this document below.
+
+In order to use those modules you have to decomment
+the appropriate lines in /etc/proftpd/modules.conf and include that file
+from /etc/proftpd/proftpd.conf, as shown in basic templates stored in
+the /usr/share/proftpd/templates directory. Note that there are
+some implicit inter-dependencies in shared modules and the order used
+in /etc/proftpd/proftpd.conf is NOT casual. If you got some weird
+segfaults at run-time, you are probably using a wrong configuration:
+consider that currently proftpd is quite weak in managing DSO anomalies,
+so be careful.
+
+** IPv6 issue:
+
+In standalone mode proftpd binds both IPv4 and IPv6 addresses. That
+causes a quite annoying message at startup on IPv4-only boxes, such as:
+
+	IPv6 getaddrinfo 'your_host_name' error: Name or service not known
+
+That can be avoided by keeping an IPv6 mapping for your_host_name in your /etc/hosts file, such as:
+
+	::1 ip6-localhost ip6-loopback your_host_name
+
+or also
+
+	::fff:A.B.C.D	your_host_name
+
+when you got a static IPv4 address A.B.C.D. The same is required for all IP4/6 addresses, just
+in case your nameserver does not map your hostname and IPs.
+
+Debian proftpd since 1.3.0-14 is also patched to disable IPv6 at run-time using the
+
+UseIPv6 off
+
+directive in /etc/proftpd/proftpd.conf file or using the following options:
+
+-4, --ipv4     Support IPv4 functionality only
+-6, --ipv6     Support IPv6 functionality
+
+
+** Dynamic modules
+
+Starting from 1.3.0 version proftpd supports DSO modules, which are loaded at run time
+consulting the Debian-specific /etc/proftpd/modules.conf file, which must be included
+in your /etc/proftpd/proftpd.conf configuration file.
+
+Note that in case of SQL modules you need to comment out the unused back-end module 
+(e.g. mod_sql_mysql if you use mod_sql_postgres or viceversa) in order to have the right 
+authentication module working, or to change the auth order in your config file.
+Alternatively, you should use the explicit 'SQLBackend' directive, as shown in the default 
+configuration file.
+
+As always, your old proftpd.conf is NOT ensured to work smoothly with the current release:
+that can be due to changes in directives and defaults for core or contributed modules.
+You are strongly advised to consult documentation in order to upgrade your existent
+configuration.
+
+** IPv6 and CIDR notation considerations:
+
+Keep attention to the use of CIDR notation in Allow/Deny directives with IPv6 address space!
+A naive approach would be writing something like:
+
+	Allow ::ffff:A.B.C.D/24
+	Deny all
+
+to allow your own IPv4 subnet and deny all the rest. 
+That's definitively WRONG! IPv6 CIDR are considered on a 128 bits range, therefore that directive 
+would allow access to the whole IPv4 address space instead! So a proper directive in that
+case is
+
+	Allow ::ffff:A.B.C.D/120
+	Deny all
+
+
+** Other information
+
+Please, read accurately the NEWS, README and changelog file in /usr/share/doc/proftpd to find 
+novelties of this version if you are upgrading from a pre-1.3.1 release.
+It is also extremely useful installing the proftpd-doc package for additional information
+and HOWTOs. Read specifically documentation about the now mandatory AuthOrder specification 
+for all 'exotic' authorization engines. That is specifically important before reporting
+bugs. If after that you still thought to have found a bug, please follow the mini-howto
+
+http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Debugging.html
+
+to report properly all required information. Without that, your report is very unlikely
+to be considered by both maintainer and upstreams. Also, do not presume soon to have
+found a bug, please think twice before reporting on the Debian BTS, thanks.
+
+If you were more inclined you can try to contact on-line the maintainer or the
+ProFTPd team in the #proftpd channel on irc.freenode.net.
+
--- proftpd-dfsg-1.3.1.orig/debian/mod_pgsql.txt
+++ proftpd-dfsg-1.3.1/debian/mod_pgsql.txt
@@ -0,0 +1,30 @@
+This module is contained in the mod_pgsql.c file, and is not compiled in
+by default.  It provides the backend support to connect to Postgresql
+databases.
+
+Postgres Database Directives
+============================
+
+PostgresInfo
+------------
+
+Syntax: PostgresInfo host user pass dbname
+Syntax: PostgresInfo host dbname
+Default: none
+Context: server config, virtual host
+
+   Configures the Posgresql database driver (the database may be
+remote).  A connection isn't made until use of a SQL feature requires
+it, after which it may be held open for the lifetime of the FTP session
+depending on the directives in use.
+
+PostgresPort
+------------
+
+Syntax: PostgresPort [num]
+Default: 5432
+Context: server config, virtual host
+
+   Specifies which TCP/IP port to use for connecting.  Default is 5432,
+or UNIX socket for localhost.
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-gencert
+++ proftpd-dfsg-1.3.1/debian/proftpd-gencert
@@ -0,0 +1,66 @@
+#!/bin/sh
+#
+# This script (re)creates a self-signed SSL certificate to be used for FTP/SSL protocol.
+#
+# Copyright (C) Francesco P. Lovergine <frankie@debian.org>
+# 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2, 
+# as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+#
+
+DAYS=365
+BITS=2048
+KEYDIR=/etc/ssl/private
+CERTDIR=/etc/ssl/certs
+KEY=$KEYDIR/proftpd.key
+CERT=$CERTDIR/proftpd.crt
+
+if [ ! -x /usr/bin/openssl ]; then
+	echo "Openssl utility not found"
+	exit 1
+fi
+
+if [ $(id -u) -ne 0 ]; then
+	echo "Run this script as root"
+	exit 2
+fi
+
+if [ ! -d $KEYDIR -o  ! -d $CERTDIR ]; then
+	echo "Target dirs not found"
+	exit 3
+fi
+
+rm -f $KEY $CERT
+/usr/bin/openssl req -x509 -newkey rsa:$BITS \
+          -keyout $KEY -out $CERT \
+          -nodes -days $DAYS
+if [ $? -eq 0 ]; then
+chmod 0600 $KEY 
+chmod 0644 $CERT
+cat <<EOF
+
+Use the following information in your ProFTPd configuration:
+
+TLSRSACertificateFile    $CERT
+TLSRSACertificateKeyFile $KEY
+
+See /etc/proftpd/tls.conf for suggested TLS related configuration
+items and include that file in your /etc/proftpd/proftpd.conf file.
+
+EOF
+else 
+	echo "Key generation failed"
+	exit 4
+fi
+
+exit 0
--- proftpd-dfsg-1.3.1.orig/debian/mod_mysql.txt
+++ proftpd-dfsg-1.3.1/debian/mod_mysql.txt
@@ -0,0 +1,19 @@
+This module is contained in the mod_mysql.c file, and is not compiled in
+by default.  It provides the backend support to connect to MySQL
+databases.
+
+MySQL Database Directives
+=========================
+
+MySQLInfo
+---------
+
+Syntax: MySQLInfo host user pass dbname
+Default: none
+Context: server config, virtual host
+
+   Configures the MySQL database driver (the database may be remote).  A
+connection isn't made until use of a SQL feature requires it, after
+which it may be held open for the lifetime of the FTP session depending
+on the directives in use.  Use `""' to specify a null password.
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.postrm
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.postrm
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+if [ "$1" = "disappear" -o "$1" = "remove" ]
+then
+    update-inetd --disable ftp
+fi
+
+if [ "$1" = "purge" ]
+then
+    rm -rf /etc/proftpd 
+    update-rc.d proftpd remove >/dev/null || exit $?
+    userdel --remove --force proftpd || true
+fi
+
+#DEBHELPER#
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.install
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.install
@@ -0,0 +1,25 @@
+usr/sbin/*
+usr/bin/*
+var/run/proftpd
+etc/proftpd
+usr/share/man
+usr/lib/proftpd/mod_ban.so
+usr/lib/proftpd/mod_ctrls_admin.so
+usr/lib/proftpd/mod_facl.so
+usr/lib/proftpd/mod_ifsession.so
+usr/lib/proftpd/mod_load.so
+usr/lib/proftpd/mod_dynmasq.so
+usr/lib/proftpd/mod_quotatab_file.so
+usr/lib/proftpd/mod_quotatab.so
+usr/lib/proftpd/mod_quotatab_radius.so
+usr/lib/proftpd/mod_quotatab_sql.so
+usr/lib/proftpd/mod_radius.so
+usr/lib/proftpd/mod_ratio.so
+usr/lib/proftpd/mod_rewrite.so
+usr/lib/proftpd/mod_site_misc.so
+usr/lib/proftpd/mod_sql.so
+usr/lib/proftpd/mod_tls.so
+usr/lib/proftpd/mod_wrap2.so
+usr/lib/proftpd/mod_wrap2_file.so
+usr/lib/proftpd/mod_wrap2_sql.so
+usr/lib/proftpd/mod_wrap.so
--- proftpd-dfsg-1.3.1.orig/debian/ftpusers.5
+++ proftpd-dfsg-1.3.1/debian/ftpusers.5
@@ -0,0 +1,42 @@
+.\" Copyright (c) 1994 Peter Tobias (tobias@server.et-inf.fho-emden.de),
+.\"               2001 Ivo Timmermans <ivo@debian.org>
+.\" This file may be distributed under the GNU General Public License.
+.\"
+.Dd April 19, 2001
+.Dt FTPUSERS 5
+.Os "Debian proftpd"
+.Sh NAME
+.Nm ftpusers
+.Nd file which lists users who are not allowed to use ftp
+.Sh DESCRIPTION
+.Pa /etc/ftpusers
+is used by
+.Xr proftpd 8 ;
+the file contains a list of users who are not allowed to use the
+ftp command. For security reasons at least users like ``root'', ``bin'',
+``uucp'' and ``news'' should be listed in this file. 
+Blank lines and lines beginning with `#' are ignored.
+.Pp
+Note: a lines with `#' in the
+.Em middle
+is 
+.Em not
+a comment. Don't put `#' after a name to comment it; use another line,
+or things will silently fail on you.
+.Sh EXAMPLES
+.Pa /etc/ftpusers
+might contain the following entries:
+.Bd -literal
+#
+# /etc/ftpusers
+#
+root
+bin
+uucp
+news
+.Ed
+.Sh FILES
+.Pa /etc/ftpusers
+.Sh SEE ALSO
+.Xr ftp 1 ,
+.Xr proftpd 8
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.preinst
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.preinst
@@ -0,0 +1,34 @@
+#!/bin/sh -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+#
+
+if [ "$1" = "upgrade" ]; then
+	 if [ -e /usr/sbin/invoke-rc.d ]; then
+         	invoke-rc.d proftpd stop >/dev/null 2>&1 || true 
+	 else
+	 	/etc/init.d/proftpd stop >/dev/null 2>&1 || true
+	 fi
+
+         # Scoreboard file format changed in 1.2.9
+         # Now stopping all inetd sessions and removing it to ensure
+         # a clean upgrade
+         if dpkg --compare-versions "$2" lt "1.2.9-1"; then
+                if [ `pgrep proftpd|wc -l` -ne 0 ]; then
+                        pkill proftpd
+                        sleep 2
+                fi
+                rm -f /var/run/proftpd/proftpd.scoreboard
+         fi
+fi
+
+exit 0
+
+#DEBHELPER#
+
+
+
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-basic.postinst
+++ proftpd-dfsg-1.3.1/debian/proftpd-basic.postinst
@@ -0,0 +1,189 @@
+#!/bin/sh -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see /usr/share/doc/packaging-manual/
+#
+# quoting from the policy:
+#     Any necessary prompting should almost always be confined to the
+#     post-installation script, and should be protected with a conditional
+#     so that unnecessary prompting doesn't happen if a package's
+#     installation fails and the `postinst' is called with `abort-upgrade',
+#     `abort-remove' or `abort-deconfigure'.
+
+
+ETC_DIR="/etc/proftpd"
+CONF=$ETC_DIR/proftpd.conf
+CONF_NEW=$ETC_DIR/proftpd.conf.proftpd-new
+MODULES=$ETC_DIR/modules.conf
+MODULES_NEW=$ETC_DIR/modules.conf.proftpd-new
+
+installftp()
+{
+	if ! grep -q "^ftp:" /etc/passwd
+	then
+	    adduser --system ftp || true
+            if [ -f /usr/share/proftpd/templates/welcome.msg -a -d ~ftp ] ; then
+                cp -p -v /usr/share/proftpd/templates/welcome.msg ~ftp/welcome.msg.proftpd-new || true
+                do_update ~ftp/welcome.msg || true
+	    fi
+	fi
+}
+
+add_sysuser()
+{
+	if ! grep -q "^proftpd:" /etc/passwd
+	then
+		adduser --system --disabled-login --no-create-home --home /var/run/proftpd proftpd || true
+	fi
+}
+
+list_options()
+{
+    if [ -f $CONF_NEW ] ; then
+	sed -i -e "s/lsdefaultoptions/ListOptions/i" $CONF_NEW 
+    fi
+}
+
+tcpwin_options()
+{
+    if [ -f $CONF_NEW ] ; then
+        sed -i -e "s/tcpreceivewindow/SocketOptions rcvbuf/i" \
+            -e "s/tcpsendwindow/SocketOptions sndbuf/i" $CONF_NEW 
+    fi
+}
+                                                                                         
+scoreboard()
+{
+    if [ -f $CONF_NEW ] ; then
+        sed -i -e "s/\(scoreboardpath.*\)/#\n#ScoreboardPath is deprecated in 1.2.9, use ScoreboardFile instead\n#\1\n#\n#ScoreboardFile\t\/var\/run\/proftpd\/proftpd.scoreboard\n#/i" \
+                                                $CONF_NEW 
+    fi
+}
+
+
+switch_on()
+{
+    if [ -f $CONF_NEW ] ; then
+	sed -i -e 's/^\(ServerType.*\)inetd/\1standalone/' $CONF_NEW 
+    fi
+}
+
+switch_off()
+{
+    if [ -f $CONF_NEW ] ; then
+	sed -i -e 's/^\(ServerType.*\)standalone/\1inetd/' $CONF_NEW
+    fi
+}
+
+include_modules()
+{
+    if [ -f $CONF_NEW ] ; then
+	if ! egrep -qi "^[[:space:]]*Include.*/etc/proftpd/modules.conf" $CONF_NEW ; then
+		printf "#\n# Includes required DSO modules. This is mandatory in proftpd 1.3\n#\nInclude\t/etc/proftpd/modules.conf\n\n" >$CONF_NEW.tmp.$$
+		cat $CONF_NEW >>$CONF_NEW.tmp.$$
+		mv -f $CONF_NEW.tmp.$$ $CONF_NEW
+	fi
+    fi
+}
+
+replace_file () {
+    file=$1
+    if [ ! -f ${file} ] ; then
+	mv ${file}.proftpd-new ${file}
+    else
+	cp $file ${file}.proftpd-old
+	ucf --debconf-ok ${file}.proftpd-new $file 
+    fi
+}
+
+do_update () {
+    file=$1
+    if diff -q ${file} ${file}.proftpd-new >/dev/null 2>&1; then
+	# Old file and new file are identical
+	rm -f ${file}.proftpd-new
+    else
+	replace_file $file
+    fi
+}
+
+DONTSTART=0
+
+. /usr/share/debconf/confmodule
+
+if [ "$1" = "configure" ]; then
+    
+    # mv eventual old configuration in the new location
+    if [ -f /etc/proftpd.conf -a ! -f $CONF ]; then
+    	mv /etc/proftpd.conf $CONF
+    fi
+    
+    # use current configuration files or generate new ones from scratch
+    for name in proftpd modules sql ldap tls
+    do
+      if [ ! -f $ETC_DIR/$name.conf ]; then
+          cp  /usr/share/proftpd/templates/$name.conf $ETC_DIR/$name.conf.proftpd-new
+      else
+          cp  $ETC_DIR/$name.conf $ETC_DIR/$name.conf.proftpd-new
+      fi
+    done
+    
+    # update-inetd does not manage hostlist prefix to service, at least avoid to add a duplicated line
+    if [ -f /etc/inetd.conf -a $(grep -q '^([[:alnum:],.]+)?:?ftp[[:space:]]+' /etc/inetd.conf|wc -l) -eq 0 ]; then
+    	update-inetd --group STANDARD --add 'ftp	stream	tcp	nowait	root	/usr/sbin/tcpd /usr/sbin/proftpd' 
+    fi
+
+    db_get shared/proftpd/inetd_or_standalone
+    if [ "$RET" = "from inetd" ] ; then
+	    update-inetd --enable ftp
+	    switch_off
+    else
+	    update-inetd --disable ftp
+	    switch_on
+    fi
+
+    add_sysuser
+    installftp
+
+    # do mandatory changes
+    list_options
+    tcpwin_options
+    scoreboard
+    include_modules
+
+    # propose maintainer changes to user
+    do_update /etc/proftpd/proftpd.conf
+    do_update /etc/proftpd/modules.conf
+    do_update /etc/proftpd/tls.conf
+    do_update /etc/proftpd/sql.conf
+    do_update /etc/proftpd/ldap.conf
+
+    # Proftpd could not close all of its fd nicely
+    db_stop
+
+    # clean run files (pidfile and scoreboard)
+    rm -f /var/run/proftpd/proftpd* /var/run/proftpd.pid 
+
+fi
+
+if [ -e "/etc/init.d/proftpd" ]; then
+    update-rc.d proftpd defaults 50 >/dev/null
+    if [ $DONTSTART -eq 0 ] ; then
+        set +e 
+	/usr/sbin/proftpd -t >/dev/null 2>&1
+    	if [ $? = 0 ]; then
+		set -e
+		invoke-rc.d proftpd start
+	else
+		echo "Cannot start proftpd, please check syntax of your configuration file $CONF"
+	fi
+    fi
+fi
+
+#DEBHELPER#
+
--- proftpd-dfsg-1.3.1.orig/debian/patches/check_order.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/check_order.dpatch
@@ -0,0 +1,44 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## check_order.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/src/main.c trunk/src/main.c
+--- trunk~/src/main.c	2007-10-09 23:44:53.000000000 +0200
++++ trunk/src/main.c	2008-01-25 14:38:56.000000000 +0100
+@@ -1200,14 +1200,6 @@
+     main_server->listen = NULL;
+   }
+ 
+-  /* Check config tree for <Limit LOGIN> directives */
+-  if (!login_check_limits(main_server->conf, TRUE, FALSE, &i)) {
+-    pr_log_pri(PR_LOG_NOTICE, "Connection from %s [%s] denied.",
+-      session.c->remote_name,
+-      pr_netaddr_get_ipstr(session.c->remote_addr));
+-    exit(0);
+-  }
+-
+   /* Set the ID/privs for the User/Group in this server */
+   set_server_privs();
+ 
+@@ -1220,6 +1212,18 @@
+   else
+     pr_log_debug(DEBUG5, "FTP session requested from unknown class");
+ 
++  /* Check config tree for <Limit LOGIN> directives.  Do not perform
++   * this check until after the class of the session has been determined,
++   * in order to properly handle any AllowClass/DenyClass directives
++   * within the <Limit> section.
++   */
++  if (!login_check_limits(main_server->conf, TRUE, FALSE, &i)) {
++    pr_log_pri(PR_LOG_NOTICE, "Connection from %s [%s] denied.",
++      session.c->remote_name,
++      pr_netaddr_get_ipstr(session.c->remote_addr));
++    exit(0);
++  }
++
+   /* Create a table for modules to use. */
+   session.notes = pr_table_alloc(session.pool, 0);
+ 
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_quotatab_sql.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_quotatab_sql.dpatch
@@ -0,0 +1,99 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_quotatab_sql.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_quotatab_sql.c trunk/contrib/mod_quotatab_sql.c
+--- trunk~/contrib/mod_quotatab_sql.c	2007-04-24 14:39:23.000000000 +0200
++++ trunk/contrib/mod_quotatab_sql.c	2008-03-31 20:38:49.000000000 +0200
+@@ -2,7 +2,7 @@
+  * ProFTPD: mod_quotatab_sql -- a mod_quotatab sub-module for managing quota
+  *                              data via SQL-based tables
+  *
+- * Copyright (c) 2002-2003 TJ Saunders
++ * Copyright (c) 2002-2008 TJ Saunders
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -289,17 +289,36 @@
+ 
+     /* Match names if need be */
+     if (quota_type != ALL_QUOTA &&
+-        values[0] && strlen(values[0]) && strcmp(name, quotatab_tally.name)) {
++        values[0] &&
++        strlen(values[0]) > 0 &&
++        strcmp(name, quotatab_tally.name) != 0) {
+       destroy_pool(tmp_pool);
+       return FALSE;
+     }
+ 
+-    quotatab_tally.bytes_in_used = atof(values[2]);
+-    quotatab_tally.bytes_out_used = atof(values[3]);
+-    quotatab_tally.bytes_xfer_used = atof(values[4]);
+-    quotatab_tally.files_in_used = atoi(values[5]);
+-    quotatab_tally.files_out_used = atoi(values[6]);
+-    quotatab_tally.files_xfer_used = atoi(values[7]);
++    quotatab_tally.bytes_in_used = -1.0;
++    if (values[2])
++      quotatab_tally.bytes_in_used = atof(values[2]);
++
++    quotatab_tally.bytes_out_used = -1.0;
++    if (values[3])
++      quotatab_tally.bytes_out_used = atof(values[3]);
++
++    quotatab_tally.bytes_xfer_used = -1.0;
++    if (values[4])
++      quotatab_tally.bytes_xfer_used = atof(values[4]);
++
++    quotatab_tally.files_in_used = 0;
++    if (values[5])
++      quotatab_tally.files_in_used = atol(values[5]);
++
++    quotatab_tally.files_out_used = 0;
++    if (values[6])
++      quotatab_tally.files_out_used = atol(values[6]);
++
++    quotatab_tally.files_xfer_used = 0;
++    if (values[7])
++      quotatab_tally.files_xfer_used = atol(values[7]);
+ 
+     destroy_pool(tmp_pool);
+     return TRUE;
+@@ -368,12 +387,29 @@
+     else if (strcasecmp(values[3], "hard") == 0)
+       quotatab_limit.quota_limit_type = HARD_LIMIT;
+ 
+-    quotatab_limit.bytes_in_avail = atof(values[4]);
+-    quotatab_limit.bytes_out_avail = atof(values[5]);
+-    quotatab_limit.bytes_xfer_avail = atof(values[6]);
+-    quotatab_limit.files_in_avail = atol(values[7]);
+-    quotatab_limit.files_out_avail = atol(values[8]);
+-    quotatab_limit.files_xfer_avail = atol(values[9]);
++    quotatab_limit.bytes_in_avail = -1.0;
++    if (values[4])
++      quotatab_limit.bytes_in_avail = atof(values[4]);
++
++    quotatab_limit.bytes_out_avail = -1.0;
++    if (values[5])
++      quotatab_limit.bytes_out_avail = atof(values[5]);
++
++    quotatab_limit.bytes_xfer_avail = -1.0;
++    if (values[6])
++      quotatab_limit.bytes_xfer_avail = atof(values[6]);
++
++    quotatab_limit.files_in_avail = 0;
++    if (values[7])
++      quotatab_limit.files_in_avail = atol(values[7]);
++
++    quotatab_limit.files_out_avail = 0;
++    if (values[8])
++      quotatab_limit.files_out_avail = atol(values[8]);
++
++    quotatab_limit.files_xfer_avail = 0;
++    if (values[9])
++      quotatab_limit.files_xfer_avail = atol(values[9]);
+ 
+     destroy_pool(tmp_pool);
+     return TRUE;
--- proftpd-dfsg-1.3.1.orig/debian/patches/ftpstats.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/ftpstats.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ftpstats.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/xferstats.holger-preiss trunk/contrib/xferstats.holger-preiss
+--- trunk~/contrib/xferstats.holger-preiss	2008-03-28 14:12:28.000000000 +0100
++++ trunk/contrib/xferstats.holger-preiss	2008-03-28 14:14:34.000000000 +0100
+@@ -49,7 +49,7 @@
+ # $mydom2 = "org";
+ 
+ # edit the next line to customize for your default log file
+-$usage_file = "/var/log/xferlog";
++$usage_file = "/var/log/proftpd/xferlog";
+ 
+ # Edit the following lines for default report settings.
+ # Entries defined here will be over-ridden by the command line.
--- proftpd-dfsg-1.3.1.orig/debian/patches/3173.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/3173.dpatch
@@ -0,0 +1,266 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 3173.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_sql_mysql.c trunk/contrib/mod_sql_mysql.c
+--- trunk~/contrib/mod_sql_mysql.c	2009-02-06 11:17:51.000000000 +0100
++++ trunk/contrib/mod_sql_mysql.c	2009-02-06 11:17:56.000000000 +0100
+@@ -128,7 +128,7 @@
+  * Internal define used for debug and logging.  All backends are encouraged
+  * to use the same format.
+  */
+-#define MOD_SQL_MYSQL_VERSION		"mod_sql_mysql/4.0.7"
++#define MOD_SQL_MYSQL_VERSION		"mod_sql_mysql/4.0.8"
+ 
+ #define _MYSQL_PORT "3306"
+ 
+@@ -440,6 +440,49 @@
+     return _build_error(cmd, conn);
+   }
+ 
++#ifdef PR_USE_NLS
++  if (pr_utf8_get_encoding() != NULL) {
++
++# if MYSQL_VERSION_ID >= 50007
++    /* Configure the connection for the current local character set.
++     *
++     * Note: the mysql_set_character_set() function appeared in MySQL 5.0.7,
++     * as per:
++     *
++     *  http://dev.mysql.com/doc/refman/5.0/en/mysql-set-character-set.html
++     */
++    if (!mysql_set_character_set(conn->mysql, pr_utf8_get_charset())) {
++      sql_log(DEBUG_FUNC, "%s", "exiting \tmysql cmd_open");
++      return _build_error(cmd, conn);
++    }
++
++    sql_log(DEBUG_FUNC, "MySQL connection character set now '%s' (from '%s')",
++      mysql_character_set_name(conn->mysql), pr_utf8_get_charset());
++
++# else
++    /* No mysql_set_character_set() API available.  But
++     * mysql_character_set_name() has been around for a while; we can use it
++     * to at least see whether there might be a character set discrepancy.
++     */
++
++    const char *local_charset = pr_utf8_get_charset();
++    const char *mysql_charset = mysql_character_set_name(conn->mysql);
++
++    if (local_charset &&
++        mysql_charset &&
++        strcasecmp(local_charset, mysql_charset) != 0) {
++      pr_log_pri(PR_LOG_ERR, MOD_SQL_MYSQL_VERSION
++        ": local character set '%s' does not match MySQL character set '%s', "
++        "SQL injection possible, shutting down", local_charset, mysql_charset);
++      sql_log(DEBUG_WARN, "local character set '%s' does not match MySQL "
++        "character set '%s', SQL injection possible, shutting down",
++        local_charset, mysql_charset);
++      end_login(1);
++    }
++# endif /* older MySQL */
++  }
++#endif /* !PR_USE_NLS */
++
+   /* bump connections */
+   entry->connections++;
+ 
+diff -urNad trunk~/contrib/mod_sql_postgres.c trunk/contrib/mod_sql_postgres.c
+--- trunk~/contrib/mod_sql_postgres.c	2009-02-06 11:17:51.000000000 +0100
++++ trunk/contrib/mod_sql_postgres.c	2009-02-06 11:17:56.000000000 +0100
+@@ -34,7 +34,7 @@
+  * Internal define used for debug and logging.  All backends are encouraged
+  * to use the same format.
+  */
+-#define MOD_SQL_POSTGRES_VERSION	"mod_sql_postgres/4.03"
++#define MOD_SQL_POSTGRES_VERSION	"mod_sql_postgres/4.0.4"
+ 
+ #define _POSTGRES_PORT "5432"
+ 
+@@ -43,6 +43,21 @@
+ 
+ #include <libpq-fe.h>
+ 
++/* For the pg_encoding_to_char() function, used for NLS support, we need
++ * to include the <mb/pg_wchar.h> file.  It's OK; the function has been
++ * declared in that file for a while, according to:
++ *
++ *  http://archives.postgresql.org/pgsql-bugs/2006-07/msg00125.php
++ *
++ * But it's a pain to quell all of the compiler warnings about redefined
++ * this, undefined that.  The linker finds the symbol without issue, so
++ * punt on including <mb/pg_wchar.h> file.  Instead, we'll copy the
++ * function declaration here.
++ */
++#ifdef PR_USE_NLS
++extern const char *pg_encoding_to_char(int encoding);
++#endif
++
+ /* 
+  * timer-handling code adds the need for a couple of forward declarations
+  */
+@@ -306,6 +321,39 @@
+     return _build_error( cmd, conn );
+   }
+ 
++#ifdef PR_USE_NLS
++  if (pr_utf8_get_encoding() != NULL) {
++    const char *encoding = pr_utf8_get_encoding();
++
++    /* XXX Hack to deal with Postgres' incredibly broken behavior when
++     * handling the 'ASCII' encoding.  Specifically, Postgres chokes on
++     * 'ASCII', and instead insists on calling it 'SQL_ASCII' (which, of
++     * course, is not even close to being a valid encoding name according
++     * to libiconv.)
++     *
++     * Treat 'ANSI_X3.4-1968' (another common name/alias for ASCII) the
++     * same; rename it to 'SQL_ASCII' for Postgres' benefit.  And same for
++     * 'US-ASCII'.
++     */
++    if (strcmp(encoding, "ANSI_X3.4-1968") == 0 ||
++        strcmp(encoding, "ASCII") == 0 ||
++        strcmp(encoding, "US-ASCII") == 0) {
++      encoding = "SQL_ASCII";
++    }
++
++    /* Configure the connection for the current local character set. */
++    if (PQsetClientEncoding(conn->postgres, encoding) < 0) {
++      /* if it didn't work, return an error */
++      sql_log(DEBUG_FUNC, "%s", "exiting \tpostgres cmd_open");
++      return _build_error(cmd, conn);
++    }
++
++    sql_log(DEBUG_FUNC, "Postgres connection character set now '%s' "
++      "(from '%s')", pg_encoding_to_char(PQclientEncoding(conn->postgres)),
++      pr_utf8_get_charset());
++  }
++#endif /* !PR_USE_NLS */
++
+   /* bump connections */
+   entry->connections++;
+ 
+diff -urNad trunk~/include/utf8.h trunk/include/utf8.h
+--- trunk~/include/utf8.h	2008-08-07 15:24:18.000000000 +0200
++++ trunk/include/utf8.h	2009-02-06 11:17:56.000000000 +0100
+@@ -37,6 +37,9 @@
+  */
+ char *pr_utf8_encode(pool *p, const char *in, size_t inlen, size_t *outlen);
+ 
++const char *pr_utf8_get_charset(void);
++const char *pr_utf8_get_encoding(void);
++
+ /* Internal use only. */
+ int utf8_init(void);
+ int utf8_free(void);
+diff -urNad trunk~/src/utf8.c trunk/src/utf8.c
+--- trunk~/src/utf8.c	2008-08-07 15:24:15.000000000 +0200
++++ trunk/src/utf8.c	2009-02-06 11:17:56.000000000 +0100
+@@ -42,6 +42,9 @@
+ static iconv_t decode_conv = (iconv_t) -1;
+ static iconv_t encode_conv = (iconv_t) -1;
+ 
++static const char *local_charset = NULL;
++static const char *encoding = "UTF-8";
++
+ static int utf8_convert(iconv_t conv, char *inbuf, size_t *inbuflen,
+     char *outbuf, size_t *outbuflen) {
+ # ifdef HAVE_ICONV
+@@ -78,10 +81,14 @@
+   if (res < 0) 
+     return -1;
+ 
++  encode_conv = (iconv_t) -1;
++
+   res = iconv_close(decode_conv);
+   if (res < 0)
+     return -1;
+ 
++  decode_conv = (iconv_t) -1;
++
+   return 0;
+ # else
+   errno = ENOSYS;
+@@ -90,36 +97,37 @@
+ }
+ 
+ int utf8_init(void) {
+-  const char *local_charset;
+ 
++  if (local_charset == NULL) {
+ #ifdef HAVE_NL_LANGINFO
+-  /* Look up the current charset.  If there's a problem, default to
+-   * UCS-2.
+-   */
+-  local_charset = nl_langinfo(CODESET);
+-  if (!local_charset) {
+-    local_charset = "C";
+-    pr_trace_msg("utf8", 1,
+-      "unable to determine locale, defaulting to 'C' for UTF8 conversion");
++    /* Look up the current charset.  If there's a problem, default to
++     * UCS-2.
++     */
++    local_charset = nl_langinfo(CODESET);
++    if (!local_charset) {
++      local_charset = "C";
++      pr_trace_msg("utf8", 1,
++        "unable to determine locale, defaulting to 'C' for UTF8 conversion");
+ 
+-  } else {
+-    pr_trace_msg("utf8", 1, "converting UTF8 to local character set '%s'",
+-      local_charset);
+-  }
++    } else {
++      pr_trace_msg("utf8", 1, "converting UTF8 to local character set '%s'",
++        local_charset);
++    }
+ #else
+-  local_charset = "C";
+-  pr_trace_msg("utf8", 1,
+-    "nl_langinfo(3) not supported, defaulting to using 'C' for UTF8 "
+-    "conversion");
++    local_charset = "C";
++    pr_trace_msg("utf8", 1,
++      "nl_langinfo(3) not supported, defaulting to using 'C' for UTF8 "
++      "conversion");
+ #endif /* HAVE_NL_LANGINFO */
++  }
+ 
+ # ifdef HAVE_ICONV
+   /* Get the iconv handles. */
+-  encode_conv = iconv_open(local_charset, "UTF-8");
++  encode_conv = iconv_open(encoding, local_charset);
+   if (encode_conv == (iconv_t) -1)
+     return -1;
+  
+-  decode_conv = iconv_open("UTF-8", local_charset);
++  decode_conv = iconv_open(local_charset, encoding);
+   if (decode_conv == (iconv_t) -1)
+     return -1;
+ 
+@@ -200,4 +208,24 @@
+ #endif /* !HAVE_ICONV_H */
+ }
+ 
++const char *pr_utf8_get_charset(void) {
++#ifdef HAVE_ICONV_H
++  return local_charset;
++
++#else
++  errno = ENOSYS;
++  return NULL;
++#endif /* !HAVE_ICONV_H */
++}
++
++const char *pr_utf8_get_encoding(void) {
++#ifdef HAVE_ICONV_H
++  return encoding;
++
++#else
++  errno = ENOSYS;
++  return NULL;
++#endif /* !HAVE_ICONV_H */
++}
++
+ #endif /* PR_USE_NLS */
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_ldap.c.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_ldap.c.dpatch
@@ -0,0 +1,95 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_ldap.c.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_ldap.c trunk/contrib/mod_ldap.c
+--- trunk~/contrib/mod_ldap.c	2008-08-08 15:52:03.000000000 +0200
++++ trunk/contrib/mod_ldap.c	2008-08-08 15:52:47.000000000 +0200
+@@ -88,6 +88,8 @@
+ #include <unistd.h>    /* seteuid()   */
+ 
+ #include <lber.h>
++
++#define LDAP_DEPRECATED 1
+ #include <ldap.h>
+ 
+ #if LDAP_API_VERSION >= 2000
+@@ -1562,12 +1564,9 @@
+     if (url->lud_filter && strcmp(url->lud_filter, "") != 0) {
+       CONF_ERROR(cmd, "A base DN may not be specified by an LDAPServer URL, only by LDAPDoAuth, LDAPDoUIDLookups, LDAPDoGIDLookups, or LDAPDoQuotaLookups.");
+     }
+-
+-    add_config_param_str(cmd->argv[0], 2, "url", url);
+-  } else {
+-    add_config_param_str(cmd->argv[0], 2, "host", cmd->argv[1]);
+   }
+ 
++  add_config_param_str(cmd->argv[0], 1, cmd->argv[1]);
+   return PR_HANDLED(cmd);
+ }
+ 
+@@ -2245,38 +2244,34 @@
+    * ldap_init() will connect to the LDAP SDK's default.
+    */
+   if ((c = find_config(main_server->conf, CONF_PARAM, "LDAPServer", FALSE)) != NULL) {
+-    if (strcmp(c->argv[0], "url") == 0) {
+-      url = c->argv[1];
+-      if (url) {
++    if (ldap_is_ldap_url(c->argv[0])) {
++      if (ldap_url_parse(c->argv[0], &url) != LDAP_SUCCESS) {
++        pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": ldap_getconf(): url %s was valid during ProFTPD startup, but is no longer valid?!", (char *)c->argv[0]);
++        return -1;
++      }
++
+ #ifdef LDAP_OPT_X_TLS_HARD
+-        if (strcmp(url->lud_scheme, "ldaps") == 0) {
+-          ldap_use_ssl = 1;
+-        }
++      if (strcmp(url->lud_scheme, "ldaps") == 0) {
++        ldap_use_ssl = 1;
++      }
+ #endif /* LDAP_OPT_X_TLS_HARD */
+ 
+-        if (url->lud_host != NULL) {
+-          ldap_server = pstrdup(session.pool, url->lud_host);
+-        }
+-        if (url->lud_port != 0) {
+-          ldap_port = url->lud_port;
+-        }
+-        if (url->lud_scope != LDAP_SCOPE_DEFAULT) {
+-          ldap_search_scope = url->lud_scope;
+-        }
+-
+-        /* We intentionally avoid ldap_free_urldesc()ing url, since it's
+-         * attached to the LDAPServer configuration directive and will be used
+-         * by other/future callers.
+-         */
++      if (url->lud_host != NULL) {
++        ldap_server = pstrdup(session.pool, url->lud_host);
+       }
+-    } else if (strcmp(c->argv[0], "host") == 0) {
+-      ldap_server = c->argv[1];
+-    } else {
+-      /* This should never happen, since the configuration handler for
+-       * LDAPServer only passes url or host, but we'll be defensive.
++      if (url->lud_port != 0) {
++        ldap_port = url->lud_port;
++      }
++      if (url->lud_scope != LDAP_SCOPE_DEFAULT) {
++        ldap_search_scope = url->lud_scope;
++      }
++
++      /* We intentionally avoid ldap_free_urldesc()ing url, since it's
++       * attached to the LDAPServer configuration directive and will be used
++       * by other/future callers.
+        */
+-      pr_log_pri(PR_LOG_ERR, MOD_LDAP_VERSION ": unexpected LDAPServer type.");
+-      return -1;
++    } else {
++      ldap_server = c->argv[0];
+     }
+   }
+ 
--- proftpd-dfsg-1.3.1.orig/debian/patches/class_rules_fix.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/class_rules_fix.dpatch
@@ -0,0 +1,260 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## class_rules_fix.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/include/netacl.h trunk/include/netacl.h
+--- trunk~/include/netacl.h	2008-04-01 16:34:05.000000000 +0200
++++ trunk/include/netacl.h	2008-04-04 17:34:56.000000000 +0200
+@@ -1,6 +1,6 @@
+ /*
+  * ProFTPD - FTP server daemon
+- * Copyright (c) 2003 The ProFTPD Project team
++ * Copyright (c) 2003-2008 The ProFTPD Project team
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -66,4 +66,7 @@
+ /* Returns the ACL type. */
+ pr_netacl_type_t pr_netacl_get_type(pr_netacl_t *);
+ 
++/* Returns a string describing the given NetACL. */
++const char *pr_netacl_get_str(pool *, pr_netacl_t *);
++
+ #endif /* PR_NETACL_H */
+diff -urNad trunk~/src/class.c trunk/src/class.c
+--- trunk~/src/class.c	2008-04-01 16:34:05.000000000 +0200
++++ trunk/src/class.c	2008-04-04 17:34:56.000000000 +0200
+@@ -28,6 +28,8 @@
+ 
+ #include "conf.h"
+ 
++static const char *trace_channel = "class";
++
+ /* Store the defined Classes in a linked list.  If many Classes are defined,
+  * this may need to be redefined to be a collision-chained hash.
+  */
+@@ -42,13 +44,16 @@
+ }
+ 
+ pr_class_t *pr_class_match_addr(pr_netaddr_t *addr) {
+-  pr_class_t *cls;
++  pr_class_t *cls, *res = NULL;
++  pool *tmp_pool;
+ 
+   if (!addr) {
+     errno = EINVAL;
+     return NULL;
+   }
+ 
++  tmp_pool = make_sub_pool(permanent_pool);
++
+   for (cls = class_list; cls; cls = cls->cls_next) {
+     array_header *acl_list = cls->cls_acls;
+     pr_netacl_t **acls = acl_list->elts;
+@@ -66,11 +71,25 @@
+ 
+       switch (cls->cls_satisfy) {
+         case PR_CLASS_SATISFY_ANY:
++          if (acls[i]) {
++            pr_trace_msg(trace_channel, 6,
++              "checking addr '%s' against class '%s', ACL %s "
++              "(requires any ACL matching)", pr_netaddr_get_ipstr(addr),
++              cls->cls_name, pr_netacl_get_str(tmp_pool, acls[i]));
++          }
++
+           if (pr_netacl_match(acls[i], addr) == 1)
+-            return cls;
++            res = cls;
+           break;
+ 
+         case PR_CLASS_SATISFY_ALL:
++          if (acls[i]) {
++            pr_trace_msg(trace_channel, 6,
++              "checking addr '%s' against class '%s', ACL %s "
++              "(requires all ACLs matching)", pr_netaddr_get_ipstr(addr),
++              cls->cls_name, pr_netacl_get_str(tmp_pool, acls[i]));
++          }
++
+           if (pr_netacl_match(acls[i], addr) == 0)
+             next_class = TRUE;
+           break;
+@@ -78,8 +97,12 @@
+     }
+   }
+ 
+-  errno = ENOENT;
+-  return NULL;
++  destroy_pool(tmp_pool);
++
++  if (res == NULL)
++    errno = ENOENT;
++
++  return res;
+ }
+ 
+ pr_class_t *pr_class_find(const char *name) {
+diff -urNad trunk~/src/netacl.c trunk/src/netacl.c
+--- trunk~/src/netacl.c	2008-04-01 16:34:05.000000000 +0200
++++ trunk/src/netacl.c	2008-04-04 17:35:26.000000000 +0200
+@@ -1,6 +1,6 @@
+ /*
+  * ProFTPD - FTP server daemon
+- * Copyright (c) 2003-2006 The ProFTPD Project team
++ * Copyright (c) 2003-2008 The ProFTPD Project team
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -46,27 +46,43 @@
+   return acl->type;
+ }
+ 
++/* Returns 1 if there was a positive match, -1 if there was a negative
++ * match, -2 if there was an error, and zero if there was no match at all.
++ */
+ int pr_netacl_match(pr_netacl_t *acl, pr_netaddr_t *addr) {
++  pool *tmp_pool;
+ 
+   if (!acl || !addr)
+     return -2;
+ 
++tmp_pool = make_sub_pool(permanent_pool);
++
+   switch (acl->type) {
+     case PR_NETACL_TYPE_ALL:
+-      pr_trace_msg(trace_channel, 10, "addr '%s' matched rule 'ALL'",
+-        pr_netaddr_get_ipstr(addr));
+-      return 1;
++      pr_trace_msg(trace_channel, 10, "addr '%s' matched rule 'ALL' ('%s')",
++        pr_netaddr_get_ipstr(addr), pr_netacl_get_str(tmp_pool, acl));
++      if (!acl->negated)
++        return 1;
++      else
++        return -1;
+ 
+     case PR_NETACL_TYPE_NONE:
+       pr_trace_msg(trace_channel, 10, "addr '%s' matched rule 'NONE'",
+         pr_netaddr_get_ipstr(addr));
+-      return -1;
++      if (!acl->negated)
++        return -1;
++      else
++        return 1;
+ 
+     case PR_NETACL_TYPE_IPMASK:
+       if (pr_netaddr_ncmp(addr, acl->addr, acl->masklen) == 0) {
+         pr_trace_msg(trace_channel, 10, "addr '%s' matched IP mask rule '%s'",
+           pr_netaddr_get_ipstr(addr), acl->aclstr);
+         return 1;
++
++      } else {
++        if (acl->negated)
++          return 1;
+       }
+       break;
+ 
+@@ -76,6 +92,10 @@
+           "addr '%s' matched IP address rule '%s'",
+           pr_netaddr_get_ipstr(addr), acl->aclstr);
+         return 1;
++
++      } else {
++        if (acl->negated)
++          return 1;
+       }
+       break;
+  
+@@ -86,6 +106,10 @@
+           pr_netaddr_get_ipstr(addr), pr_netaddr_get_dnsstr(addr),
+           acl->aclstr);
+         return 1;
++
++      } else {
++        if (acl->negated)
++          return 1;
+       }
+       break;
+ 
+@@ -96,6 +120,10 @@
+           "addr '%s' matched IP glob rule '%s'",
+           pr_netaddr_get_ipstr(addr), acl->aclstr);
+         return 1;
++
++      } else {
++        if (acl->negated)
++          return 1;
+       }
+       break;
+ 
+@@ -108,6 +136,10 @@
+             pr_netaddr_get_ipstr(addr), pr_netaddr_get_dnsstr(addr),
+             acl->aclstr);
+           return 1;
++
++        } else {
++          if (acl->negated)
++            return 1;
+         }
+ 
+       } else {
+@@ -317,3 +349,58 @@
+ 
+   return acl->negated;
+ }
++
++const char *pr_netacl_get_str(pool *p, pr_netacl_t *acl) {
++  char *res = "";
++
++  if (!p || !acl) {
++    errno = EINVAL;
++    return NULL;
++  }
++
++  res = pstrcat(p, res, acl->aclstr, NULL);
++
++  switch (acl->type) {
++    case PR_NETACL_TYPE_ALL:
++      res = pstrcat(p, res, " <all>", NULL);
++      break;
++
++    case PR_NETACL_TYPE_NONE:
++      res = pstrcat(p, res, " <none>", NULL);
++      break;
++
++    case PR_NETACL_TYPE_IPMASK: {
++      char masklenstr[64];
++
++      memset(masklenstr, '\0', sizeof(masklenstr));
++      snprintf(masklenstr, sizeof(masklenstr)-1, "%u", acl->masklen);
++      res = pstrcat(p, res, " <IP address mask, ", masklenstr, "-bit mask, ",
++        NULL);
++      break;
++    }
++
++    case PR_NETACL_TYPE_IPMATCH:
++      res = pstrcat(p, res, " <IP address match", NULL);
++      break;
++
++    case PR_NETACL_TYPE_DNSMATCH:
++      res = pstrcat(p, res, " <DNS hostname match", NULL);
++      break;
++
++    case PR_NETACL_TYPE_IPGLOB:
++      res = pstrcat(p, res, " <IP address glob", NULL);
++      break;
++
++    case PR_NETACL_TYPE_DNSGLOB:
++      res = pstrcat(p, res, " <DNS hostname glob", NULL);
++      break;
++  }
++
++  if (!acl->negated)
++    res = pstrcat(p, res, ">", NULL);
++  else
++    res = pstrcat(p, res, ", inverted>", NULL);
++
++  return res;
++}
++
--- proftpd-dfsg-1.3.1.orig/debian/patches/core_create-home.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/core_create-home.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## core_create-home.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/src/mkhome.c trunk/src/mkhome.c
+--- trunk~/src/mkhome.c	2007-10-09 23:44:52.000000000 +0200
++++ trunk/src/mkhome.c	2007-10-10 00:12:06.000000000 +0200
+@@ -90,6 +90,8 @@
+ 
+   pr_event_generate("core.create-home", user);
+ 
++  pr_event_generate("core.create-home", user);
++
+   pr_log_debug(DEBUG3, "creating home directory '%s' for user '%s'", path,
+     user);
+   tmppath = pstrdup(p, path);
--- proftpd-dfsg-1.3.1.orig/debian/patches/quotatab_modules.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/quotatab_modules.dpatch
@@ -0,0 +1,708 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## quotatab_modules.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad proftpd-1.2.10+1.3.0rc5~/README.mod_quotatab proftpd-1.2.10+1.3.0rc5/README.mod_quotatab
+--- proftpd-1.2.10+1.3.0rc5~/README.mod_quotatab	1970-01-01 01:00:00.000000000 +0100
++++ proftpd-1.2.10+1.3.0rc5/README.mod_quotatab	2006-03-22 22:55:51.000000000 +0100
+@@ -0,0 +1,354 @@
++  ------------------------------------------------------------------------
++
++                         ProFTPD module mod_quotatab
++
++  ------------------------------------------------------------------------
++
++This module is contained in the mod_quotatab.c, mod_quotatab.h, and in its
++submodule source files, for ProFTPD 1.2, found here, and is not compiled by
++default. Installation instructions can be found here.
++
++This module is designed to impose quotas, both byte- and file-based, on FTP
++accounts, based on user, group, class, or for all accounts. It is based on
++the ideas contained in Eric Estabrook's mod_quota; however, this module has
++been written from scratch to implement quotas in a very different manner. A
++more detailed explanation of the usage of this module follows the directive
++explanations.
++
++The most current version of mod_quotatab's submodules supports storage of
++quota table information in various formats:
++
++   * mod_quotatab_file for file-based quota tables
++   * mod_quotatab_sql for SQL-based quota tables
++
++The most current version of mod_quotatab can be found at:
++
++  http://www.castaglia.org/proftpd/
++
++The eventual goal of this module is to make use of the Confstream API, an
++experimental API described here. This API would make support for tables in
++other formats (e.g. LDAP, CDB, DBM) much easier to implement.
++
++Author
++
++Please contact TJ Saunders <tj at castaglia.org> with any questions,
++concerns, or suggestions regarding this module.
++
++Thanks
++
++2002-01-12: Thanks to SupaFly <ntlfy at ntlworld.com> for helping debug an
++issue with a missing tally table.
++
++2002-03-30: Thanks to Kai Langheim <kl at q-nic.de> for pointing out several
++small bugs affecting users with no quota entries.
++
++Directives
++
++   * QuotaDirectoryTally
++   * QuotaDisplayUnits
++   * QuotaEngine
++   * QuotaLimitTable
++   * QuotaLog
++   * QuotaShowQuotas
++   * QuotaTallyTable
++
++SITE Commands
++
++   * SITE QUOTA
++
++  ------------------------------------------------------------------------
++
++QuotaDirectoryTally
++
++Syntax: QuotaDirectoryTally on|off
++Default: QuotaDirectoryTally off
++Context: server config, <VirtualHost>, <Global>
++Module: mod_quotatab
++Compatibility: 1.2.5rc2 and later
++
++The QuotaDirectoryTally directive configures mod_quotatab to take directory
++operations (e.g. creating a directory, removing a directory) into account
++when tallying.
++
++  ------------------------------------------------------------------------
++
++QuotaDisplayUnits
++
++Syntax: QuotaDisplayUnits "b"|"Kb"|"Mb"|"Gb"
++Default: None
++Context: server config, <VirtualHost>, <Global>
++Module: mod_quotatab
++Compatibility: 1.2.5rc2 and later
++
++This directive configures how the user's current byte quota values will be
++reported to them. Note that this directive does not affect how the quota
++values are stored in the quota table, only their presentation to the user.
++
++"b" causes quotas to be displayed in bytes; "Kb", kilobytes; "Mb",
++megabytes; and "Gb", gigabytes.
++
++Example:
++
++  # display quota information in megabytes
++  QuotaDisplayUnits Mb
++
++  ------------------------------------------------------------------------
++
++QuotaEngine
++
++Syntax: QuotaEngine on|off
++Default: None
++Context: server config, <VirtualHost>, <Global>
++Module: mod_quotatab
++Compatibility: 1.2.5rc2 and later
++
++The QuotaEngine directive enables or disables the module's runtime quota
++engine. If it is set to off this module does no runtime processing at all.
++Use this directive to disable the module instead of commenting out all
++mod_quotatab directives.
++
++  ------------------------------------------------------------------------
++
++QuotaLimitTable
++
++Syntax: QuotaLimitTable source-type:source-info
++Default: None
++Context:
++Module: mod_quotatab
++Compatibility: 1.2.5rc2 and later
++
++This directive configures the information necessary for the module to locate
++and use the table containing the quota limit, the maximum number of bytes
++and/or files defined for use by specific users, groups, classes, etc, and is
++required for mod_quotatab to function.
++
++Please consult the relevant submodule documentation for details on that
++module's syntax for this configuration directive.
++
++See also: QuotaTallyTable
++
++  ------------------------------------------------------------------------
++
++QuotaLog
++
++Syntax: QuotaLog file|"none"
++Default: None
++Context:
++Module: mod_quotatab
++Compatibility: 1.2.5rc2 and later
++
++The QuotaLog directive is used to a specify a log file for mod_quotatab
++reporting, and can be done a per-server basis. The file parameter must be
++the full path to the file to use for logging. Note that this path must not
++be to a world-writeable directory and, unless AllowLogSymlinks is explicitly
++set to on (generally a bad idea), the path must not be a symbolic link.
++
++If file is "none", no logging will be done at all; this setting can be used
++to override a QuotaLog setting inherited from a <Global> context.
++
++  ------------------------------------------------------------------------
++
++QuotaShowQuotas
++
++Syntax: QuotaShowQuotas on|off
++Default: on
++Context:
++Module: mod_quotatab
++Compatibility: 1.2.5rc2 and later
++
++The QuotaShowQuotas directive can be used to enable/disable mod_quotatab's
++response to a SITE QUOTA request. For some sites, revealing the current
++quota information may be considered an unnecessary, perhaps even
++detrimental, information leak; other sites may consider this a definite
++feature.
++
++  ------------------------------------------------------------------------
++
++QuotaTallyTable
++
++Syntax: QuotaTallyTable source-type:source-info
++Default: None
++Context:
++Module: mod_quotatab
++Compatibility: 1.2.5rc2 and later
++
++This directive configures the information necessary for the module to locate
++and use the table containing the quota tally, or the current byte/file
++counts for users, groups, classes, etc, and is required for mod_quotatab to
++function.
++
++Please consult the relevant submodule documentation for details on that
++module's syntax for this configuration directive.
++
++See also: QuotaLimitTable
++
++  ------------------------------------------------------------------------
++
++SITE QUOTA
++
++The SITE QUOTA command will display the quota, both the limit and the
++current tally, to the client. This SITE command accepts no parameters, and
++can only be used once the client has successfully logged in.
++
++Example:
++
++ftp> quote SITE QUOTA
++200-The current quota for this session are [current/limit]:
++ Name: tj
++ Quota Type: User
++ Per Session: True
++ Limit Type: Hard
++   Uploaded Kb:         unlimited
++   Downloaded Kb:       unlimited
++   Transferred Kb:      unlimited
++   Uploaded files:      1/1
++   Downloaded files:    unlimited
++   Transferred files:   unlimited
++200 Please contact root@familiar.castaglia.org if these entries are inaccurate
++ftp>
++
++Use of this SITE command can be controlled via <Limit>, e.g.:
++
++  <Limit SITE_QUOTA>
++    AllowUser tj
++    DenyAll
++  </Limit>
++
++Like many SITE commands, the FTP client will probably not recognize or
++support SITE QUOTA. Hopefully the client does have the ability to send
++arbitrary commands to the server, as the common ftp(1) client does via
++quote.
++
++The email address displayed in the SITE QUOTA output can be configured via
++the ServerAdmin directive.
++
++  ------------------------------------------------------------------------
++
++Usage
++
++To use mod_quotatab's functionality, you must first define the tables that
++together contain the quota information.
++
++There are two such quota tables: one table for providing quota information
++about the absolute byte/file limits for users, groups, and classes, and a
++separate table for maintaining the current tally, or number of bytes/files
++used, for those same users, groups, and classes. This separation of
++information allows for a configuration such as using LDAP to efficiently
++distribute the limit information, and local SQL databases for efficiently
++storing the tally. The limit table is considered a read-only table, and is
++only accessed at the start of session in order to determine what the session
++limits should be. The tally table is accessed in read-write mode, and is
++updated after the relevant FTP commands have been processed.
++
++This module was not explicitly designed for easy interaction with other
++applications, but rather for other criteria:
++
++   * efficient lookups and updates
++   * no need for ~/.quota files
++   * no need of requirement for root privileges to access quotas
++   * easy support for an abstraction layer for storing quota information in
++     other formats
++   * support for a SITE command that allows users to view their current
++     quotas
++
++This module maintains its quotas based solely on FTP commands - it does not
++enforce quotas based on files that may have been added, deleted, or moved
++via shell access or any mechanism other than through the proftpd server.
++
++When a client logs in, assuming QuotaEngine is on, mod_quotatab will check
++the limit table for the record most appropriate for that client. This check
++first examines the table for records of type user that match the client's
++login name. If no such matching records are found, it checks for records of
++type group that match any of the user's groups (both primary and
++supplemental). Failing that, it will check for records of type class that
++belong to the class (if enabled) from which the client is connecting. If
++still no matching records are found, the table will be searched for a record
++of type all; if absent, the module will assume that no quotas apply to the
++client.
++
++Once the limits for the current session have been established, mod_quotatab
++examines the tally table to see what the current numbers in the matching
++tally record are. Should the client have an applicable limit record but no
++matching tally record, the module will initialize a new record in the tally
++table.
++
++For the purposes of tracking the number of uploaded bytes/files, the tally
++will be adjusted accordingly upon use of the following FTP commands: APPE
++(bytes only), DELE, STOR, and STOU. The number of bytes used for the
++calculation will be determined from the difference in file size of the file
++in question.
++
++For the purposes of tracking the number of downloaded bytes/files, the tally
++will be adjusted accordingly upon use of the following FTP commands: RETR.
++The number of bytes used for the calculation will be determined from the
++number of bytes sent to the client.
++
++For the purposes of tracking the number of transferred bytes/files, the
++tally will be adjusted accordingly upon use of the following FTP commands:
++APPE (bytes only), DELE, RETR, STOR, and STOU. The number of bytes used for
++the calculation will be determined from the number of bytes sent to the
++client. This type of limit allows for byte/file limits to be set that
++encompass both uploads and downloads.
++
++Note that if all three types of quotas are set (upload, download, and
++transfer), any quota reached will cause denial of FTP commands. This means
++that a high upload quota will never be reached if a low transfer quota is in
++effect. This holds true for bytes and files quota. For example, if a user
++has a limited number of both bytes and files to be uploaded in their limit
++record, the first limit reached (bytes or files) is the effective limit.
++Caveat emptor.
++
++For any quota limit that is set as "unlimited", mod_quotatab will not keep
++the tally. Many site administrators might want this ability, for accounting
++purposes. However, that ability is outside of the intended design of this
++module; other logging modules are much better suited for accounting purposes
++(e.g. mod_sql's SQLLog directive).
++
++If any developers wish to make use of mod_quotatab's quota information, or
++to develop a new submodule, there is developer documentation available here.
++
++  ------------------------------------------------------------------------
++
++Installation
++
++To install mod_quotatab, follow these instructions. After unpacking the
++tarball, copy the mod_quotatab.c, mod_quotatab.h, mod_quotatab_file.c, and
++mod_quotatab_sql.c files into:
++
++  proftpd-dir/contrib/
++
++after unpacking the latest proftpd-1.2 source code. Follow the usual steps
++for using third-party modules in proftpd:
++
++  ./configure --with-modules=quotatab-modules
++  make
++  make install
++
++where quotatab-modules will depend on the types of quota tables you wish to
++support.
++
++For file-based quota tables, include the mod_quotatab_file submodule, e.g.:
++
++  mod_quotatab:mod_quotatab_file
++
++For SQL-based quota tables, include the mod_quotatab_sql submodule, e.g.:
++
++  mod_quotatab:mod_quotatab_sql
++
++And, if you wish to support file- and SQL-based quota tables:
++
++  mod_quotatab:mod_quotatab_file:mod_quotatab_sql
++
++Note that SQL tables require that a correct installation of mod_sql (and any
++of its backend modules) also be used. Consult the mod_sql documentation for
++installation instructions for that module.
++
++  ------------------------------------------------------------------------
++
++Author: $Author: frankie $
++Last Updated: $Date: 2003/11/17 15:30:12 $
++
++  ------------------------------------------------------------------------
++ Copyright 2000-2002 TJ Saunders
++All Rights Reserved
++  ------------------------------------------------------------------------
+diff -urNad proftpd-1.2.10+1.3.0rc5~/diskuse proftpd-1.2.10+1.3.0rc5/diskuse
+--- proftpd-1.2.10+1.3.0rc5~/diskuse	1970-01-01 01:00:00.000000000 +0100
++++ proftpd-1.2.10+1.3.0rc5/diskuse	2006-03-22 22:55:51.000000000 +0100
+@@ -0,0 +1,232 @@
++#!/usr/bin/perl
++# -------------------------------------------------------------------------
++# Copyright (C) 2002 TJ Saunders <tj@castaglia.org>
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
++#
++#  $Id: 14.quotatab_modules.diff,v 1.4 2003/11/17 15:30:12 frankie Exp $
++#
++# -------------------------------------------------------------------------
++
++use strict;
++
++use Fcntl;
++use File::Basename qw(basename);
++use Getopt::Long;
++
++my $program = basename($0);
++my %opts = {};
++
++GetOptions(\%opts, 'G', 'K', 'M', 'dir-tally', 'group=s', 'help',
++  'user=s', 'verbose');
++
++my $verbose = 0;
++my $user_id = -1;
++my $group_id = -1;
++
++usage() if defined($opts{'help'});
++
++if (length(@ARGV) < 1) {
++  print STDOUT "$program: wrong number of parameters\n";
++  exit 0;
++}
++
++unless (defined($opts{'user'}) || defined($opts{'group'})) {
++  print STDOUT "$program: missing required --group or --user option\n";
++  exit 0;
++}
++
++if (defined($opts{'user'})) {
++  $user_id = getpwnam($opts{'user'}) or
++    die "$program: no such user: $opts{'user'}\n";
++}
++
++if (defined($opts{'group'})) {
++  $group_id = getgrnam($opts{'group'}) or
++    die "$program: no such group: $opts{'group'}\n";
++}
++
++$verbose = 1 if (defined($opts{'verbose'}));
++
++my ($total_bytes, $total_files);
++
++foreach my $dir (@ARGV) {
++  my ($bytes, $files) = get_dir_disk_use($dir);
++
++  $total_bytes += $bytes;
++  $total_files += $files;
++}
++
++my $byte_units = "bytes";
++
++if (defined($opts{'K'})) {
++  $total_bytes /= 1024;
++  $byte_units = "KB";
++
++} elsif (defined($opts{'M'})) {
++  $total_bytes /= (1024 * 1024);
++  $byte_units = "MB";
++
++} elsif (defined($opts{'G'})) {
++  $total_bytes /= (1024 * 1024 * 1024);
++  $byte_units = "GB";
++}
++
++my $file_units = "files";
++$file_units = "file" if ($total_files == 1);
++
++print STDOUT "$program: $total_bytes $byte_units in $total_files $file_units\n";
++
++# done
++exit 0;
++
++# --------------------------------------------------------------------------
++sub get_dir_disk_use {
++  my ($dir) = @_;
++
++  print STDOUT "$program: examining directory '$dir'\n" if $verbose;
++
++  my @subdirs = ();
++  my $nbytes = 0;
++  my $nfiles = 0;
++
++  unless (opendir(DIR, $dir)) {
++    print STDERR "$program: unable to open directory '$dir': $!\n";
++    return (0, 0);
++  }
++
++  my @files = readdir(DIR);
++  close(DIR);
++
++  foreach my $file (@files) {
++    my ($mode, $uid, $gid, $size) = (lstat("$dir/$file"))[2, 4, 5, 7];
++
++    # Is this entry a regular file, or a directory?
++    unless (-f "$dir/$file" || (-l "$dir/$file" && !-f "$dir/$file") || -d "$dir/$file") {
++      print STDOUT "$program: skipping '$dir/$file': not a file or directory\n" if $verbose;
++      next;
++    }
++
++    # Does this file match the given user/group ownership?
++    if ($user_id != -1 && $group_id != -1) {
++
++      if ($uid == $user_id && $gid == $group_id) {
++
++        if (defined($opts{'dir-tally'}) && $file eq ".") {
++          $nbytes += $size;
++          $nfiles++;
++ 
++        } elsif (! -d "$dir/$file") {
++          $nbytes += $size;
++          $nfiles++;
++        }
++
++      } else {
++        print STDOUT "$program: '$file' does not match UID $user_id, GID $group_id\n" if $verbose;
++      }
++
++    } elsif ($user_id != -1) {
++
++      if ($uid == $user_id) {
++
++        if (defined($opts{'dir-tally'}) && $file eq ".") {
++          $nbytes += $size;
++          $nfiles++;
++
++        } elsif (! -d "$dir/$file") {
++          $nbytes += $size;
++          $nfiles++;
++        }
++
++      } else {
++        print STDOUT "$program: '$file' does not match UID $user_id\n" if $verbose;
++      }
++
++    } elsif ($group_id != -1) {
++
++      if ($gid == $group_id) {
++
++        if (defined($opts{'dir-tally'}) && $file eq ".") {
++          $nbytes += $size;
++          $nfiles++;
++
++        } elsif (! -d "$dir/$file") {
++          $nbytes += $size;
++          $nfiles++;
++        }
++
++      } else {
++        print STDOUT "$program: '$file' does not match GID $group_id\n" if $verbose;
++      }
++    }
++
++    # Is this entry a directory?  If so, add it to the subdir list.
++    if (-d "$dir/$file") {
++
++      # Skip dot directories
++      push(@subdirs, "$dir/$file") unless ($file eq "." || $file eq "..");
++    }
++  }
++
++  # Now, recurse through the directory's subdirectories
++  foreach my $subdir (@subdirs) {
++    my ($bytecount, $filecount) = get_dir_disk_use($subdir);
++    $nbytes += $bytecount;
++    $nfiles += $filecount;
++  }
++
++  return ($nbytes, $nfiles);
++}
++
++# --------------------------------------------------------------------------
++sub usage {
++
++  print STDOUT <<END_OF_USAGE;
++
++usage: $program [options] dir1 dir2 ... dirN
++
++ $program calculates the amount of disk space used underneath the given
++ directory (or directories).  Either a --group or a --user option is required.
++ If both are used, only files whose ownership matches both the given name and
++ group will be added to the disk usage sum.
++
++ Options:
++
++  --G          Display the number of bytes in units of gigabytes.  The default
++               number is in bytes.
++
++  --K          Display the number of bytes in units of kilobytes.  The default
++               number is in bytes.
++
++  --M          Display the number of bytes in units of megabytes.  The default
++               number is in bytes.
++
++  --dir-tally  Count the size of directories toward the disk usage sum.  The
++               default is to consider regular files only.
++
++  --group      Count files owned by this group in the disk usage sum.
++
++  --help       Display this message.
++
++  --user       Count files owned by this user in the disk usage sum.
++
++  --verbose    Display diagnostic output while $program is running.
++
++END_OF_USAGE
++
++  exit 0;
++}
++
++# --------------------------------------------------------------------------
+diff -urNad proftpd-1.2.10+1.3.0rc5~/diskuse.html proftpd-1.2.10+1.3.0rc5/diskuse.html
+--- proftpd-1.2.10+1.3.0rc5~/diskuse.html	1970-01-01 01:00:00.000000000 +0100
++++ proftpd-1.2.10+1.3.0rc5/diskuse.html	2006-03-22 22:55:51.000000000 +0100
+@@ -0,0 +1,103 @@
++<!-- $Id: 14.quotatab_modules.diff,v 1.4 2003/11/17 15:30:12 frankie Exp $ -->
++<!-- $Source: /cvsroot/pkg-proftpd/debian/patches/14.quotatab_modules.diff,v $ -->
++
++<html>
++<head>
++<title>diskuse: tool for ProFTPD mod_quotatab</title>
++</head>
++
++<body bgcolor=white>
++
++<hr><br>
++<center>
++<h2><b><code>diskuse</code>: tool for ProFTPD module <code>mod_quotatab</code></b></h2>
++</center>
++<hr><br>
++
++This program is distributed with the
++<a href="./mod_quotatab.html"><code>mod_quotatab</code></a> module for
++ProFTPD 1.2.  It is used to calculate the amount of disk space currently
++used by a given user and/or group.
++
++<p>
++The most current version of <code>diskuse</code> can be found at:
++<pre>
++  <a href="http://www.castaglia.org/proftpd/">http://www.castaglia.org/proftpd/</a>
++</pre>
++
++<h2>Author</h2>
++<p>
++Please contact TJ Saunders &lt;tj <i>at</i> castaglia.org&gt; with any
++questions, concerns, or suggestions regarding this program.
++
++<p>
++<hr><br>
++<h2><a name="Usage">Usage</a></h2>
++The following describes the common usage of the <code>diskuse</code> tool.
++The options supported are described in more detail
++<a href="#Options">later</a>.
++
++<p>
++Usage of this tool is fairly straightforward: choose the directory (or
++directories) to scan, and the user or group for whom you wish to calculate
++disk usage:
++<pre>
++  diskuse /home /usr /tmp --user=bob
++</pre>
++The <code>--K</code>, <code>--M</code>, and <code>--G</code> options can be
++used to display the disk usage calculated in kilobytes, megabytes, or
++gigabytes, respectively.
++
++<p>
++<hr><br>
++<h2><a name="Options">Options</a></h2>
++The following is the output from running <code>diskuse --help</code>:
++<pre>
++usage: diskuse [options] dir1 dir2 ... dirN
++
++ diskuse calculates the amount of disk space used underneath the given
++ directory (or directories).  Either a --group or a --user option is required.
++ If both are used, only files whose ownership matches both the given name and
++ group will be added to the disk usage sum.
++
++ Options:
++
++  --G          Display the number of bytes in units of gigabytes.  The default
++               number is in bytes.
++
++  --K          Display the number of bytes in units of kilobytes.  The default
++               number is in bytes.
++
++  --M          Display the number of bytes in units of megabytes.  The default
++               number is in bytes.
++
++  --dir-tally  Count the size of directories toward the disk usage sum.  The
++               default is to consider regular files only.
++
++  --group      Count files owned by this group in the disk usage sum.
++
++  --help       Display this message.
++
++  --user       Count files owned by this user in the disk usage sum.
++
++  --verbose    Display diagnostic output while diskuse is running.
++</pre>
++
++<p>
++<hr><br>
++
++Author: <i>$Author: frankie $</i><br>
++Last Updated: <i>$Date: 2003/11/17 15:30:12 $</i><br>
++
++<br><hr>
++
++<font size=2><b><i>
++&copy; Copyright 2000-2002 TJ Saunders<br>
++ All Rights Reserved<br>
++</i></b></font>
++
++<hr><br>
++
++</body>
++</html>
++
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_dynmasq.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_dynmasq.dpatch
@@ -0,0 +1,333 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_dynmasq.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_dynmasq.c trunk/contrib/mod_dynmasq.c
+--- trunk~/contrib/mod_dynmasq.c	1970-01-01 01:00:00.000000000 +0100
++++ trunk/contrib/mod_dynmasq.c	2007-07-20 23:46:11.000000000 +0200
+@@ -0,0 +1,203 @@
++/*
++ * ProFTPD: mod_dynmasq -- a module for dynamically updating MasqueradeAddress
++ *                         configurations, as when DynDNS names are used
++ *
++ * Copyright (c) 2004-2007 TJ Saunders
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
++ *
++ * As a special exemption, TJ Saunders and other respective copyright holders
++ * give permission to link this program with OpenSSL, and distribute the
++ * resulting executable, without including the source code for OpenSSL in the
++ * source distribution.
++ *
++ * This is mod_dynmasq, contrib software for proftpd 1.2.x and above.
++ * For more information contact TJ Saunders <tj@castaglia.org>.
++ *
++ * $Id: mod_dynmasq.c,v 1.2 2007/07/20 21:45:07 tj Exp tj $
++ */
++
++#include "conf.h"
++
++#define MOD_DYNMASQ_VERSION		"mod_dynmasq/0.2"
++
++/* Make sure the version of proftpd is as necessary. */
++#if PROFTPD_VERSION_NUMBER < 0x0001030005
++# error "ProFTPD 1.3.0 or later required"
++#endif
++
++extern xaset_t *server_list;
++module dynmasq_module;
++static int dynmasq_timer_id = -1;
++static int dynmasq_timer_interval = -1;
++
++/* Configuration handlers
++ */
++
++/* usage: DynMasqRefresh <seconds> */
++MODRET set_dynmasqrefresh(cmd_rec *cmd) {
++  CHECK_CONF(cmd, CONF_ROOT);
++  CHECK_ARGS(cmd, 1);
++
++  dynmasq_timer_interval = atoi(cmd->argv[1]);
++  if (dynmasq_timer_interval < 1)
++    CONF_ERROR(cmd, pstrcat(cmd->tmp_pool,
++      "must be greater than zero: '", cmd->argv[1], "'", NULL));
++
++  return HANDLED(cmd);
++}
++
++/* Timers
++ */
++
++static int dynmasq_update_cb(CALLBACK_FRAME) {
++  server_rec *s;
++
++  pr_log_pri(PR_LOG_DEBUG, MOD_DYNMASQ_VERSION
++    ": resolving all MasqueradeAddress directives (could take a little while)");
++
++  for (s = (server_rec *) server_list->xas_list; s; s = s->next) {
++    config_rec *c = find_config(s->conf, CONF_PARAM, "MasqueradeAddress",
++      FALSE);
++
++    if (c) {
++      pr_netaddr_t *na = pr_netaddr_get_addr(s->pool, c->argv[1], NULL);
++
++      if (na) {
++        /* Compare the obtained netaddr with the one already present.
++         * Only update the "live" netaddr if they differ.
++         */
++        pr_log_pri(PR_LOG_DEBUG, MOD_DYNMASQ_VERSION
++          ": resolved MasqueradeAddress '%s' to IP address %s",
++          (const char *) c->argv[1], pr_netaddr_get_ipstr(na));
++
++        if (pr_netaddr_cmp(c->argv[0], na) != 0) {
++          pr_log_pri(PR_LOG_DEBUG, MOD_DYNMASQ_VERSION
++            ": MasqueradeAddress '%s' updated for new address %s (was %s)",
++            (const char *) c->argv[1], pr_netaddr_get_ipstr(na),
++            pr_netaddr_get_ipstr(c->argv[0]));
++
++          /* Overwrite the old netaddr pointer.  Note that this constitutes
++           * a minor memory leak, as there currently isn't a way to free
++           * the memory used by a netaddr object.  Hrm.
++           */
++          c->argv[0] = na;
++
++        } else
++          pr_log_pri(PR_LOG_DEBUG, MOD_DYNMASQ_VERSION
++            ": MasqueradeAddress '%s' has not changed addresses",
++            (const char *) c->argv[1]);
++ 
++      } else
++        pr_log_pri(PR_LOG_NOTICE, MOD_DYNMASQ_VERSION
++          ": unable to resolve '%s', keep previous address",
++          (const char *) c->argv[1]);
++    }
++  }
++
++  return 1;
++}
++
++/* Event handlers
++ */
++
++#if defined(PR_SHARED_MODULE)
++static void dynmasq_mod_unload_ev(const void *event_data, void *user_data) {
++  if (strcmp("mod_dynmasq.c", (const char *) event_data) == 0) {
++    pr_timer_remove(dynmasq_timer_id, &dynmasq_module);
++    dynmasq_timer_id = -1;
++
++    pr_event_unregister(&dynmasq_module, NULL, NULL);
++  }
++}
++#endif /* !PR_SHARED_MODULE */
++
++static void dynmasq_restart_ev(const void *event_data, void *user_data) {
++  if (dynmasq_timer_id != -1) {
++    pr_timer_remove(dynmasq_timer_id, &dynmasq_module);
++    dynmasq_timer_id = -1;
++  }
++}
++
++static void dynmasq_startup_ev(const void *event_data, void *user_data) {
++  if (dynmasq_timer_interval != -1) {
++    dynmasq_timer_id = pr_timer_add(dynmasq_timer_interval, -1,
++      &dynmasq_module, dynmasq_update_cb);
++  }
++}
++
++/* Initialization functions
++ */
++
++static int dynmasq_init(void) {
++#if defined(PR_SHARED_MODULE)
++  pr_event_register(&dynmasq_module, "core.module-unload",
++    dynmasq_mod_unload_ev, NULL);
++#endif /* !PR_SHARED_MODULE */
++
++  pr_event_register(&dynmasq_module, "core.restart", dynmasq_restart_ev,
++    NULL);
++  pr_event_register(&dynmasq_module, "core.startup", dynmasq_startup_ev,
++    NULL);
++
++  return 0;
++}
++
++static int dynmasq_sess_init(void) {
++
++  /* Ensure that the timer only fires on the daemon process. */
++  pr_timer_remove(dynmasq_timer_id, &dynmasq_module);
++  dynmasq_timer_id = -1;
++
++  pr_event_unregister(&dynmasq_module, "core.restart", NULL);
++
++  return 0;
++}
++
++/* Module API tables
++ */
++
++static conftable dynmasq_conftab[] = {
++  { "DynMasqRefresh",	set_dynmasqrefresh,	NULL },
++  { NULL }
++};
++
++module dynmasq_module = {
++  NULL, NULL,
++
++  /* Module API version 2.0 */
++  0x20,
++
++  /* Module name */
++  "dynmasq",
++
++  /* Module configuration handler table */
++  dynmasq_conftab,
++
++  /* Module command handler table */
++  NULL,
++
++  /* Module authentication handler table */
++  NULL,
++
++  /* Module initialization function */
++  dynmasq_init,
++
++  /* Session initialization function */
++  dynmasq_sess_init,
++
++  /* Module version */
++  MOD_DYNMASQ_VERSION
++};
+diff -urNad trunk~/doc/contrib/mod_dynmasq.html trunk/doc/contrib/mod_dynmasq.html
+--- trunk~/doc/contrib/mod_dynmasq.html	1970-01-01 01:00:00.000000000 +0100
++++ trunk/doc/contrib/mod_dynmasq.html	2004-07-31 03:36:53.000000000 +0200
+@@ -0,0 +1,115 @@
++<!-- $Id: mod_dynmasq.html,v 1.2 2004/07/31 01:36:37 tj Exp tj $ -->
++<!-- $Source: /home/tj/proftpd/modules/doc/RCS/mod_dynmasq.html,v $ -->
++
++<html>
++<head>
++<title>ProFTPD module mod_dynmasq</title>
++</head>
++
++<body bgcolor=white>
++
++<hr>
++<center>
++<h2><b>ProFTPD module <code>mod_dynmasq</code></b></h2>
++</center>
++<hr><br>
++
++The <code>mod_dynmasq</code> module is designed for those sites that
++use the <code>MasqueradeAddress</code> directive in conjunction with DNS
++names whose addresses periodically change, <i>e.g.</i> &quot;dyndns&quot;
++addresses.  The <code>proftpd</code> daemon is not aware of any changes
++to the IP address for a <code>MasqueradeAddress</code> that happen after
++the daemon has started up.  The <code>mod_dynmasq</code> module periodically
++checks all configured <code>MasqueradeAddress</code> directives and resolves
++their IP addresses, updating the stored addresses as needed.
++
++<p>
++This module is contained in the <code>mod_dynmasq.c</code> file for
++ProFTPD 1.2.10 and later, and is not compiled by default.  Installation
++instructions are discussed <a href="#Installation">here</a>.
++
++<p>
++The most current version of <code>mod_dynmasq</code> can be found at:
++<pre>
++  <a href="http://www.castaglia.org/proftpd/">http://www.castaglia.org/proftpd/</a>
++</pre>
++
++<h2>Author</h2>
++<p>
++Please contact TJ Saunders &lt;tj <i>at</i> castaglia.org&gt; with any
++questions, concerns, or suggestions regarding this module.
++
++<h2>Directives</h2>
++<ul>
++  <li><a href="#DynMasqRefresh">DynMasqRefresh</a>
++</ul>
++
++<hr>
++<h2><a name="DynMasqRefresh">DynMasqRefresh</a></h2>
++<strong>Syntax:</strong> DynMasqRefresh <em>secs</em><br>
++<strong>Default:</strong> None<br>
++<strong>Context:</strong> &quot;server config&quot;<br>
++<strong>Module:</strong> mod_dynmasq<br>
++<strong>Compatibility:</strong> 1.2.10
++
++<p>
++The <code>DynMasqRefresh</code> directive configures the amount of time,
++in seconds, between <code>mod_dynmasq</code>'s checking and updating of
++all <code>MasqueradeAddress</code> directives.  If no
++<code>DynMasqRefresh</code> directive is configured, then the module will
++do no checking.
++
++<p>
++The process of resolving a DNS name to its IP address can, depending on
++the DNS configuration, take a noticeable amount of time.  This, combined
++with the number of <code>MasqueradeAddress</code> directives in your
++<code>proftpd.conf</code>, can cause <code>mod_dynmasq</code> to make
++the daemon unavailable while it resolves all addresses.  Therefore it
++is highly recommended that the configured interval be as long as possible,
++for example for 8 hours.
++
++<p>
++Example:
++<pre>
++  &lt;IfModule mod_dynmasq.c&gt;
++    # Refresh any configured MasqueradeAddress directives every 8 hours
++    DynMasqRefresh 28800
++  &lt;/IfModule&gt;
++</pre>
++
++<p>
++See also:
++
++<p>
++<hr>
++<h2><a name="Installation">Installation</a></h2>
++To install <code>mod_dynmasq</code>, copy the <code>mod_dynmasq.c</code> file
++into <pre>
++  <i>proftpd-dir</i>/contrib/
++</pre>
++after unpacking the latest proftpd-1.2.<i>x</i> source code.  Then follow the
++usual steps for using third-party modules in proftpd:
++<pre>
++  ./configure --with-modules=mod_dynmasq
++  make
++  make install
++</pre>
++
++<p>
++<hr><br>
++
++Author: <i>$Author: tj $</i><br>
++Last Updated: <i>$Date: 2004/07/31 01:36:37 $</i><br>
++
++<br><hr>
++
++<font size=2><b><i>
++&copy; Copyright 2004 TJ Saunders<br>
++ All Rights Reserved<br>
++</i></b></font>
++
++<hr><br>
++
++</body>
++</html>
++
--- proftpd-dfsg-1.3.1.orig/debian/patches/ifsess-use-sess-pool.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/ifsess-use-sess-pool.dpatch
@@ -0,0 +1,37 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ifsess-use-sess-pool.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_ifsession.c trunk/contrib/mod_ifsession.c
+--- trunk~/contrib/mod_ifsession.c	2007-10-09 23:45:04.000000000 +0200
++++ trunk/contrib/mod_ifsession.c	2008-01-25 23:42:14.000000000 +0100
+@@ -322,7 +322,7 @@
+       if (mergein) {
+         pr_log_debug(DEBUG2, MOD_IFSESSION_VERSION
+           ": merging <IfGroup> directives in");
+-        ifsess_dup_set(main_server->pool, main_server->conf, c->subset);
++        ifsess_dup_set(session.pool, main_server->conf, c->subset);
+ 
+         /* Add this config_rec pointer to the list of pointers to be
+          * removed later.
+@@ -387,7 +387,7 @@
+       if (mergein) {
+         pr_log_debug(DEBUG2, MOD_IFSESSION_VERSION
+           ": merging <IfUser> directives in");
+-        ifsess_dup_set(main_server->pool, main_server->conf, c->subset);
++        ifsess_dup_set(session.pool, main_server->conf, c->subset);
+ 
+         /* Add this config_rec pointer to the list of pointers to be
+          * removed later.
+@@ -468,7 +468,7 @@
+       if (mergein) {
+         pr_log_debug(DEBUG2, MOD_IFSESSION_VERSION
+           ": merging <IfClass> directives in");
+-        ifsess_dup_set(main_server->pool, main_server->conf, c->subset);
++        ifsess_dup_set(session.pool, main_server->conf, c->subset);
+ 
+         /* Add this config_rec pointer to the list of pointers to be
+          * removed later.
--- proftpd-dfsg-1.3.1.orig/debian/patches/pam_auth.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/pam_auth.dpatch
@@ -0,0 +1,45 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## pam_auth.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/src/auth.c trunk/src/auth.c
+--- trunk~/src/auth.c	2008-08-01 20:49:55.000000000 +0200
++++ trunk/src/auth.c	2008-08-01 20:50:36.000000000 +0200
+@@ -500,6 +500,17 @@
+       return res;
+     }
+ 
++    if (MODRET_ISERROR(mr)) {
++      res = MODRET_ERROR(mr);
++
++      if (cmd->tmp_pool) {
++        destroy_pool(cmd->tmp_pool);
++        cmd->tmp_pool = NULL;
++      }
++
++      return res;
++    }
++
+     m = NULL;
+   }
+ 
+@@ -585,6 +596,17 @@
+       return res;
+     }
+ 
++    if (MODRET_ISERROR(mr)) {
++      res = MODRET_ERROR(mr);
++
++      if (cmd->tmp_pool) {
++        destroy_pool(cmd->tmp_pool);
++        cmd->tmp_pool = NULL;
++      }
++
++      return res;
++    }
++
+     m = NULL;
+   }
--- proftpd-dfsg-1.3.1.orig/debian/patches/xferstats.holger-preiss.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/xferstats.holger-preiss.dpatch
@@ -0,0 +1,30 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## xferstats.holger-preiss.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/xferstats.holger-preiss trunk/contrib/xferstats.holger-preiss
+--- trunk~/contrib/xferstats.holger-preiss	2008-08-08 16:05:07.000000000 +0200
++++ trunk/contrib/xferstats.holger-preiss	2008-09-13 16:10:21.000000000 +0200
+@@ -250,14 +250,14 @@
+ 
+ Total Transfers from each Archive Section (By bytes)
+ 
+-                                                 ---- Percent  Of ----
+-     Archive Section      Files Sent Bytes Sent  Files Sent Bytes Sent
+-------------------------- ---------- ----------- ---------- ----------
++                                                   ---- Percent  Of ----
++     Archive Section      Files Sent Bytes Sent    Files Sent Bytes Sent
++------------------------- ---------- ------------- ---------- ----------
+ .
+ 
+ format line2 =
+-@<<<<<<<<<<<<<<<<<<<<<<<< @>>>>>>>>> @>>>>>>>>>> @>>>>>>>   @>>>>>>>
+-$section,                 $files,    $bytes,     $pctfiles, $pctbytes
++@<<<<<<<<<<<<<<<<<<<<<<<< @>>>>>>>>> @>>>>>>>>>>>> @>>>>>>>   @>>>>>>>
++$section,                 $files,    $bytes,       $pctfiles, $pctbytes
+ .
+ 
+ $| = 1;
--- proftpd-dfsg-1.3.1.orig/debian/patches/tls-openssl-version.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/tls-openssl-version.dpatch
@@ -0,0 +1,30 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## tls-openssl-version.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_tls.c trunk/contrib/mod_tls.c
+--- trunk~/contrib/mod_tls.c	2007-10-09 23:45:04.000000000 +0200
++++ trunk/contrib/mod_tls.c	2007-10-18 16:56:31.000000000 +0200
+@@ -4466,8 +4466,10 @@
+ static int tls_init(void) {
+   int res = 0;
+ 
+-  /* Make sure that the OpenSSL headers used match the version of the
++  /* Check that the OpenSSL headers used match the version of the
+    * OpenSSL library used.
++   *
++   * For now, we only log if there is a difference.
+    */
+   if (SSLeay() != OPENSSL_VERSION_NUMBER) {
+     pr_log_pri(PR_LOG_ERR, MOD_TLS_VERSION
+@@ -4477,7 +4479,6 @@
+     tls_log("compiled using OpenSSL version '%s' headers, but linked to "
+       "OpenSSL version '%s' library", OPENSSL_VERSION_TEXT,
+       SSLeay_version(SSLEAY_VERSION));
+-    return -1;
+   }
+ 
+   /* Install our control channel NetIO handlers.  This is done here
--- proftpd-dfsg-1.3.1.orig/debian/patches/ftpasswd.cracklib.location.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/ftpasswd.cracklib.location.dpatch
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ftpasswd.cracklib.location.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad proftpd-1.2.10+1.3.0rc5~/contrib/ftpasswd proftpd-1.2.10+1.3.0rc5/contrib/ftpasswd
+--- proftpd-1.2.10+1.3.0rc5~/contrib/ftpasswd	2004-10-07 23:17:58.000000000 +0200
++++ proftpd-1.2.10+1.3.0rc5/contrib/ftpasswd	2006-03-22 22:08:32.000000000 +0100
+@@ -37,7 +37,8 @@
+ my $default_passwd_file = "./ftpd.passwd";
+ my $default_group_file = "./ftpd.group";
+ my $shell_file = "/etc/shells";
+-my $default_cracklib_dict = "/usr/lib/cracklib_dict";
++#my $default_cracklib_dict = "/usr/lib/cracklib_dict";
++my $default_cracklib_dict = "/var/cache/cracklib";
+ my $cracklib_dict;
+ my $output_file;
+ my $version = "1.1.3";
--- proftpd-dfsg-1.3.1.orig/debian/patches/3173fix.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/3173fix.dpatch
@@ -0,0 +1,47 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 3176.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad 1.3.1~/contrib/mod_sql_postgres.c 1.3.1/contrib/mod_sql_postgres.c
+--- 1.3.1~/contrib/mod_sql_postgres.c	2009-02-24 12:31:47.000000000 +0100
++++ 1.3.1/contrib/mod_sql_postgres.c	2009-02-24 12:32:18.000000000 +0100
+@@ -1152,6 +1152,8 @@
+   modret_t *cmr = NULL;
+   char *unescaped = NULL;
+   char *escaped = NULL;
++  int pgerr = 0;
++  size_t unescaped_len = 0;
+ 
+   sql_log(DEBUG_FUNC, "%s", "entering \tpostgres cmd_escapestring");
+ 
+@@ -1179,14 +1181,23 @@
+     return cmr;
+   }
+ 
+-  /* Note: the PQescapeString() function appeared in the C API as of
+-   * Postgres-7.2.
++  /* Note: I think PQescapeStringConn() appears in the C API as of
++   * Postgres-7.3, but I'm not sure.  The PQescapeString() function appeared
++   * in the C API as of Postgres-7.2.  The PG_VERSION_NUM macro appeared
++   * as of Postgres-8.2, hence why that is used as the proxy indicator of
++   * whether to use PQescapeString() or PQescapeStringConn().
+    */
++
+   unescaped = cmd->argv[1];
++  unescaped_len = strlen(unescaped);
+   escaped = (char *) pcalloc(cmd->tmp_pool, sizeof(char) *
+-    (strlen(unescaped) * 2) + 1);
++    (unescaped_len * 2) + 1);
+ 
+-  PQescapeString(escaped, unescaped, strlen(unescaped));
++  PQescapeStringConn(conn->postgres, escaped, unescaped, unescaped_len, &pgerr);
++  if (pgerr != 0) {
++    sql_log(DEBUG_FUNC, "%s", "exiting \tpostgres cmd_escapestring");
++    return _build_error(cmd, conn);
++  }
+ 
+   sql_log(DEBUG_FUNC, "%s", "exiting \tpostgres cmd_escapestring");
+   return mod_create_data(cmd, (void *) escaped);
--- proftpd-dfsg-1.3.1.orig/debian/patches/3094.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/3094.dpatch
@@ -0,0 +1,193 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 3094.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_tls.c trunk/contrib/mod_tls.c
+--- trunk~/contrib/mod_tls.c	2008-09-08 11:31:12.000000000 +0200
++++ trunk/contrib/mod_tls.c	2008-09-08 11:32:06.000000000 +0200
+@@ -410,6 +410,8 @@
+ /* SSL/TLS support functions */
+ static void tls_closelog(void);
+ static void tls_end_sess(SSL *, int, int);
++#define TLS_SHUTDOWN_BIDIRECTIONAL	0x0001
++
+ static void tls_fatal_error(int, int);
+ static const char *tls_get_errors(void);
+ static char *tls_get_page(size_t, void **);
+@@ -1109,7 +1111,7 @@
+     } else if (tls_renegotiate_required) {
+       tls_log("%s", "requested TLS renegotiation timed out on control channel");
+       tls_log("%s", "shutting down control channel TLS session");
+-      tls_end_sess(ctrl_ssl, PR_NETIO_STRM_CTRL, TRUE);
++      tls_end_sess(ctrl_ssl, PR_NETIO_STRM_CTRL, 0);
+       tls_ctrl_rd_nstrm->strm_data = tls_ctrl_wr_nstrm->strm_data =
+         ctrl_ssl = NULL;
+     }
+@@ -1125,8 +1127,7 @@
+     } else if (tls_renegotiate_required) {
+       tls_log("%s", "requested TLS renegotiation timed out on data channel");
+       tls_log("%s", "shutting down data channel TLS session");
+-      tls_end_sess((SSL *) tls_data_wr_nstrm->strm_data, PR_NETIO_STRM_DATA,
+-        TRUE);
++      tls_end_sess((SSL *) tls_data_wr_nstrm->strm_data, PR_NETIO_STRM_DATA, 0);
+       tls_data_rd_nstrm->strm_data = tls_data_wr_nstrm->strm_data = NULL;
+     }
+   }
+@@ -1697,8 +1698,7 @@
+ 
+     if (tls_handshake_timed_out) {
+       tls_log("TLS negotiation timed out (%u seconds)", tls_handshake_timeout);
+-      tls_end_sess(ssl, on_data ? PR_NETIO_STRM_DATA : PR_NETIO_STRM_CTRL,
+-        TRUE);
++      tls_end_sess(ssl, on_data ? PR_NETIO_STRM_DATA : PR_NETIO_STRM_CTRL, 0);
+       return -4;
+     }
+ 
+@@ -1744,8 +1744,7 @@
+         break;
+     }
+ 
+-    tls_end_sess(ssl, on_data ? PR_NETIO_STRM_DATA : PR_NETIO_STRM_CTRL,
+-      TRUE);
++    tls_end_sess(ssl, on_data ? PR_NETIO_STRM_DATA : PR_NETIO_STRM_CTRL, 0);
+     return -3;
+   }
+ 
+@@ -1855,42 +1854,34 @@
+   }
+ }
+ 
+-static void tls_end_sess(SSL *ssl, int strms, int use_shutdown) {
+-  int res;
++static void tls_end_sess(SSL *ssl, int strms, int flags) {
++  int res = 0;
+   int shutdown_state;
+ 
+   if (!ssl)
+     return;
+ 
+-  res = SSL_shutdown(ssl);
+-  if (res == 0) {
+-    if (use_shutdown) {
+-      /* Try calling SSL_shutdown() again.  First, though, send a TCP FIN
+-       * to trigger the remote end's close_notify SSL message, via shutdown().
+-       */
+-      if (strms & PR_NETIO_STRM_CTRL) {
+-        pr_netio_shutdown(session.c->outstrm, 1);
++  /* A 'close_notify' alert (SSL shutdown message) may have been previously
++   * sent to the client via tls_netio_shutdown_cb().
++   */
+ 
+-        if (session.c->instrm != session.c->outstrm)
+-          pr_netio_shutdown(session.c->instrm, 1);
+-      }
++  shutdown_state = SSL_get_shutdown(ssl);
++  if (!(shutdown_state & SSL_SENT_SHUTDOWN)) {
++    /* 'close_notify' not already sent; send it now. */
++    res = SSL_shutdown(ssl);
++  }
+ 
+-      if (strms & PR_NETIO_STRM_DATA) {
+-        pr_netio_shutdown(session.d->outstrm, 1);
++  if (res == 0) {
++    /* Now call SSL_shutdown() again, but only if necessary. */
++    if (flags & TLS_SHUTDOWN_BIDIRECTIONAL) {
++      shutdown_state = SSL_get_shutdown(ssl);
+ 
+-        if (session.d->instrm != session.d->outstrm)
+-          pr_netio_shutdown(session.d->instrm, 1);
++      res = 1;
++      if (!(shutdown_state & SSL_RECEIVED_SHUTDOWN)) {
++        res = SSL_shutdown(ssl);
+       }
+     }
+ 
+-    shutdown_state = SSL_get_shutdown(ssl);
+-
+-    /* Now call SSL_shutdown() again, but only if necessary. */
+-    res = 1;
+-    if (!(shutdown_state & SSL_RECEIVED_SHUTDOWN)) {
+-      res = SSL_shutdown(ssl);
+-    }
+-
+     if (res == 0) {
+       int err = SSL_get_error(ssl, res);
+ 
+@@ -1917,7 +1908,8 @@
+           if (errno != 0 &&
+               errno != EOF &&
+               errno != EBADF &&
+-              errno != EPIPE) {
++              errno != EPIPE &&
++              errno != EPERM) {
+             tls_log("SSL_shutdown syscall error: %s", strerror(errno));
+             pr_log_debug(DEBUG0, MOD_TLS_VERSION
+               ": SSL_shutdown syscall error: %s", strerror(errno));
+@@ -3069,7 +3061,7 @@
+ 
+     if (nstrm->strm_type == PR_NETIO_STRM_CTRL &&
+         nstrm->strm_mode == PR_NETIO_IO_WR) {
+-      tls_end_sess((SSL *) nstrm->strm_data, nstrm->strm_type, TRUE);
++      tls_end_sess((SSL *) nstrm->strm_data, nstrm->strm_type, 0);
+       tls_ctrl_rd_nstrm->strm_data = tls_ctrl_wr_nstrm->strm_data =
+         nstrm->strm_data = NULL;
+       tls_ctrl_netio = NULL;
+@@ -3078,7 +3070,7 @@
+ 
+     if (nstrm->strm_type == PR_NETIO_STRM_DATA &&
+         nstrm->strm_mode == PR_NETIO_IO_WR) {
+-      tls_end_sess((SSL *) nstrm->strm_data, nstrm->strm_type, TRUE);
++      tls_end_sess((SSL *) nstrm->strm_data, nstrm->strm_type, 0);
+       tls_data_rd_nstrm->strm_data = tls_data_wr_nstrm->strm_data =
+         nstrm->strm_data = NULL;
+       tls_data_netio = NULL;
+@@ -3189,7 +3181,7 @@
+           X509_free(data_cert);
+ 
+           /* Properly shutdown the SSL session. */
+-          tls_end_sess((SSL *) nstrm->strm_data, nstrm->strm_type, TRUE);
++          tls_end_sess((SSL *) nstrm->strm_data, nstrm->strm_type, 0);
+ 
+           tls_data_rd_nstrm->strm_data = tls_data_wr_nstrm->strm_data =
+             nstrm->strm_data = NULL;
+@@ -3245,6 +3237,28 @@
+ }
+ 
+ static int tls_netio_shutdown_cb(pr_netio_stream_t *nstrm, int how) {
++
++  if (how != 0) {
++    /* Closing this stream for writing; we need to send the 'close_notify'
++     * alert first, so that the client knows, at the application layer,
++     * that the SSL/TLS session is shutting down.
++     */
++
++    if (nstrm->strm_mode == PR_NETIO_IO_WR &&
++        (nstrm->strm_type == PR_NETIO_STRM_CTRL ||
++         nstrm->strm_type == PR_NETIO_STRM_DATA)) {
++      SSL *ssl;
++
++      ssl = (SSL *) nstrm->strm_data;
++      if (ssl) {
++        if (!(SSL_get_shutdown(ssl) & SSL_SENT_SHUTDOWN)) {
++          /* We haven't sent a 'close_notify' alert yet; do so now. */
++          SSL_shutdown(ssl);
++        }
++      }
++    }
++  }
++
+   return shutdown(nstrm->strm_fd, how);
+ }
+ 
+@@ -3664,7 +3678,7 @@
+    * The data channel, if protected, should remain so.
+    */
+ 
+-  tls_end_sess(ctrl_ssl, PR_NETIO_STRM_CTRL, FALSE);
++  tls_end_sess(ctrl_ssl, PR_NETIO_STRM_CTRL, TLS_SHUTDOWN_BIDIRECTIONAL);
+   ctrl_ssl = tls_ctrl_rd_nstrm->strm_data = tls_ctrl_wr_nstrm->strm_data = NULL;
+ 
+   /* Remove our NetIO for the control channel. */
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_cap.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_cap.dpatch
@@ -0,0 +1,35 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_cap.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/lib/libcap/Makefile trunk/lib/libcap/Makefile
+--- trunk~/lib/libcap/Makefile	2008-05-07 11:36:04.000000000 +0200
++++ trunk/lib/libcap/Makefile	2008-05-07 11:38:20.000000000 +0200
+@@ -23,7 +23,7 @@
+ INCLS=libcap.h cap_names.h $(INCS)
+ OBJS=$(addsuffix .o, $(FILES))
+ 
+-all: $(LIBNAME)
++all: 
+ 
+ _makenames: _makenames.c cap_names.sed
+ 	$(CC) $(CFLAGS) $(LDFLAGS) $< -o $@
+diff -urNad trunk~/modules/mod_cap.c trunk/modules/mod_cap.c
+--- trunk~/modules/mod_cap.c	2008-05-07 11:36:24.000000000 +0200
++++ trunk/modules/mod_cap.c	2008-05-07 11:38:05.000000000 +0200
+@@ -42,10 +42,8 @@
+ #  define _LINUX_BYTEORDER_GENERIC_H
+ # endif
+ 
+-# ifdef HAVE_LINUX_CAPABILITY_H
+-#  include <linux/capability.h>
+-# endif /* HAVE_LINUX_CAPABILITY_H */
+-# include "../lib/libcap/include/sys/capability.h"
++#include <linux/capability.h>
++#include <sys/capability.h>
+ 
+ /* What are these for? */
+ # undef WNOHANG
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_xfer.c.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_xfer.c.dpatch
@@ -0,0 +1,26 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_xfer.c.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/modules/mod_xfer.c trunk/modules/mod_xfer.c
+--- trunk~/modules/mod_xfer.c	2007-10-09 23:45:03.000000000 +0200
++++ trunk/modules/mod_xfer.c	2007-10-10 00:09:12.000000000 +0200
+@@ -1703,10 +1703,12 @@
+ 
+   fmode = file_mode(dir);
+ 
++  if(!fmode) {
++      pr_response_add_err(R_550,"%s: %s",cmd->arg,strerror(errno));
++      return PR_ERROR(cmd);
++  }
++ 
+   if (!S_ISREG(fmode)) {
+-    if (!fmode)
+-      pr_response_add_err(R_550, "%s: %s", cmd->arg, strerror(errno));
+-    else
+       pr_response_add_err(R_550, _("%s: Not a regular file"), cmd->arg);
+     return PR_ERROR(cmd);
+   }
--- proftpd-dfsg-1.3.1.orig/debian/patches/authoritative_pam.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/authoritative_pam.dpatch
@@ -0,0 +1,39 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## authoritative_pam.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/src/auth.c trunk/src/auth.c
+--- trunk~/src/auth.c	2007-10-09 23:44:52.000000000 +0200
++++ trunk/src/auth.c	2007-10-15 23:15:11.000000000 +0200
+@@ -528,6 +528,28 @@
+       return res;
+     }
+ 
++    if (MODRET_ISERROR(mr)) {
++      res = MODRET_ERROR(mr);
++
++      if (cmd->tmp_pool) {
++        destroy_pool(cmd->tmp_pool);
++        cmd->tmp_pool = NULL;
++      }
++
++      return res;
++    }
++
++    if (MODRET_ISERROR(mr)) {
++      res = MODRET_ERROR(mr);
++
++      if (cmd->tmp_pool) {
++        destroy_pool(cmd->tmp_pool);
++        cmd->tmp_pool = NULL;
++      }
++
++      return res;
++    }
++
+     m = NULL;
+   }
+ 
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_delay.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_delay.dpatch
@@ -0,0 +1,99 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_delay.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/modules/mod_delay.c trunk/modules/mod_delay.c
+--- trunk~/modules/mod_delay.c	2007-10-09 23:45:03.000000000 +0200
++++ trunk/modules/mod_delay.c	2008-02-20 10:58:19.000000000 +0100
+@@ -388,12 +388,17 @@
+     MAP_SHARED, delay_tab.dt_fd, 0);
+ 
+   if (delay_tab.dt_data == MAP_FAILED) {
++    delay_tab.dt_data = NULL;
++
+     pr_log_pri(PR_LOG_ERR, MOD_DELAY_VERSION
+       ": error mapping DelayTable '%s' into memory: %s", delay_tab.dt_path,
+       strerror(errno));
+     pr_trace_msg("delay", 1, "error mapping DelayTable '%s' into memory: %s",
+       delay_tab.dt_path, strerror(errno));
++
+     pr_fsio_close(fh);
++    delay_tab.dt_fd = -1;
++
+     return -1;
+   }
+ 
+@@ -492,6 +497,7 @@
+   }
+ 
+   delay_tab.dt_data = NULL;
++  delay_tab.dt_fd = -1;
+ 
+   if (pr_fsio_close(fh) < 0) {
+     pr_log_pri(PR_LOG_WARNING, MOD_DELAY_VERSION
+@@ -502,7 +508,6 @@
+     return -1;
+   }
+ 
+-  delay_tab.dt_fd = -1;
+   return 0;
+ }
+ 
+@@ -527,15 +532,17 @@
+     }
+   }
+ 
+-  if (!delay_tab.dt_data) {
++  if (delay_tab.dt_data == NULL) {
+     pr_trace_msg("delay", 8, "mapping DelayTable '%s' (%" PR_LU
+       " bytes, fd %d) into memory", delay_tab.dt_path,
+       (pr_off_t) delay_tab.dt_size, delay_tab.dt_fd);
+     delay_tab.dt_data = mmap(NULL, delay_tab.dt_size, PROT_READ|PROT_WRITE,
+       MAP_SHARED, delay_tab.dt_fd, 0);
+ 
+-    if (delay_tab.dt_data == MAP_FAILED)
++    if (delay_tab.dt_data == MAP_FAILED) {
++      delay_tab.dt_data = NULL;
+       return -1;
++    }
+   }
+ 
+   return 0;
+@@ -947,7 +954,7 @@
+   /* Prepare for manipulating the table. */
+   if (delay_table_load(FALSE) < 0) {
+     pr_log_pri(PR_LOG_WARNING, MOD_DELAY_VERSION
+-      "warning: unable to load DelayTable '%s' into memory: %s",
++      ": unable to load DelayTable '%s' into memory: %s",
+       delay_tab.dt_path, strerror(errno));
+     pr_trace_msg("delay", 1, "unable to load DelayTable '%s' into memory: %s",
+       delay_tab.dt_path, strerror(errno));
+@@ -1020,7 +1027,7 @@
+   /* Prepare for manipulating the table. */
+   if (delay_table_load(FALSE) < 0) {
+     pr_log_pri(PR_LOG_WARNING, MOD_DELAY_VERSION
+-      "warning: unable to load DelayTable '%s' into memory: %s",
++      ": unable to load DelayTable '%s' into memory: %s",
+       delay_tab.dt_path, strerror(errno));
+     pr_trace_msg("delay", 1, "unable to load DelayTable '%s' into memory: %s",
+       delay_tab.dt_path, strerror(errno));
+@@ -1112,7 +1119,7 @@
+ 
+     errno = xerrno;
+     pr_log_pri(PR_LOG_WARNING, MOD_DELAY_VERSION
+-      "warning: unable to load DelayTable '%s' into memory: %s",
++      ": unable to load DelayTable '%s' into memory: %s",
+       delay_tab.dt_path, strerror(errno));
+     pr_trace_msg("delay", 1, "unable to load DelayTable '%s' into memory: %s",
+       delay_tab.dt_path, strerror(errno));
+@@ -1135,6 +1142,7 @@
+       strerror(errno));
+   }
+ 
++  delay_tab.dt_fd = -1;
+   if (pr_fsio_close(fh) < 0) {
+     pr_log_pri(PR_LOG_WARNING, MOD_DELAY_VERSION
+       ": warning: error writing DelayTable '%s': %s", delay_tab.dt_path,
--- proftpd-dfsg-1.3.1.orig/debian/patches/00list
+++ proftpd-dfsg-1.3.1/debian/patches/00list
@@ -0,0 +1,31 @@
+autotools
+change_pam_name
+xferstats.holger-preiss
+mod_xfer.c
+ftpasswd.cracklib.location
+quotatab_modules
+mod_sql_mysql.c
+core_create-home
+mod_wrap_noparanoid
+mode_t
+authoritative_pam
+mod_wrap2_file
+auth-id-cache
+tls-openssl-version
+sql_timer_cb
+ip_acl_fix
+class_rules_fix
+check_order
+mod_delay
+ftpstats
+mod_quotatab_sql
+mod_cap
+mod_dynmasq
+pam_auth
+mod_ldap.c
+3094
+3115
+3173
+3124
+3173fix
+3176
--- proftpd-dfsg-1.3.1.orig/debian/patches/auth-id-cache.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/auth-id-cache.dpatch
@@ -0,0 +1,317 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## auth-id-cache.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/include/auth.h trunk/include/auth.h
+--- trunk~/include/auth.h	2007-10-09 23:45:03.000000000 +0200
++++ trunk/include/auth.h	2007-10-16 00:30:38.000000000 +0200
+@@ -85,6 +85,11 @@
+  */
+ config_rec *pr_auth_get_anon_config(pool *p, char **, char **, char **);
+ 
++/* Enable caching of certain data within the Auth API. */
++int pr_auth_cache_set(int, unsigned int);
++#define PR_AUTH_CACHE_FL_UID2NAME	0x00001
++#define PR_AUTH_CACHE_FL_GID2NAME	0x00002
++
+ /* For internal use only. */
+ int init_auth(void);
+ int set_groups(pool *, gid_t, array_header *);
+diff -urNad trunk~/modules/mod_auth_file.c trunk/modules/mod_auth_file.c
+--- trunk~/modules/mod_auth_file.c	2007-10-09 23:45:03.000000000 +0200
++++ trunk/modules/mod_auth_file.c	2007-10-16 00:30:38.000000000 +0200
+@@ -1139,11 +1139,13 @@
+   c = find_config(main_server->conf, CONF_PARAM, "AuthUserFile", FALSE);
+   if (c) {
+     af_user_file = c->argv[0];
++    pr_auth_cache_set(1, PR_AUTH_CACHE_FL_UID2NAME);
+   }
+ 
+   c = find_config(main_server->conf, CONF_PARAM, "AuthGroupFile", FALSE);
+   if (c) {
+     af_group_file = c->argv[0];
++    pr_auth_cache_set(1, PR_AUTH_CACHE_FL_GID2NAME);
+   }
+ 
+   return 0;
+diff -urNad trunk~/src/auth.c trunk/src/auth.c
+--- trunk~/src/auth.c	2007-10-16 00:29:55.000000000 +0200
++++ trunk/src/auth.c	2007-10-16 00:30:38.000000000 +0200
+@@ -31,9 +31,43 @@
+ #include "conf.h"
+ 
+ static pool *auth_pool = NULL;
+-static pr_table_t *auth_tab = NULL;
++static pr_table_t *auth_tab = NULL, *uid_tab = NULL, *gid_tab = NULL;
+ static const char *trace_channel = "auth";
+ 
++static unsigned int auth_caching = 0;
++
++/* Key comparison callback for the uidcache and gidcache. */
++static int uid_keycmp_cb(const void *key1, size_t keysz1,
++    const void *key2, size_t keysz2) {
++  return memcmp(key1, key2, sizeof(uid_t));
++}
++
++static int gid_keycmp_cb(const void *key1, size_t keysz1,
++    const void *key2, size_t keysz2) {
++  return memcmp(key1, key2, sizeof(gid_t));
++}
++
++/* Key "hash" callback for the uidcache and gidcache. */
++static unsigned int uid_hash_cb(const void *key, size_t keysz) {
++  uid_t u;
++  unsigned int res;
++
++  memcpy(&u, key, keysz);
++  res = (unsigned int) (u << 8);
++
++  return res;
++}
++
++static unsigned int gid_hash_cb(const void *key, size_t keysz) {
++  gid_t g;
++  unsigned int res;
++
++  memcpy(&g, key, keysz);
++  res = (unsigned int) (g << 8);
++
++  return res;
++}
++
+ /* The difference between this function, and pr_cmd_alloc(), is that this
+  * allocates the cmd_rec directly from the given pool, whereas pr_cmd_alloc()
+  * will allocate a subpool from the given pool, and allocate its cmd_rec
+@@ -285,7 +319,8 @@
+     return NULL;
+   }
+ 
+-  if (!auth_tab && auth_pool) {
++  if (!auth_tab &&
++       auth_pool) {
+     auth_tab = pr_table_alloc(auth_pool, 0);
+   }
+ 
+@@ -609,13 +644,87 @@
+ 
+   memset(namebuf, '\0', sizeof(namebuf));
+ 
++  if ((auth_caching & PR_AUTH_CACHE_FL_UID2NAME) &&
++      !uid_tab &&
++      auth_pool) {
++    int ok = TRUE;
++    uid_tab = pr_table_alloc(auth_pool, 0);
++
++    if (pr_table_ctl(uid_tab, PR_TABLE_CTL_SET_KEY_CMP, uid_keycmp_cb) < 0) {
++      pr_trace_msg(trace_channel, 2,
++        "error setting key comparison callback for uidcache: %s",
++        strerror(errno));
++      ok = FALSE;
++    }
++
++    if (pr_table_ctl(uid_tab, PR_TABLE_CTL_SET_KEY_HASH, uid_hash_cb) < 0) {
++      pr_trace_msg(trace_channel, 2,
++        "error setting key hash callback for uidcache: %s",
++        strerror(errno));
++      ok = FALSE;
++    }
++
++    if (!ok) {
++      pr_trace_msg(trace_channel, 2, "%s",
++        "destroying unusable uidcache table");
++      pr_table_free(uid_tab);
++      uid_tab = NULL;
++    }
++  }
++
++  if (uid_tab) {
++    void *v = NULL;
++
++    /* A hack to clear any cached pointers within the Table API.*/
++    (void) pr_table_kget(uid_tab, NULL, 0, NULL);
++
++    v = pr_table_kget(uid_tab, (const void *) &uid, sizeof(uid_t), NULL);
++    if (v) {
++      sstrncpy(namebuf, v, sizeof(namebuf));
++
++      pr_trace_msg(trace_channel, 8,
++        "using name '%s' from uidcache for UID %lu", namebuf,
++        (unsigned long) uid);
++ 
++      res = namebuf;
++      return res;
++
++    } else {
++      pr_trace_msg(trace_channel, 9,
++        "no value found in uidcache for UID %lu: %s", (unsigned long) uid,
++        strerror(errno));
++    }
++  }
++
+   cmd = make_cmd(p, 1, (void *) &uid);
+   mr = dispatch_auth(cmd, "uid2name", NULL);
+ 
+-  if (MODRET_ISHANDLED(mr) && MODRET_HASDATA(mr)) {
++  if (MODRET_ISHANDLED(mr) &&
++      MODRET_HASDATA(mr)) {
+     res = mr->data;
+     sstrncpy(namebuf, res, sizeof(namebuf));
+     res = namebuf;
++
++    if (uid_tab) {
++      int count;
++
++      (void) pr_table_rewind(uid_tab);
++      count = pr_table_kexists(uid_tab, (const void *) &uid, sizeof(uid_t));
++      if (count <= 0) {
++        if (pr_table_kadd(uid_tab, (const void *) &uid, sizeof(uid_t),
++            pstrdup(auth_pool, res), strlen(res) + 1) < 0 &&
++            errno != EEXIST) {
++          pr_trace_msg(trace_channel, 3,
++            "error adding name '%s' for UID %lu to the uidcache: %s",
++            res, (unsigned long) uid, strerror(errno));
++
++        } else {
++          pr_trace_msg(trace_channel, 5,
++            "stashed name '%s' for UID %lu in the uidcache", res,
++            (unsigned long) uid);
++        }
++      }
++    }
+   }
+ 
+   if (cmd->tmp_pool) {
+@@ -634,13 +743,88 @@
+ 
+   memset(namebuf, '\0', sizeof(namebuf));
+ 
++  if ((auth_caching & PR_AUTH_CACHE_FL_GID2NAME) &&
++      !gid_tab &&
++      auth_pool) {
++    int ok = TRUE;
++
++    gid_tab = pr_table_alloc(auth_pool, 0);
++
++    if (pr_table_ctl(gid_tab, PR_TABLE_CTL_SET_KEY_CMP, gid_keycmp_cb) < 0) {
++      pr_trace_msg(trace_channel, 2,
++        "error setting key comparison callback for gidcache: %s",
++        strerror(errno));
++      ok = FALSE;
++    }
++
++    if (pr_table_ctl(gid_tab, PR_TABLE_CTL_SET_KEY_HASH, gid_hash_cb) < 0) {
++      pr_trace_msg(trace_channel, 2,
++        "error setting key hash callback for gidcache: %s",
++        strerror(errno));
++      ok = FALSE;
++    }
++
++    if (!ok) {
++      pr_trace_msg(trace_channel, 2, "%s",
++        "destroying unusable gidcache table");
++      pr_table_free(gid_tab);
++      gid_tab = NULL;
++    }
++  }
++
++  if (gid_tab) {
++    void *v = NULL;
++ 
++    /* A hack to clear any cached pointers within the Table API.*/
++    (void) pr_table_kget(gid_tab, NULL, 0, NULL);
++
++    v = pr_table_kget(gid_tab, (const void *) &gid, sizeof(gid_t), NULL);
++    if (v) {
++      sstrncpy(namebuf, v, sizeof(namebuf));
++
++      pr_trace_msg(trace_channel, 8,
++        "using name '%s' from gidcache for GID %lu", namebuf,
++        (unsigned long) gid);
++
++      res = namebuf;
++      return res;
++
++    } else {
++      pr_trace_msg(trace_channel, 9,
++        "no value found in gidcache for GID %lu: %s", (unsigned long) gid,
++        strerror(errno));
++    }
++  }
++
+   cmd = make_cmd(p, 1, (void *) &gid);
+   mr = dispatch_auth(cmd, "gid2name", NULL);
+ 
+-  if (MODRET_ISHANDLED(mr) && MODRET_HASDATA(mr)) {
++  if (MODRET_ISHANDLED(mr) &&
++      MODRET_HASDATA(mr)) {
+     res = mr->data;
+     sstrncpy(namebuf, res, sizeof(namebuf));
+     res = namebuf;
++
++    if (gid_tab) {
++      int count;
++
++      (void) pr_table_rewind(gid_tab);
++      count = pr_table_kexists(gid_tab, (const void *) &gid, sizeof(gid_t));
++      if (count <= 0) {
++        if (pr_table_kadd(gid_tab, (const void *) &gid, sizeof(gid_t),
++            pstrdup(auth_pool, res), strlen(res) + 1) < 0 &&
++            errno != EEXIST) {
++          pr_trace_msg(trace_channel, 3,
++            "error adding name '%s' for GID %lu to the gidcache: %s",
++            res, (unsigned long) gid, strerror(errno));
++
++        } else {
++          pr_trace_msg(trace_channel, 5,
++            "stashed name '%s' for GID %lu in the uidcache", res,
++            (unsigned long) gid);
++        }
++      }
++    }
+   }
+ 
+   if (cmd->tmp_pool) {
+@@ -1004,6 +1188,40 @@
+   return res;
+ }
+ 
++int pr_auth_cache_set(int bool, unsigned int flags) {
++  if (bool != 0 &&
++      bool != 1) {
++    errno = EINVAL;
++    return -1;
++  }
++
++  if (bool == 0) {
++    if (flags & PR_AUTH_CACHE_FL_UID2NAME) {
++      auth_caching &= ~PR_AUTH_CACHE_FL_UID2NAME;
++      pr_trace_msg(trace_channel, 7, "UID-to-name caching (uidcache) disabled");
++    }
++
++    if (flags & PR_AUTH_CACHE_FL_GID2NAME) {
++      auth_caching &= ~PR_AUTH_CACHE_FL_GID2NAME;
++      pr_trace_msg(trace_channel, 7, "GID-to-name caching (gidcache) disabled");
++    }
++  }
++
++  if (bool == 1) {
++    if (flags & PR_AUTH_CACHE_FL_UID2NAME) {
++      auth_caching |= PR_AUTH_CACHE_FL_UID2NAME;
++      pr_trace_msg(trace_channel, 7, "UID-to-name caching (uidcache) enabled");
++    }
++
++    if (flags & PR_AUTH_CACHE_FL_GID2NAME) {
++      auth_caching |= PR_AUTH_CACHE_FL_GID2NAME;
++      pr_trace_msg(trace_channel, 7, "GID-to-name caching (gidcache) enabled");
++    }
++  }
++
++  return 0;
++}
++
+ /* Internal use only.  To be called in the session process. */
+ int init_auth(void) {
+   auth_pool = make_sub_pool(permanent_pool);
--- proftpd-dfsg-1.3.1.orig/debian/patches/change_pam_name.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/change_pam_name.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## change_pam_name.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./modules/mod_auth_pam.c /tmp/dpep-work.jZHh8Y/proftpd-1.2.10+1.3.0rc1-1/modules/mod_auth_pam.c
+--- ./modules/mod_auth_pam.c	2004-11-03 17:53:35.000000000 +0100
++++ /tmp/dpep-work.jZHh8Y/proftpd-1.2.10+1.3.0rc1-1/modules/mod_auth_pam.c	2005-06-13 11:15:45.000000000 +0200
+@@ -64,7 +64,7 @@
+ module auth_pam_module;
+ 
+ static pam_handle_t *	pamh			= NULL;
+-static char *		pamconfig		= "ftp";
++static char *		pamconfig		= "proftpd";
+ static char *		pam_user 		= NULL;
+ static char *		pam_pass 		= NULL;
+ static size_t		pam_user_len		= 0;
--- proftpd-dfsg-1.3.1.orig/debian/patches/3124.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/3124.dpatch
@@ -0,0 +1,99 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 3124.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad 1.3.1~/contrib/mod_sql.c 1.3.1/contrib/mod_sql.c
+--- 1.3.1~/contrib/mod_sql.c	2009-02-09 10:13:01.000000000 +0100
++++ 1.3.1/contrib/mod_sql.c	2009-02-22 22:41:42.000000000 +0100
+@@ -1206,7 +1206,6 @@
+       return NULL;
+ 
+     username = (char *) mr->data;
+-
+     usrwhere = pstrcat(cmd->tmp_pool, cmap.usrfield, "='", username, "'", NULL);
+ 
+     sql_log(DEBUG_WARN, "cache miss for user '%s'", realname);
+@@ -1231,7 +1230,8 @@
+   }
+ 
+   if (!cmap.usercustom) { 
+-    where = sql_prepare_where(0, cmd, 2, usrwhere, cmap.userwhere, NULL);
++    where = sql_prepare_where(SQL_PREPARE_WHERE_FL_NO_TAGS, cmd, 2, usrwhere,
++      sql_prepare_where(0, cmd, 1, cmap.userwhere, NULL), NULL);
+ 
+     mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 5, "default",
+       cmap.usrtable, cmap.usrfields, where, "1"), "sql_select");
+@@ -1457,7 +1457,8 @@
+       return NULL;
+     }
+ 
+-    where = sql_prepare_where(0, cmd, 2, grpwhere, cmap.groupwhere, NULL);
++    where = sql_prepare_where(SQL_PREPARE_WHERE_FL_NO_TAGS, cmd, 2, grpwhere,
++      sql_prepare_where(0, cmd, 1, cmap.groupwhere, NULL), NULL);
+ 
+     mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 5, "default",
+       cmap.grptable, cmap.grpfield, where, "1"), "sql_select");
+@@ -1476,7 +1477,8 @@
+   grpwhere = pstrcat(cmd->tmp_pool, cmap.grpfield, " = '", groupname, "'",
+     NULL);
+ 
+-  where = sql_prepare_where(0, cmd, 2, grpwhere, cmap.groupwhere, NULL);
++  where = sql_prepare_where(SQL_PREPARE_WHERE_FL_NO_TAGS, cmd, 2, grpwhere,
++    sql_prepare_where(0, cmd, 1, cmap.groupwhere, NULL), NULL);
+ 
+   mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 4, "default",
+     cmap.grptable, cmap.grpfields, where), "sql_select");
+@@ -1551,7 +1553,8 @@
+   usrwhere = pstrcat(cmd->tmp_pool, cmap.usrfield, " = '", _sql_realuser(cmd),
+     "'", NULL);
+ 
+-  where = sql_prepare_where(0, cmd, 2, usrwhere, cmap.userwhere, NULL);
++  where = sql_prepare_where(SQL_PREPARE_WHERE_FL_NO_TAGS, cmd, 2, usrwhere,
++    sql_prepare_where(0, cmd, 1, cmap.userwhere, NULL), NULL);
+ 
+   mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 4, "default", cmap.usrtable,
+     query, where), "sql_update");
+@@ -1742,7 +1745,9 @@
+ 
+   if (strlen(tag) > 5 &&
+       strncmp(tag, "env:", 4) == 0) {
+-    char *env = pr_env_get(cmd->pool, tag + 4);
++    char *env;
++
++    env = pr_env_get(cmd->pool, tag + 4);
+     return pstrdup(cmd->tmp_pool, env ? env : "");
+   }
+ 
+@@ -2137,6 +2142,7 @@
+ 
+         } else {
+           argp = resolve_short_tag(cmd, *tmp);
++
+           mr = _sql_dispatch(_sql_make_cmd(cmd->tmp_pool, 2, "default",
+             argp), "sql_escapestring");
+           if (check_response(mr) < 0)
+@@ -3619,8 +3625,9 @@
+   usrwhere = pstrcat(cmd->tmp_pool, cmap.usrfield, " = '", _sql_realuser(cmd),
+     "'", NULL);
+ 
+-  where = sql_prepare_where(0, cmd, 2, usrwhere, cmap.userwhere, NULL);
+- 
++  where = sql_prepare_where(SQL_PREPARE_WHERE_FL_NO_TAGS, cmd, 2, usrwhere,
++    sql_prepare_where(0, cmd, 1, cmap.userwhere, NULL), NULL);
++
+   query = pstrcat(cmd->tmp_pool, cmap.sql_fstor, ", ",
+ 		  cmap.sql_fretr, ", ", cmap.sql_bstor, ", ",
+ 		  cmap.sql_bretr, NULL);
+@@ -3654,7 +3661,8 @@
+   usrwhere = pstrcat(cmd->tmp_pool, cmap.usrfield, " = '", _sql_realuser(cmd),
+     "'", NULL);
+ 
+-  where = sql_prepare_where(0, cmd, 2, usrwhere, cmap.userwhere, NULL);
++  where = sql_prepare_where(SQL_PREPARE_WHERE_FL_NO_TAGS, cmd, 2, usrwhere,
++    sql_prepare_where(0, cmd, 1, cmap.userwhere, NULL), NULL);
+ 
+   query = pstrcat(cmd->tmp_pool, cmap.sql_frate, ", ",
+ 		  cmap.sql_fcred, ", ", cmap.sql_brate, ", ",
--- proftpd-dfsg-1.3.1.orig/debian/patches/sql_timer_cb.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/sql_timer_cb.dpatch
@@ -0,0 +1,141 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## sql_timer_cb.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_sql_mysql.c trunk/contrib/mod_sql_mysql.c
+--- trunk~/contrib/mod_sql_mysql.c	2008-01-07 09:50:59.000000000 +0100
++++ trunk/contrib/mod_sql_mysql.c	2008-01-07 09:53:06.000000000 +0100
+@@ -1,7 +1,7 @@
+ /*
+  * ProFTPD: mod_sql_mysql -- Support for connecting to MySQL databases.
+  * Copyright (c) 2001 Andrew Houghton
+- * Copyright (c) 2004-2007 TJ Saunders
++ * Copyright (c) 2004-2008 TJ Saunders
+  *  
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -265,17 +265,16 @@
+ }
+ 
+ /*
+- * _sql_timer_callback: when a timer goes off, this is the function
+- *  that gets called.  This function makes assumptions about the 
+- *  db_conn_t members.
++ * sql_timer_cb: when a timer goes off, this is the function that gets called.
++ * This function makes assumptions about the db_conn_t members.
+  */
+-static int _sql_timer_callback(CALLBACK_FRAME) {
++static int sql_timer_cb(CALLBACK_FRAME) {
+   conn_entry_t *entry = NULL;
+-  int cnt = 0;
++  int i = 0;
+   cmd_rec *cmd = NULL;
+  
+-  for (cnt=0; cnt < conn_cache->nelts; cnt++) {
+-    entry = ((conn_entry_t **) conn_cache->elts)[cnt];
++  for (i = 0; i < conn_cache->nelts; i++) {
++    entry = ((conn_entry_t **) conn_cache->elts)[i];
+ 
+     if (entry->timer == p2) {
+       sql_log(DEBUG_INFO, "timer expired for connection '%s'", entry->name);
+@@ -447,7 +446,7 @@
+   /* set up our timer if necessary */
+   if (entry->ttl > 0) {
+     entry->timer = pr_timer_add(entry->ttl, -1, &sql_mysql_module,
+-      _sql_timer_callback);
++      sql_timer_cb);
+     sql_log(DEBUG_INFO, "connection '%s' - %d second timer started",
+       entry->name, entry->ttl);
+ 
+@@ -1229,6 +1228,7 @@
+ MODRET cmd_escapestring(cmd_rec * cmd) {
+   conn_entry_t *entry = NULL;
+   db_conn_t *conn = NULL;
++  modret_t *cmr = NULL;
+   char *unescaped = NULL;
+   char *escaped = NULL;
+ 
+@@ -1250,6 +1250,13 @@
+ 
+   conn = (db_conn_t *) entry->data;
+ 
++  /* Make sure the connection is open. */
++  cmr = cmd_open(cmd);
++  if (MODRET_ERROR(cmr)) {
++    sql_log(DEBUG_FUNC, "%s", "existing \tmysql cmd_escapestring");
++    return cmr;
++  }
++
+   unescaped = cmd->argv[1];
+   escaped = (char *) pcalloc(cmd->tmp_pool, sizeof(char) *
+     (strlen(unescaped) * 2) + 1);
+diff -urNad trunk~/contrib/mod_sql_postgres.c trunk/contrib/mod_sql_postgres.c
+--- trunk~/contrib/mod_sql_postgres.c	2007-10-09 23:45:04.000000000 +0200
++++ trunk/contrib/mod_sql_postgres.c	2008-01-07 09:53:39.000000000 +0100
+@@ -2,7 +2,7 @@
+  * ProFTPD: mod_sql_postgres -- Support for connecting to Postgres databases.
+  * Time-stamp: <1999-10-04 03:21:21 root>
+  * Copyright (c) 2001 Andrew Houghton
+- * Copyright (c) 2004-2007 TJ Saunders
++ * Copyright (c) 2004-2008 TJ Saunders
+  *  
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -168,17 +168,16 @@
+ }
+ 
+ /*
+- * _sql_timer_callback: when a timer goes off, this is the function
+- *  that gets called.  This function makes assumptions about the 
+- *  db_conn_t members.
++ * sql_timer_cb: when a timer goes off, this is the function that gets called.
++ * This function makes assumptions about the db_conn_t members.
+  */
+-static int _sql_timer_callback(CALLBACK_FRAME) {
++static int sql_timer_cb(CALLBACK_FRAME) {
+   conn_entry_t *entry = NULL;
+-  int cnt = 0;
++  int i = 0;
+   cmd_rec *cmd = NULL;
+  
+-  for (cnt=0; cnt < conn_cache->nelts; cnt++) {
+-    entry = ((conn_entry_t **) conn_cache->elts)[cnt];
++  for (i = 0; i < conn_cache->nelts; i++) {
++    entry = ((conn_entry_t **) conn_cache->elts)[i];
+ 
+     if (entry->timer == p2) {
+       sql_log(DEBUG_INFO, "timer expired for connection '%s'", entry->name);
+@@ -313,7 +312,7 @@
+   /* set up our timer if necessary */
+   if (entry->ttl > 0) {
+     entry->timer = pr_timer_add(entry->ttl, -1, &sql_postgres_module,
+-      _sql_timer_callback);
++      sql_timer_cb);
+     sql_log(DEBUG_INFO, "connection '%s' - %d second timer started",
+       entry->name, entry->ttl);
+ 
+@@ -1102,6 +1101,7 @@
+ MODRET cmd_escapestring(cmd_rec * cmd) {
+   conn_entry_t *entry = NULL;
+   db_conn_t *conn = NULL;
++  modret_t *cmr = NULL;
+   char *unescaped = NULL;
+   char *escaped = NULL;
+ 
+@@ -1124,6 +1124,13 @@
+ 
+   conn = (db_conn_t *) entry->data;
+ 
++  /* Make sure the connection is open. */
++  cmr = cmd_open(cmd);
++  if (MODRET_ERROR(cmr)) {
++    sql_log(DEBUG_FUNC, "%s", "existing \tpostgres cmd_escapestring");
++    return cmr;
++  }
++
+   /* Note: the PQescapeString() function appeared in the C API as of
+    * Postgres-7.2.
+    */
--- proftpd-dfsg-1.3.1.orig/debian/patches/3115.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/3115.dpatch
@@ -0,0 +1,176 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 3115.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/src/main.c trunk/src/main.c
+--- trunk~/src/main.c	2008-09-21 23:50:55.000000000 +0200
++++ trunk/src/main.c	2008-09-21 23:50:55.000000000 +0200
+@@ -674,12 +674,17 @@
+   while (TRUE) {
+     pr_signals_handle();
+ 
++    memset(buf,'\0',sizeof(buf));
++
+     if (pr_netio_telnet_gets(buf, sizeof(buf)-1, session.c->instrm,
+         session.c->outstrm) == NULL) {
+ 
+-      if (PR_NETIO_ERRNO(session.c->instrm) == EINTR)
+-        /* Simple interrupted syscall */
++      if (errno == E2BIG) {
++         /* The client sent a too-long command which was ignored; give
++          * them another chance?
++          */
+ 	continue;
++      }
+ 
+ #ifndef PR_DEVEL_NO_DAEMON
+       /* Otherwise, EOF */
+@@ -695,20 +700,31 @@
+ 
+     if (cmd_buf_size == -1) {
+       int *bufsz = get_param_ptr(main_server->conf, "CommandBufferSize", FALSE);
++      size_t default_cmd_bufsz;
++
++      /* It's possible for the admin to select a PR_TUNABLE_BUFFER_SIZE which
++       * is smaller than PR_DEFAULT_CMD_BUFSZ.  We need to handle such cases
++       * properly.
++       */
++      default_cmd_bufsz = PR_DEFAULT_CMD_BUFSZ;
++      if (default_cmd_bufsz > sizeof(buf)) {
++        default_cmd_bufsz = sizeof(buf);
++      }
++  
+       if (bufsz == NULL) {
+-        cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
++        cmd_buf_size = default_cmd_bufsz;
+ 
+       } else if (*bufsz <= 0) {
+         pr_log_pri(PR_LOG_WARNING, "invalid CommandBufferSize size (%d) "
+           "given, using default buffer size (%u) instead",
+-          *bufsz, PR_DEFAULT_CMD_BUFSZ);
+-        cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
++          *bufsz, default_cmd_bufsz);
++        cmd_buf_size = default_cmd_bufsz;
+ 
+       } else if (*bufsz + 1 > sizeof(buf)) {
+         pr_log_pri(PR_LOG_WARNING, "invalid CommandBufferSize size (%d) "
+           "given, using default buffer size (%u) instead",
+-          *bufsz, PR_DEFAULT_CMD_BUFSZ);
+-        cmd_buf_size = PR_DEFAULT_CMD_BUFSZ;
++          *bufsz, default_cmd_bufsz);
++        cmd_buf_size = default_cmd_bufsz;
+ 
+       } else {
+         pr_log_debug(DEBUG1, "setting CommandBufferSize to %d", *bufsz);
+diff -urNad trunk~/src/netio.c trunk/src/netio.c
+--- trunk~/src/netio.c	2008-09-21 23:39:34.000000000 +0200
++++ trunk/src/netio.c	2008-09-21 23:52:17.000000000 +0200
+@@ -1,6 +1,6 @@
+ /*
+  * ProFTPD - FTP server daemon
+- * Copyright (c) 2001-2007 The ProFTPD Project team
++ * Copyright (c) 2001-2008 The ProFTPD Project team
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+@@ -30,19 +30,19 @@
+ #include <signal.h>
+ 
+ #ifndef IAC
+-#define IAC	255
++# define IAC	255
+ #endif
+ #ifndef DONT
+-#define DONT	254
++# define DONT	254
+ #endif
+ #ifndef DO
+-#define DO	253
++# define DO	253
+ #endif
+ #ifndef WONT
+-#define WONT	252
++# define WONT	252
+ #endif
+ #ifndef WILL
+-#define WILL	251
++# define WILL	251
+ #endif
+ 
+ static const char *trace_channel = "netio";
+@@ -51,6 +51,17 @@
+ static pr_netio_t *core_data_netio = NULL, *data_netio = NULL;
+ static pr_netio_t *core_othr_netio = NULL, *othr_netio = NULL;
+ 
++/* Used to track whether the previous text read from the client's control
++ * connection was a properly-terminated command.  If so, then read in the
++ * next/current text as per normal.  If NOT (e.g. the client sent a too-long
++ * command), then read in the next/current text, but ignore it.  Only clear
++ * this flag if the next/current command can be read as per normal.
++ *
++ * The pr_netio_telnet_gets() uses this variable, in conjunction with its
++ * saw_newline flag, for handling too-long commands from clients.
++ */
++static int properly_terminated_prev_command = TRUE;
++
+ static pr_netio_stream_t *netio_stream_alloc(pool *parent_pool) {
+   pool *netio_pool = NULL;
+   pr_netio_stream_t *nstrm = NULL;
+@@ -911,7 +922,7 @@
+   char *bp = buf;
+   unsigned char cp;
+   static unsigned char mode = 0;
+-  int toread;
++  int toread, saw_newline = FALSE;
+   pr_buffer_t *pbuf = NULL;
+ 
+   if (buflen == 0) {
+@@ -940,8 +951,9 @@
+           *bp = '\0';
+           return buf;
+ 
+-        } else
++        } else {
+           return NULL;
++        }
+       }
+ 
+       pbuf->remaining = pbuf->buflen - toread;
+@@ -1004,6 +1016,8 @@
+       toread--;
+       *bp++ = *pbuf->current++;
+       pbuf->remaining++;
++
++      saw_newline = TRUE;
+       break;
+     }
+ 
+@@ -1011,6 +1025,25 @@
+       pbuf->current = NULL;
+   }
+ 
++  if (!saw_newline) {
++    /* If we haven't seen a newline, then assume the client is deliberately
++     * sending a too-long command, trying to exploit buffer sizes and make
++     * the server make some possibly bad assumptions.
++     */
++
++    properly_terminated_prev_command = FALSE;
++    errno = E2BIG;
++    return NULL;
++  }
++
++  if (!properly_terminated_prev_command) {
++    properly_terminated_prev_command = TRUE;
++    pr_log_pri(PR_LOG_NOTICE, "client sent too-long command, ignoring");
++    errno = E2BIG;
++    return NULL;
++  }
++
++  properly_terminated_prev_command = TRUE;
+   *bp = '\0';
+   return buf;
+ }
--- proftpd-dfsg-1.3.1.orig/debian/patches/3176.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/3176.dpatch
@@ -0,0 +1,120 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 3176.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad 1.3.1~/contrib/mod_sql_postgres.c 1.3.1/contrib/mod_sql_postgres.c
+--- 1.3.1~/contrib/mod_sql_postgres.c	2009-02-27 20:34:14.000000000 +0100
++++ 1.3.1/contrib/mod_sql_postgres.c	2009-02-27 21:26:41.000000000 +0100
+@@ -257,6 +257,82 @@
+   return mod_create_data( cmd, (void *) sd );
+ }
+ 
++#ifdef PR_USE_NLS
++const char *get_postgres_encoding(const char *encoding) {
++
++  /* XXX Hack to deal with Postgres' incredibly broken behavior when
++   * handling the 'ASCII' encoding.  Specifically, Postgres chokes on
++   * 'ASCII', and instead insists on calling it 'SQL_ASCII' (which, of
++   * course, is not even close to being a valid encoding name according
++   * to libiconv.)
++   *
++   * Treat 'ANSI_X3.4-1968' (another common name/alias for ASCII) the
++   * same; rename it to 'SQL_ASCII' for Postgres' benefit.  And same for
++   * 'US-ASCII'.
++   */
++  if (strcasecmp(encoding, "ANSI_X3.4-1968") == 0 ||
++      strcasecmp(encoding, "ASCII") == 0 ||
++      strcasecmp(encoding, "US-ASCII") == 0) {
++    return "SQL_ASCII";
++  }
++
++  /* And other commonly used charsets for which Postgres has their own names. */
++
++  if (strcasecmp(encoding, "CP1251") == 0 ||
++      strcasecmp(encoding, "WINDOWS-1251") == 0) {
++    return "WIN1251";
++  }
++
++  if (strcasecmp(encoding, "KOI-8") == 0 ||
++      strcasecmp(encoding, "KOI8-R") == 0 ||
++      strcasecmp(encoding, "KOI8") == 0 ||
++      strcasecmp(encoding, "KOI8R") == 0) {
++    return "KOI";
++  }
++
++  if (strcasecmp(encoding, "CP866") == 0) {
++    return "WIN866";
++  }
++
++  if (strcasecmp(encoding, "ISO-8859-1") == 0) {
++    return "LATIN1";
++  }
++
++  if (strcasecmp(encoding, "EUC-CN") == 0 ||
++      strcasecmp(encoding, "EUCCN") == 0) {
++    return "EUC_CN";
++  }
++
++  if (strcasecmp(encoding, "EUC-JP") == 0 ||
++      strcasecmp(encoding, "EUCJP") == 0) {
++    return "EUC_JP";
++  }
++
++  if (strcasecmp(encoding, "EUC-KR") == 0 ||
++      strcasecmp(encoding, "EUCKR") == 0) {
++    return "EUC_KR";
++  }
++
++  if (strcasecmp(encoding, "EUC-TW") == 0 ||
++      strcasecmp(encoding, "EUCTW") == 0) {
++    return "EUC_TW";
++  }
++
++  if (strcasecmp(encoding, "SHIFT-JIS") == 0 ||
++      strcasecmp(encoding, "SHIFT_JIS") == 0) {
++    return "SJIS";
++  }
++
++  if (strcasecmp(encoding, "UTF8-MAC") == 0 ||
++      strcasecmp(encoding, "UTF8") == 0 ||
++      strcasecmp(encoding, "UTF-8") == 0) {
++    return "UNICODE";
++  }
++
++  return encoding;
++}
++#endif
++
+ /*
+  * cmd_open: attempts to open a named connection to the database.
+  *
+@@ -323,23 +399,9 @@
+ 
+ #ifdef PR_USE_NLS
+   if (pr_utf8_get_encoding() != NULL) {
+-    const char *encoding = pr_utf8_get_encoding();
+-
+-    /* XXX Hack to deal with Postgres' incredibly broken behavior when
+-     * handling the 'ASCII' encoding.  Specifically, Postgres chokes on
+-     * 'ASCII', and instead insists on calling it 'SQL_ASCII' (which, of
+-     * course, is not even close to being a valid encoding name according
+-     * to libiconv.)
+-     *
+-     * Treat 'ANSI_X3.4-1968' (another common name/alias for ASCII) the
+-     * same; rename it to 'SQL_ASCII' for Postgres' benefit.  And same for
+-     * 'US-ASCII'.
+-     */
+-    if (strcmp(encoding, "ANSI_X3.4-1968") == 0 ||
+-        strcmp(encoding, "ASCII") == 0 ||
+-        strcmp(encoding, "US-ASCII") == 0) {
+-      encoding = "SQL_ASCII";
+-    }
++    const char *encoding;
++  
++    encoding = get_postgres_encoding(pr_utf8_get_encoding());
+ 
+     /* Configure the connection for the current local character set. */
+     if (PQsetClientEncoding(conn->postgres, encoding) < 0) {
--- proftpd-dfsg-1.3.1.orig/debian/patches/mode_t.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mode_t.dpatch
@@ -0,0 +1,103 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mode_t.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/acconfig.h trunk/acconfig.h
+--- trunk~/acconfig.h	2007-04-24 14:39:23.000000000 +0200
++++ trunk/acconfig.h	2007-10-15 22:49:32.000000000 +0200
+@@ -12,9 +12,6 @@
+ /* Define to `int' if <sys/types.h> doesn't define. */
+ #undef ino_t
+ 
+-/* Define to `mode_t' if <sys/types.h> doesn't define. */
+-#undef umode_t
+-
+ /* Define to `int' if <sys/socket.h> doesn't define. */
+ #undef socklen_t
+ 
+diff -urNad trunk~/config.h.in trunk/config.h.in
+--- trunk~/config.h.in	2007-10-09 23:45:04.000000000 +0200
++++ trunk/config.h.in	2007-10-15 22:50:25.000000000 +0200
+@@ -37,9 +37,6 @@
+ /* Define to `int' if <sys/socket.h> doesn't define. */
+ #undef socklen_t
+ 
+-/* Define to `mode_t' if <sys/types.h> doesn't define. */
+-#undef umode_t
+-
+ /* Define if you have AIX send_file() semantics. */
+ #undef HAVE_AIX_SENDFILE
+ 
+diff -urNad trunk~/configure trunk/configure
+--- trunk~/configure	2007-10-09 23:44:52.000000000 +0200
++++ trunk/configure	2007-10-15 22:55:26.000000000 +0200
+@@ -30631,9 +30631,9 @@
+ 
+ 
+ 
+-echo "$as_me:$LINENO: checking for umode_t" >&5
+-echo $ECHO_N "checking for umode_t... $ECHO_C" >&6
+-if test "${ac_cv_type_umode_t+set}" = set; then
++echo "$as_me:$LINENO: checking for mode_t" >&5
++echo $ECHO_N "checking for mode_t... $ECHO_C" >&6
++if test "${ac_cv_type_mode_t+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+@@ -30646,9 +30646,9 @@
+ int
+ main ()
+ {
+-if ((umode_t *) 0)
++if ((mode_t *) 0)
+   return 0;
+-if (sizeof (umode_t))
++if (sizeof (mode_t))
+   return 0;
+   ;
+   return 0;
+@@ -30676,23 +30676,23 @@
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+-  ac_cv_type_umode_t=yes
++  ac_cv_type_mode_t=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+-ac_cv_type_umode_t=no
++ac_cv_type_mode_t=no
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+-echo "$as_me:$LINENO: result: $ac_cv_type_umode_t" >&5
+-echo "${ECHO_T}$ac_cv_type_umode_t" >&6
+-if test $ac_cv_type_umode_t = yes; then
++echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
++echo "${ECHO_T}$ac_cv_type_mode_t" >&6
++if test $ac_cv_type_mode_t = yes; then
+   :
+ else
+ 
+ cat >>confdefs.h <<_ACEOF
+-#define umode_t mode_t
++#define mode_t mode_t
+ _ACEOF
+ 
+ fi
+diff -urNad trunk~/configure.in trunk/configure.in
+--- trunk~/configure.in	2007-10-09 23:45:03.000000000 +0200
++++ trunk/configure.in	2007-10-15 22:50:05.000000000 +0200
+@@ -1118,7 +1118,7 @@
+ AC_CHECK_SIZEOF(time_t, 0)
+ 
+ dnl Check for generic typedefs
+-AC_CHECK_TYPE(umode_t, mode_t)
++AC_CHECK_TYPE(mode_t, mode_t)
+ AC_CHECK_TYPE(ino_t, ino_t)
+ AC_CHECK_TYPE(intptr_t, AC_DEFINE(HAVE_INTPTR_T),, [
+   #if HAVE_INTTYPES_H
--- proftpd-dfsg-1.3.1.orig/debian/patches/autotools.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/autotools.dpatch
@@ -0,0 +1,34 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## autotools.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/Makefile.in trunk/Makefile.in
+--- trunk~/Makefile.in	2007-10-09 23:44:52.000000000 +0200
++++ trunk/Makefile.in	2007-10-10 00:02:02.000000000 +0200
+@@ -168,17 +168,17 @@
+ 
+ 
+ # autoheader might not change config.h.in, so touch a stamp file.
+-${srcdir}/config.h.in: stamp-h.in
+-${srcdir}/stamp-h.in: configure.in acconfig.h
+-	cd ${srcdir} && autoheader
+-	echo timestamp > ${srcdir}/stamp-h.in
++#${srcdir}/config.h.in: stamp-h.in
++#${srcdir}/stamp-h.in: configure.ac acconfig.h
++#	cd ${srcdir} && autoheader
++#	echo timestamp > ${srcdir}/stamp-h.in
+ 
+ config.h: stamp-h
+ stamp-h: config.h.in config.status
+ 	./config.status
+ 
+-${srcdir}/configure: configure.in
+-	cd ${srcdir} && autoconf
++#${srcdir}/configure: configure.ac
++#	cd ${srcdir} && autoconf
+ 
+ Make.rules: Make.rules.in config.status
+ 	./config.status
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_wrap2_file.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_wrap2_file.dpatch
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_wrap2_file.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_wrap2_file.c trunk/contrib/mod_wrap2_file.c
+--- trunk~/contrib/mod_wrap2_file.c	2007-10-09 23:45:04.000000000 +0200
++++ trunk/contrib/mod_wrap2_file.c	2007-10-15 23:18:27.000000000 +0200
+@@ -74,7 +74,8 @@
+     service = pstrndup(filetab->tab_pool, buf, (res - buf));
+ 
+     if (filetab_service_name &&
+-        strcasecmp(filetab_service_name, service) == 0) {
++        (strcasecmp(filetab_service_name, service) == 0 ||
++         strcasecmp("ALL", service) == 0)) {
+ 
+       if (filetab_daemons_list == NULL)
+         filetab_daemons_list = make_array(filetab->tab_pool, 0, sizeof(char *));
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_sql_mysql.c.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_sql_mysql.c.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_sql_mysql.c.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/contrib/mod_sql_mysql.c trunk/contrib/mod_sql_mysql.c
+--- trunk~/contrib/mod_sql_mysql.c	2007-10-09 23:45:04.000000000 +0200
++++ trunk/contrib/mod_sql_mysql.c	2007-10-10 00:11:38.000000000 +0200
+@@ -135,7 +135,7 @@
+ #include "conf.h"
+ #include "../contrib/mod_sql.h"
+ 
+-#include <mysql.h>
++#include <mysql/mysql.h>
+ 
+ /* 
+  * timer-handling code adds the need for a couple of forward declarations
--- proftpd-dfsg-1.3.1.orig/debian/patches/ip_acl_fix.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/ip_acl_fix.dpatch
@@ -0,0 +1,91 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## ip_acl_fix.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad trunk~/src/netaddr.c trunk/src/netaddr.c
+--- trunk~/src/netaddr.c	2007-10-09 23:44:52.000000000 +0200
++++ trunk/src/netaddr.c	2008-01-17 10:08:01.000000000 +0100
+@@ -823,6 +823,9 @@
+     if (pr_netaddr_is_v4mappedv6(na1) == TRUE) {
+       tmp_pool = make_sub_pool(permanent_pool);
+ 
++      pr_trace_msg(trace_channel, 5, "addr '%s' is an IPv4-mapped IPv6 address",
++        pr_netaddr_get_ipstr((pr_netaddr_t *) na1));
++
+       /* This case means that na1 is an IPv4-mapped IPv6 address, and
+        * na2 is an IPv4 address.
+        */
+@@ -841,6 +844,9 @@
+     } else if (pr_netaddr_is_v4mappedv6(na2) == TRUE) {
+       tmp_pool = make_sub_pool(permanent_pool);
+ 
++      pr_trace_msg(trace_channel, 5, "addr '%s' is an IPv4-mapped IPv6 address",
++        pr_netaddr_get_ipstr((pr_netaddr_t *) na2));
++
+       /* This case means that na is an IPv4 address, and na2 is an
+        * IPv4-mapped IPv6 address.
+        */
+@@ -992,6 +998,36 @@
+         ipstr, pattern);
+       return TRUE;
+     }
++
++    /* If the address is an IPv4-mapped IPv6 address, get the IPv4 address
++     * and try to match that against the configured glob pattern.
++     */
++    if (pr_netaddr_is_v4mappedv6(na) == TRUE) {
++      pool *tmp_pool;
++      pr_netaddr_t *a;
++
++      pr_trace_msg(trace_channel, 5, "addr '%s' is an IPv4-mapped IPv6 address",
++        ipstr);
++
++      tmp_pool = make_sub_pool(permanent_pool);
++      a = pr_netaddr_alloc(tmp_pool);
++      pr_netaddr_set_family(a, AF_INET);
++      pr_netaddr_set_port(a, pr_netaddr_get_port(na));
++      memcpy(&a->na_addr.v4.sin_addr, get_v4inaddr(na),
++        sizeof(struct in_addr));
++
++      ipstr = pr_netaddr_get_ipstr(a);
++
++      if (pr_fnmatch(pattern, ipstr, match_flags) == 0) {
++        pr_trace_msg(trace_channel, 6, "DNS name '%s' matches pattern '%s'",
++          ipstr, pattern);
++
++        destroy_pool(tmp_pool);
++        return TRUE;
++      }
++
++      destroy_pool(tmp_pool);
++    }
+   }
+ 
+   pr_trace_msg(trace_channel, 4, "addr %s does not match pattern '%s'",
+@@ -1279,18 +1315,21 @@
+ 
+ #ifdef PR_USE_IPV6
+     case AF_INET6: {
++      int res;
++
+       if (!use_ipv6) {
+         errno = EINVAL;
+         return -1;
+       }
+ 
+ # ifndef LINUX
+-      return IN6_IS_ADDR_V4MAPPED(
++      res = IN6_IS_ADDR_V4MAPPED(
+         (struct in6_addr *) pr_netaddr_get_inaddr(na));
+ # else
+-      return IN6_IS_ADDR_V4MAPPED(
++      res = IN6_IS_ADDR_V4MAPPED(
+         ((struct in6_addr *) pr_netaddr_get_inaddr(na))->s6_addr32);
+ # endif
++      return res;
+     }
+ #endif /* PR_USE_IPV6 */
+   }
--- proftpd-dfsg-1.3.1.orig/debian/patches/mod_wrap_noparanoid.dpatch
+++ proftpd-dfsg-1.3.1/debian/patches/mod_wrap_noparanoid.dpatch
@@ -0,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## mod_wrap_noparanoid.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad proftpd-1.3.0~/contrib/mod_wrap.c proftpd-1.3.0/contrib/mod_wrap.c
+--- proftpd-1.3.0~/contrib/mod_wrap.c	2004-10-31 01:16:41.000000000 +0200
++++ proftpd-1.3.0/contrib/mod_wrap.c	2006-05-10 22:05:53.000000000 +0200
+@@ -888,8 +888,7 @@
+ 
+   fromhost(&request);
+ 
+-  if (STR_EQ(eval_hostname(request.client), paranoid) ||
+-      !hosts_access(&request)) {
++  if (!hosts_access(&request)) {
+     char *denymsg = NULL;
+ 
+     /* log the denied connection */
--- proftpd-dfsg-1.3.1.orig/debian/copyright
+++ proftpd-dfsg-1.3.1/debian/copyright
@@ -0,0 +1,103 @@
+This package was debianized by Johnie Ingram (johnie@debian.org)
+Mon,  2 Jun 1997 12:43:52 -0400, two minutes after its first public release.
+
+The canonical location is:
+	ftp://ftp.proftpd.net/pub/proftpd
+
+Copyright:
+
+The core code is made available under the terms of the GPL2+:
+
+ * ProFTPD - FTP server daemon
+ * Copyright (c) 1997, 1998 Public Flood Software
+ * Copyright (c) 1999, 2000 MacGyver aka Habeeb J. Dihu <macgyver@tos.net>
+ * Copyright (c) 2001-2008 The ProFTPD Project team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the 
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * As a special exemption, Public Flood Software/MacGyver aka Habeeb J. Dihu
+ * and other respective copyright holders give permission to link this program
+ * with OpenSSL, and distribute the resulting executable, without including
+ * the source code for OpenSSL in the source distribution.
+
+On Debian GNU/Linux systems, the text of the GPL can be found in
+/usr/share/common-licenses/GPL.
+
+
+This package includes xferlog.5 and the xferstats program from
+wu-ftpd-academ, as modified by Holger Preiss (TU Dresden):
+
+    Copyright (c) 1994  Washington University in Saint Louis.
+    All rights reserved.
+
+    This product includes software developed by Washington University
+    in Saint Louis and its contributors.
+
+    Copyright (c) 1980, 1985, 1988, 1989, 1990  The Regents of the
+    University of California.  All rights reserved.
+
+    This product includes software developed by the University of
+    California, Berkeley and its contributors.
+
+    THIS SOFTWARE IS PROVIDED BY WASHINGTON UNIVERSITY AND CONTRIBUTORS
+    ``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 WASHINGTON
+    UNIVERSITY OR CONTRIBUTORS 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.
+
+
+Modifications for Debian are copyright (C) 1997-2000 Johnie Ingram,
+and also released under the terms of the GPL -- version 2, or any
+later version.
+
+mod_tls.c is distributed under the following terms (BSD license):
+
+ * AUTH/TLS module for ProFTPD, based on the mod_sample.c file.
+ *
+ * Copyright (c) 2000 - 2002 Peter 'Luna' Runestig <peter@runestig.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modifi-
+ * cation, are permitted provided that the following conditions are met:
+ *
+ *    o Redistributions of source code must retain the above copyright notice,
+ *      this list of conditions and the following disclaimer.
+ *
+ *    o Redistributions in binary form must reproduce the above copyright no-
+ *      tice, this list of conditions and the following disclaimer in the do-
+ *      cumentation and/or other materials provided with the distribution.
+ *
+ *    o The names of the contributors may not be used to endorse or promote
+ *      products derived from this software without specific prior written
+ *      permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``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 REGENTS OR CONTRIBUTORS BE LI-
+ * ABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUEN-
+ * TIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEV-
+ * ER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABI-
+ * LITY, 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.
--- proftpd-dfsg-1.3.1.orig/debian/TODO.texi
+++ proftpd-dfsg-1.3.1/debian/TODO.texi
@@ -0,0 +1,17 @@
+@subheading @anchor{MySQLRatios} MySQLRatios
+
+@format
+Syntax: MySQLRatios on
+Syntax: MySQLRatios frate-field fcred-field brate-field bcred-field
+Default: off, or (@samp{frate fcred brate bcred}) if fields unspecified.
+Context: server config
+Compatibility: only available with the Debian package.
+@end format
+
+Activates support for retrieving per-user ratios from the database.  To
+use this feature, @samp{SQLUserTable} (mod_sql) and @samp{Ratios on}
+(mod_ratios) directives are needed.
+
+For this to work you need to compile with -DMOD_MYSQL_RATIOS, and use
+mod_ratio version 2.0 or better.  The latest version is not included
+with stock ProFTPD, but the Debian package has it compiled in.
--- proftpd-dfsg-1.3.1.orig/debian/ftpasswd.8
+++ proftpd-dfsg-1.3.1/debian/ftpasswd.8
@@ -0,0 +1,173 @@
+.\" Copyright (C) 2002 Francesco P. Lovergine
+.\"
+.\" This manual page is free software.  It is distributed under the
+.\" terms of the GNU General Public License as published by the Free
+.\" Software Foundation; either version 2 of the License, or (at your
+.\" option) any later version.
+.\"
+.\" This manual page is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this manual page; if not, write to the Free Software
+.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+.\" USA
+.\"
+.TH FTPASSWD 8 "October 19, 2002" "1.1.2" "Debian GNU/Linux"
+.SH NAME
+ftpasswd \- manipulates ProFTPD authentication files
+.SH SYNOPSIS
+.TP 8
+\fBftpasswd\fR \fB--help\fR|\fB-h\fR|\fB--version\fR  
+.TP 8
+\fBftpasswd\fR \fB--hash\fR  [ \fB--des\fR|\fB--md5\fR ] [ \fB--stdin\fR ] [ \fB--use-cracklib\fR[=path] ]
+.TP 8
+\fBftpasswd\fR \fB--passwd\fR [ \fB-F\fR|\fB--force\fR ] [ \fB--file=\fRfilename ] [\fB--gecos=\fRstring ] 
+.br 
+[ \fB--gid=\fRgid ] [ \fB--des\fR | \fB--md5\fR ] [ \fB--not-system-password\fR ] 
+.br
+[ \fB--stdin\fR ] [ \fB--use-cracklib\fR[=path] ] \fB--home=\fRpath 
+.br \fB--name=\fRusername \fB--shell=\fRshellpath \fB--uid=\fRuid
+.TP 8
+\fBftpasswd\fR \fB--group\fR [ \fB-F\fR|\fB--force\fR ] [ \fB--enable-group-passwd\fR ] 
+.br
+[ \fB--file=\fRfilename ] [ \fB-m\fR|\fB--member\fR ] [ \fB--des\fR|\fB--md5\fR ]
+.br
+[ \fB--stdin\fR ] [ \fB--use-cracklib\fR[=path] ] \fB--gid=\fRgid 
+.br \fB--name=\fRgroupname 
+.TP 8
+\fBftpasswd\fR \fB--passwd\fR \fB--change-password\fR \fB--name\fR=username
+.br
+.PP
+.SH DESCRIPTION
+.P
+ftpasswd is a Perl script which can be used to manipulate
+the password and group files suitable for use with 
+ProFTPD AuthUserFile and AuthGroupFile configuration directives.
+The idea is somewhat similar to Apache's htpasswd program.
+.P
+Required options are --passwd, --group, or --hash.  
+These specify whether ftpasswd is to
+operate on a passwd(5) format file, on a group(5) format file, or simply
+to generate a password hash, respectively.
+.P
+If used with --passwd, ftpasswd creates a file in the passwd(5) format,
+suitable for use with proftpd's AuthUserFile configuration directive.
+You will be prompted for the password to use of the user, which will be
+encrypted, and written out as the encrypted string.
+By default, using --passwd will write output to "./ftpd.passwd",
+.P
+If used with --hash, ftpasswd generates a hash of a password, as would
+appear in an AuthUserFile.  The hash is written to standard out.
+This hash is suitable for use with proftpd's UserPassword directive.
+.P
+If used with --group, ftpasswd creates a file in the group(5) format,
+suitable for use with proftpd's AuthGroupFile configuration directive.
+By default, using --group will write output to "./ftpd.group".
+
+.SH OPTIONS
+.P
+.TP
+.B \-F, \-\-force
+If the password or group file be used already exists, delete it and write a new one.
+.TP
+.BR \-\-file= filename
+Write output to specified file (password or group files), 
+rather than default one. 
+.TP
+.BR \-\-gecos= string
+Descriptive string for the given user (usually the user's full name).
+.TP
+.BR \-\-gid= gid
+Set primary group ID for this user (optional, will default to
+given 
+.BR --uid 
+value if absent) when 
+.BR
+--passwd 
+is specified.
+.TP
+.BR \-\-uid= uid
+numerical group ID.
+.TP
+.B \-h,\ \-\-help,\ \-\-version
+Show usage and version of the program.
+.TP
+.BR \-\-home= path
+Set the home directory for the user (required).
+.TP
+.B \-\-des,\ \-\-md5
+Use the DES or MD5 algorithm for encrypting passwords. 
+The latter is the default.
+.TP
+.BR \-\-name= username ,\ \-\-name= groupname
+Name of the user account or group (required).  
+If the name does not exist in the specified output-file, an entry will be created
+for it. Otherwise, the given fields will be updated.
+.TP
+.BR \-\-shell= path
+Shell for the user (required).  Recommended: 
+.I /bin/false
+.TP
+.BR \-\-change-password 
+Update only the password field for a user.  This option
+requires that the 
+.BR --name 
+option be used, but no others.
+This also double-checks the given password against the
+user's current password in the existing passwd file, and
+requests that a new password be given if the entered password
+is the same as the current password.
+.TP
+.BR --not-system-password
+Double-checks the given password against the system password
+for the user, and requests that a new password be given if
+the entered password is the same as the system password.  This
+helps to enforce different passwords for different types of
+access.
+.TP
+.BR --stdin
+Read the password directly from standard in rather than
+prompting for it.  This is useful for writing scripts that
+automate use of ftpasswd.
+.TP
+.BR --use-cracklib\fR[ =path \fR]
+Causes ftpasswd to use Alec Muffet's cracklib routines in
+order to determine and prevent the use of bad or weak
+passwords.  The optional path to this option specifies
+the path to the dictionary files to use -- default path
+is 
+.IR /usr/lib/cracklib_dict .
+This requires the Perl Crypt::Cracklib module to be installed on your system.
+.TP
+.BR --enable-group-passwd
+Prompt for a group password.  This is disabled by default,
+as group passwords are not usually a good idea at all.
+.TP
+.BR \-m \ username ,\ \-\-member= username
+user to be a member of the group.  This argument may be used
+This argument may be used multiple times to specify the full list 
+of users to be members of this group.
+
+.SH BUGS
+No known bugs at this time.
+If you discover any bugs, please contact the author.
+
+.SH AUTHOR
+This program has been written by TJ Saunders <tj@castaglia.org>
+as a contributed software for ProFTPD.
+.P
+.SH "SEE ALSO"
+.BR proftpd (8), 
+.BR passwd (5), 
+.BR group (5),
+.BR ftpusers (8), 
+.BR ftpstats (8),
+.BR proftpd.conf (5)
+
+.SH CREDITS
+This manual page was written by
+Francesco Paolo Lovergine <frankie@debian.org> 
+for the Debian GNU/Linux system (but may be used by others).
--- proftpd-dfsg-1.3.1.orig/debian/mod_pgsql.texi
+++ proftpd-dfsg-1.3.1/debian/mod_pgsql.texi
@@ -0,0 +1,30 @@
+This module is contained in the mod_pgsql.c file, and is not compiled in
+by default.  It provides the backend support to connect to Postgresql
+databases.
+
+@heading Postgres Database Directives
+
+@subheading @anchor{PostgresInfo} PostgresInfo
+
+@format
+Syntax: PostgresInfo host user pass dbname
+Syntax: PostgresInfo host dbname
+Default: none
+Context: server config, virtual host
+@end format
+
+Configures the Posgresql database driver (the database may be remote).
+A connection isn't made until use of a SQL feature requires it, after
+which it may be held open for the lifetime of the FTP session depending
+on the directives in use.
+
+@subheading @anchor{PostgresPort} PostgresPort
+
+@format
+Syntax: PostgresPort [num]
+Default: 5432
+Context: server config, virtual host
+@end format
+
+Specifies which TCP/IP port to use for connecting.  Default is 5432, or
+UNIX socket for localhost.
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-mod-mysql.install
+++ proftpd-dfsg-1.3.1/debian/proftpd-mod-mysql.install
@@ -0,0 +1 @@
+usr/lib/proftpd/mod_sql_mysql.so
--- proftpd-dfsg-1.3.1.orig/debian/proftpd-doc.examples
+++ proftpd-dfsg-1.3.1/debian/proftpd-doc.examples
@@ -0,0 +1 @@
+sample-configurations
--- proftpd-dfsg-1.3.1.orig/debian/templates/default
+++ proftpd-dfsg-1.3.1/debian/templates/default
@@ -0,0 +1,9 @@
+# Defaults for proftpd initscript
+
+# Master system-wide proftpd switch. The initscript
+# will not run if it is not set to yes.
+RUN="yes"
+
+# Default options.
+# For more exhaustive logging, try "-d 3".
+OPTIONS=""
--- proftpd-dfsg-1.3.1.orig/debian/templates/ftpusers
+++ proftpd-dfsg-1.3.1/debian/templates/ftpusers
@@ -0,0 +1,14 @@
+# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
+
+root
+daemon
+bin
+sys
+sync
+games
+man
+lp
+mail
+news
+uucp
+nobody
--- proftpd-dfsg-1.3.1.orig/debian/templates/proftpd.conf
+++ proftpd-dfsg-1.3.1/debian/templates/proftpd.conf
@@ -0,0 +1,171 @@
+#
+# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
+# To really apply changes reload proftpd after modifications.
+# 
+
+# Includes DSO modules
+Include /etc/proftpd/modules.conf
+
+# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
+UseIPv6				on
+# If set on you can experience a longer connection delay in many cases.
+IdentLookups			off
+
+ServerName			"Debian"
+ServerType			standalone
+DeferWelcome			off
+
+MultilineRFC2228		on
+DefaultServer			on
+ShowSymlinks			on
+
+TimeoutNoTransfer		600
+TimeoutStalled			600
+TimeoutIdle			1200
+
+DisplayLogin                    welcome.msg
+DisplayChdir               	.message true
+ListOptions                	"-l"
+
+DenyFilter			\*.*/
+
+# Use this to jail all users in their homes 
+# DefaultRoot			~
+
+# Users require a valid shell listed in /etc/shells to login.
+# Use this directive to release that constrain.
+# RequireValidShell		off
+
+# Port 21 is the standard FTP port.
+Port				21
+
+# In some cases you have to specify passive ports range to by-pass
+# firewall limitations. Ephemeral ports can be used for that, but
+# feel free to use a more narrow range.
+# PassivePorts                  49152 65534
+
+# If your host was NATted, this option is useful in order to
+# allow passive tranfers to work. You have to use your public
+# address and opening the passive ports used on your firewall as well.
+# MasqueradeAddress		1.2.3.4
+
+# This is useful for masquerading address with dynamic IPs:
+# refresh any configured MasqueradeAddress directives every 8 hours
+<IfModule mod_dynmasq.c>
+# DynMasqRefresh 28800
+</IfModule>
+
+# To prevent DoS attacks, set the maximum number of child processes
+# to 30.  If you need to allow more than 30 concurrent connections
+# at once, simply increase this value.  Note that this ONLY works
+# in standalone mode, in inetd mode you should use an inetd server
+# that allows you to limit maximum number of processes per service
+# (such as xinetd)
+MaxInstances			30
+
+# Set the user and group that the server normally runs at.
+User				proftpd
+Group				nogroup
+
+# Umask 022 is a good standard umask to prevent new files and dirs
+# (second parm) from being group and world writable.
+Umask				022  022
+# Normally, we want files to be overwriteable.
+AllowOverwrite			on
+
+# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:
+# PersistentPasswd		off
+
+# This is required to use both PAM-based authentication and local passwords
+# AuthOrder			mod_auth_pam.c* mod_auth_unix.c
+
+# Be warned: use of this directive impacts CPU average load!
+# Uncomment this if you like to see progress and transfer rate with ftpwho
+# in downloads. That is not needed for uploads rates.
+#
+# UseSendFile			off
+
+TransferLog /var/log/proftpd/xferlog
+SystemLog   /var/log/proftpd/proftpd.log
+
+<IfModule mod_quotatab.c>
+QuotaEngine off
+</IfModule>
+
+<IfModule mod_ratio.c>
+Ratios off
+</IfModule>
+
+
+# Delay engine reduces impact of the so-called Timing Attack described in
+# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
+# It is on by default. 
+<IfModule mod_delay.c>
+DelayEngine on
+</IfModule>
+
+<IfModule mod_ctrls.c>
+ControlsEngine        off
+ControlsMaxClients    2
+ControlsLog           /var/log/proftpd/controls.log
+ControlsInterval      5
+ControlsSocket        /var/run/proftpd/proftpd.sock
+</IfModule>
+
+<IfModule mod_ctrls_admin.c>
+AdminControlsEngine off
+</IfModule>
+
+#
+# Alternative authentication frameworks
+#
+#Include /etc/proftpd/ldap.conf
+#Include /etc/proftpd/sql.conf
+
+#
+# This is used for FTPS connections
+#
+#Include /etc/proftpd/tls.conf
+
+# A basic anonymous configuration, no upload directories.
+
+# <Anonymous ~ftp>
+#   User				ftp
+#   Group				nogroup
+#   # We want clients to be able to login with "anonymous" as well as "ftp"
+#   UserAlias			anonymous ftp
+#   # Cosmetic changes, all files belongs to ftp user
+#   DirFakeUser	on ftp
+#   DirFakeGroup on ftp
+# 
+#   RequireValidShell		off
+# 
+#   # Limit the maximum number of anonymous logins
+#   MaxClients			10
+# 
+#   # We want 'welcome.msg' displayed at login, and '.message' displayed
+#   # in each newly chdired directory.
+#   DisplayLogin			welcome.msg
+#   DisplayChdir		.message
+# 
+#   # Limit WRITE everywhere in the anonymous chroot
+#   <Directory *>
+#     <Limit WRITE>
+#       DenyAll
+#     </Limit>
+#   </Directory>
+# 
+#   # Uncomment this if you're brave.
+#   # <Directory incoming>
+#   #   # Umask 022 is a good standard umask to prevent new files and dirs
+#   #   # (second parm) from being group and world writable.
+#   #   Umask				022  022
+#   #            <Limit READ WRITE>
+#   #            DenyAll
+#   #            </Limit>
+#   #            <Limit STOR>
+#   #            AllowAll
+#   #            </Limit>
+#   # </Directory>
+# 
+# </Anonymous>
--- proftpd-dfsg-1.3.1.orig/debian/templates/tls.conf
+++ proftpd-dfsg-1.3.1/debian/templates/tls.conf
@@ -0,0 +1,51 @@
+#
+# Proftpd sample configuration for FTPS connections.
+#
+# Note that FTPS impose some limitations in NAT traversing.
+# See http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-TLS.html
+# for more information.
+#
+
+<IfModule mod_tls.c>
+#TLSEngine                               on
+#TLSLog                                  /var/log/proftpd/tls.log
+#TLSProtocol                             SSLv23
+#
+# Server SSL certificate. You can generate a self-signed certificate using 
+# a command like:
+#
+# openssl req -x509 -newkey rsa:1024 \
+#          -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt \
+#          -nodes -days 365
+#
+# The proftpd.key file must be readable by root only. The other file can be
+# readable by anyone.
+#
+# chmod 0600 /etc/ssl/private/proftpd.key 
+# chmod 0640 /etc/ssl/private/proftpd.key
+# 
+#TLSRSACertificateFile                   /etc/ssl/certs/proftpd.crt
+#TLSRSACertificateKeyFile                /etc/ssl/private/proftpd.key
+#
+# CA the server trusts
+#TLSCACertificateFile 			 /etc/ssl/certs/CA.pem
+# or avoid CA cert
+#TLSOptions                              NoCertRequest
+#
+# Authenticate clients that want to use FTP over TLS?
+#
+#TLSVerifyClient                         off
+#
+# Are clients required to use FTP over TLS when talking to this server?
+#
+#TLSRequired                             on
+#
+# Allow SSL/TLS renegotiations when the client requests them, but
+# do not force the renegotations.  Some clients do not support
+# SSL/TLS renegotiations; when mod_tls forces a renegotiation, these
+# clients will close the data connection, or there will be a timeout
+# on an idle data connection.
+#
+#TLSRenegotiate                          required off
+</IfModule>
+
--- proftpd-dfsg-1.3.1.orig/debian/templates/sql.conf
+++ proftpd-dfsg-1.3.1/debian/templates/sql.conf
@@ -0,0 +1,33 @@
+#
+# Proftpd sample configuration for SQL-based authentication.
+#
+# (This is not to be used if you prefer a PAM-based SQL authentication)
+#
+
+<IfModule mod_sql.c>
+#
+# Choose a SQL backend among MySQL or PostgreSQL.
+# Both modules are loaded in default configuration, so you have to specify the backend 
+# or comment out the unused module in /etc/proftpd/modules.conf.
+# Use 'mysql' or 'postgres' as possible values.
+#
+#SQLBackend	mysql
+#
+#SQLEngine on
+#SQLAuthenticate on
+#
+# Use both a crypted or plaintext password 
+#SQLAuthTypes Crypt Plaintext
+#
+# Use a backend-crypted or a crypted password
+#SQLAuthTypes Backend Crypt 
+#
+# Connection 
+#SQLConnectInfo proftpd@sql.example.com proftpd_user proftpd_password
+#
+# Describes both users/groups tables
+#
+#SQLUserInfo users userid passwd uid gid homedir shell
+#SQLGroupInfo groups groupname gid members
+#
+</IfModule>
--- proftpd-dfsg-1.3.1.orig/debian/templates/welcome.msg
+++ proftpd-dfsg-1.3.1/debian/templates/welcome.msg
@@ -0,0 +1,7 @@
+Welcome, archive user %U@%R !
+
+The local time is: %T
+
+This is an experimental FTP server.  If you have any unusual problems,
+please report them via e-mail to <root@%L>.
+
--- proftpd-dfsg-1.3.1.orig/debian/templates/ldap.conf
+++ proftpd-dfsg-1.3.1/debian/templates/ldap.conf
@@ -0,0 +1,26 @@
+#
+# Proftpd sample configuration for LDAP authentication.
+#
+# (This is not to be used if you prefer a PAM-based SQL authentication)
+#
+
+<IfModule mod_ldap.c>
+#
+# This is used for ordinary LDAP connections, with or without TLS
+#
+#LDAPServer ldap://ldap.example.com
+#LDAPDNInfo "cn=admin,dc=example,dc=com" "admin_password"
+#LDAPDoAuth on "dc=users,dc=example,dc=com"
+#
+# To be set on only for LDAP/TLS on ordinary port, for LDAP+SSL see below
+#LDAPUseTLS on
+#
+
+#
+# This is used for encrypted LDAPS connections
+#
+#LDAPServer ldaps://ldap.example.com
+#LDAPDNInfo "cn=admin,dc=example,dc=com" "admin_password"
+#LDAPDoAuth on "dc=users,dc=example,dc=com"
+#
+</IfModule>
--- proftpd-dfsg-1.3.1.orig/debian/templates/modules.conf
+++ proftpd-dfsg-1.3.1/debian/templates/modules.conf
@@ -0,0 +1,59 @@
+#
+# This file is used to manage DSO modules and features.
+#
+
+# This is the directory where DSO modules reside
+
+ModulePath /usr/lib/proftpd
+
+# Allow only user root to load and unload modules, but allow everyone
+# to see which modules have been loaded
+
+ModuleControlsACLs insmod,rmmod allow user root
+ModuleControlsACLs lsmod allow user *
+
+LoadModule mod_ctrls_admin.c
+LoadModule mod_tls.c
+
+# Install proftpd-mod-mysql or proftpd-mod-pgsql to use this
+#LoadModule mod_sql.c
+
+# Install proftpd-mod-ldap to use this
+#LoadModule mod_ldap.c
+
+#
+# 'SQLBackend mysql' or 'SQLBackend postgres' directives are required 
+# to have SQL authorization working. You can also comment out the
+# unused module here, in alternative.
+#
+
+# Install proftpd-mod-mysql to use this
+#LoadModule mod_sql_mysql.c
+
+# Install proftpd-mod-pgsql to use this
+#LoadModule mod_sql_postgres.c
+
+LoadModule mod_radius.c
+LoadModule mod_quotatab.c
+LoadModule mod_quotatab_file.c
+
+# Install proftpd-mod-ldap to use this
+#LoadModule mod_quotatab_ldap.c
+
+# Install proftpd-mod-pgsql or proftpd-mod-mysql to use this
+#LoadModule mod_quotatab_sql.c
+LoadModule mod_quotatab_radius.c
+LoadModule mod_wrap.c
+LoadModule mod_rewrite.c
+LoadModule mod_load.c
+LoadModule mod_ban.c
+LoadModule mod_wrap2.c
+LoadModule mod_wrap2_file.c
+# Install proftpd-mod-pgsql or proftpd-mod-mysql to use this
+#LoadModule mod_wrap2_sql.c
+LoadModule mod_dynmasq.c
+
+
+# keep this module the last one
+LoadModule mod_ifsession.c
+
