# Pure-FTPd

Pure-FTPd est un serveur FTP sécurisé et fiable pour les systèmes dérivés d'UNIX. Il est sous licence BSD.

## Histoire

Pure-FTPd était fondé sur Troll-FTPd écrit par Arnt Gulbrandsen alors qu'il travaillait chez Trolltech en 1995. Les contributeurs originaux étaient Janos Farkas, August Fullford, Ximenes Zalteca et Patrick Michael Kane. Le logiciel est désormais développé par l'équipe PureFTPd, Frank Denis étant l'initiateur et le mainteneur principal. PureFTPd est né d'une collecte des différents correctifs non officiels de Troll-FTPd réunis en un ensemble cohérent et des autres premières contributions de Frank Denis.

## Fonctions

Pure-FTPd propose comme fonctionnalités :
* l'utilisation en environnement chrooté,
* le contrôle de la bande passante,
* l'établissement de quotas de téléchargement,
* les aliases de répertoires,
* la création d'hôtes virtuels,
* Utilisation du protocole Bonjour de Apple.
* Affichage de message personnalisé (bannières et fortunes) lors de la connexion des utilisateurs.
Pure-FTPd peut exécuter un script à la suite d'une upload. Il peut également refuser des utilisateurs si la charge système devient trop importante.
Il supporte l'identification par Pluggable Authentication Modules (PAM), mais aussi à partir d'une base de données MySQL, PostgreSQL ou dans un annuaire LDAP. Il supporte également la création d'utilisateurs virtuels n'ayant pas de compte sur le système. Une option anti-warez permet de réagir face à un répertoire accessible en écriture.
Les utilisateurs peuvent utiliser les protocoles SSL/TLS afin de chiffrer l'envoi de leur identifiant et mot de passe vers le serveur (nécessite un client FTP compatible).
Plusieurs serveurs FTP Pure-FTPd indépendants peuvent s'exécuter de façon concurrente sur la même machine.
Il peut être compilé et exécuté sous GNU/Linux, OpenBSD, NetBSD, FreeBSD, DragonFly BSD, Solaris, Tru64, Darwin, IRIX et HP-UX. La quasi-totalité des distributions Linux propose des binaires précompilés. Il est également disponible par le système de ports des *BSD.

## Apports importants

* 0.9 : version initiale. Support de l'IPv6 et identification PAM.
* 0.93 : support du protocole FXP.
* 0.95 : support des quotas. Support natif des répertoires LDAP.
* 0.96pre1 : support complet de l'IPv6.
* 0.97pre1 : support des cookies fortunes (affichage de messages préenregistrés lors de la connexion de l'utilisateur).
* 0.97pre5 : mode standalone pour l'IPv6. Option -x et -X pour interdire les utilisateurs d'écrire des fichiers précédés d'un point.
* 0.97-final : option -E pour interdire les utilisateurs anonymes. Option -C pour limiter le nombre de connexions par adresse IP.
* 97.2 : Pureftpd se lance en tant que démon avec l'option -B.
* 97.3 : Pureftpd fonctionne sous GNU/Linux et FreeBSD.
* 0.97.5 : Option -4 pour n'accepter que les connexions IPv4 (nécessaire pour FreeBSD).
* 0.98 : les programmes pure-uploadscript et pure-ftpwho sont ajoutés.
* 0.98.2 : Pureftpd fonctionne sur LinuxPPC, Solaris 8 et Tru64.
* 0.98.5 : support des fichiers supérieurs à deux gigas-octets sous GNU/Linux.
* 0.99.1 : support du stockage des utilisateurs dans une base de données MYSQL.
* 0.99.2 : support des utilisateurs virtuels et des quotas virtuels.
* 1.0.0 : Pureftpd tourne sur SGI IRIX.
* 1.0.6 : support du stockage des utilisateurs dans une base de données PostgreSQL.
* 1.0.8 : support de AtheOS et Windows. Pureftpd fonctionne avec MacOSX.
* 1.0.9 : le serveur Pureftpd peut maintenant fonctionner en mode 100 % non-root.
* 1.0.13 : support de OpenLDAP 2.1.x.
* 1.0.15 : passage de la licence GPL vers la licence BSD.
* 1.0.16 : implémentation de l'identification par SSL/TLS. Support de MacOSX Panther. Support de Mysql 4.1.x.
* 1.0.17 : upload atomique.
* 1.0.18 : ajout de l'option -6 pour n'écouter que les connexions IPv6. Support de Rendezvous pour MacOS X.
* 1.0.21 : amélioration des performances lors du transfert d'un grand nombre de petits fichiers. Ajout de l'option -F pour spécifier l'emplacement de la base de données puredb.
* 1.0.22 : support de SSL/TLS pour les données. Nombreuses optimisations.
* 1.0.23 : nouvelles fonctions liées à l'authentification via LDAP. Transferts sur SSL plus rapides. Réécriture de l'upload, du download et de la gestion des quotas.
* 1.0.24 : correction de bogue dans l'authentification LDAP.
* 1.0.25 : portage sur iPhone et iPod Touch.
* 1.0.26 : amélioration sensible de la vitesse des transferts chiffrés et compatibilité accrue avec certains clients.
* 1.0.27 : correction du support IPv6 et négociation TLS désactivée pour les anciennes versions de la bibliothèque OpenSSL.
* 1.0.28 : amélioration de la gestion des quotas virtuels. La version iPhone devient une branche distincte, qui utilise des threads au lieu de processus.
* 1.0.29 : correction d'un bogue qui pouvait transférer des données fausses sur certaines plateformes avec de gros fichiers.
* 1.0.30 : corrige une faille similaire à celle de Postfix lors du démarrage d'une session TLS (CVE-2011-0411).