M$ PSICOPY031.A PSICOPY031.ABACKUP/NOASSIST/NODISMOUNT/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY PSICOPY.OPT;,.MEM;,.HLP;,.RELEASE_NOTES;,.*_EN;,*.MSG;,KITINSTAL.COM;,PSICOPY$*;,PSICOPY_BOOT.MAR,PSICOPY_LOAD_*.EXE; USR$ADMIN:[GEGE.SYSTEME.PSICOPY031]PSICOPY031.A/LABEL=(PSICOPY)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure GEGE V4yV6.1 _BRAHMS::  _$1$DUA34: V6.1 $'*[GEGE.SYSTEME.PSICOPY031]PSICOPY.OPT;75+, ./ 4 -w0123KPWO56. 7y8 mܘ9GHJ name=PsiCopyident= "V3.1-4"r$ PSICOPY031.Aw'[GEGE.SYSTEME.PSICOPY031]PSICOPY.MEM;2001'*[GEGE.SYSTEME.PSICOPY031]PSICOPY.MEM;20+,.0/ 40+-w0123KPWO,565|>7vy8v}ܘ9=LGHJ  @ GeneralitesV Le programme PSICOPY permet de transferer n'importe quel type deR fichier en utilisant PSI comme couche de transport. Les transfertsR peuvent s'effectuer en mode compacte, et le fichier source peut etreR detruit si la copie s'est bien passee. Le fichier resultant a les memesR caracteristiques RMS que le fichier source. L'ensemble des transactionsR peut etre enregistre par le noeud distant. Le programme offre uneR facilite de login a distance, ce qui permet une plus grande souplesseR dans le transfert des fichiers. Lors de ces "logins" le mot de passe duR numero de compte destinataire est requis. Le wilcard est admis lors du! transfert de fichiers. PSICOPY - transfert de fichiers par PSI 1 B Implementation B L'utilitaire psicopy se compose de deux fichiers:R PSICOPY.EXE qui sert a la fois pour le serveur et pour l'interface! utilisateur.R PSICOPY.COM qui est le fichier de commande du serveur. l'utilitaire> PSICOPY est implemente comme une "foreign command"./ PSICOPY:== $ddcu:[directory]psicopy 1. Securite 1-1. Mots de passeV Les mot de passe circulent dans le reseau doublement encryptes, uneR premiere fois par l'algorithme standard de SYSUAF.DAT, et une deuxiemeR fois par deux germes aleatoires, l'un fourni par le serveur et l'autreN par l'application, ceci afin d'eviter des espionnages intempestifs. 1-2. ServeurV Si vous installez le serveur, ce qui permet a des vax distants deR venir lire ou ecrire des fichiers sur votre vax, il faudra prevoir unR numero de compte qui recevra les appels, et qui ne sera accede qu'enR reseau. ce numero de compte devra avoir NETMBX et TMPMBX, a moins queR vous n'installiez PSICOPY.EXE avec ces privileges, mais dans ce casR vous devrez prendre des precautions si vous voulez restreindre lesR appels sortants. Le mot de passe de ce compte n'a a etre connu que deR l'objet NCP, qui est cree lors de l'installation. Vous pouvez choisirR de garder une trace de toutes les transactions effectuees par leR serveur de votre machine. En plus, vous pouvez definir un identifierR "PSICOPY$SERVER_MODE" et le donner a l'username du serveur avecR l'option "DYNAMIC". Lorsque le serveur fonctionne en mode "controle",R c'est a dire avant tout transfert de fichier, si l'identifier estR defini, il est alloue au process serveur. Il est retire avant toutR transfert, ce qui permet par exemple de retirer les droits d'acces sur* les fichiers de log du serveur. 26 PSICOPY - transfert de fichiers par PSI  1-3. PSICOPY.EXEV Ce fichier doit etre accessible en execution par tous ceux qui ont leR droit d'utiliser cet utilitaire. Il necessite les privileges TMPMBX etR NETMBX. L'utilisation de la commande PSICOPY requiert l'autorisationR d'acceder a PSI. En tant que serveur, il doit etre executable par leR username sous lequel le serveur est implemente. En outre, si vousR voulez autoriser les login distants pour le serveur, il faudraB installer l'image PSICOPY.EXE avec le privilege CMKRNL. 1-4. PSICOPY.COMV Ce fichier doit etre accessible en LECTURE par le username sous< _______, lequel est implemente le serveur.# 1-5. logins distantsV Par defaut, les fichiers sont accedes par l'UIC de l'username duR serveur. Il est possible d'acceder aux fichiers par l'UIC d'unR utilisateur quelconque a condition de fournir son mot de passe. DeR plus, les identificateurs qui sont alloues a l'utilisateur specifieR sont alloues au processus distant. Les tentatives de "login" sontR effectuees en mode dialup, on verifie que la connexion est autoriseeR (heures autorisees et flag DISUSER). Ces "login distants" sont traces< dans le fichier de trace du serveur, s'il existe.% 2. Sous-adresse X25.V La sous-adresse transmise lors de l'etablissement d'une liaisonR PSICOPY est celle definie par le nom logiqueR PSI$PSICOPY_LOCAL_SUBADDRESS, ou bien, si ce dernier n'esiste pas, parR le nom logique PSI$MAIL_LOCAL_SUBADDRESS, et si ce dernier n'existeR pas, aucune sous adresse n'est transmise. Cette sous-adresse peut4 servir a identifier la machine appelante.Z PSICOPY - transfert de fichiers par PSI 3 # 3. transfert de fichiers4 3-1. Caracteristiques des fichiers copiesV Les fichiers copies ont les memes caracteristiques RMS, les memesR dates (creation, modification, expiration et backup), la memeR protection, et le meme type d'allocation disque que les fichiersR sources. Les ACL ne sont pas recopiees, et si un fichier destinationR existe deja, un fichier de version superieure est cree. Si une versionR est explicitement specifiee pour le fichier de sortie, et que ceR dernier existe, alors le transfert n'a pas lieu. Les fichiers en sortieR ne sont pas accessibles par les utilisateurs tant que leur transmission n'est pas terminee.A 3-2. Comportement en cas d'erreur de transmission.V Si le liaison X25 est rompue lors d'un transfert, et que l'optionR /RESTART n'est pas specifiee alors le fichier qui etait en cours deR creation est detruit. Si pour une raison etrange (crash par exemple) leR fichier en sortie ne pouvait pas etre detruit, il restera en modeD "DEACCESS LOCKED", et il faudra le detruire manuellement.N 46 PSICOPY - transfert de fichiers par PSI G Repertoire des commandes PSICOPY - transfert de fichiers par PSI 5 2 1. PSICOPY source dest [qualificateurs] 1-1. Parametres 1-1-1. source ______ 8 syntaxe: [adresse machine\]nom_de_fichier_vmsV L'adresse machine est decrite dans le paragraphe "adresse machine".N L'adresse machine peut aussi etre specifiee par le qualifier /FROM.R Nom ou liste de noms de fichiers a copier, wilcard autorise. CesR fichiers doivent etre des fichier sur disque ODS-2. Il n'est pasR possible de lire des fichiers sur d'autres noeuds DECNET que celui sur' lequel est installe PSICOPY. 1-1-2. dest ____< syntaxe: [adresse machine\]nom_de_fichier_vmsV L'adresse machine est decrite dans le paragraphe "adresse machine".L L'adresse machine peut aussi etre specifiee par le qualifier /TO.R Nom des fichiers resultants. Ces fB\$ PSICOPY031.Aw'[GEGE.SYSTEME.PSICOPY031]PSICOPY.MEM;200a"ichiers doivent etre sur disqueR ODS-2. Il n'est pas possible de creer des fichiers sur d'autre noeuds< DECNET que celui sur lequel est installe PSICOPY." 1-2. Qualificateurs 1-2-1. /COMPRESS _________V Ce qualificateur local indique que le fichier auquel il s'appliqueR doit etre compresse avant transfert. Le taux de compression depend duR type de fichier transfere. Generalement les taux de compression sontR assez faibles (20% a 30% pour un executable ou un petit fichier de texte). 1-2-2. /DELETE _______V Ce qualificateur local indique qu'apres transfert les fichiersR sources doivent etre detruits. La destruction s'effectue apres leR transfert de chaque fichier, a condition que le transfert se soit bien passe. 66 PSICOPY - transfert de fichiers par PSI  1-2-3. /LOG ____J Affiche divers messages au cours du transfert. Ca occupe. 1-2-4. /STAT _____J Affiche le taux d'utilisation de TRANSPAC apres transfert 1-2-5. /REVERSE ________) Permet d'appeler en PCV.# 1-2-6. /WINDOW=fenetre _______________V Taille fenetre paquet. Cette valeur peut etre negociee lors deH l'ouverture de la liaison X25, si votre abonnement le permet.* 1-2-7. /PKTSIZE=taille paquet# ______________________D Taille du paquet X25. Doit etre une puissance de 2.V Cette valeur ne peut etre prise en compte que si votre abonnement X25 le permet.+ 1-2-8. /THRUCLS= debit liaison$ _______________________5 Debit minimal garanti de la liaison. 3 75 bauds 4 150 bauds 5 300 bauds 6 600 bauds 7 1200 bauds 8 2400 bauds 9 4800 bauds 10 9600 bauds 11 19200 bauds 12 48000 baudsV Cette valeur ne peut etre prise en compte que si votre abonnement X25 le permet.F PSICOPY - transfert de fichiers par PSI 7  1-2-9. /CRC ____ NOCRC (defaut) _____G Verifie que chaque paquet de donnees recu est intgre.* Retransmission en cas d'erreur.8 Par defaut, on fait confiance au circuit X25.- 1-2-10. /RESTART (=restart_file)& ________________________V Garde trace de l'etat du transfert dans un fichier afin de leR redemarrer en cas de problemes. Pour qu'un redemarrage ait lieu, ilR faut que les fichiers concernes n'aient pas change de place, ni de lieu.6 1-2-11. /FROM= / _________________________________V Indique les coordonnees X25 de la machine source, ainsi que,R facultativement, les mots de passe en clair. Le but de ce qualificateurI est de pouvoir predefinir une commande DCL dans une procedure.4 1-2-12. /to= - _______________________________V Indique les coordonnees X25 de la machine destination, ainsi que,R facultativement les mots de passe en clair. Le but de ce qualificateurI est de pouvoir predefinir une commande DCL dans une procedure./ 1-3. adresses machines completesH syntaxe: (ADDR=[,PWD=pass][,PWD2=pass])R si un seul mot-clef est present, alors les parentheses sont facultatives. 1-3-1. ADDR ____V C'est l'adresse machine visee, qui peut contenir optionnellement unE nom d'utilisateur. Voir paragraphe "adresses de machines". 86 PSICOPY - transfert de fichiers par PSI # 1-3-2. PWD: mot de passe _________________V Mot de passe de l'utilisateur specifie dans l'adresse machine. S'ilR n'est pas specifie, le mot de passe, s'il existe, est demande interactivement. 1-3-3. PWD2 ____V Mot de passe secondaire de l'utilisateur specifie dans l'adresseR machine. Ce mot-clef est facultatif. S'il n'est pas specifie, le mot deF passe secondaire, s'il existe, est demande interactivement.( 1-4. adresses de machines1 format: [NETWORK.]DTE[::USERNAME] 1-4-1. NETWORK _______8 reseau utilise pour joindre la machine. 1-4-2. DTE ___* Numero X25 de la machine.R Peut etre un nom logique defini dans la table PSI$DTE_TABLE. Ce nom@ logique doit contenir une adresse reseau de la forme: [reseau.]DTER Si un nom de reseau est specifie dans le nom logique DTE, et qu'unR champ NETWORK est aussi present, alors c'est ce dernier reseau qui est pris en compte. 1-4-3. USERNAME ________= Utilisateur a fournir pour le login distant.V PSICOPY - transfert de fichiers par PSI 9  1-5. Exemples:2 PSICOPY decus::dupondt\toto.txt []R Considere decus comme un nom logique pointant le No de DTE, dupondtR comme l'username avec lequel se connecter, et si ce dernier a un (ouG deux) mots de passe ceux-ci seront demandes a l'utilisateur.9 PSICOPY toto.txt /from=addr=decus::dupondt [] C'est la meme chose.J PSICOPY toto.txt /from=(addr=decus::dupondt,pwd=pwadupondt) []< Pareil, mais ne prompte pas pour le mot de passe.) PSICOPY toto.txt 19123456789\R Copie le fichier toto dans le repertoire du compte par defaut deE psicopy sur la machine ayant pour adresse X25 19123456789.i 105 PSICOPY - transfert de fichiers par PSI  2. PSICOPY/SERVERV Active psicopy en mode serveur. En mode serveur, PSICOPY est activeR par un objet decnet. Cet objet est associe a un username VMS lors deR l'installation de PSICOPY. Le repertoire par defaut de cet usernameR contient les fichiers de trace du serveur. Lors de le creation deR chaque process serveur PSICOPY, un fichier PSICOPY.LOG est cree dans ceR repertoire. Pour eviter la surpopulation de ce repertoire, une bonneR idee est de mettre une limite de version sur ce repertoire (commande SET DIRECTORY)." 2-1. Qualificateurs 2-1-1. /LOG ____D Jolis petits message dans les fichiers PSICOPY.LOG. 2-1-2. /STAT _____V Statistiques utilisation TRANSPAC a la fin dans le fichier de trace PSICOPY.LOG- 2-1-3. /CENTRALIZED_LOG=filename& _________________________V Tous les jolis messages ci-dessus sont mis dans un fichier unique etD centralise dont le nom est defini lors de l'installation. 2-1-4. /LOGIN ______V Si ce qualificateur est present, alors les connexions doiventR utiliser un couple username/password valide pour pouvoir transferer des fichiers. 2-1-5. /NOLOGIN ________ V Si ce qualificateur est present, alors seules les connexions sans! login sont autorisees.lL PSICOPY - transfert de fichiers par PSI 11 # 2-1-6. /BOOT [=bootfile]c _________________V Permet a un detenteur de PSICOPY_BOOT.MAR de copier une copie de. psicopy.exe a partir de ce serveur.{ |x$ PSICOPY031.Aw'[GEGE.SYSTEME.PSICOPY031]PSICOPY.MEM;200" 12 5 PSICOPY - transfert de fichiers par PSIp ; SOMMAIRE. X Generalites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 ___________rT Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ______________R 1.Securite . . . . . . . . . . . . . . . . . . . . . . . . . . . 2R 1-1.Mots de passe . . . . . . . . . . . . . . . . . . . . . . . 2R 1-2.Serveur . . . . . . . . . . . . . . . . . . . . . . . . . . 2R 1-3.PSICOPY.EXE . . . . . . . . . . . . . . . . . . . . . . . . 3R 1-4.PSICOPY.COM . . . . . . . . . . . . . . . . . . . . . . . . 3R 1-5.logins distants . . . . . . . . . . . . . . . . . . . . . . 3T 2.Sous-adresse X25. . . . . . . . . . . . . . . . . . . . . . . . 3R 3.transfert de fichiers . . . . . . . . . . . . . . . . . . . . . 4R 3-1.Caracteristiques des fichiers copies . . . . . . . . . . . 4R 3-2.Comportement en cas d'erreur de transmission. . . . . . . . 4T Repertoire des commandes . . . . . . . . . . . . . . . . . . . . . 5" ________________________R 1.PSICOPY source dest [qualificateurs] . . . . . . . . . . . . . 6R 1-1.Parametres . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-1-1.source . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-1-2.dest . . . . . . . . . . . . . . . . . . . . . . . . . 6T 1-2.Qualificateurs . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-1./COMPRESS . . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-2./DELETE . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-3./LOG . . . . . . . . . . . . . . . . . . . . . . . . . 7R 1-2-4./STAT . . . . . . . . . . . . . . . . . . . . . . . . . 7R 1-2-5./REVERSE . . . . . . . . . . . . . . . . . . . . . . . 7R 1-2-6./WINDOW=fenetre . . . . . . . . . . . . . . . . . . . . 7R 1-2-7./PKTSIZE=taille paquet . . . . . . . . . . . . . . . . 7R 1-2-8./THRUCLS= debit liaison . . . . . . . . . . . . . . . . 7R 1-2-9./CRC . . . . . . . . . . . . . . . . . . . . . . . . . 8R 1-2-10./RESTART (=restart_file) . . . . . . . . . . . . . . . 8R 1-2-11./FROM= . . . . . . . . . . 8R 1-2-12./to= . . . . . . . . . . . 8T 1-3.adresses machines completes . . . . . . . . . . . . . . . . 8R 1-3-1.ADDR . . . . . . . . . . . . . . . . . . . . . . . . . 8R 1-3-2.PWD: mot de passe . . . . . . . . . . . . . . . . . . . 9R 1-3-3.PWD2 . . . . . . . . . . . . . . . . . . . . . . . . . 9T 1-4.adresses de machines . . . . . . . . . . . . . . . . . . . 9R 1-4-1.NETWORK . . . . . . . . . . . . . . . . . . . . . . . . 9R 1-4-2.DTE . . . . . . . . . . . . . . . . . . . . . . . . . . 9R 1-4-3.USERNAME . . . . . . . . . . . . . . . . . . . . . . . 9T 1-5.Exemples: . . . . . . . . . . . . . . . . . . . . . . . . . 10T 2.PSICOPY/SERVER . . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1.Qualificateurs . . . . . . . . . . . . . . . . . . . . . . 11R 2-1-1./LOG . . . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1-2./STAT . . . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1-3./CENTRALIZED_LOG=filename . . . . . . . . . . . . . . . 11R 2-1-4./LOGIN . . . . . . . . . . . . . . . . . . . . . . . . 11D PSICOPY - transfert de fichiers par PSI 13 V 2-1-5./NOLOGIN . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1-6./BOOT [=bootfile] . . . . . . . . . . . . . . . . . . . 12 14 5 PSICOPY - transfert de fichiers par PSI   source PSICOPY - transfert de fichiers par PSI 15  t sous-adresse peut4 servir a identifier la machine appelante.Z PSICOPY - transfert de fichiers par PSI 3 # 3. transfert de fichiers4 3-1. Caracteristiques des fichiers copiesV Les fichiers copies };$ PSICOPY031.A9w&[GEGE.SYSTEME.PSICOPY031]PSICOPY.HLP;8N$&*[GEGE.SYSTEME.PSICOPY031]PSICOPY.HLP;8+,9./ 4N -w0123KPWO56`7vy8vܘ9=LGHJ 1 PSICOPY< Psicopy est un utilitaire de copie de fichiers de VMS VMS Syntaxe:A Psicopy qualifiers 2 adresse_x25# [network.]adresse_dte[::username]E o l'adresse DTE peut tre un nom logique defini dans PSI$DTE_TABLE.Jun tel nom logique peut aussi contenir un nom de reseau, mais si le champ Krseau est prsent dans adresse_x25, alors ce dernier remplace celui dfinidans le nom logique.@ Si l'username est spcifi, c'est lui qui sera propritaire desIfichiers crs, et ce sera travers lui que les diffrentes protections seront values.= Ce type de champ est utilis par la spcification de fichier?en entre et en sortie, ainsi que par les switches /FROM et /TO2 entre@ Indique le nom du ou des fichiers en entre. Les mtacaractresGhabituels ("%", "*" et "...") sont autoriss. Si le fichier est sur la Emachine locale, la spcification de fichier suffit. Si le fichier estEsur une machine accde par X25, il faut prciser l'adresse X25 de laFmachine, et ventuellement l'username par lequel on effectue l'acces. $ Ceci peut se faire de deux manires3 extension du nom de fichier adresse_x25\nom-de-fichier> on peut prcder le nom de fichier par une adresse_x25 suiviedu caractre \ (antislash).3 /FROME /FROM= (ADDRESS=addresse_x25,[PWD=primary_pwd,[PWD2=secondary_pwd]]); la ligne de commande psicopy peut contenir un switch /FROM@ contenant l'adresse X25, le username, et le password. Ce switchCa t cr principalement pour prdfinir des commandes par dfaut. 4 ADDRESS champ de la forme adresse_x254 PWDD Si ce champ n'est pas renseign, et qu'un pw est requis, ce dernier?sera demand interactivement lors de l'excution de la commande4 PWD2D Si ce champ n'est pas renseign, et qu'un pw est requis, ce dernier?sera demand interactivement lors de l'excution de la commande 3 exemples psicopy projet.* ....* psicopy 99999::quicest\monbeaufichier ...G psicopy/from=(address=99999::quicest,pwd=cestmoi) kilbomonfichier ...2 sortieG Indique le nom du ou des fichiers en sortie. Si le fichier est sur la Emachine locale, la spcification de fichier suffit. Si le fichier estEsur une machine accde par X25, il faut prciser l'adresse X25 de laFmachine, et ventuellement l'username par lequel on effectue l'acces. $ Ceci peut se faire de deux manires3 extension du nom de fichier adresse_x25\nom-de-fichier> on peut prcder le nom de fichier par une adresse_x25 suiviedu caractre \ (antislash).3 /TOC /TO= (ADDRESS=addresse_x25,[PWD=primary_pwd,[PWD2=secondary_pwd]])9 la ligne de commande psicopy peut contenir un switch /TO@ contenant l'adresse X25, le username, et le password. Ce switchCa t cr principalement pour prdfinir des commandes par dfaut. 4 ADDRESS champ de la forme adresse_x254 PWDD Si ce champ n'est pas renseign, et qu'un pw est requis, ce dernier@sera demand interactivement lors de l'excution de la commande.4 PWD2D Si ce champ n'est pas renseign, et qu'un pw est requis, ce dernier@sera demand interactivement lors de l'excution de la commande. 3 exemples psicopy ... projet.** psicopy ... 99999::quicest\monbeaufichierF psicopy ... /to=(address=99999::quicest,pwd=cestmoi) kilbomonfichier2 /LOG! affiche les fichiers transfrs. 2 /STATISTICS/ affiche le taux d'utilisation de la ligne X25. 2 /DELETEC indique que lorsqu'un fichiers a t transfr avec succs et X25,.il faut essayer de dtruire le fichier source. 2 /COMPRESSH utilise les routines de librairie DCX pour compresser les fichiers lorsKdu transfert. On gagne de 33% ad 75% selon le type de fichier. Cette option/n'est pas intressante pou les petits fichiers.2 /CRC8 on vrifie l'intgrit des paquets de donnes transmis. 2 options_X25+ toutes ces options ont un placement local.3 /CLOSED_USER_GROUP=xx Indique le GFA utiliser. 3 /REVERSE (qualificateur local) on appelle en PCV. 3 /WINDOW spcifie la taille de fentre. 3 /PKTSIZE spcifie la taille du paquet. 3 /THRUCLS# spcifie le dbit minimum garanti. 2 /RESTART> indique que le transfert en cours pourra tre repris froid.Fen cas de transfert interrompu, psicopy/restart redemarre le transfertGa l'endroit ou il s'tait arret, sous reserve que le fichier en entreHet le fichier en sortie n'aient pas ts modifis. De plus, les fichiersDdoivent toujours tre accessibles par les spcifications de fichiersIdonnes dans la commande: si un fichier de version suprieure a t cr,Get que la spcification de fichier en entre ne prcise que la dernire'version, le redmarrage est impossible.3 FILE> Nom du fichier qui contiendra les informations ncessaires au redmarrage. 2 /SERVERE Ce qualificateur n'est valide que pour la partie serveur de PSICOPY.3 /CENTRALIZED_LOG$ /CENTRALIZED_LOG=nom_de_fichier_logMToutes les transactions du serveur seront crites dans ce fichier. Le fichierNest ouvert lorsque le serveur possede l'identificateur PSICOPY$SERVER_MODE, sice dernier existe.3 /LOGIN /NOLOGIN; si /LOGIN est prsent, alors le serveur n'autorise pas lesconnexions anonymes.D si /NOLOGIN est prsent, alors le serveur n'autorise pas les login.3 /BOOT /NOBOOT (D)= /BOOT=([FILE=], [MESSAGE="ou est le kit"])C permet un possesseur du fichier psicopy_boot.mar de recuprer la6version initiale de PSICOPY.EXE partir de ce serveur4 FILE: fichier qui sera tlcharg. par defaut: psicopy_load.exe 4 MESSAGE. texte qui sera affich lors du tlchargement 3 /ENABLE, /ENABLE=(caractristiques supplmenataires) /NOENABLE (D)( options supplmentaires pour le serveur 4 PRIVILEGES1 PRIVILEGES= [DEFAULT (D) / AUTHORIZED / MAXIMUM]D S'il y a une connexion par login rseau, le serveur valide certainsJprivilges de l'utilisateur avant d'accder aux fichiers. Cette option estGinhibe par dfaut, et dans ce cas le controle d'accs aux fichiers estIbas sur l'UIC de l'utilisateur, ses droits, et les privilges de l'imageinstalle PSICOPY.EXE. 5 DEFAULT (D)G Les privilges valids sont les privilges par dfaut de l'utilisateur"(champ DEFPRIVILEGES de authorize) 5 AUTHORIZEDF Les privilges valids sont les privilges autoriss de l'utilisateur(champ PRIVILEGES de authorize) 5 MAXIMUMI Les privilges valids sont ceux que l'utilisateur peut avoir au maximumN(c'est a dire DEFAULT+AUTHORIZED, ou ALL si l'utilisateur possde le privilgeSETPRV)'$ PSICOPY031.A9w1[GEGE.SYSTEME.PSICOPY031]PSICOPY.RELEASE_NOTES;32P~1*[GEGE.SYSTEME.PSICOPY031]PSICOPY.RELEASE_NOTES;32+,9./ 4Pt-w0123KPWO5 6t7 $y8Iܘ9=LGHJ En cas de pb's: contactez guillaume gerard. PSI-mail: 020807504128502::gege e-mail: gege@enst.fr bitnet: gege@frint51H X400: country= fr; admd= atlas; prmd=telecparis; name= guillaume gerard ear-mail: ((33) 1) 45-81-78-22 Installation en VMS 4.*% - Pourquoi n'etes-vous pas en V5 ???D - il y a un probleme dans authorize de v4.* qui empeche la creationC normale du compte serveur PSICOPY. Il faut, apres l'installation,  - modifier ce compte; /noaccess /network/lgicmd=nl:/uic=/nomod_ident6 - add/identifier/value=uic= psicopy$serverF - toutefois, l'upgrade de psicopy existant devrait marcher sans trop  de problemes.' Changements par rapport a la version 1Kpossibilite de qualificateurs pour les liaision PSI (classes de debit, pcv, fenetres)H- le % est remplace par un \ pour separer adresse machine\nom de fichierH- ajout d'un qualifier /crc pour les gens qui douteraient de l'intgrit de leur donnes.E- reparation divers bugs dont un pb d'exit handler pour le serveur et5 quelques bugs dans la gestion des messages d'erreur.6- amlioration de la gestion des vnements du rseau.!- compatibilite avec la version 1;- remplacement des :: par \ dans les noms de fichier reseau dans tous les cas...8- correction crccomp: pas de dcx$expand_done si pas init5 (dump pas beaux si pbs lors du transfert de la map)@- en cas de pb dans l'install a la creation de compte, detruire  - l'objet psicopy (NCP PURGE) - et l'utilisateur psicopyC- correction du message d'erreur sur fichier en entree si /compress et erreur d'ouverture- copie des arborescences?- plusieurs qualifiers pour modifier les parametres session X25>>>>>> Version 2.1>>>- fin du support VMS V4B- ajout de l'option /RESTART permettant d'effectuer un redemarrage froid d'un transfert.I- ajout de l'option /LOGIN pour autoriser les login et les accs anonymesI- toutes les sortes de serveurs sont implants avec CMKRNL, ce qui resoud+ le pb de l'identifier PSICOPY$SERVER_MODE.:- transfert de map de taille > 64K pour l'option /COMPRESS1- transfert des ACL de type application pour DDIF- correction de bugs> version 2.1-3 ajout option /closed_user_group' correction incompatibilite psicopy 2.0 version 2.1-5C ajout du nom logique systeme PSICOPY$THRUPUT qui permet de limiterLle dbit global associ a PSICOPY. Parallellement, il faut installer psicopy avec SYSLCK version 2.1-6> modification syntaxe BOOT:, /boot= (file=boot_file, message="Boot msg")@ attention: l'ancienne syntaxe /boot=bootfile n'est plus valableD le fichier psicopy_load.exe est fourni dans le directory de psicopy version 2.1-7.> ajout de l'option /TEMPLATE (decnet phase V)@ le template par defaut de psicopy est defini par le nom logique- PSICOPY$DEFAULT_TEMPLATE (dans LNM$FILE_DEV) version 2.2-25> installation phase V, langages franais et anglais. version 2.2-4I> changement du traitement des dates d'expiration, protocole plus robusteG> pour le host qui initialilse les transferts /restart, en cas de crash > dudit hostP================================================================================ version 3.0 > support v6+> support decnet/osi sur alpha > support ^T> support x25$access sur alpha version 3.11> support privileges utilisateurs en mode serveur6 /ENABLE=PRIVILEGES[=DEFAULT (D), AUTHORIZED, MAXIMUM]T$ PSICOPY031.A,&w)[GEGE.SYSTEME.PSICOPY031]PSICOPY.HLP_EN;1L.)*[GEGE.SYSTEME.PSICOPY031]PSICOPY.HLP_EN;1+,,&./ 4L 6-w0123KPWO56 2y7:y8-ܘ9GHJ 1 PSICOPY; Psicopy is an utility that allows copying files from a VMS( system to another VMS system using X.25 Syntax:4 Psicopy qualifiers2 X.25_address# [network.]dte_address[::username]Ewhere the DTE address can be a logical name defined in PSI$DTE_TABLE.Gsuch a logical name can also contain a network name, but if the network9field is present in the X.25 address, the latter is used.J If the username is specified, it will be the owner of the created files,Kand it's UIC and rights identifiers will be used to evaluate access rights.A This field is used by input and output file specifications, andby the /FROM and /TO switches.2 inputFThe name of the input file(s). The use of wildcards is allowed. If theGfile is located on the local machine, the file specification is enough.AIf the file is on a remote machine, you must specify the X.25 DTEEaddress and maybe the username through which you'll access the files.(There are two different ways to do this:3 Filename ExtensionX.25_address\file_name?you can prefix the file name by an X.25_address followed by the'\' character (backslash)3 /FROMG /FROM=(ADDRESS=X.25_address,[PWD=primary_pwd,[PWD2=secondary_pwd]])BThe PSICOPY command line can contain a /FROM switch containing theEX.25_address, the username, and the password(s). This switch has beenDcreated especially to define command procedures with default values. 4 ADDRESSX.25_Address type field4 PWDB If this field is not specified, and a password is required, thisBpassword will be prompted for during the execution of the command.4 PWD2G If this field is not specified, and a secondary password is required,Gthis password will be prompted for during the execution of the command. 3 Examplespsicopy project.* ....)psicopy 99999::whoami\mybeautyfulfile ...Bpsicopy/from=(address=99999::whoami,pwd=itsme) mybeautifulfile ...&2 output EThe name of the output file(s) . If the file is located on the localEmachine, the file specification is enough. If the file is on a remoteEmachine, you must specify the X.25 DTE address and maybe the username&through which you'll access the files.'There are two different ways to do this3 Filename ExtensionX.25_address\file_name?you can prefix the file name by an X.25_address followed by the'\' character (backslash)3 /TOE /TO=(ADDRESS=X.25_address,[PWD=primary_pwd,[PWD2=secondary_pwd]])@The PSICOPY command line can contain a /TO switch containing theEX.25_address, the username, and the password(s). This switch has beenDcreated especially to define command procedures with default values. 4 ADDRESSX.25_Address type field4 PWD@If this field is not specified, and a password is required, thisBpassword will be prompted for during the execution of the command.4 PWD2EIf this field is not specified, and a secondary password is required,Gthis password will be prompted for during the execution of the command. 3 Examplespsicopy ... []*.*)psicopy ... 99999::whoami\mybeautyfulfileApsicopy ... /to=(address=99999::whoami,pwd=itsme) mybeautifulfile2 /LOGDisplays the transferred files 2 /STATISTICS(Displays the X.25 utilization statistics 2 /DELETE>Switch to ask for deletion of the source file when it has beensuccessfully transferred. 2 /COMPRESSDUses DCX routines to compress files during transfer. The gain varies,from 33% to 75% depending on the file types./This option is not interesting for small files.2 /CRC /CRC /NOCRC (D)5The integrity of each transmitted packed is verified. 2 /TEMPLATEBDecnet phase V template name (template default name defined by the"logical PSICOPY$DEFAULT_TEMPLATE). 2 /RESTART /RESTART /NORESTART (D)HSpecifies that the current transfer can be restarted after an unexpectedGinterruption. In case of such an interruption, psicopy/restart restartsJthe transfer at the point where it was interrupted, provided the input and$output files have not been modified.JFurthermore, the files must be accessible by the file specifications givenJin the original command. If a higher version file has been created and theJinitial file specification specifies only the last version, the restart is impossible.3 FILEName of the restart file2 X.25_options)All these options have a local placement.3 /CLOSED_USER_GROUP=xx3 Closed user group to be used for X.25 connections. 3 /PKTSIZE Packet size 3 /REVERSE'Reverse charging required for the call. 3 /THRUCLS,Specifies the minimum guaranteed throughput. 3 /WINDOWWindow packet size 2 /SERVER<This qualifier is valid only for the server part of PSICOPY. 3 /CENTRALIZED_LOG=log_file_nameJCauses all the server transactions to be logged in the specified file. TheIserver opens the file with the identifier PSICOPY$SERVER_MODE granted, ifsuch an identifier exists.3 /LOGIN /LOGIN /NOLOGIN5If /LOGIN is present, anonymous calls are not allowed.If /NOLOGIN is present, logins are not allowed9If not present, anonymous calls and logins are authorized3 /BOOTC /BOOT=([FILE=], [MESSAGE="where is the kit"]) /NOBOOT (D)?Allows an owner of the PSICOPY_BOOT.MAR file to get the initial!PSICOPY_LOAD.EXE from this server4 FILE/File that will be copied during boot operation.Default: PSICOPY_LOAD.EXE 4 MESSAGE3Text that will be printed during the boot operation 3 /ENABLE# /ENABLE=(extended characteristics) /NOENABLE (D)& supplementary options for the server. 4 PRIVILEGES1 PRIVILEGES= [DEFAULT (D) / AUTHORIZED / MAXIMUM]FIf there is a network login, the server validates some user privilegesIbefore accessing files. This option is disabled by default, in which caseLaccess control on files is based on the user UIC, rights, and the privileges#of the installed PSICOPY.exe image. 5 DEFAULT (D)6 Validated privileges are the default user privileges.(authorize field DEFPRIVILEGES) 5 AUTHORIZED9 Validated privileges are the authorized user privileges.(authorize field PRIVILEGES)(champ PRIVILEGES de authorize) 5 MAXIMUM? Validated privileges are the maximum privileges the user have.9(i.e. DEFAULT+AUTHORIZED, or ALL, if the user has SETPRV))*[GEGE.SYSTEME.PSICOPY031]PSICOPY.MEM_EN;1+,..(/ 4((-w0123KPWO)56v{y7vEy8vۺܘ9GHJ ? Overview V The PSICOPY program allows the transfer of any type of file, usingR PSI as a transport layer. Transfers may be done in compacted mode, andR the source files may be deleted, after a successful copy. The resultingR file has the same RMS characteristics as the source file, includingR semantics. The transactions can be recorded by the server node. ThisR program offers an remote login facility, which allows for moreR flexibility in the file transfer. To allow a login, the remote user'sL password is required. Wilcard is allowed for file specifications. PSICOPY - file transfer by PSI  1 B Implementation < The PSICOPY facility consists of two files:R PSICOPY.EXE which is the server image and the user interface at the same time.R PSICOPY.COM which is the server command file. The PSICOPY facility is. implemented as a "foreign command"./ PSICOPY:== $ddcu:[directory]psicopy 1. Security 1-1. PasswordsV Passwords are transferred in the network doubly crypted, one firstR time by the standa;T$ PSICOPY031.A.w)[GEGE.SYSTEME.PSICOPY031]PSICOPY.MEM_EN;1(Z"rd algorithm in SYSUAF, and one more time by twoR random seeds, one given by the server, and the other one by theF application, this is to prevent "listening" on the network. 1-2. ServerV If you install the server, which will allow remote VAXes to read orR write files on your VAX, you should provide an username, the accountR under which these calls will be received, and which will not beR accessed except on the net. This account should have NETMBX and TMPMBX,R unless you instal PSICOPY.EXE with these privileges, but in that caseR you should take precautions if you want to restrict outgoing calls. TheR password of this account must only be known to the NCP object which isR created upon installation. You may choose to keep a trace of allR transactions made by the server of your machine. In addition, you mayR define an identifier "PSICOPY$SERVER_MODE" and give it to the usernameR of the server with the option "DYNAMIC". While the server is operatingR in "control" mode, that is to say before each file transfer, if theR identifier is defined it is allocated to the server process. It isR withdrawn before each transfer, which allows for example the withdrawal; of access rights to the log files of the server. 22 PSICOPY - file transfer by PSI   1-3. PSICOPY.EXEV This file must be accessible for execution by all who have the rightR to use this utility. It requires the privileges TMPMBX and NETMBX. UseR of the command PSICOPY requests the right to access PSI. As a server,R it must be executable by the username under which the server isR implemented. Further, if you wish to authorise remote logins for theR server, you must install the image PSICOPY.EXE with the privilege CMKRNL. 1-4. PSICOPY.COMV This file must be accessible for READING by the username under which5 _______% the server is implemented. 1-5. Remote loginV By default, files are accessed by the UIC of the username of theR server. It is possible to access files by the UIC of an arbitrary userR on condition of giving their password. Further, the identifiers thatR are allocated to a particular user are given to the remote process.R Attempts to "login" are made in dialup mode; it is verified that theR connection is authorized (authorized times and flag DISUSER). TheseR "remote logins" are logged in the trace file of the server, if there is one.# 1-6. X25 sub-addressV The sub-address transmitted upon the establishment of a PSICOPY linkR is that defined by the logical name PSI$PSICOPY_LOCAL_SUBADDRESS, or ifR that does not exist by the logical name PSI$MAIL_LOCAL_SUBADDRESS, andM if that does not exist either, then no sub-address is transmitted.\ PSICOPY - file transfer by PSI  3  2. file transfers/ 2-1. Characteristics of copied filesV Copied files have the same RMS characteristics, the same datesR (creation, modification, expiration and backup), the same protection,R and the same disk allocation type as the source files. The ACL are notR copied, except RMS semantic tags, and if a destinbation file alreadyR exists, a newer version is created. If a version number is explicitelyR specified for the output file, and that file already exists, then theR transfert fails. Output files are not accessible by users until the transfer terminates.2 2-2. Error recovery during transferV if the X. 25 link is broken during a transfer, and the /RESTARTR option is not specified, the file that was being transferred isR deleted. If, because of an unusual condition (crash for instance), theR output file could not be deleted, it will remain in the "DEACCESS? LOCKED" state, and will have to be manually deleted.P 42 PSICOPY - file transfer by PSI  C command directory PSICOPY - file transfer by PSI  5 2 1. PSICOPY source dest [qualificateurs] 1-1. Parameters 1-1-1. source ______ 7 Syntax: [machine address\]vms_file_nameR The machine address is described in the qualifier /FROM Name or list ofR names of files to be copied, with wildcarding allowed. These files mustR be on the disk ODS-2. It is not possible to read files on DECNET nodes9 other than that on which PSICOPY is installed. 1-1-2. dest ____; Syntax: [machine address\]vms_file_nameV The machine address is described in the qualifier /TO Name of resultR file. These files must be on disk ODS-2. It is not possible to createO files on DECNET nodes other than that on which PSICOPY is installed. 1-2. Qualifiers 1-2-1. /compress _________V This local qualifier indicates that the file to which it is appliedR must be compressed before transfer. The rate of compression depends onR the type of file transferred. Compression rates are usually quite small? (20% to 30% for an executable or a small text file). 1-2-2. /delete _______V This local qualifier indicates that after transfer the source filesR must be destroyed. The destruction takes place after the transfer ofD each file, on condition that the transfer was successful. 62 PSICOPY - file transfer by PSI   1-2-3. /log ____P Displays various messages during the transfer. That takes time. 1-2-4. /stat _____A Displays the rate of use of X.25 after transfer. 1-2-5. /REVERSE ________/ Makes a reverse charging call.' 1-2-6. /WINDOW=window size ___________________V Size of the packet window. This value may be negociated at theI establishment of the call, if your X25 subscription allows it.( 1-2-7. /PKTSIZE=packet size! ____________________V size of the X25 packet. Must be a power of 2. This value may be used3 only if your X25 subscription allows it./ 1-2-8. /THRUCLS=connection thruput( ___________________________5 Mimimum garanteed connection thruput 3 75 bauds 4 150 bauds 5 300 bauds 6 600 bauds 7 1200 bauds 8 2400 bauds 9 4800 bauds 10 9600 bauds 11 19200 bauds 12 48000 baudsJ This value may be used only if your X25 subscription allows it.N PSICOPY - file transfer by PSI  7  1-2-9. /CRC ____ NOCRC (default) _____E Verifies the integrity of each data packet received.. Retransmission in case of an error.- By default, we trust the X25 link.- 1-2-10. /RESTART (=restart_file)& ________________________V Keeps track of the state of the transfer in a file to allow a restartR in case of trouble. To allow a restart to be successful, the files mustR remain at the same place, with the same name.  0o~$ PSICOPY031.A.w)[GEGE.SYSTEME.PSICOPY031]PSICOPY.MEM_EN;1(ǚ"If restart_file isR present, a new PSICOPY session is started, else we try to restart an aborted transfer.1 1-2-11. /from=* ____________________________V Indicates the PSI address of the source machine, and, optionally, theR remote passwords. The aim of the qualifier is to allow to define a. psicopy command in a DCL procedure./ 1-2-12. /to=( __________________________V Indicates the PSI address of the destination machine, and,R optionally, the remote passwords. The aim of the qualifier is to allow: to define a psicopy command in a DCL procedure.4 1-3. Format of full machine addressesH syntaxe: (ADDR=[,PWD=pass][,PWD2=pass])H If only one keyword is present, the parentheses are optional. 1-3-1. ADDR ____V This is the machine address of the remote computer, and may contain0 an username. See "machine addresses". 82 PSICOPY - file transfer by PSI   1-3-2. PWD ___V Password of the above username. If this keyword is missing, the> password, if it exists, is requested interactively. 1-3-3. PWD2 ____> Secondary password. The same remark as above.% 1-4. machine addresses1 format: [NETWORK.]DTE[::USERNAME] 1-4-1. network _______5 Network used to connect the machine. 1-4-2. DTE ___V X.25 number of the machine. This may be a logical name defined in theR PSI$DTE_TABLE table containing a net address of the form: [network.]DTER If a network name is specified both in the logical name and in theM machine address, then it is the latter that is taken into account. 1-4-3. username ________: User to be provided for the remote login. 1-5. Examples:2 PSICOPY decus::dupondt\toto.txt []R Considers decus as a logical name defining the DTE number, dupondt as aR username to use for a connection, and if this user has one (or two)/ password, they will be prompted for.9 PSICOPY toto.txt /from=addr=decus::dupondt []$ This is the same command.J PSICOPY toto.txt /from=(addr=decus::dupondt,pwd=dupondtpwd) []B Same command, but will not prompt for the password (s).@ PSICOPY - file transfer by PSI  9 - PSICOPY toto.txt 19123456789\R Copies the file named toto into the default server account for PSICOPY< on the machine having 19123456789 as DTE address. 101 PSICOPY - file transfer by PSI   2. PSICOPY/SERVER2 Activates PSICOPY in server mode.R In server mode, PSICOPY is activated by a decnet object. This object isR associated with a VMS username during the installation of PSICOPY. TheR default directory of this username contains the server log files.R During the creation of every PSICOPY server process, a file namedR PSICOPY.LOG is created in this directory. To avoid over-populating thisR directory, a good idea is setting a version limit on this directory# (SET DIRECTORY command). 2-1. Qualifiers 2-1-1. /LOG ____@ Nice little messages in the PSICOPY. LOG files. 2-1-2. /STAT _____M X.25 utilisation statictics left at the end in PSICOPY. LOG.- 2-1-3. /CENTRALIZED_LOG=filename& _________________________P All the preceding messages are placed in a unique central file. 2-1-4. /LOGIN ______V If this qualifier is present, all incoming connections must use a; valid username/password to allow file transfers. 2-1-5. /NOLOGIN ________V If this qualifier is present, only anonymous incoming connections are allowedN PSICOPY - file transfer by PSI  11 < 2-1-6. /BOOT[= (FILE=bootfile, MESSAGE=message) ]7 __________________________________________V Allows an owner of PSICOPY_BOOT.MAR to copy the specified boot file7 (default: psicopy_load.exe) from this server{ 121 PSICOPY - file transfer by PSI  ; SOMMAIRE.X Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 ________T Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ______________R 1.Security . . . . . . . . . . . . . . . . . . . . . . . . . . . 2R 1-1.Passwords . . . . . . . . . . . . . . . . . . . . . . . . . 2R 1-2.Server . . . . . . . . . . . . . . . . . . . . . . . . . . 2R 1-3.PSICOPY.EXE . . . . . . . . . . . . . . . . . . . . . . . . 3R 1-4.PSICOPY.COM . . . . . . . . . . . . . . . . . . . . . . . . 3R 1-5.Remote login . . . . . . . . . . . . . . . . . . . . . . . 3R 1-6.X25 sub-address . . . . . . . . . . . . . . . . . . . . . . 3T 2.file transfers . . . . . . . . . . . . . . . . . . . . . . . . 4R 2-1.Characteristics of copied files . . . . . . . . . . . . . . 4R 2-2.Error recovery during transfer . . . . . . . . . . . . . . 4T command directory . . . . . . . . . . . . . . . . . . . . . . . . . 5 _________________hR 1.PSICOPY source dest [qualificateurs] . . . . . . . . . . . . . 6R 1-1.Parameters . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-1-1.source . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-1-2.dest . . . . . . . . . . . . . . . . . . . . . . . . . 6T 1-2.Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-1./compress . . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-2./delete . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-3./log . . . . . . . . . . . . . . . . . . . . . . . . . 7R 1-2-4./stat . . . . . . . . . . . . . . . . . . . . . . . . . 7R 1-2-5./REVERSE . . . . . . . . . . . . . . . . . . . . . . . 7R 1-2-6./WINDOW=window size . . . . . . . . . . . . . . . . . . 7R 1-2-7./PKTSIZE=packet size . . . . . . . . . . . . . . . . . 7R 1-2-8./THRUCLS=connection thruput . . . . . . . . . . . . . . 7R 1-2-9./CRC . . . . . . . . . . . . . . . . . . . . . . . . . 8R 1-2-10./RESTART (=restart_file) . . . . . . . . . . . . . . . 8R 1-2-11./from= . . . . . . . . . . . . . 8R 1-2-12./to= . . . . . . . . . . . . . . 8T 1-3.Format of full machine addresses . . . . . . . . . . . . . 8R 1-3-1.ADDR . . . . . . . . . . . . . . . . . . . . . . . . . 8R 1-3-2.PWD . . . . . . . . . . . . . . . . . . . . . . . . . . 9R 1-3-3.PWD2 . . . . . . . . . . . . . . . . . . . . . . . . . 9T 1-4.machine addresses . . . . . . . . . . . . . . . . . . . . . 9R 1-4-1.network . . . . . . . . . . . . . . . . . . . . . . . . 9R 1-4-2.DTE . . . . . . . . . . . . . . . . . . . . . . . . . . 9R 1-4-3.username . . . . . . . . . . . . . . . . . . . . . . . 9T 1-5.Examples: . . . . . . . . . . . . . . . . . . . . . . . . . 9T  p s$ PSICOPY031.A.w)[GEGE.SYSTEME.PSICOPY031]PSICOPY.MEM_EN;1(cp& 2.PSICOPY/SERVER . . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1.Qualifiers . . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1-1./LOG . . . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1-2./STAT . . . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1-3./CENTRALIZED_LOG=filename . . . . . . . . . . . . . . . 11R 2-1-4./LOGIN . . . . . . . . . . . . . . . . . . . . . . . . 11@ PSICOPY - file transfer by PSI  13 V 2-1-5./NOLOGIN . . . . . . . . . . . . . . . . . . . . . . . 11R 2-1-6./BOOT[= (FILE=bootfile, MESSAGE=message) ] . . . . . . 12 14n1 PSICOPY - file transfer by PSI F  source PSICOPY - file transfer by PSI  15  R3*[GEGE.SYSTEME.PSICOPY031]PSICOPY.RELEASE_NOTES_EN;1+,"&./ 4P.-w0123KPWO566ѽy7IPy8։Œܘ9GHJ In case of bugs contact guillaume gerard. PSI-mail: 020807504128502::gege e-mail: gege@enst.fr bitnet: gege@frint51H X400: country= fr; admd= atlas; prmd=telecparis; name= guillaume gerard ear-mail: ((33) 1) 45-81-78-22>>>>>> Version 2.1>>>- end of VMS V4 support ?- added option /RESTART to allow restart after failed transfers>- added option /LOGIN to validate login and anonymous accesses8- all servers are installed with CMKRNL, that solves the( PSICOPY$SERVER_MODE identifier problem.1- transfer of map's with size > 64K for /COMPRESS(- transfer of application ACE's for DDIF - bug fixes> version 2.1-3 added option /closed_user_group+ corrected incompatibility with psicopy 2.0 version 2.1-5D added system logical name PSICOPY$THRUPUT to limit the global X.25Ithruput associated with PSICOPY. The image must be installed with SYSLCK. version 2.1-6> modification of BOOT syntax:, /boot= (file=boot_file, message="Boot msg"): warning: the old syntax /boot=bootfile in no longer validG the file PSICOPY_LOAD.EXE is provided in the server default directory. version 2.1-7)> added option /TEMPLATE (decnet phase V)< the default PSICOPY template is defined by the logical name+ PSICOPY$DEFAULT_TEMPLATE (in LNM$FILE_DEV) version 2.2-24> phase V installation, French and English languages version 2.2-4D> change in the processing of expiration times, more robust protocolF for the host which initiates transfert /restart, in cases of crash of the said hostP================================================================================ version 3.0 support v6+> support decnet/osi on alpha > support ^T> support x25$access on alpha version 3.1(> support user privileges in server mode6 /ENABLE=PRIVILEGES[=DEFAULT (D), AUTHORIZED, MAXIMUM] [$ PSICOPY031.A:w+[GEGE.SYSTEME.PSICOPY031]PSICOPYMSG.MSG;115^+*[GEGE.SYSTEME.PSICOPY031]PSICOPYMSG.MSG;115+,:./ 4^ -w0123KPWO56?ܨ7ey8ڒܘ9=LGHJ!"! attention: ajouter les messages ?! en faisant attention a ne pas changer les anciens de numro !!8.title PSICOPY_MSG -- Error messages for PSICOPY program#.facility psicopy,1/prefix=psicopy_!!!.severity SUCCESS.base 1<COPIED /fao_count=9%DELETED /fao_count=9!2! add new SUCCESS messages at the end of this list! .base 100!!!.severity INFO.base 3$IDENT !OUTPDELETE 9RECEIVED /fao_count=22SENT /fao_count=2<REQUEST /fao_count=2CREQFAIL /fao_count=29CREATED /fao_count=4@CREFAIL /fao_count=4(REMLOGIN /fao_count=42REMLOGFAIL /fao_count= 4DEBUGINFO /fao_count=2!/! add new INFO messages at the end of this list! .base 200@UNKEXTATTR /fao_count=1:RESTARTFILE /fao_count=2/RESTARTCMD /fao_count=2CRESUMEFILE /fao_count=3,BOOTREQ /fao_count=23BOOTFAIL /fao_count=28COMPRESS_FACTOR /fao_count=1>DATARATE /fao_count=1FUSETHR /fao_count=2.USEWIN /fao_count=13USEPKT /fao_count=1!!!.severity WARNING .base 14)NOTCOPIED /fao_count=46NOTSUPP /fao_count=3@LOCDTELNG /fao_count=2AREMDTELNG /fao_count=2;USERLNG /fao_count=2VWINBAD /fao_count=2VPKTBAD /fao_count=2KRPOALNG /fao_count=2KWORDBAD /fao_count=2[THRBAD /fao_count=2?BADSTATUSWORD /fao_count=3!2! add new WARNING messages at the end of this list! .base 300^RESET /fao_count=6ENONFATAL_BUG /fao_count=4ABADTHRUCLS /fao_count=1DRSTREAD /fao_count=1!!!.severity ERROR .base 25<ASSINCHAN /fao_count=1>ASSOUTCHAN /fao_count=13OPENIN /fao_count=45OPENOUT /fao_count=4.IN_SEARCH /fao_count=4INPARSE OUT_PARSE 8READ_INPUT /fao_count=4;WRITE_OUTPUT /fao_count=49NOTDELETED /fao_count=4.CONFAIL /fao_count=27LOGFAIL /fao_count=2GCONABORT /fao_count=4WCONERRNCB /fao_count=4;NETSEND /fao_count=2ANETRECEIVE /fao_count=2>INTERRUPT /fao_count=1,INVALIDNCB LCRCBLOCK /fao_count=3UCRCBURST /fao_count=3!0! add new ERROR messages at the end of this list! .base 500%RSTCRC !!!.severity FATAL .base 458MAXCRCERR ABORT 'PUTMSG <$PUTMSG system service failed>ERRDELETE $ERRDEACCESS /NOX25CHAN ,NOSYSNET ,READSYSNET *ACCEPTERR *PROTOCOL /fao_count=1%USERNAME 0HASHNOTSUPP 'ERRJPI <$GETJPI system service failed>!ERREXH 0READMBX /fao_count=25DEACCESS /fao_count=25SEND_IT /fao_count=2<ACK_IT /fao_count=2:INV_IT /fao_count=20CLEARED /fao_count=4-OPENLOG <EXTLOG (NOTNOW 8REVOKERR 8GRANTERR 8TRNLOG /fao_count=2DRELINK -RSTOPEN 3RSTINV -RSTWRITE <RSTLOCINP >RSTLOCOUTP $STREAM_PURGE #LOGINMANDATORY "LOGINNOTALL 7INVEXTATTRLST 0NODECNET /INVRESTARTFILE !0! add new FATAL messages at the end of this list! .base 600>FATAL_BUG /fao_count=4!!!.end T$ PSICOPY031.Aw*[GEGE.SYSTEME.PSICOPY031]KITINSTAL.COM;159kH**[GEGE.SYSTEME.PSICOPY031]KITINSTAL.COM;159+,.H/ 4kHFN-w0123KPWOG5 6њ(+7V{y8VCܘ9=LGHJ $!$ on warning then exit $status*$ on control_y then VMI$CALLBACK control_y$ psicopy_ver= f$verify(p2)!$ if p1.eqs."HELP" then goto help4$ if p1.eqs."VMI$_INSTALL" then goto psicopy_install,$ if p1.eqs."VMI$_IVP" then goto psicopy_ivp$ exit VMI$_UNSUPPORTED$!$psicopy_install:'$ creuaf=0 ! pas de creation d'usernameB$ accobj=1 ! securisation de l'objet demandee (phase IV seulement)$ upgrade= 0 ! pas un upgrade $ goodmorning= 0 ! temoin 'joke'-$ allowlogin= 0 ! temoin autorisation 'login'5$ allowanonymous=1! temoin autorisation login anonyme-$ allowserver=0 ! tmoin autorisation serveur4$ maxuserlength= 12!taille maximum d'un username VMS.$ franais=1 ! temoin installation en franais?$ psicopy$exedir:= sys$common:[sysexe] ! repertoire executables$ req_privs= "OPER,NETMBX"0$ vms_version= F$ELEMENT (1,",",VMI$VMS_VERSION)%$ psicopy$rep== vms_version.ges."050";$ if .not.psicopy$rep then VMI$CALLBACK MESSAGE W BADVERS -G "Installation Kit will not work with VMS version ''VMI$VMS_VERSION'";$ if .not.psicopy$rep then VMI$CALLBACK MESSAGE I HAVEFUN -3 "You will have to do the installation yourself." $ set noon $ arch:= vax$ arch= f$getsyi ("arch_name")$ set on$ if arch.eqs."Alpha"$ then axp:= _axp$ else axp= ""$ endif$!+$ VMI$CALLBACK CHECK_NETWORK psicopy$netrun $asklang:A$ VMI$CALLBACK ASK psicopy$rep "Franais / English (F/E)" F S,N - "@vmi$kwd:kitinstal help lang"$ if psicopy$rep.eqs."" -H .or. f$extract (0,f$length(psicopy$rep),"FRANAIS").eqs.psicopy$rep-G .or. f$extract (0,f$length(psicopy$rep),"FRANCAIS").eqs.psicopy$rep$ then franais=1G$ else if f$extract (0,f$length(psicopy$rep),"ENGLISH").eqs.psicopy$rep$ then franais=0C$ rename VMI$KWD:PSICOPY.RELEASE_NOTES VMI$KWD:.RELEASE_NOTES_FRC$ rename VMI$KWD:PSICOPY.RELEASE_NOTES_EN VMI$KWD:.RELEASE_NOTESR$ VMI$CALLBACK PROVIDE_FILE psicopy$rel psicopy.release_notes VMI$ROOT:[SYSHLP]/$ rename VMI$KWD:psicopy.hlp VMI$KWD:.hlp_fr/$ rename VMI$KWD:psicopy.hlp_en VMI$KWD:.hlp/$ rename VMI$KWD:psicopy.mem VMI$KWD:.mem_fr/$ rename VMI$KWD:psicopy.mem_en VMI$KWD:.mem$ else goto asklang$ endif$ endif$!K$ msg0= "WHENINDOUBT ""When in doubt, type '?' as answer at any question"""N$ msg1= "ENCASDEDOUTE ""En cas de doute, tapez '?' en rponse aux questions"""$ msg = msg'franais'$ VMI$CALLBACK MESSAGE I 'msg'$! $askkeep:if franais%$ then VMI$CALLBACK ASK psicopy$rep -9 "Voulez-vous conserver les documents en anglais" N S,N -$ "@vmi$kwd:kitinstal help keeplang"%$ else VMI$CALLBACK ASK psicopy$rep -3 "Do you want to keep the french documents" N S,N -$ "@vmi$kwd:kitinstal help keeplang"$ endif$ gosub ouinon$ keepdocument= oui$ if err then goto askkeep$!G$ msg0="""Do you want to purge files replaced by this installation"" Y"O$ msg1="""Voulez-vous purger les fichiers remplacs par cette installation"" O"$ msg = msg'franais'2$askpurge:VMI$CALLBACK ASK psicopy$rep 'msg' S,N -! "@vmi$kwd:kitinstal help purge"$ gosub ouinon$ if err then goto askpurge$ if oui!$ then VMI$CALLBACK set purge YES!$ else VMI$CALLBACK set purge NO$ endif$!$ if psicopy$netrun$ then@$ msg0="""Do you want to run the IVP after the installation"" Y">$ msg1="""Voulez-vous executer l'IVP aprs l'installation"" O"$ msg = msg'franais'1$askivp: VMI$CALLBACK ASK psicopy$rep 'msg' S,N - "@vmi$kwd:kitinstal help ivp"$ gosub ouinon$ if err then goto askivp$ else2$ msg0="""Net is not running; IVP cannot be run"""O$ msg1="""Le rseau n'est pas oprationnel; l'IVP ne pourra pas tre excut"""$ msg = msg'franais'$ VMI$CALLBACK W NONET 'msg'$ oui=0$ endif$ if oui$ then VMI$CALLBACK set ivp YES$ else VMI$CALLBACK set ivp NO$ endif$!2$ if .not.f$privilege (req_privs) then goto nopriv=$ if f$privilege ("BYPASS") .or. f$privilege("SYSPRV") then - goto filepriv_ok$ type sys$input:D Vous n'avez pas les droits systeme. Cette installation peut echouer< si vous voulez copier les fichiers dans un endroit protege.$!$!$rep1:M$ VMI$CALLBACK ASK psicopy$rep "Voulez-vous neamnoins continuer (O/N)" NO S,N($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto rep1%$ if .not. oui then exit VMI$_FAILURE $filepriv_ok::$ msg0= """Do you want to accept incoming connections"" Y"C$ msg1= """Voulez vous recevoir des connexions entrantes (O/N)"" O"$ msg = msg'franais'0$askinc:VMI$CALLBACK ASK psicopy$rep 'msg' S,N -" "@vmi$kwd:kitinstal help connex"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto askinc$ allowserver= oui$!$ if axp.nes.""%$ then VMI$CALLBACK RESTORE_SAVESET C%$ else VMI$CALLBACK RESTORE_SAVESET B$ endif$!$ @VMI$KWD:psicopy$getobj%$ if .not.allowserver then goto filesP$!==============================================================================$! installation en mode serveur$!!$ req_privs= "OPER,NETMBX,CMKRNL"2$ if .not.f$privilege (req_privs) then goto nopriv$!($! L'application PSICOPY existe-t-elle ?$!$ if psicopy$convert_ask@$ then msg0= """Do you want to convert phase IV database ?"" Y"9$ msg1= """Voulez vous convertir la base phase IV ?"" O"$ msg = msg'franais'1$askcvt: VMI$CALLBACK ASK psicopy$rep 'msg' S,N -$ "@vmi$kwd:kitinstal help convert")$ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto askcvt $ @VMI$KWD:psicopy$getobj 'oui'$ endif$!$ if psicopy$phaseV$ then$ if psicopy$use_phaseIV8$ then msg0= """Translating phase IV info to phase V""":$ msg1= """Conversion des donnes phase IV en phase V"""'$ else msg0="""Phase V installation"""$$ msg1= """installation phase V"""$ endif$ msg = msg'franais'&$ VMI$CALLBACK MESSAGE I PHASEV 'msg'$ if psicopy$use_phaseIV$ then$ if franais$ then type sys$input:E*** Pour que cette conversion ne soit plus propose, il faut dtruire+ l'objet PSICOPY sous NCP avec la commande:# $ mcr NCP PURGE OBJECT PSICOPY ALL$ else type sys$input:@*** To avoid the question about the phase IV conversion, use NCP9 to delete the PSICOPY object, with the follogin command:# $ mcr NCP PURGE OBJECT PSICOPY ALL $ endif$ else$ if .not.psicopy$netrun$ thenJ$msg0="""Network must be up and running to install PSICOPY with phase V"""G$msg1="""Le rseau doit tre actif pour installer PSICOPY en phase V"""$ msg= msg'franais*$ VMI$CALLBACK MESSAGE NETREQRD F 'msg'$ exit VMI$_FAILURE $ endif$ endif$ endif$!F$ msg0= """Do you want to allow logins by PSICOPY on your machine"" Y"M$ msg1= """Voulez vous autoriser les login par PSICOPY sur votre machine"" O"$ msg = msg'franais' $asklogin:*$ VMI$CALLBACK ASK psicopy$rep 'msg' S,N -$ "@vmi$kwd:kitinstal help remlogin"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto asklogin$ allowlogin= oui$!$ if allowlogin$ thenO$msg0= """Do you want to allow a default access by PSICOPY on your machine"" Y"V$msg1= """Voulez vous autoriser un accs par dfaut par PSICOPY sur votre machine"" O"$ msg = msg'franais'$askanonymous:,$ VMI$CALLBACK ASK psicopy$rep 'msg' S,N - ) "@vmi$kwd:kitinstal help remanonymous")$ if .not.$status then exit VMI$_FAILURE$ gosub ouinon $ if err then goto askanonymous$ allowanonymous= oui$ endif$!$ if psicopy$object_found$ then if psicopy$object_error$ then gosub invobj$ else goto upgrade$ endif$ endif$!P$!==============================================================================($! pas d'objet ncp, ou objet NCP illgal$!$$ msg0= """Username of the server"""!$ msg1= """Username du serveur"""$ msg = msg'franais':$askuser:VMI$CALLBACK ASK psicopy$user 'msg' PSICOPY S,N - "@vmi$kwd:kitinstal help user"($ if .not.$status then exit VMI$_FAILURE7$ psicopy$user== f$edit (psicopy$user,"TRIM,LOWERCASE")/$ if f$length (psicopy$user).gt.maxuserlength -. .or. psicopy$user.eqs."" then goto askuser$!#$ finduser:= $VMI$KWD:finduser'a w$ PSICOPY031.Aw*[GEGE.SYSTEME.PSICOPY031]KITINSTAL.COM;159kH~M"xp'$ finduser 'psicopy$user'$ if username.nes."",$ then psicopy$serverdir:== 'defdev''defdir'$$ psicopy$uic:== ['group','member']$ goto assumeok$ endif$! $ creuaf= 1$!.$ msg0= """UIC for username ''psicopy$user'"""2$ msg1= """UIC pour l'username ''psicopy$user'"""$ msg = msg'franais'$askserveruic:+$ VMI$CALLBACK ASK psicopy$uic 'msg' "" S -% "@vmi$kwd:kitinstal help uicserver"$ define/user sys$output nl:$ define/user sys$error nl: $ set noon$$ create nl:toto/owner='psicopy$uic' $ st= $status$ set on#$ if .not.st then goto askserveruic$!:$ msg0= """Login directory for username ''psicopy$user'"""A$ msg1= """Rpertoire de login pour l'username ''psicopy$user'"""$ msg = msg'franais'$askdir:,$ VMI$CALLBACK ASK psicopy$serverdir 'msg' -& "SYS$SYSROOT:[PSICOPY$SERVER]" S,N -% "@vmi$kwd:kitinstal help serverdir"$ on error then exit $status&$ VMI$CALLBACK CREATE_DIRECTORY USER -- 'psicopy$serverdir' "/OWNER=''psicopy$uic'" $ st= $status$ on warning then exit $status"$ if .not.$status then goto askdir$!>$ defdev= f$parse (psicopy$serverdir,,,"DEVICE","Syntax_only")A$ defdir= f$parse (psicopy$serverdir,,,"DIRECTORY","Syntax_only")$ gosub generate_password$ vmi$debug = p2>$ VMI$CALLBACK create_account 'psicopy$user' /noadd_identifier$ vmi$debug = 0.$ VMI$CALLBACK UPDATE_ACCOUNT 'psicopy$user' -k"/device=''defdev'/directory=''defdir'/uic=''psicopy$uic'/nomodify_identifier/password=''psicopy$password'" $ set noonH$ VMI$CALLBACK add_identifier psicopy$server "/value=uic:''psicopy$uic'"G$ VMI$CALLBACK add_identifier psicopy$server_mode "/attributes=dynamic"$ a:= $authorizeJ$ define/user sysuaf 'f$parse("sysuaf","sys$system:.dat",,,"Syntax_only")'J$ define/user netuaf 'f$parse("netuaf","sys$system:.dat",,,"Syntax_only")'N$ define/user netproxy 'f$parse("netproxy","sys$system:.dat",,,"Syntax_only")'I$ a grant/identifier psicopy$server_mode 'psicopy$uic'/attributes=dynamic$ set onP$msg0= """You'll have to give the """"PSI$X25_USER"""" right to that username"""O$msg1= """Il faudra donner l'identificateur """"PSI$X25_USER"""" ce compte"""$ msg = msg'franais'?$ if f$identifier ("PSI$X25_USER","NAME_TO_NUMBER").ne.0 then -& VMI$CALLBACK MESSAGE I GRIDENT 'msg' $firstinstal:$ if vms_version.lts."052" $ then goodflag:= captive$ else goodflag:= restricted$ endif.$ VMI$CALLBACK UPDATE_ACCOUNT 'psicopy$user' -j"/network/lgicmd=_nl:/flag=(dismail,''goodflag')/priv=(noall,tmpmbx,netmbx)/defpriv=(noall,tmpmbx,netmbx)"$ goto netfiles $assumeok:J$ msg0="""The account already exists. The installation assumes it is OK"""G$ msg1= """Le compte existe dj. L'installation assume qu'il est OK"""$ msg = msg'franais'($ VMI$CALLBACK MESSAGE I ACCEXIST 'msg' $ goto firstinstalP$!==============================================================================$!$! objet NCP /NCL trouv$! $upgrade: $ upgrade= 1 $ if franais$ then type sys$input:: Un objet PSICOPY existe deja. Les droits d'acces associes< a cet objet seront utilises pour le reste de l'installation$ else type sys$input:> a PSICOPY object already exists. The access rights associated? with this object will be used for the rest of the installation$ endif>$ msg0= """Do you want to continue the installation (Y/N)"" y":$ msg1= """Voulez-vous continuer l'installation (O/N)"" o"$ msg= msg'franais'/$ask2: VMI$CALLBACK ASK psicopy$rep 'msg' S,N,-$ "@vmi$kwd:kitinstal help objexists")$ if .not.$status then exit VMI$_FAILURE$$ gosub ouinon$ if err then goto ask2$$ if .not.oui then exit VMI$_FAILURE1$ accobj=0 ! on ne modifie pas les droits d'accesW$ psicopy$exedir= f$parse (psicopy$file,,,"DEVICE")+f$parse(psicopy$file,,,"DIRECTORY")P$!============================================================================== $netfiles:$ if .not. creuaf$ then,$ psicopy$$= f$edit (psicopy$user,"UPCASE")F$msg0= """Do you want to generate a new password for ''psicopy$$'"" y"L$msg1= """Voulez-vous generer un nouveau mot de passe pour ''psicopy$$'"" o"$ msg= msg'franais'0$ask3: VMI$CALLBACK ASK psicopy$rep 'msg' S,N -# "@vmi$kwd:kitinstal help srvpas")$ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto ask3 $ if .not.oui then goto askcent$ gosub generate_password $ accobj= 1M$ VMI$CALLBACK update_account 'psicopy$user' "/password=''psicopy$password'"$ endif$!$! fichier de log centralise$! $askcent:=$ msg0 = """Name of the log file ( if no log file)"""A$ msg1 = """Nom du fichier de log ( si pas de fichier)"""$ msg= msg'franais'-$ VMI$CALLBACK ASK psicopy$fic 'msg' "" n,s -# "@vmi$kwd:kitinstal help logfile"($ if .not.$status then exit VMI$_FAILUREB$ if f$parse(psicopy$fic,,,"NAME").nes."PSICOPY" then goto cent_ok+$ typ= f$parse (psicopy$fic,".LOG",,"TYPE")%$ if typ.nes.".LOG" then goto cent_ok)$ msg0 = """This file name is reserved"""-$ msg1 = """Ce nom de fichier est rserv."""$ msg= msg'franais''$ VMI$CALLBACK MESSAGE E RESERVED 'msg'$ goto askcent $cent_ok:J$ if psicopy$fic.nes."" then psicopy$fic== "/centralized_log="+psicopy$fic$! $! occupons nous des fichiers...$!$FILES:8$ msg0 = """location for command and executable files"""B$ msg1 = """emplacement des fichiers de commande et executables"""$ msg= msg'franais'?$ VMI$CALLBACK ASK psicopy$dir 'msg' "''psicopy$exedir'" N,S -# "@vmi$kwd:kitinstal help exfiles"($ if .not.$status then exit VMI$_FAILURE$!*$ if psicopy$dir.eqs."SYS$COMMON:[SYSEXE]"$ then realdir= psicopy$dir9$ psicopy$owner:== [1,4] ! pas confiance aux identifiers$ elseE$ if f$extract(f$length(psicopy$dir)-1,1,psicopy$dir).eqs.":" then -B psicopy$dir== f$extract (0,f$length(psicopy$dir)-1,psicopy$dir))$ x= f$trnlnm (psicopy$dir,"LNM$SYSTEM")$ if x.eqs.""$ then x= psicopy$dir%$ else psicopy$dir== psicopy$dir+":"$ endif$!5$! il faut une specif. de directory termine par ']'$!7$ if f$locate ("]",x).ne.f$length(x)-1 then goto files;$ if f$parse (psicopy$dir,,,"NAME").nes."" then goto files#$ if .not. $status then goto files$ define/user sys$output nl:$ define/user sys$error nl: $ set noon $ directory/total 'psicopy$dir'$ st= $status $ set on:$! dir: drame renvoie un warning si le directory est vide7$ if .not. st then if (st.and.7) .ne.0 then goto files$ realdir= psicopy$dir$ psicopy$owner== ""$ endif$!@$! on cherche PSICOPY.COM et PSICOPY.EXE dans les dir. spcifis$!$ on error then exit $status!$ verifile:= 'realdir'psicopy.exe.$ psicopy$filok== "." ! en cas de pb de parse.E$ VMI$CALLBACK FIND_FILE psicopy$oldexe 'verifile' "" s psicopy$filok$ if psicopy$filok .eqs. "S" %$ then if psicopy$owner.eqs."" then -< psicopy$owner== f$file_attributes("psicopy$oldexe:","UIC")&$ else if upgrade then goto dirfarfelu$ endif!$ verifile:= 'realdir'psicopy.comE$ VMI$CALLBACK FIND_FILE psicopy$oldcom 'verifile' "" s psicopy$filok$ if psicopy$filok .eqs. "S" %$ then if psicopy$owner.eqs."" then -< psicopy$owner== f$file_attributes("psicopy$oldcom:","UIC")&$ else if upgrade then goto dirfarfelu$ endif$!+$! on vrifie que psicopy$owner est valide.$! $getowner:.$ msg0= """UIC propritaire de ces fichiers""".$ msg1= """UIC propritaire de ces fichiers"""$ msg = msg'franais'?$ if psicopy$owner.eqs."" then VMI$CALLBACK ASK psicopy$owner - 'msg' "''psicopy$user'" S,N -" "@vmi$kwd:kitinstal help exeuic"$ define/user sys$output nl:$ define/user sys$error nl: $ set noon&$ create nl:toto/owner='psicopy$owner' $ st= $status$ set on$ if st then goto oncopie/$ msg0= """The UIC ''psicopy$owner' is invalid"6$ msg1= """L'UIC ''psicopy$owner' n'est pas valable"""$ msg = msg'franais'%$ VMI$CALLBACK MESSAGE E BADUIC 'msg'$ psicopy$owner== ""$ goto getowner$!E$! upgrade: le directory spcifi ne contient pas les fichiers prvus$! $dirfarfelu:5$ msg0= """The old file ''verifile' does not exist"""7$ msg1= """L'ancien fichier ''verifile' n'existe pas"""$ msg= msg'franais'%$ VMI$CALLBACK MESSAGE W NOFILE 'msg'n6$ msg0= """do you want to change the directory name"""5$ msg1= """voulez-vous changer le nom du directory"""q$ msg= msg'franais'1$ask4: VMI$CALLBACK ASK psicopy$rep 'msg' o n,s -o! "@vmi$kwd:kitinstal help dirpb"R($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto ask4!$ if oui then goto files$ goto getowner $!!$! on a toutes les billes on y vad$! $oncopie:n6$ msg0="DRINKCOFFEE ""All questions have been asked""":$ Y:$ PSICOPY031.Aw*[GEGE.SYSTEME.PSICOPY031]KITINSTAL.COM;159kHڧ""msg1="BOIRECAFE ""Toutes les questions ont t poses"""$ msg = msg'franais'=$ VMI$CALLBACK MESSAGE I 'msg'#$ on severe_error then exit $statusdA$ msg0="""Compilation of the VMS dependent modules and link...""" L$ msg1="""Compilation des modules dependant de VMS et edition de liens..."""$ msg = msg'franais's&$ VMI$CALLBACK MESSAGE I LINKING 'msg'&$ @VMI$KWD:psicopy$build 'vms_version'($ if .not.$status then exit VMI$_FAILUREA$ VMI$CALLBACK provide_image psicopy$filexe psicopy.exe 'realdir's"$ if .not. $status then goto files-$ if psicopy$owner.nes."" then VMI$CALLBACK - B SECURE_FILE psicopy$filexe 'psicopy$owner' s:rwed,o:rwed,g:re,w:e?$ VMI$CALLBACK TELL_QA "W necessaire pour systeme pour install"c$!A$ if .not. allowserver then goto no_server ! br si pas de serveur$$!$! fichier de boot$!C$ VMI$CALLBACK provide_file psicopy$boot psicopy_boot.mar 'realdir'gG$ VMI$CALLBACK provide_file psicopy$boot psicopy_load_VAX.exe 'realdir'eG$ VMI$CALLBACK provide_file psicopy$boot psicopy_load_AXP.exe 'realdir'c$!?$! Creation de PSICOPY.COM ************************************.$!,$ open/write psicopy$com vmi$kwd:psicopy.com$ if .not.$status then goto c_yLA$ write psicopy$com /err=c_y "$ psicopy:= $''psicopy$dir'psicopy"C$ psicopy$srv_quals= "":7$ if .not. allowlogin then psicopy$srv_quals:= /NOLOGINO9$ if .not. allowanonymous then psicopy$srv_quals:= /LOGINIM$ write psicopy$com /err=c_y "$ psicopy/server",psicopy$fic,psicopy$srv_qualsc%$ write psicopy$com /err=c_y "$ exit"M$ close psicopy$comV@$ VMI$CALLBACK provide_file psicopy$filcom psicopy.com 'realdir'"$ if .not. $status then goto files-$ if psicopy$owner.nes."" then VMI$CALLBACK -nC SECURE_FILE psicopy$filcom 'psicopy$owner' s:rwed,o:rwed,g:re,w:re A$ VMI$CALLBACK TELL_QA "PSICOPY.COM est w:re car les fichiers de"'I$ VMI$CALLBACK TELL_QA "commande des objets decnet doivent etre lisibles"E$!G$! Creation de l'objet NCP associe ************************************$!$ if .not.psicopy$phaseVW$ then msg0="""Creating the PSICOPY object and PSICOPY destination of the X25 server"""SU$ msg1="""Cration de l'objet PSICOPY et de la destination PSICOPY du serveur X25"""i$ msg= msg'franais' #$ VMI$CALLBACK MESSAGE I NCP 'msg'tF$ ncpcom= "define object psicopy number 0 file ''realdir'psicopy.com"W$ if accobj then ncpcom= ncpcom + " user ''psicopy$user' password ''psicopy$password'"a<$ open/append psicopy$fil vmi$kwd:psicopy$update_object.com$ write psicopy$fil ncpcomy-$ write psicopy$fil "set object psicopy all"r$ write psicopy$fil "$exit"$ close psicopy$fil%$ @vmi$kwd:psicopy$update_object.com !$ if f$getsyi("VAXCLUSTER").ne.0e$ then if franais$ then type sys$input:@ Un fichier "SYS$MANAGER:PSICOPY$UPDATE_OBJECT.COM" a t fourniF afin de mettre a jour la base de donnees Decnet sur les autres noeuds$ du cluster o PSICOPY est install.$ else type sys$input:A A file "SYS$MANAGER:PSICOPY$UPDATE_OBJECT.COM" has been providedgD to allow you to update the PSICOPY decnet object on the other nodes where PSICOPY in installeda $ endifl/$ VMI$CALLBACK PROVIDE_FILE psicopy$updobj -m PSICOPY$UPDATE_OBJECT.COM - VMI$ROOT:[SYSMGR]-$ VMI$CALLBACK SECURE_FILE psicopy$updobj -E [1,4] s:ed,o:ed,g,w$ endif$ endif$!$! fichier de startup $! $no_server:g$ if allowserver,$ then psicopy_privileges= "(CMKRNL,SYSLCK)"#$ else psicopy_privileges= "SYSLCK"e$ endift5$ open/append psicopy$fil vmi$kwd:psicopy$startup.coml$ wfil:= write psicopy$fil$ wfil "$ verb:= add"iK$ wfil "$ if f$file_attributes (""''psicopy$dir'psicopy.exe"",""KNOWN"") -"p$ wfil " then verb:= replace"e)$ wfil "$ install:= $install/command_modeiN$ wfil "$install 'verb' ''psicopy$dir'psicopy/privilege=''psicopy_privileges'"($ if "''psicopy$phaseV'".and.allowserver$ then if psicopy$x25$access $ then psicopy$nclexe:= x25$ncl$ else psicopy$nclexe:= ncl$ endif$ wfil "$ set noon"7$ wfil "$ define/user sys$output _NL: ! berk pas beau"'&$ wfil "$ define/user sys$error _NL:",$ wfil "$ run sys$system:''psicopy$nclexe'"0$ wfil "disable x25 access application PSICOPY"/$ wfil "delete x25 access application PSICOPY"I*$ wfil "delete x25 access filter PSICOPY"$ wfil "$ set on",$ wfil "$ run sys$system:''psicopy$nclexe'".$ wfil "create x25 access application PSICOPY7 wfil "set x25 access application PSICOPY type X25, -"=-$ wfil " filters {''psicopy$filters'}, -"uB$ wfil " user ""''psicopy$user'"", file ''realdir'PSICOPY.COM")$moreappl: if psicopy$ncla_applcount.ne.0a8$ then psicopy$ncla_applcount= psicopy$ncla_applcount-12$ msg= psicopy$ncla_appl'psicopy$ncla_applcount'4$ wfil "set x25 access application PSICOPY ''msg'"$ goto moreappl$ endif*$ wfil "create x25 access filter PSICOPY"-$morefilter: if psicopy$ncla_filtercount.ne.0h<$ then psicopy$ncla_filtercount= psicopy$ncla_filtercount-16$ msg= psicopy$ncla_filter'psicopy$ncla_filtercount'/$ wfil "set x25 access filter PSICOPY ''msg'"a$ goto morefilters$ endif/$ wfil "enable x25 access application PSICOPY"n$ wfil "exit"$ endif1$ write psicopy$fil "$exit"h$ close psicopy$fil0$ VMI$CALLBACK PROVIDE_FILE psicopy$startupfil -+ psicopy$startup.com vmi$root:[sys$startup]g/$ VMI$CALLBACK SECURE_FILE psicopy$startupfil -V [1,4] s:rewd,o:Re,g:re,ws$!*$ VMI$CALLBACK SET STARTUP psicopy$startup$! $ if franaisq$ then type sys$inputs6 Pour installer correctement psicopy sur votre machine: pensez a ajouter dans le systartup les lignes suivantes: @ sys$startup:PSICOPY$STARTUP$ else type sys$inputu< To properly instal PSICOPY on your machine, don't forget to6 add to your startup command file the following lines: @ sys$startup:PSICOPY$STARTUP$ endifo$!D$! installation des fichiers communs tous les types d'installation$!1$ open/append psicopy$fil vmi$kwd:psicopy$ivp.comt($ write psicopy$fil "$ wdir:=''realdir'"*$ write psicopy$fil "$ lang = ''franais'"2$ write psicopy$fil "$ phaseV = ''psicopy$phaseV'"$ write psicopy$fil "$ return"$ close/nolog psicopy$filtJ$ VMI$CALLBACK PROVIDE_FILE PSICOPY$IVP psicopy$ivp.com VMI$ROOT:[SYSTEST]B$ msg0= """The PSICOPY$IVP.COM file is in SYS$SYSROOT:[SYSTEST]"""G$ msg1= """Le fichier PSICOPY$IVP.COM est dans SYS$SYSROOT:[SYSTEST]"""$$ msg = msg'franais'o&$ VMI$CALLBACK MESSAGE I IVPFILE 'msg'$! $! la doc ...n$!E$ VMI$CALLBACK PROVIDE_FILE psicopy$doc PSICOPY.MEM VMI$ROOT:[SYSHLP]I$ msg0= """A documentation file SYS$HELP:PSICOPY.MEM has been provided"""mK$ msg1= """Un fichier de documentation est mis sous SYS$HELP:PSICOPY.MEM""" $ msg = msg'franais'"$ VMI$CALLBACK MESSAGE I DOC 'msg'$!$! le help ...$!+$ VMI$CALLBACK PROVIDE_DCL_HELP psicopy.hlpt$!$ if keepdocument$ then if franais$ thenV$ VMI$CALLBACK MESSAGE I -9 "Les documents anglais PSICOPY.*_EN sont dans SYS$HELP" N$ VMI$CALLBACK PROVIDE_FILE psicopy$doc_en PSICOPY.MEM_EN VMI$ROOT:[SYSHLP]N$ VMI$CALLBACK PROVIDE_FILE psicopy$hlp_en PSICOPY.HLP_EN VMI$ROOT:[SYSHLP]X$ VMI$CALLBACK PROVIDE_FILE psicopy$rel_en PSICOPY.RELEASE_NOTES_EN VMI$ROOT:[SYSHLP]$ elseg$ VMI$CALLBACK MESSAGE I -t> "The french documents PSICOPY.*_FR are provided in SYS$HELP"N$ VMI$CALLBACK PROVIDE_FILE psicopy$doc_fr PSICOPY.MEM_FR VMI$ROOT:[SYSHLP]N$ VMI$CALLBACK PROVIDE_FILE psicopy$hlp_fr PSICOPY.HLP_FR VMI$ROOT:[SYSHLP]X$ VMI$CALLBACK PROVIDE_FILE psicopy$rel_fr PSICOPY.RELEASE_NOTES_FR VMI$ROOT:[SYSHLP]$ endif$ endify$!$! information pour le Sylogin$! $ if franaisW$ then type sys$inputd? Pour definir la commande psicopy, ajoutez ,par exemple dans ler SYLOGIN.COM:$ else type sys$input'E To define the PSICOPY command, add, for instance in the SYLOGIN.COM:0$ endifr7$ write sys$output "$psicopy:== $''psicopy$dir'psicopy"n$ write sys$output ""%$ psicopy$$ :== $'psicopy$dir'psicopy$ exit VMI$_SUCCESSi $psicopy_ivp:"$ psicopy= psicopy$$#$ @sys$sysroot:[systest]psicopy$ivpe#$exit: exit '$status'.or.%x10000000r$!$nopriv: $ if franaise$ then type sys$input:? Vous n'avez pas les privileges requis pour cette installation:($ write sys$Output "Il faut ",req_privs$ else type sys$input:= You don't have the required privileges for this installation($ write sys$Output "You need ",req_privs$ endifA$c_y: set terminal/echo'$ close/nolog psicopy$fil$ $ if franais$ then type sys$input: Installation non effectue...$ else type sys$input: Installation not done$ endifs$ exit VMI$_FAILUREs$!$! objet invalidea$!$invobj:7)$ PSICOPY031.Aw*[GEGE.SYSTEME.PSICOPY031]KITINSTAL.COM;159kHG>3>$ msg0="""the Decnet PSICOPY defined object is incompatible"""H$ msg1="""l'objet PSICOPY defini dans la base DECNET est incompatible"""$ msg = msg'franais'd%$ VMI$CALLBACK MESSAGE F INVOBJ 'msg'u $ ncp:= $ncp$ ncp lis obj PSICOPY2G$ msg0= """Do you want to purge this object to continue installation"""eH$ msg1= """Voulez-vous purger cet objet pour continuer l'installation"""$ msg = msg'franais'u/$ask5: VMI$CALLBACK ASK psicopy$rep 'msg' N S,Np($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err ther goto ask5e$$ if .not.oui then exit VMI$_FAILURE$ ncp purge object psicopy all$ ncp clear object psicopy all$ return$!B$! creation d'un pw de 8 caracteres retourne dans psicopy$password$!$ Generate_password:$ if vms_version.ges."054"1$ then VMI$CALLBACK GET_PASSWORD psicopy$password' $ returnt$ endify $ pwdn= 1a$ file1:= vmi$kwd:pwd.tmpr:$ if f$search(file1) .nes. "" then delete/nolog 'file1';*"$ define /user sys$output 'file1' $ set noon$ set password/gen=8" invalid $ set onn$ set prot=(g,w) 'file1' )$ open/read/err=nopass tempfile1 'file1'" $ pwdx= "" $ Pwd_loop: ($ read /end=close_pwd tempfile1 record$ pwd = F$element(0," ",record)e$$ If pwd .eqs. "" then goto pwd_loop/$ pwdx= pwdx+f$extract (f$length(pwd)-3,2,pwd)"$ pwdn = pwdn + 1$$ If pwdn .le. 5 then goto pwd_loop $ Close_pwd:$ Close/nolog tempfile1N$ Delete/nolog 'file1';*r $ pwdn = 1/$ psicopy$password == pwdx $ Returnt$nopass:"$ msg0= """password not changed"""%$ msg1= """mot de passe non chang""""$ msg= msg'franais'*$ VMI$CALLBACK MESSAGE W NOPWDCHANGE 'msg' $ accobj=0$ returnP$!##############################################################################$ouinon:$ replen= f$length(psicopy$rep)f$ err= 0 $ if franais=$ then oui= "OUI"= $ non= "NON"= $ yes= "YES"=L$sir= "GOODMORNING ""Good morning sir ! Speak french please ! Thank you !"""3$hein="KESKIDI ""Rpondez par oui ou par non SVP"""P$ else oui= "YES"d $ non= "NO" $ yes= "OUI"tG$sir= "BONJOUR ""Bonjour monsieur ! Parlez anglais, S.V.P. ! Merci !"""n'$hein="HUH ""Please answer YES or NO"""h$ endifr-$ if psicopy$rep.eqs.f$extract (0,replen,oui)d $ then oui=12$ else if psicopy$rep.eqs.f$extract (0,replen,non) $ then oui=0t4$ else if psicopy$rep.eqs.f$extract (0,replen,yes)#$ then if .not.goodmorning then -s"$ VMI$CALLBACK MESSAGE I 'sir' $ oui= 1$$ goodmorning= 1v$ else err= 1h"$ VMI$CALLBACK MESSAGE E 'hein' $ endif$$ endif$ endif $ returnP$!##############################################################################$help: goto help'p2''franais' $helplang1:d$ type sys$input:yD Langage d'installation: il dfinit le langage dans lequel s'executePla procedure d'installation, ainsi que celui du mode d'emploi, des release_notesNet du help. Vous pourrez conservez les documents anglais si vous le souhaitez.C Installation language: it defines the language of the installation=Jprocedure and the user's guide's, the release notes' and the help files's..You can keep the french documents if you wish.$ exit$helpkeeplang0:"$ type sys$input:hF If you answer YES to this question, french documents (PSICOPY.HLP_FR,MPSICOPY.MEM_FR, and PSICOPY.RELEASE_NOTES_FR) are kept in SYS$HELP. Otherwisetthey are deleted.b$ exit$helpkeeplang1:a$ type sys$input:$> Si vous repondez OUI cette question, les documents anglais N(PSICOPY.HLP_EN, PSICOPY.MEM_EN, et PSICOPY.RELEASE_NOTES_EN) sont gards dans"SYS$HELP: Sinon ils sont dtruits.$ exit $helppurge0:$ type sys$input:i@The files which are superseded by this installation are deleted.Purging is recommended.w$ exit $helppurge1:$ type sys$input:a<Les fichiers remplacs par cette installation sont dtruits.Le purge est recommand.$ exit $helpivp0:$ type sys$input:O2The installation is verified after it is finished.Running the IVP is recommended.e$ exit $helpivp1:$ type sys$input:e<Un programme de vrification est lanc aprs l'installation.#Lancer ce programme est recommand.$ exit $helpconnex0:y$ type sys$input:i: If you want to allow incoming connects, this product will3 need an user account, which will be used only in i1 network mode, and will have NETMBX as privilege" and default privilege.$ exit $helpconnex1:e$ type sys$input:a= Si vous voulez recevoir des connexions entrantes, ce produit"8 aura besoin d'un numero de compte, qui ne sera utilise6 qu'en reseau, et qui aura NETMBX comme privileges et privileges par defaut.$ exit$helpremlogin0:$ type sys$input:=6 If you allow logins by PSICOPY on your machine, usersA will be able to login on your machine, providing their username ? and password, if their account is allowed in DIALUP mode. They> will be able to access files with their UIC and identifiers, ! instead of the server account's.$$ exit$helpremlogin1: $ type sys$input:f? Si vous autorisez les login par PSICOPY sur votre machine, leseC utilisateurs se connectant sur votre machine auront la possibilit=erA d'effectuer un login pourvu qu'ils aient un username et passwordi@ correct, si le compte est autorise en acces DIALUP, ceci permet? d'acceder aux fichiers par un username donne et non pas par le username de l'objet PSICOPY.o$ exit$helpremanonymous0: $ type sys$input:t@ If you allow anonymous logins by PSICOPY on your machine, usersB will be able to connect on your machine, with the server account, without knowing any password.$ exit$helpremanonymous1:e$ type sys$input:eC Si vous autorisez les accs anonymes par PSICOPY sur votre machined@ les utilisateurs pourront se connecter sur votre machine sur le? compte du serveur, sans connatre de mot de passe particulier.$$ exit $helpuser0:$ type sys$input:$< This username is associated with the DecNet PSICOPY object,B and is used only cor incoming connections. It's default directory? will be the default for files PSICopied without explicit logino$ exit $helpuser1:k$ type sys$input:n> Cet username est associe a l'objet DecNet PSICOPY, et ne sert= que pour les connexions entrantes. Son repertoire par defautf= contiendra tous les fichiers PSICopis sans login explicite.e$ exit$helplogfile0:$ type sys$input:a? You can log all the remote access events in a centralized filer< The name you give is relative to the login directory of the: server account. This name cannot be SYS$LOGIN:PSICOPY.LOG/ since it is the name of the network log files.i$ exit$helplogfile1:$ type sys$input:rB Vous pouvez mettre les traces des acces distants dans un fichier centralise.> Le nom que fous fournirez sera relatif au repertoire de login du username associe a psicopy.U? Ce fichier ne peut etre SYS$LOGIN:PSICOPY.LOG car c'est le nom des fichiers log.$ exit$helpexfiles0:$ type sys$input: ? The specified directory must already exists and allow at least A execute access for people allowed to use the psicopy interactive command. * device:[directory] or system logical name$ exit$helpexfiles1:$ type sys$input:gB Le directory specifie doit exister et permettre l'acces au moins H en mode execute pour les personnes autorisees a executer cette commande/ device:[directory] ou bien nom logique systeme:$ exit $helpexeuic0:p$ type sys$input:o@ UIC that will be owner of the PSICOPY.COM and PSICOPY.EXE files$ exit $helpexeuic1:u$ type sys$input: B UIC qui sera propritaire des fichiers psicopy.com et psicopy.exe$ exit$helpuicserver0:$ type sys$input:  UIC of the server process$ exit$helpuicserver1:$ type sys$input:"& UIC sous lequel sera lanc le serveur$ exit$helpserverdir0:$ type sys$input:EA Directory in which files transferred without explicit login willo be placed.d$ exit$helpserverdir1:$ type sys$input:o@ Repertoire sous lequel sont places les fichiers transfrs sans login explicite$ exit $helpsrvpas0:S$ if psicopy$phaseV then$ type sys$inputB Random generated password of the server. Nobody needs to know it.$ exit$ type sys$inputC Random generated password, used only for incoming connects. needed% only for the PSICOPY decnet object. B$ exit $helpsrvpas1:i$ if psicopy$phaseV then$ type sys$inputL Mot de passe du serveur gnr alatoirement. Personne n'a le connatre.$ exit$ type sys$inputD C'est un mot de passe gnr alatoirement et qui n'est utilis queC pour les connexions entrantes. a priori ce mot de passe n'a besoin, d'tre connu que de l'objet decnet PSICOPY.$ exit$helpobjexists0:$ type sys$inputE the username associated with thX$ PSICOPY031.Aw*[GEGE.SYSTEME.PSICOPY031]KITINSTAL.COM;159kHDe existing PSICOPY object is retainedo5 the password will be retained or changed, by choice.$ exit$helpobjexists1:$ type sys$input> Le "username" associe a l'objet PSICOPY existant est conserve: le mot de passe pourra tre conserv ou chang, au choix.$ exit $helpdirpb0:$ type sys$input:o@ The specified directory does not contain the psicopy files when* a version of psicopy is already installed$ exit $helpdirpb1:$ type sys$input:p? Le directory specifie ne contient pas les fichiers de psicopy,c3 alors qu'une version de PSICOPY est deja installeep$ exit$helpconvert0:$ type sys$input:eC Phase IV data has been found. If you want to use these parameters,_E answer YES to this question. If you answer NO, phase IV data will beL6 ignored. In any case, Phase V data will be generated.$ exit$helpconvert1:$ type sys$input:tD Des donnes phase IV ont t trouves. Si vous voulez les utiliser,B repondez OUI a cette question. Dans le cas contraire, ces donnes? ne seront pas prises en compte. Dans tous les cas, des donnesa phase V seront gnres.$ exit"Cration de l'objet PSICOPY et de la destination PSICOPY du serveur X25"""i$ msg= msg'franais' #$ VMI$CALLBACK MESSAGE I NCP 'msg'tF$ ncpcom= "define object psicopy number 0 file ''realdir'psicopy.com"W$ if accobj then ncpcom= ncpcom + " user ''psicopy$user' password ''psicopy$password'"a<$ open/append psicopy$fil vmi$kwd:psicopy$update_object.com$ write psicopy$fil ncpcomy-$ write psicopy$fil "set object psicojS$ PSICOPY031.AGw+[GEGE.SYSTEME.PSICOPY031]PSICOPY$$IVP.COM;9M +*[GEGE.SYSTEME.PSICOPY031]PSICOPY$$IVP.COM;9+,G. / 4M -w0123KPWO 56h 7y81'ܘ9=LGHJ $set noon$ exitst=40+%X10000000$ lang=1$ gosub getdir'$ on control_y then goto ivpabort'lang'$ set control=y $ set:= set$ inquire debug "debug" $ if debug 0$ then psicopy:= $'f$parse("psicopy_DEBUG.EXE")'*$ else psicopy:= $'f$parse("psicopy.EXE")'$ endif$ set symbol/scope=local $ network= "" $ if lang$ then?$ q0= " il faut d'abord les coordonnees X.25 de votre machine" $ oui="O"$ q1 = "Adresse X.25: " $ if phaseV A$ then q2= "Utilisation du template """"default"""" (O/N) [O]: "$ q00=" [template.]"$ q3 = "Nom du template: ";$ else q2 = "Utilisation du reseau par defaut (O/N) [O]: "$ q00=" [reseau.]]"$ q3 = "Nom du reseau: "$ endif'$ q4 = "donnez un nom d'utilisateur: "$ q5 = "et son mot de passe: "$ else9 q0=" First, the X.25 address of your machine is needed" $ oui="Y"$ q1 = "X.25 Address: " $ if phaseV!$ then q00=" [