Erreur protocole FTP | |
malik | 7-Jul-2008/9:19:12+2:00 |
Bonjour J'obtiens un message d'erreur quand je tente d'accéder à un serveur en FTP: >> read server connecting to: rmc ** Script Error: Invalid argument: 02/2008/0:00 ** Where: to-date ** Near: to date! :value On dirait que le script (protocole FTP) récupère un mauvais format de date. J'utilise REBOL/Core 2.7.6.3.1 14-Mar-2008 (rebol.exe). La variable server est de la forme: server: ftp://user1:pwd1@rmc:21 Merci pour votre aide. Malik | |
Philippe | 7-Jul-2008/10:06:07+2:00 |
Bonjour, L'implémentation du protocole ftp est parfois pleine de surprises, et je ne suis pas sûr que Rebol a couvert tous les cas rencontrés dans ce domaine, même si le scheme a été revu plusieurs fois. En l'occurrence, je ne suis pas sûr que la RFC 959 explicite le format de date renvoyé par le serveur ftp pour les attributs de fichiers. Tu peux peut-être passer en mode trace : trace/net: on (et off après ton read ftp) pour avoir un peu plus de détails. ===Philippe | |
malik | 7-Jul-2008/15:59:20+2:00 |
Voici le log: >> read server URL Parse: edirmc edirmc rmc 21 none none Net-log: ["Opening" "tcp" "for" "FTP"] connecting to: rmc Net-log: [none ["220" "230"]] Net-log: {220 snfde serveur FTP (Version 4.1 Tue May 15 16:38:46 CDT 2001) prêt.} Net-log: [["USER" port/user] "331"] Net-log: "331 Mot de passe requis pour edirmc." Net-log: [["PASS" port/pass] "230"] Net-log: "230 Utilisateur edirmc connecté." Net-log: ["SYST" "*"] Net-log: "215 Type UNIX : L8 Version : BSD-44" Net-log: ["PWD" "25"] Net-log: {257 Le répertoire en cours est "/home/edirmc".} Net-log: "Opening listen port 1194" Net-log: [["PORT" port/locals/active-check] "200"] Net-log: "200 Exécution de la commande PORT terminée." Net-log: "Type: dir" Net-log: ["TYPE A" "200"] Net-log: "200 Type défini à A ; format défini à N." Net-log: ["LIST" ["150" "125"]] Net-log: {150 Etablissement de la connexion de données pour /bin/ls.} Net-log: "Closing listen port 1194" Net-log: "Closing data port 192.168.2.1 1194 20" Net-log: [none ["226" "250"]] Net-log: "226 Transfert terminé." Net-log: "Closing cmd port 1191 21" ** Script Error: Invalid argument: 07/2008/0:00 ** Where: to-date ** Near: to date! :value >> Je viens d'apprendre qu'il s'agit d'un serveur AIX. Merci Malik | |
malik | 8-Jul-2008/9:52:20+2:00 |
Bonjour Les traces ne nous apprennent pas grand chose je pense, à part que le système sur le serveur est UNIX. Rebol aurait donc un problème avec le protocole ftp et UNIX. Qu'est-ce-que je peux faire ? Merci Malik | |
Didec | 8-Jul-2008/10:31:49+2:00 |
Des petites recherches dans la mailing-list (rappel : dispo sur rebol.org !!) montre que tu n'est pas le seul à avoir eu le pb : http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-thread.r?m=rmlDKSK http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-thread.r?m=rmlMJXS (un peu long !) En résumé, le serveur FTP ne renvoi pas une date dans un format que Rebol reconnait. La question est : peux-tu corriger la config du serveur FTP pour qu'il utilise un format plus standard ? Si c'est non, alors il faut patcher le protocol FTP de Rebol pour ne pas se planter sur la conversion de la date, mais je ne sais pas quelles peuvent être les implications de cette modif. | |
malik | 8-Jul-2008/15:02:32+2:00 |
Merci ! Je me suis inspiré de ce que j'y ai lu pour créer un "patch" du protocole ftp à partir du script prot-ftp.r, que j'ai appelé prot-ftp-unix.r, dans lequel j'ai mis en commentaire les lignes qui font appel à la fonction add-date (car c'est dans la déclaration de cette fonction que l'on trouve le seul mot "to-date" qui pose problème). Ensuite j'ai chargé ce patch en faisant: do %prot-ftp-unix.r Résultat: je peux copier un fichier de mon poste sur le serveur. Par contre gros problème: je ne peux ni supprimer ni renommer un fichier qui est sur le serveur et ce n'est pas du à un problème de droit Tout se passe comme si le fichier n'existait pas: >> delete server/test07.txt connecting to: rmc ** Access Error: Cannot delete ftp://edirmc:edirmc@rmc:21/test07.txt ** Near: delete server/test07.txt >> exists? server/test07.txt connecting to: rmc == false >> La commande list-dir donne: >> list-dir server connecting to: rmc avr 09:17 anomdelins.brut.sav avr 09:17 anomkanban.brut.sav avr 09:17 delinssrf.brut.sav avr 09:17 kanbansrf.brut.sav avr 09:23 CUMDS.3A avr 09:23 CUMKS.2A jan 08:34 lpdest.edirmc jan 2003 .profile jul 08:15 anomdelins.brut jul 08:15 anomkanban.brut jul 08:15 CUMKANO jul 08:15 delinssrf.brut jul 08:15 kanbansrf.brut jul 08:16 CUMDANO jul 12:16 test07.txt jul 12:37 fc2int.seq jul 13:36 AVIEXP.OK1 jul 14:24 test08.txt jul 17:41 AVIEXP.OK3 jul 18:50 AVIEXP.OK2 jul 2005 .sh_history jul 2007 mbox jul 21:08 journal.rmc Mais quand je fais "read server" pour avoir la liste des répertoires et fichiers présents j'obtiens: [%jul%2008:15%20anomdelins.brut %avr%2009:17%20anomdelins.brut.sav %jul%2008:15%20anomkanban.bru t %avr%2009:17%20anomkanban.brut.sav %jul%2013:36%20AVIEXP.OK1 %jul%2018:50%20AVIEXP.OK2 %jul%20 17:41%20AVIEXP.OK3 %jul%2008:16%20CUMDANO %avr%2009:23%20CUMDS.3A %jul%2008:15%20CUMKANO %avr%20 09:23%20CUMKS.2A %jul%2008:15%20delinssrf.brut %avr%2009:17%20delinssrf.brut.sav %jul%2012:37%20 fc2int.seq %jul%2021:08%20journal.rmc %jul%2008:15%20kanbansrf.brut %avr%2009:17%20kanbansrf.bru t.sav %jan%2008:34%20lpdest.edirmc %jul%202007%20%20mbox %jan%202003%20%20.profile %jul%202005%2 0%20.sh_history %jul%2012:16%20test07.txt] Là je suis vraiment inquiêt sur les possibilités du protocole ftp de Rebol avec Unix... Je ne sais plus quoi faire. | |
Philippe | 8-Jul-2008/16:12:06+2:00 |
Salut, Le diagnostic sur add-date est viable, c'est bien ton serveur qui ne te renvoie pas le bon format de date (du au parsing ko au préalable). Par contre, on ne peut pas tout mettre sur le dos de Rebol. Ne pourrais-tu pas demander à ce que ce serveur ai un format de date standard (genre Tue Jul 8 16:02:50 CEST 2008 ) ? je pense que toutes les actions nécessitant un parsing du listing de répertoire seront ko ou les champs mal attribués (genre le pointeur file sur un chiffre au lieu d'un nom de fichier). ===Philippe | |
malik | 8-Jul-2008/17:13:53+2:00 |
Ok, je vais demander si on peut faire ça. Merci. | |
Login required to Post. |