FTP server software

F: Wie setze ich die "file level ownership" Attribute einer Datei/Verzeichnis innerhalb des RaidenFTPD virtuellen Datei Systems (vfs)?

Zielgruppe: RaidenFTPD Script Software Autoren / Programmierer

A: RaidenFTPD kann mit "file level ownership" umgehen, was bei anderen FTPD Produkten für Windows nicht leicht zu finden ist. Wie auch immer, es war nicht einfach diese Informationen aus 3rd Party Scripts zu entnehmen und nun sind wir froh dies anzubieten: RaidenModeX Active-X control - für alle FTP Script Autoren für UMSONST!!

Schritt 1: lade dir RaidenModeX Active-X von hier runter

Schritt 2: Installation

Entpacke die ModeX.zip in ein Verzeichnis (am besten dein Projektverzeichnis an einem festgesetzten Ort) und registriere die Komponenten, gib:

regsvr32 RaidenModeX.ocx

in der Kommandozeile ein

Schritt 3: Öffne dein Projekt und füge dieses Active-X in dein Projekt ein:

Beispiel für Microsoft Visual C++

1. Öffne deine Projektdatei

2. Wähle eine Dialog Ressource und klicke die rechte Maustaste->Füge "activex control" ein.

3. Finde RaidenModeX Control und klicke OK.

4. Unter der selben Dialog Ressource, klicke die rechte Maustaste und starte den Klassen Wizard

5. Klicke den Mitglied-Variablen Reiter, finde die Kontroll ID IDC_RAIDENMODEXCTRL1 und klicke den Variable hinzufügen Knopf

6. Nun wird dich MSVC fragen, ob du eine C++ Wrapper Klasse generieren möchtest, klicke JA

7. Wenn der Mitglied-Variable hinzufügen Dialog erscheint, dann gebe einen passenden Namen an, so wie m_modex

8. Nun gehe zur .CPP Quelldatei und füge die generierte RaidenModeX.h Kopf (header) Datei hinzu

9. Angenommen du hast diesen Kontrollnamen als m_modex exportiert (das musst du selber machen )

10. Wenn du die Datei namens xxx.zip unter e:\temp hast und es über das RaidenFTPD System geuploaded wurde, dann sollte es die Datei .raidenftpd.acl unter e:\temp geben

11. Um die Informationen der Datei zu bekommen, benutze einfach die Methode der Komponente 'SetFilePath'

BOOL CRaidenModeX::SetFilePath(LPCTSTR fullpath)

Parameter :

LPCTSTR fullpath : Voller Pfadname der Datei, für die Active-X die Informationen für dich suchen sollte, Typ String

Rückgabewert:

TRUE Wenn Active-X einen Eintrag in der Datei .raidenftpd.acl finden kann FALSE, wenn nicht

z.B.:

m_modex.SetFilePath("i:\\temp\\xxx.zip");

 

12. Nachdem du diese Methode aufgerufen hast, werden folgende Einstellungen verfügbar

file owner, file group, file mode, free file, complete file

Jedenfalls musst du folgende Methode verwenden, um diese setzen zu können:

GetOwner(); // um den "owner name" der Datei zu kriegen
GetGroup(); // um den "group name" der Datei zu kriegen
GetMode(); // um den Erlaubnismodus der Datei zu kriegen (000-777)
GetFree(); // 0=Zähle Credit Datei, 1=freie Datei
GetComplete(); // 0=nicht komplett oder unbekannt, 1=komplette Datei (hat den sfv oder zip Check passiert)
GetErrormsg(); // Fehlernachricht ausgeben

Hinweis: Alle Rückgabewerte sind vom Typ String

13. Um die Informationen einer Datei/Verzeichnis zu setzen, benutze einfach die Komponentenmethode 'Chmod'

long Chmod(LPCTSTR mode, LPCTSTR uname, LPCTSTR gname, LPCTSTR fullpath, short complete, short free)

Parameter:

LPCTSTR mode : 000-777, besuche diese Seite für mehr Informationen

LPCTSTR uname : 1-10 Zeichen, der Benutzername sollte keine Leerzeichen enthalten

LPCTSTR gname : 1-10 Zeichen, der Gruppenname sollte keine Leerzeichen enthalten

LPCTSTR fullpath : Voller Pfadname der Datei für den Active-X die Informationen für dich setzen soll, Typ String, Wildcards in Dateinamen sind erlaubt

short complete : 0 oder 1, wenn die Datei als komplett oder gut markiert wurde

short free : 0 oder 1, wenn diese Datei für jeden frei und ohne Credits downloadbar ist

Rückgabewert:

immer 0

z.B.:

m_modex.Chmod("755","john","admin","c:\temp\*.zip",1,1);

 

14. Hinweis für Visual Basic Benutzer

1. Füge die OCX als Komponente hinzu und platziere sie auf eine Form.

2. Initialisiere SetFilePath(path\file) Methode.

3. Wenn es als TRUE zurück gegeben wird, dann wurden die owner, group, complete, free, mode, und errormsg Einstellungen bereits geupdated (man muss keine andere GETXXX() Methode initialisieren).

Der Aufruf der zweiten Methode war der Grund, wieso ich etwas verwirrt war. Es scheint als müsste man das in VB nicht machen, so lange die Einstellungen automatisch ausgefüllt werden, so lang es TRUE ist. Danke.

Warning : License Agreements

Licensing the RaidenModeX ActiveX control for distribution
=============================================================================

The RaidenModeX ActiveX control

The RaidenModeX ActiveX control package allows you to include RaidenModeX.ocx in your 32-bit Windows applications, and to distribute these applications royalty-free if the following requirements are satistifed .

1:You can only distribute it with any software packages that supports RaidenFTPD , not including FTP server packages

2.You must notify RaidenFTPD team before you distribute this activex control

3.You must put a copyright notice for this component in your readme file or software's about page

copyright owner : (C) RaidenFTPD team , 2002

4.Absolutely no warranty , if you use it or distribute it with your software package , you agree to use it with your own risk

Das war's

 

Copyright © RaidenFTPD TEAM , ALL RIGHTS RESERVED

REVISION 2.4, 2024-03-29

FTP server | Streaming server | WEB server