Xmlftp
Die Idee
Es gibt bereits viele verschiedene FTP Server für Linux, die alle ihre Vorteile und Nachteile haben. Aber einige Sachen sind ihnen allen gemeinsam:
- schlecht und unübersichtliche Konfigurationsdateien
- Virtuelle Benutzer können gar nicht oder nur mit hohem Aufwand angelegt werden
- Sie Arbeiten nur auf realen Verzeichnissen
- Symlinks werden nicht verfolgt
- Man kann entweder die ganze Festplatte freigeben oder einen Verzeichnisszweig aber nicht verschiedene Verzeichnisse in unterschiedlichen Verzeichnisspfaden
Genau an diesen Kritikpunkten setzt das XMLFTP Projekt an
Aktuelle Umsetzung der Idee
Der Server ist zur Zeit in C geschrieben und unter Linux lauffähig.
Bis jetzt wurden keine nicht standardmäßigen Bibliotheken genutzt, was eine hohe Kompatibilität und Portierbarkeit ermöglichen soll. Auch wenn der Server vorrangig für Linux gedacht wahr und ist, so ist eine Umsetzung auf ein anderes Betriebssystem durchaus machbar und denkbar.
Die aktuelle Entwicklung geschieht zur Zeit unter Linux mit der Softwareumgebung KDevelop und dem freien Kompiler gcc.
Geplante Features
Feature | Implementiert | Komentar |
---|---|---|
|
Ja | Passwörter sind noch im Klartext gespeichert |
|
Ja | Nach dem Upload von Dateien wird der Verzeichnisbaum noch nicht erneuert |
|
Ja |
Die Idee ist es dynamisch generrierte Dateien anzubieten. Das ganze wird realisiert über eine Pluginarchitektur so kann man selber entscheiden wie diese Datei erstellt werden soll. |
|
Ja | Features wie Benutzer,Verzeichnisbäume und virtuelle Dateien sind bereits in den Konfigurationsdateien. |
|
Ja | Berechtigungen werden überprüft und angewendet. |
|
Ja | Nach langer Entwicklungszeit ist auch dieses Feature endlich implementiert. |
Implementierte FTP Kommandos
Kommando | Implementiert | Kommentar |
---|---|---|
ABOR | Ja | |
ACCT | Nein | |
APPE | Nein | |
CDUP | Ja | |
CWD | Ja | |
DELE | Ja | |
LIST | Ja | |
HELP | Nein | |
MDTM | Nein | |
MKD | Ja | |
MODE | Ja | |
NLST | Nein | |
NOOP | Ja | |
PASS | Ja | |
PASV | Ja | |
PORT | Ja | |
PWD | Ja | |
QUIT | Ja | |
RETR | Ja | |
REIN | Nein | |
RMD | Ja | |
RNFR | Ja | |
RNTO | Ja | |
STAT | Nein | |
SITE | Nein | |
SIZE | Ja | |
STOR | Ja | |
STOU | Nein | |
STRU | Nein | |
SYST | Ja | |
TYPE | partiell | Wird angenommen hat aber noch keine Auswirkungen auf den Dateitransfer |
USER | Ja |