ACSII mode forceren FTP server

Pagina: 1
Acties:

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 19-02 17:47
Ik gebruik als FTP server ProFTPd. Nu wil ik graag voor bepaalde bestandstypen ASCII mode forceren.


Dit omdat veel gebruikers maar niet begrijpen hoe ze hun FTP client instellen bepaalde bestandstypen als ASCII te uploaden.

Zo zou ik graag bestanden met de extensie .cfg -altijd- als ASCII willen uploaden. Is dit mogelijk?

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • stfn345
  • Registratie: Januari 2000
  • Laatst online: 18-02 23:46
ftp clients doen dat automatisch bij een ascii file als het goed is.. en wat is het nadeel voor jou op dit moment?

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 19-02 17:47
Op dit moment doen FTP client's dit bij de extensie .cfg niet (iig niet allemaal). En de extensie .lib al helemaal niet (geen libary, oid).

En aangezien er vanaf windows op een linux bak wordt geupload, komen file's aan met ^m als regeleinde.

Het nadeel voor mij is dat ik de support voor die gebruikers moet spelen omdat hun servers niet werken met allemaal ^m tekens in de configuratie files...

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Die ^M's aan het einde staan helemaal los van al dan niet ASCII-type transfers via ftp volgens mij.

Verwijderd

Hmz, is dit niet het verschil in enters tussen dos en *nix :? Zal wel niet, want *nix geeft meestal ook dosteksten goed weer, maar probeer toch eens 'dos2unix bestand' te doen en zien of het dan weg is ;)

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Dat zal wel, dat is namelijk precies het probleem. De servers struikelen over de extra tekens aan het eind van een regel bij het parsen van de configuratie.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
blaataaps schreef op 11 juni 2004 @ 17:56:
Die ^M's aan het einde staan helemaal los van al dan niet ASCII-type transfers via ftp volgens mij.
^M is is \r
Linux: \n
Windows: \r\n
Het is dus wel het End of Line teken.

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
OlafvdSpek schreef op 11 juni 2004 @ 20:53:
[...]

^M is is \r
Linux: \n
Windows: \r\n
Het is dus wel het End of Line teken.
Dat ontken ik toch ook niet? :) Ik weet wel hoe regeleinden er onder unix/windows uitzien :)
Ik beweer alleen dat dat losstaat van je type ftp-transfer.

  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
blaataaps schreef op 11 juni 2004 @ 20:56:
Dat ontken ik toch ook niet? :) Ik weet wel hoe regeleinden er onder unix/windows uitzien :)
Ik beweer alleen dat dat losstaat van je type ftp-transfer.
EOL translation is het enige verschil tussen ASCII/binary mode.

  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Olaf: does geen onzin praten? Zoek voor de gein maar eens wat het verschil is....

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
OlafvdSpek schreef op 11 juni 2004 @ 21:00:
[...]

EOL translation is het enige verschil tussen ASCII/binary mode.
Hmm, er lijkt toch wel een kern van waarheid in te zitten, maar ik moet zeggen dat ik nog nooit een moderne ftpd ben tegengekomen die dit doet, maar ik verstuur niet zo vaak bestanden als ascii. Het is /zeker/ niet het enige dat ascii/binary doet, vroeger toen bitjes nog duur waren, was 1 bitje per byte bezuinigen nog erg slim, ascii verstuurt daarom maar 7 van de 8 bits, waardoor bij binary files 1/8e van de informatie verloren gaat; je file is dus corrupt.

[ Voor 98% gewijzigd door blaataaps op 11-06-2004 21:51 ]


  • Olaf van der Spek
  • Registratie: September 2000
  • Niet online
Zwerver schreef op 11 juni 2004 @ 21:14:
Olaf: does geen onzin praten? Zoek voor de gein maar eens wat het verschil is....
http://www.mathcs.duq.edu/~jackson/help/ftp.html
There's one more thing you should know about ftp. ftp transfers files in two modes: ascii and binary. The ascii mode is designed for transferring html and txt type files, files that you could read using Notepad on a Windows system. This mode automatically converts these files so that they will look like standard Unix files (Windows and Unix use different hidden characters to mark the end of each line of text in a text file).

  • igmar
  • Registratie: April 2000
  • Laatst online: 31-01 23:50

igmar

ISO20022

Zwerver schreef op 11 juni 2004 @ 21:14:
Olaf: does geen onzin praten? Zoek voor de gein maar eens wat het verschil is....
Sja.. Ik ben het met Olaf eens, en de RFC is ook vrij duidelijk :

http://rfc.net/rfc959.html#s3.1.1.1.

De client + server dienen te converteren naar het standaard formaat (\r\n), en weer terug naar native formaat.

Om op het probleem van de TS terug te komen : De client bepaald de transfer mode, niet de server. Ik vrees dus dat dit probleem niet serverside op te lossen valt. Misschien dat het mogelijk is de server expliciet te laten converteren aan de hand van het mime type, maar goed, daar heb ik geen ervaring mee :)

[ Voor 12% gewijzigd door igmar op 11-06-2004 21:56 ]


  • TheManinBlack
  • Registratie: November 2001
  • Niet online
edit:
Damn, niet goed gelezen; de gebruikers uppen zelf de rommel

Waarschijnlijk is de enige oplossing de gebruikers opvoeden. Moeten ze zelf maar zorgen voor goede files en transfer mode.

Als je graag moeite doet voor je gebruikers en ze aan het handje neemt, kan je ook een script maken wat je laat draaien na een geslaagde upload (weet niet zeker, maar volgens mij kan dit met ProFTPd) waarmee je alle CR's weghaalt als die in ASCII files voorkomen. Moet je wel heel erg oppassen dat je niet ook de werkelijke binaire data gaat converteren.

Edit:
Heb het ff nagezocht, je kan niet vanuit ProFTPd zelf scripts aansturen;
ProFTPD does not execute any external programs at any time.
maar ze bieden wel een mogelijke oplossing die in jouw geval wel aardig is. In dit geval gaat het om het verplaatsen van files, maar dat kan je ook lezen als *elk* type file manipulatie.
Can I rotate files out of an upload directory after upload?

Yes. You'll need to write a script which either checks the contents of the directory regularly and moves once it's detected no size change in a file for xyz seconds. Or a script which monitors an upload log. There is no automatic method for doing this.

[ Voor 199% gewijzigd door TheManinBlack op 12-06-2004 08:53 ]

Pagina: 1