Xmlftp: Unterschied zwischen den Versionen

Aus II-Wiki
Wechseln zu: Navigation, Suche
 
(Abspalten einiger Kapitel)
 
(29 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Dokumentation für das XMLFTP Projekt =
+
=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
  
  Hier entsteht in kürze eine Dokumentation zum XMLFTP Server Projekt
+
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.<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="200" style="background:#BBBBBB"|Implementiert
 +
!width="700" style="background:#BBBBBB"|Komentar
 +
|-
 +
|
 +
*Virtuelle Benutzer
 +
!style="background:#7FFF00"|Ja
 +
|Passwörter sind noch im Klartext gespeichert
 +
|-
 +
|
 +
* Virtuelle Verzeichnisse
 +
!style="background:#7FFF00"|Ja
 +
|Nach dem Upload von Dateien wird der Verzeichnisbaum noch nicht erneuert
 +
|-
 +
|
 +
*Virtuelle Dateien
 +
!style="background:#7FFF00"|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.
 +
|-
 +
|
 +
* XML Konfigurations Datei
 +
!style="background:#7FFF00"|Ja
 +
|Features wie Benutzer,Verzeichnisbäume und virtuelle Dateien sind bereits in den Konfigurationsdateien.
 +
|-
 +
|
 +
* Datei Berechtigungen
 +
!style="background:#7FFF00"|Ja
 +
| Berechtigungen werden überprüft und angewendet.
 +
|-
 +
|
 +
* IP-Sperre
 +
!style="background:#7FFF00"|Ja
 +
|Nach langer Entwicklungszeit ist auch dieses Feature endlich implementiert.
 +
|-
 +
 
 +
 
 +
|-
 +
|}
 +
 
 +
=Implementierte FTP Kommandos=
 +
{|! border="1" cellspacing="0" cellpadding="5" style="border-collapse:collapse;"
 +
!width="300" style="background:#BBBBBB"|Kommando
 +
!width="200" style="background:#BBBBBB"|Implementiert
 +
!width="700" style="background:#BBBBBB"|Kommentar
 +
|-
 +
 
 +
|ABOR
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|ACCT
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|APPE
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|CDUP
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|CWD
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
|DELE
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
|LIST
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|HELP
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|MDTM
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|MKD
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|MODE
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|NLST
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|NOOP
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|PASS
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|PASV
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|PORT
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|PWD
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|QUIT
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|RETR
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|REIN
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|RMD
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|RNFR
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|RNTO
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|STAT
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|SITE
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|SIZE
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|STOR
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
 
 +
|STOU
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
 
 +
|STRU
 +
!style="background:#FF4500"|Nein
 +
|
 +
|-
 +
|SYST
 +
!style="background:#7FFF00"|Ja
 +
|
 +
|-
 +
|TYPE
 +
!style="background:#FFD700"|partiell
 +
|Wird angenommen hat aber noch keine Auswirkungen auf den Dateitransfer
 +
|-
 +
|USER
 +
!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: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
  • Virtuelle Benutzer
Ja Passwörter sind noch im Klartext gespeichert
  • Virtuelle Verzeichnisse
Ja Nach dem Upload von Dateien wird der Verzeichnisbaum noch nicht erneuert
  • Virtuelle Dateien
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.

  • XML Konfigurations Datei
Ja Features wie Benutzer,Verzeichnisbäume und virtuelle Dateien sind bereits in den Konfigurationsdateien.
  • Datei Berechtigungen
Ja Berechtigungen werden überprüft und angewendet.
  • IP-Sperre
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

Weiterführende Links