Xmlftp: Unterschied zwischen den Versionen
(27 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | =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: | 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 | * schlecht und unübersichtliche Konfigurationsdateien | ||
Zeile 11: | Zeile 9: | ||
Genau an diesen Kritikpunkten setzt das XMLFTP Projekt an | Genau an diesen Kritikpunkten setzt das XMLFTP Projekt an | ||
− | ==Geplante Features | + | =Aktuelle Umsetzung der Idee= |
− | {|! | + | Der Server ist zur Zeit in C geschrieben und unter Linux lauffähig.<br /> 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. |
+ | <br /> | ||
+ | Die aktuelle Entwicklung geschieht zur Zeit unter Linux mit der Softwareumgebung KDevelop und dem freien Kompiler gcc. | ||
+ | |||
+ | =Geplante Features= | ||
+ | {|! border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse;" | ||
!width="300" style="background:#BBBBBB"|Feature | !width="300" style="background:#BBBBBB"|Feature | ||
!width="200" style="background:#BBBBBB"|Implementiert | !width="200" style="background:#BBBBBB"|Implementiert | ||
− | !style="background:#BBBBBB"|Komentar | + | !width="700" style="background:#BBBBBB"|Komentar |
|- | |- | ||
| | | | ||
*Virtuelle Benutzer | *Virtuelle Benutzer | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
|Passwörter sind noch im Klartext gespeichert | |Passwörter sind noch im Klartext gespeichert | ||
|- | |- | ||
| | | | ||
* Virtuelle Verzeichnisse | * Virtuelle Verzeichnisse | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
− | |Nach dem Upload von Dateien wird der | + | |Nach dem Upload von Dateien wird der Verzeichnisbaum noch nicht erneuert |
|- | |- | ||
| | | | ||
*Virtuelle Dateien | *Virtuelle Dateien | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
− | Die Idee ist es | + | 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. |
|- | |- | ||
| | | | ||
* XML Konfigurations Datei | * XML Konfigurations Datei | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
− | |Features wie Benutzer und | + | |Features wie Benutzer,Verzeichnisbäume und virtuelle Dateien sind bereits in den Konfigurationsdateien. |
|- | |- | ||
| | | | ||
* Datei Berechtigungen | * Datei Berechtigungen | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
− | | Berechtigungen werden überprüft und angewendet. | + | | Berechtigungen werden überprüft und angewendet. |
|- | |- | ||
| | | | ||
* IP-Sperre | * IP-Sperre | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
− | | | + | |Nach langer Entwicklungszeit ist auch dieses Feature endlich implementiert. |
|- | |- | ||
Zeile 53: | Zeile 56: | ||
|} | |} | ||
− | + | =Implementierte FTP Kommandos= | |
− | {|! | + | {|! border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse;" |
!width="300" style="background:#BBBBBB"|Kommando | !width="300" style="background:#BBBBBB"|Kommando | ||
!width="200" style="background:#BBBBBB"|Implementiert | !width="200" style="background:#BBBBBB"|Implementiert | ||
− | !style="background:#BBBBBB"| | + | !width="700" style="background:#BBBBBB"|Kommentar |
|- | |- | ||
|ABOR | |ABOR | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
− | |||
|- | |- | ||
|ACCT | |ACCT | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|APPE | |APPE | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|CDUP | |CDUP | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|CWD | |CWD | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|DELE | |DELE | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|LIST | |LIST | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|HELP | |HELP | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|MDTM | |MDTM | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|MKD | |MKD | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|MODE | |MODE | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|NLST | |NLST | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|NOOP | |NOOP | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|PASS | |PASS | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|PASV | |PASV | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|PORT | |PORT | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|PWD | |PWD | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|QUIT | |QUIT | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|RETR | |RETR | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|REIN | |REIN | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|RMD | |RMD | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|RNFR | |RNFR | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|RNTO | |RNTO | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|STAT | |STAT | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|SITE | |SITE | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|SIZE | |SIZE | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|STOR | |STOR | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|STOU | |STOU | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|STRU | |STRU | ||
− | !style="background:# | + | !style="background:#FF4500"|Nein |
| | | | ||
|- | |- | ||
|SYST | |SYST | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|TYPE | |TYPE | ||
− | !style="background:# | + | !style="background:#FFD700"|partiell |
|Wird angenommen hat aber noch keine Auswirkungen auf den Dateitransfer | |Wird angenommen hat aber noch keine Auswirkungen auf den Dateitransfer | ||
|- | |- | ||
|USER | |USER | ||
− | !style="background:# | + | !style="background:#7FFF00"|Ja |
| | | | ||
|- | |- | ||
|} | |} | ||
+ | =Weiterführende Links= | ||
+ | * [[Xmlftp Quickstart| Xmlftp Quickstart für Linux und Windows]] | ||
+ | * [[XMLFTP Konfiguration| Das Konfigurationstool]] | ||
+ | * [[Xmlftp implementierungs Details| Details zur Implementierung und Aufbau der Konfigurationsdateien]] | ||
+ | * [[Xmlftp Bugs | Bekannte Fehler und Feature requests]] | ||
+ | |||
+ | |||
[[Kategorie:Software-Planung]] | [[Kategorie:Software-Planung]] | ||
+ | [[Kategorie:xmlftp]] |
Aktuelle Version vom 19. Februar 2007, 23:36 Uhr
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 |