<$ PSICOPY020.A) PSICOPY020.ABACKUP/NOASSIST/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY PSICOPY.OLB;,.OPT;,.MEM;,.RELEASE_NOTES;,*.MSG;,SYSDEP.MAR;,MAKE.COM;,KITINSTAL;,GETOBJ;,PSICOPY$*; USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]PSICOPY020.A/LABEL=(PSICOPY)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure GEGE Tt {V5.3 _CHOPIN::  _$1$DUA34: V5.3 $(*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;192+,.8/ 489-W0123 KPWO956`w z7& {8f9GH@J % VAX-11 Librarian V04-00(zz!8j9   COMPDECOMPbCRC" DATA_TRANSFER[pFILE_IOjHEADERk HPWDm&INTERKERNELLOGINPSICOPYF PSICOPY_CMD PSICOPY_ERROR PSICOPY_MSG PSINETWORK$RESTART,SERVERbADD_CRCb ADD_CRC_MAPb ADD_CRC_SELF ALLOCATE_MAPb CHECK_CRCb CHECK_CRC_MAP COMPRESS_DONE COMPRESS_INITCONNECT_NW_CHANNEL" COPY_DATAm&DCLINITjDEBUTDECOMPRESS_CLEANUPDECOMPRESS_DONEDECOMPRESS_INITDISCONNECT_NW_CHANNELj EDIT_LEVELERR FCH$M_BADACLFCH$M_BADBLOCK FCH$M_CONTIGM_ERASE FCH$M_LOCKED FCH$M_MARKDELFCH$M_NOBACKUPm&GET_INPUT_FILE_SPECSINPUTKr[pLOCAL_DELETE_OUTPUT[pLOCAL_GET_INPUT_BLOCK[pLOCAL_INPUT_FILE_SPECS LOCAL_LOGIN[pLOCAL_NEXT_INPUT_FILE[pLOCAL_OPEN_INPUT_FILE[pLOCAL_OPEN_OUTPUT_FILE[pLOCAL_OUTPUT_FILE_SPECS[pLOCAL_PARSE_OUTPUT_FILE[pLOCAL_PUT_OUTPUT_BLOCK[pLOCAL_RESTART_READ[pLOCAL_REWIND_INPUT_FILEj MAJOR_VERSIONj MINOR_VERSION&OPEN_INPUT_FILEk PURDYREAD_COMPRESSED_BLOCKbVALIDATE_CRC_BLOCKWRITE_COMPRESSED_BLOCKj X25_IDENT FCH$M_CONTIG FCH$V_CONTIGB GET_INPUT_FILE_SPECSLOCAL_DELETE_INPUT MINOR_VERSIONPSICOPY_ASSOUTCHANPSICOPY_CONFAIL PSICOPY_GRANTERR PSICOPY_NOTNOW PSICOPY_RELINK REMOTE_LOGIN X25_IDENT NETCONNECTNETKEYIN NETPURGEDATA NETRECEIVENETRECEIVEDESCNETSEND NETSENDDATA NETSENDDESCm& NEXT_FILEm&OPEN_INPUT_FILEm&OPEN_OUTPUT_FILEPSICOPYPSICOPY$MASTER,PSICOPY$SERVERPSICOPY$_FACILITY PSICOPY_ABORTPSICOPY_ACCEPTERRPSICOPY_ACK_ITPSICOPY_ASSINCHANPSICOPY_ASSOUTCHANOPY_CLEAREDF PSICOPY_CMDPSICOPY_CONABORTPSICOPY_CONERRNCBPSICOPY_CONFAILOGINENTINIT_CENTRALIZED_LOGbINIT_CRC_TABLE_INbINIT_CRC_TABLE_OUTk LGI$HPWD[pLOCAL_DEACCESS_INPUT[pLOCAL_DEACCESS_OUTPUT[pLOCAL_DELETE_INPUTY FCH$M_CONTIGBFCH$M_DIRECTORY FCH$M_ERASE FCH$M_LOCKED FCH$M_MARKDELFCH$M_NOBACKUPFCH$M_NOCHARGEFCH$M_READCHECK FCH$M_SPOOLFCH$M_WASCONTIGFCH$M_WRITCHECKFCH$M_WRITEBACK FCH$S_FCHDEF FCH$V_BADACLFCH$V_BADBLOCK FCH$V_CONTIG FCH$V_CONTIGBFCH$V_DIRECTORY FCH$V_ERASE FCH$V_LOCKED FCH$V_MARKDELFCH$V_NOBACKUPFCH$V_NOCHARGEm&GET_INPUT_FILE_SPECSFCH$V_DIRECTORY FCH$V_ERASE FCH$V_LOCKED FCH$V_MARKDELFCH$V_NOBACKUPFCH$V_NOCHARGEFCH$V_READCHECK FCH$V_SPOOLFCH$V_WASCONTIGFCH$V_WRITCHECKFCH$V_WRITEBACKm&GET_INPUT_FILE_SPECSRESET_SERVER_MODESEND_IT SEND_RESETSETUICSET_SERVER_MODE$ START_RESTARTm& TRANSFER_FILEbVALIDATE_CRC_BLOCKWRITE_COMPRESSED_BLOCKj X25_IDENTdPSICOPY_COPIEDPSICOPY_CRCBLOCKPSICOPY_CRCBURSTPSICOPY_CREATEDPSICOPY_CREFAILPSICOPY_DEACCESS PSICOPY_DEBUGPSICOPY_DEBUGINFOPSICOPY_DELETEDPSICOPY_ERRDEACCESSPSICOPY_ERRDELETEPSICOPY_ERREXHPSICOPY_ERRJPI PSICOPY_ERRORPSICOPY_EXTLOGPSICOPY_GRANTERR PSICOPY_IDENTPSICOPY_RMS_ERRORPSICOPY_SYS_ERRORk PURDYREAD_COMPRESSED_BLOCK REMOTE_LOGINZ PSICOPY_IDENTPSICOPY_INPARSEPSICOPY_INTERRUPTPSICOPY_INVALIDNCBPSICOPY_INV_ITPSICOPY_IN_SEARCHPSICOPY_LOCDTELNGPSICOPY_LOGFAILPSICOPY_MAXCRCERRPSICOPY_NETRECEIVEPSICOPY_NETSENDPSICOPY_NOSYSNETPSICOPY_NOTCOPIEDPSICOPY_NOTDELETEDPSICOPY_NOTNOWPSICOPY_NOTSUPPPSICOPY_NOX25CHANPSICOPY_RMS_ERRORPSICOPY_SYS_ERRORk PURDYREAD_COMPRESSED_BLOCK REMOTE_LOGINUPSICOPY_NOTSUPPPSICOPY_NOX25CHANPSICOPY_OPENINPSICOPY_OPENLOGPSICOPY_OPENOUTPSICOPY_OUTPDELETEPSICOPY_OUT_PARSEPSICOPY_PKTBADPSICOPY_PROTOCOLPSICOPY_PUTMSGPSICOPY_READMBXPSICOPY_READSYSNETPSICOPY_READ_INPUTPSICOPY_RECEIVEDPSICOPY_RELINKPSICOPY_REMDTELNGPSICOPY_REMLOGFAILPSICOPY_RMS_ERRORPSICOPY_SYS_ERRORk PURDYREAD_COMPRESSED_BLOCK REMOTE_LOGINPSICOPY_REMDTELNGPSICOPY_REMLOGFAILPSICOPY_REMLOGINPSICOPY_REQFAILPSICOPY_REQUESTPSICOPY_REVOKERRPSICOPY_RMS_ERRORPSICOPY_RPOALNGPSICOPY_SECLVLERRPSICOPY_SEND_IT PSICOPY_SENTPSICOPY_SYS_ERRORPSICOPY_THRBADPSICOPY_TRNLOGPSICOPY_USERLNGPSICOPY_USERNAMEPSICOPY_WINBADPSICOPY_WORDBADPSICOPY_WRITE_OUTPUTk PURDYREAD_COMPRESSED_BLOCK REMOTE_LOGINPSICOPY_BADSTATUSWORDPSICOPY_CLEAREDF PSICOPY_CMDPSICOPY_CONABORTPSICOPY_CONERRNCBPSICOPY_CONFAILc:$ PSICOPY020.AW([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1928"1  y015 COMPDECOMP0112-Jun-1990 14:2912-Jun-1990 14:29VAX Pascal V4.0-2R COMPDECOMPP ^ߏ DCX$C_BOUNDEDDCX$ANALYZE_INITPRRLOCAL_GET_INPUT_BLOCKPR<DCX$ANALYZE_DATAPSSSRR͞ SS$_ENDOFFILEPPR  DCX$MAKE_MAPPSSLOCAL_REWIND_INPUT_FILEPRRSR DCX$_AGAINPPR1bR DCX$ANALYZE_DONEPRRDCX$COMPRESS_INITPRRP DCX$COMPRESS_DONEP\\  LIB$FREE_VMP\ \\P^ COMPRESS_INIT DCX$C_BOUNDEDDCX$ANALYZE_INITLOCAL_GET_INPUT_BLOCKDCX$ANALYZE_DATA SS$_ENDOFFILE DCX$MAKE_MAPLOCAL_REWIND_INPUT_FILE DCX$_AGAINDCX$ANALYZE_DONEDCX$COMPRESS_INIT COMPRESS_DONEDCX$COMPRESS_DONE LIB$FREE_VM 0READ_COMPRESSED_BLOCKDCX$COMPRESS_DATA  ALLOCATE_MAP LIB$GET_VM DECOMPRESS_INITDCX$EXPAND_INIT DECOMPRESS_CLEANUPDCX$EXPAND_DONELOCAL_GET_INPUT_BLOCKPR<ݬЬPDCX$COMPRESS_DATAPPRRPмPP   LIB$GET_VMDCX$EXPAND_INITQPQQ DCX$EXPAND_DONEP\\\  LIB$FREE_VMP\ \\P^<ЏDCX$EXPAND_DATAP\\LOCAL_PUT_OUTPUT_BLOCKP\\P ^\\R^\ DCX$EXPAND_DONEPSSS  LIB$FREE_VMPS S\^R\SPP0P6QQQ,QQ Q6QQ$2Q"QQ#AQ9 QQOQ>QQQ!QQLQ%AQQQ!QS <WRITE_COMPRESSED_BLOCKDCX$EXPAND_DATALOCAL_PUT_OUTPUT_BLOCK  DECOMPRESS_DONE COMPDECOMP COMPDECOMP12-Jun-1990 14:29:23PAS$ENVIRONMENT_TIME  COMPRESS_CONTEXT  EXPAND_CONTEXT  MAP_ADDR   MAP_LENGTH  EXPAND_INIT_DONE$CODE$LOCAL  X $CODE$LOCALZHpZ # 4USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]COMPDECOMP.PAS;40  PAS$FV_INPUTINPUTTEXT  CHAR  PAS$FV_OUTPUTOUTPUTR TZ3DESCR@ LENGTH POINTERCOMPRESS_CONTEXTEXPAND_CONTEXTUNSIGNED SS$_ENDOFFILE SS$_ENDOFFILEMAP_ADDR  MAP_LENGTHEXPAND_INIT_DONE COMPRESS_INITMAP_LEN MAPR COMPRESS_INITR COMPRESS_INITRSTATUSR DCX_STATUSRBLK  BLOCK_TYPE R BLOCK_DESC R T3 RCONTEXT DCX$_AGAIN DCX$_AGAIN DCX$C_BOUNDED DCX$C_BOUNDED jLOCAL_GET_INPUT_BLOCKLOCAL_GET_INPUT_BLOCKLOCAL_REWIND_INPUT_FILELOCAL_REWIND_INPUT_FILE  COMPRESS_DONE R COMPRESS_DONE--  R COMPRESS_DONE--  RSTATUS+ D" NETBLOCK_TYPE (0READ_COMPRESSED_BLOCK7 BLK R T3RREAD_COMPRESSED_BLOCKRREAD_COMPRESSED_BLOCKR INPUT_BLOCK9SR T,3R BLOCK_DESCRPtR T3R RETBLK_DESCRR T3RSTATUSER DCX_STATUS d3RWORDR  INTEGER ALLOCATE_MAPRET_ADDRR ALLOCATE_MAPR ALLOCATE_MAPR IN_LENGTH ,"DECOMPRESS_INITRDECOMPRESS_INITRDECOMPRESS_INITRSTATUS $%DECOMPRESS_CLEANUP RDECOMPRESS_CLEANUP77 !RDECOMPRESS_CLEANUP77 "RSTATUS/ X)<WRITE_COMPRESSED_BLOCKC) BLK#R T3$RWRITE_COMPRESSED_BLOCK %RWRITE_COMPRESSED_BLOCK &R INP_DESCGe'R T3(REXP_RECP{)R T,3*RSTATUSv P6LOCAL_PUT_OUTPUT_BLOCKLOCAL_PUT_OUTPUT_BLOCK"DECOMPRESS_DONEa+RDECOMPRESS_DONE,RDECOMPRESS_DONE g -RS !S&!S&!S!S#!S!S#!S ! S ! S&! S&! S! S !S.!S.!S$!S !S$!S !S%!S !S!S#!S!S%!S%!S"!S(!S(!S! S+!!S+!"S!#S !$S/!%S/!&S!!' S !(S !)S !*S!+S(!,S(!-S$ PAS$FV_INPUT PAS$FV_OUTPUTww1 y01.CRC0112-Jun-1990 14:2912-Jun-1990 14:29VAX Pascal V4.0-2  CRCPCHECK CRC: addr=len=check_crc: Crc index > max crcQcheck_crc_map: crc index > crc nbQadd_crc: CRC index out of rangeQadd_crc_map: CRC index out of rangeߏ  LIB$CRC_TABLE^ЬP< PPP DEBUG# PAS$FV_OUTPUTPAS$WRITE_STRING PAS$HEX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING ݭ PAS$FV_OUTPUTPAS$WRITE_UNSIGNED PAS$FV_OUTPUT PAS$WRITELN2ߏLIB$CRCЬ\ѬPPP(^ԭ PAS$HANDLERmЬP< PѼPЏ؞}ЏhPROTOCOL_ERRORЬ P`ߏLIB$CRCQ QQЬRPA ּ\\\P 0^ԭ PAS$HANDLERmм PмQ PQЬQ< QѼQЏОЏ!ܞ!!쟭PROTOCOL_ERRORߏLIB$CRCQ QQЬRPA RRQ QQЬSPA ּRP@ߏ  LIB$CRC_TABLE (^ԭ PAS$HANDLER INIT_CRC_TABLE_IN LIB$CRC_TABLE VALIDATE_CRC_BLOCKPSICOPYPSICOPY12-Jun-1990 14:28:06PAS$ENVIRONMENT_TIME DEBUG PAS$FV_OUTPUTPAS$WRITE_STRINGPAS$HEXPAS$WRITE_UNSIGNED PAS$WRITELN2LIB$CR!C l CHECK_CRC PAS$HANDLER PSINETWORK PSINETWORK12-Jun-1990 14:28:34PAS$ENVIRONMENT_TIME PROTOCOL_ERROR  CHECK_CRC_MAP INIT_CRC_TABLE_OUT  ADD_CRC  ADD_CRC_MAPmѼЏ؞MЏ8PROTOCOL_ERRORּ RЬSЬ P`ߏ@LIB$CRCPB ЬS Ѽ\\\P 0^ԭ PAS$HANDLERmм RмSѼЏОЏ#ܞ##쟭"PROTOCOL_ERRORּRS SЬ\ߏ@LIB$CRCPC ^ЬP< PPP Ь\ߏ@LIB$CRCPPlQQQ :Qy QQ5:QfQQQ6?Q;QNQQ#?Q; $ ADD_CRC_SELFCRCCRC12-Jun-1990 14:29:29PAS$ENVIRONMENT_TIME  INPUT_CRC_TABLE  @OUTPUT_CRC_TABLE   INPUT_SEED   OUTPUT_SEED^$CODE$LOCAL{ $ PSICOPY020.AW([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1928""#$CODE^$LOCALINIT_CRC_TABLE_IN VALIDATE_CRC_BLOCK l CHECK_CRC  CHECK_CRC_MAP INIT_CRC_TABLE_OUT ADD_CRC  ADD_CRC_MAP $ ADD_CRC_SELF :ww1 { y01$8 DATA_TRANSFER0112-Jun-1990 14:3012-Jun-1990 14:30VAX Pascal V4.0-2R DATA_TRANSFERPNot first CRC QInv MAP CRCCRCMAP: status=Q ix crc=Restart burst: cause Q38BLWRETRANSMIT_REASON_TYPENONE ONE_BLOCK ONE_BURST PREV_BLOCK PREV_BURSTQtransmit data: Qblk ix: start blk: status: QInvalid InterruptQNot RESUME mess:P]kz &0=% REQUEST_TYPE NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTPNET$C_DEACCESS NET$C_END NET$C_LOGINNET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRQGetin: ft state:&.6@ FT_STATE_TYPEFT_FAILFT_DONE FT_OUTPUTFT_INPUTQ crcwait=Q crc#=Got CRC blk: QGot data message while expecting qualifiedQGot Q mess while expecting dataQRXMIT REQ: blk=Q& reason=ask rmxit: received QQNot RESUME responseQDATA: Abort transfer reason: QNot valid Q mess for serverQLastwill: D^ԭ PAS$HANDLERm\ 욼PP蚼PPм ^RԭԭPPДԭV1INIT_CRC_TABLE_IN]QP1͔]Q葭͛ PAS$DECWWWR^^X(~n( cЏXЏWWWPROTOCOL_ERRORINIT_CRC_TABLE_OU'T1]QP11֭ P@VXX]QPhVhܟTADD_CRCP]QP]QP INPUT_RSA  COPY_DATA PAS$HANDLERINIT_CRC_TABLE_INPAS$DEC PSINETWORK PSINETWORK12-Jun-1990 14:28:34PAS$ENVIRONMENT_TIME PROTOCOL_ERRORINIT_CRC_TABLE_OUTADD_CRCFILE_IOFILE_IO12-Jun-1990 14:28:21PAS$ENVIRONMENT_TIME % INPUT_RSA TABLINKPSICOPY_READ_INPUTPSICOPY_SYS_ERRORP(SICOPYPSICOPY12-Jun-1990 14:28:06PAS$ENVIRONMENT_TIME  SERVER_MODE COMPRESS_DONEDECOMPRESS_DONE ALLOCATE_MAP3< INPUT_RSATABLINK33<TABLINK13PSICOPY_READ_INPUTPSICOPY_SYS_ERRORԭؑ1Lխ]QP SERVER_MODE]QP SERVER_MODE]Q1 COMPRESS_DONEDECOMPRESS_DONEV\\P^Q\Q1ЬPݠЬQ ALLOCATE_MAP)PRR1ЬPЬQNETRECEIVEDESCPR11DEBUG PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2ӟsߏ\QPRRЬPЬQNETRECEIVEDESCPRDEBUG7 PAS$FV_OUTPUTPAS$WRITE_STRINGR PAS$HEX PAS$FV_OUTPUTPAS$WRITE_STRING  PAS$FV_OUTPUTPAS$WRITE_STRINGP PAS$FV_OUTPUTPAS$WRITE_INTEGER PAS$FV_OUTPUT PAS$WRITELN2ЬPЬQ*P̔ CHECK_CRC_MAPŔQRQPQQ1R]QPR]QPRRPС\DECOMPRESS_INITPRЬPЬQܟT ADD_CRC_MAPRRP ^Q\QRDEBUG8 PAS$FV_OUTPUTPAS$WRITE_STRING R~6 PAS$FV_OUTPUTPAS$WRITE_ENUMERATED PAS$FV_OUTPUT PAS$WRITELN2ᔬRZ[T ADD_CRC_SELFTNETSENDPSSSԭ]QPSìK呬1PЬRBجKSS\Q+S\QԬԬSP ^ԭ PAS$HANDLERmQ\ЬRТPТQ NETSENDDESCPSSS1֬ P@VRQPSDEBUG1T PAS$FV_OUTPUTPAS$WRITE_STRINGO PAS$FV_OUTPUTPAS$WRITE_STRINGݬ PAS$FV_OUTPUTPAS$WRITE_INTEGER0 PAS$FV_OUTPUTPAS$WRITE_STRINGݢԟ PAS$FV_OUTPUTPAS$WRITE_UNSIGNED PAS$FV_OUTPUTPAS$WRITE_STRINGS PAS$HEX PAS$FV_OUTPU,TPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2ѬS1SP ^Q^PЬVQQQ Q9Q"QjQQ\QQMQCQBQQ Q)Q Q QtQ QQQ QQ QQ)[QGQ! QQ "Q4 QQ"qQQ QQ Q QQ &QQ:Q mQ,lQrQQQQIQQ Q QQQQ Q QddQ?QVsPSICOPY_:WRITE_OUTPUT SS$_ENDOFFILEPAS$WRITEV_STRINGPAS$WRITEV_ENUMERATEDPSICOPY_CRCBURSTPSICOPY_CRCBLOCK PSICOPY_ERRORLOCAL_RESTART_READREAD_COMPRESSED_BLOCKLOCAL_GET_INPUT_BLOCK  GLOBAL_STATUSPAS$WRITE_BOOLEAN CHECK_CRCVALIDATE_CRC_BLOCKPSICOPY_MAXCRCERRSEND_IT NETPURGEDATAg$CODEl F  [@ ,չ;  z%  c Q$CODEgUCFLNO1J/USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]DATA.PAS;173   PAS$FV_INPUTINPUTTEXT  CHAR  PAS$FV_OUTPUTOUTPUTR Tf3 NET$IT_WRTERRNET$IT_READERRNET$IT_RETRANSMIT NET$IT_ACK REQUE<ST_TYPE NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTP NET$C_DEACCESS NET$C_END NET$C_LOGIN NET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRR NETMSGPTRRNETMSG  T3RRIT_CODER T=3RRDISK_BLK  R  RNET_BLK  RP RRET_SIZE R RRR  INTEGER STATUS0 MSG_FLAGS  REQUESTORR R BOOLEAN DEBUGR T38MSG_CODER T3PT3RXR@INP_VER  MINORR RR>R  MAJORR Tn3PINP_FNA RR@RET_STV`RET_VERR TG3pRET_OPTR   R  DELETE_INPUT!R T3COMPRESS"R T3 CRC#R T3RESTART$R T3%Rh&R@RET_STV1`RET_RSA'R T3(Rh)R@INP_RLF*R T3?HINP_FNB+R,R@RET_ATR  UCHAR RECATTR-R.R/R Tn3    ASCDATES0R1R2R Tn3 ## 8FPRO3R Te3 HRPRO4R Te3 XSEMASK5R6R7R Tn3 STATBLK Tc 38R9RSBK$R_@STLBN_OVERLAY:R  ;R  SBK$R_FILESIZE_OVERLAYR ?R@RAR H SBK$B_LCNTBR T 3P SBK$L_FCBpSBKDEF$$_FILL_1CR DRERFR  SBK$W_ACNTGR HRIRJR  SBK$W_LCNTKR T 3 SBK$W_WCNTLR T 3 SBK$W_TCNTMR AT 3 SBK$L_READS SBK$L_WRITESNR@OR SBK$L_STLBN SBK$L_FILESIZEPRQRRR@SR SBK$W_STLBNHTR T 3 SBK$W_STLBNLUR T 3 SBK$W_FILESIZHVR T 30SBK$W_FILESIZLWR T 3RET_MSZRET_FDID FIDXRYRZR Te3  0DVIB[R\R@INP_OPT]R  T3`INP_ATR^R T& 3INP_MSZ_RP`R@RET_BLKaR T3bRPcR@INP_BLKdR T3eRHfR@RET_FNAgR T3hR@iR jR@kR lR@mR nRPoR @ INP_USERNAME pRqR @INP_SALTrR Te3P INP_ENCRYPTsR Tn3C XTIMEtRuRvR UNSIGNED RET_PASSWORD RET_REMUSERwR T3xR@yRzR{R@SELF_CRC `CRC_NB|R }R~RR  pCRCRRR tRR@ START_BLK `NETERRR T3 aCRCERRR T3bCRCXMITR DT3cRESTARTR T3h RES_CAUSETRANSFER_OPTIONS DELETE_INPUTR T3COMPRESSR T3 CRCR T3RESTARTR T3 COPY_DATA* FILE_MAP_LEN + FILE_MAP_ADDR 0TRANSFERRED_BLOCKS R COPY_DATA R COPY_DATAj*$ PSICOPY020.AW([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1928ֈ"DE R LOCAL_INPUTR LOCAL_OUTPUTRINPUT_TRANSFER_OPTIONSR T3ROUTPUT_TRANSFER_OPTIONSR T3R LASTWILLR Tq3#MAX_RETRANSMIT ! DATA$_NORMAL RETRANSMIT_REASON_TYPE NONE ONE_BLOCK ONE_BURST PREV_BLOCK PREV_BURST FT_STATE_TYPEFFT_FAILFT_DONE FT_OUTPUTFT_INPUTRTX_FLAGS_TYPERTX_CRC RTX_BURSTRTX_NETRTX_RESRRTX_REASON_TYPE T3RINPUT_CRC_BLOCK>VٔR T3R INPUT_CRC_NUMPRR ROUTPUT_CRC_BLOCKTR T3ROUTPUT_CRC_NUMRR RLAST_BURST_BLOGCKRTABBLKXRRRT3 :tR FT_STATER T33R WAIT_FOR_CRCORSEND_BURST_MAP  RSTART_BURST_BLOCKcR RESTART_BLOCKKRSTATUSRBLOCKSRRETRANSMIT_REASONHR T3RLAST_RETRANSMIT_BLOCKGRRETRANSMIT_COUNTPSICOPY_READ_INPUTPSICOPY_READ_INPUT!PROCESS_Q_MESS BLKR T3RPROCESS_Q_MESSeRPROCESS_Q_MESSei !ABORT_TRANSFERkRREASON R ABORTMSG~R T3) %ITRETRANSMIT_REQUESTl0RRETRANSMIT_REQUESTeRRETRANSMIT_REQUESTeR STARTBLKf:RREASONkR T3R RESUMEMSG(R T3PSICOPY_MAXCRCERRPSICOPY_MAXCRCERR!SEND_RXMIT_MSGfRSEND_RXMIT_MSGoRSEND_RXMIT_MSGo  J 0p INIT_RESTART~R INIT_RESTARTR INIT_RESTARTR BLOCK_NO~ R RESUMEMSGR T3i T* ANAL_RETRANSMIT_REQUEST 8 RESMSGR T3RANAL_RETRANSMIT_REQUESTllRANAL_RETRANSMIT_REQUESTllRSTATUS RERRKCODEBPSICOPY_CRCBURSTPSICOPY_CRCBURSTPSICOPY_CRCBLOCKPSICOPY_CRCBLOCK) &GET_INPUT_CRC_BLOCKRGET_INPUT_CRC_BLOCKRGET_INPUT_CRC_BLOCKRSTATUSz 0"GET_INPUT_BLOCK BLOCKR T3RGET_INPUT_BLOCKRGET_INPUT_BLOCKRLSTATUS SS$_ENDOFFILE SS$_ENDOFFILERQ_MESS_RECEIVED)REMOTE_GET_INPUT_BLOCK BLKR T3RREMOTE_GET_INPUT_BLOCKRREMOTE_GET_INPUT_BLOCKPSICOPY_PROTOCOLPSICOPY_PROTOCOL&PROCESS_NOTDATAMESS BLKR T3RPROCESS_NOTDATAMESSORPROCESS_NOTDATAMESS MO     # PUT_OUTPUT_BLOCK  BLKR T3RPUT_OUTPUT_BLOCKs s RPUT_OUTPUT_BLOCKs s RSTATUSR q *x REMOTE_PUT_OUTPUT_BLOCK   BLKR T3RREMOTE_PUT_OUTPUT_BLOCK; ; RREMOTE_PUT_OUTPUT_BLOCK; ; RSTATUS 9 NPSICOPY_INTERRUPTPSICOPY_INTERRUPTRITMSG  R T3   d#INIT_COMPRESSION*RINIT_COMPRESSIONRINIT_COMPRESSIONRSTATUSIRBLKR T3 PROCESS_MAPR PROCESS_MAPR PROCESS_MAPR OSTATUS @  &$ SIGNAL_OUTPUT_ERROR- _RSTATUS- ^  PSICOPY_WRITE_OUTPUTPSICOPY_WRITE_OUTPUT T VIDER_SALVER VIDER_SALVER VIDER_SALVER BLKINDEXRSTATUSR STARTREASONR T3! PEMISSION_SALVEREMISSION_SALVE  REMISSION_SALVE  RSTATUS   0  $ PROCESS_INTERRUPT  INTMSGR T3RPROCESS_INTERRUPT  RPROCESS_INTERRUPT  RMESS p ٬P ) "@ DEACCESS_OUTPUTI RDQEACCESS_OUTPUTf t  RDEACCESS_OUTPUTf t  RSTATUS  CHECKDEAC R CHECKDEAC" "  R CHECKDEAC" "  RSTATUS   PSICOPY_ERRDEACCESSPSICOPY_ERRDEACCESS 8)x REMOTE_DEACCESS_OUTPUT JRREMOTE_DEACCESS_OUTPUT  RREMOTE_DEACCESS_OUTPUT  R RSTATUS  RASKDEAC  R T3R TEMOIN_PURGER MESSAGE_TYPE  R T3 t  8x  WAIT_SERVER ARMSG   R T3 t p MAX_CRC_NB PROTOCOL_ERRORPROTOCOL_ERROR DEBUGDEBUG  NET R ST3 MAIN R T3 DATA R T3 CRC R T3 LOGR T3 LOGINR T3 INTERR T3 SERVERR T3FILE_IOR T3 RESTARTR T3SEND_ITSEND_IT NET$_FROMNET$_TO SERVER_MODE SERVER_MODENETSENDNETSEND NETPURGEDATA NETPURGEDATA NETRECEIVET NETRECEIVE GLOBAL_STATUS GLOBAL_STATUSLOCAL_RESTART_READLOCAL_RESTART_READ PSICOPY_ERROR PSICOPY_ERRORTABLINKTABLINKRRRRT)3ij f X25_CHANR Te3MBX_CHANR Te3 IOSB @ IOSB_STATUSR Te3 IOSB_COUNTR Te3 IOSB_UINFOR Te30 IOSB_SINFOR U Te3`MBX_IOSBR T*3 CAUSER Tn3 DIAG R Tn3 REASON!R Tn3GOTCAUSEGOTDIAG GOTREASON CONNECTEDCLEARED LOGERRMBX_BUF MSGTYPE"R Te3 UNIT#R Te3 NAME SIZE$R Tn3 DATA INFO  SIZE%R i"$ PSICOPY020.AW([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1928rb"UVTn3 DATA&R'R(R Tn3  SAVADDR)R T3VALIDATE_CRC_BLOCKVALIDATE_CRC_BLOCK CHECK_CRC CHECK_CRCREAD_COMPRESSED_BLOCKREAD_COMPRESSED_BLOCKLOCAL_GET_INPUT_BLOCKLOCAL_GET_INPUT_BLOCK NETSENDDATA NETSENDDATARECEIVE_QUALIFIEDRECEIVE_QUALIFIEDWRITE_COMPRESSED_BLOCKWRITE_COMPRESSED_BLOCKLOCAL_PUT_OUTPUT_BLOCKLOCAL_PUT_OUTPUT_BLOCKDECOMWPRESS_INITDECOMPRESS_INIT ADD_CRC_MAP ADD_CRC_MAP ALLOCATE_MAP ALLOCATE_MAPNETRECEIVEDESCNETRECEIVEDESC CHECK_CRC_MAP CHECK_CRC_MAPPSICOPY_SYS_ERRORPSICOPY_SYS_ERROR OUTPUT_ESA OUTPUT_ESA  NETSENDDESC NETSENDDESC ADD_CRC_SELF ADD_CRC_SELFNETKEYINNETKEYINLOCAL_DEACCESS_OUTPUTLOCAL_DEACCESS_OUTPUT SS$_ENDOFFILE SS$_ENDOFFILEINIT_CRC_TABLE_ININIT_CRC_TABLE_ININIT_CRC_TABLE_OUTINIT_CRC_TABLEX_OUTADD_CRCADD_CRC INPUT_RSA INPUT_RSA*R T.3 COMPRESS_DONE COMPRESS_DONEDECOMPRESS_DONEDECOMPRESS_DONE+RS !S!ST3S !S"S !S !S" S ! S" S ! S" S !STe3S!S !ST3S !S !S !S"S !STn3S!S !S !S"S !S ! ST3!S !"S !#S !$S !%S !&S"'S !(S !)S"*S !+S !,S"-S7!.S3"/S 0S7!1S3"2S 3S !4S !5S7!6S3Y"7S 8S !9S":S !;ST 3S !?ST 3@S!BS !CS !DST 3ES!GS !HST 3IS!KS !LS !MS !NS !OS"PS !QS"RS !SS"TS !US !VS !WS !XS7!YS3"ZS [S !\S"]S !^S !_S !`S"aS !bS !cS"dS !eS !fS"gS !hS !iS"jS !kS"lS !mS"nS !oS"pS !qS"rS !sS !tS0!uS,"vSwS !xS !yS"zS !{S"|S !}ST3~S!S0!S,"SS !SZ"S !S !S !S !S !S !S !S !S"!S"!S$!S%!S/!S !S0!S !S!!S !S!S(!S !S&!S!S)!S !S'!S!S)!S!S3!S/"SS!!S !S%!S'!S*!S&!S!S!S*!S !S.!S)!S !S'!S'!S!S!!S !S+!S+!S!!S!S !S"!S !S'!S'!S%!S%!S!!S"!S !S !S0!S0!S!S !S,!S,!S!S !S(!S(!S!S(!S !S/!S/!S !S,!S[,!S !S)!S)!S!S !S0!S0!S!S!S !S)!S)!S!S!S !S$!S$!S!S!S$!S$!S!!S!S$!S !S'!S'!S!S !S*!S*!S!S(!S(!S!S"!S"!S!S/!S/!S!S !S !S%!S%!S !S! S ! S ! S ! S ! S !S !S !S !S !S !S !S:!S6"SST}*3S !S !S !S !S !S !S !S ! S !!S !"S !#S !$S !% \S !&S7!'S3"(S )S !*S !+S' PAS$FV_INPUTPSICOPY_PROTOCOLww1Ƶ y012FILE_IO0112-Jun-1990 14:2812-Jun-1990 14:28VAX Pascal V4.0-2FILE_IOPsearch FNB:QFNB: QWrite disk block No Size: Q Status: Q Iosb: dlt|!#+!#]TP(v0b\fTPj n\X<t^ԭ PAS$HANDLERmЬ\l lt(lvv,t4 SYS$PARSEP\[`tP``(b`t5\P<t^ԭ PAS$HANDLERmЬ\l lt(lvHEADERPSICOPY V2.0-1412-JUN-1990 14:37 VAX MACRO V5.0-9+MACRO/NOLIST/OBJECT=HEADER.OBJ HEADER.MAR-- link & ident stuff HEADERb EDIT_LEVEL MAJOR_VERSION MINOR_VERSIONPSICOPY  X25_IDENT . ABS .P$CODE)PQPSICOPY V2.0-14QQ DEBUT&lPSICOPY DEBUT$lCODEww1\)_0.HPWD023-JAN-1990 11:45 VAX MACRO V5.0-8 MAC HPWD-- hash user password HPWD . ABS .P| _LIB$CODEpPd n;0&AvQkkXaM^^V}f ,f  f~T~T P~mQ $PaQ}Pd|d~SVS dPܭ\^W\Y\Y^\nW~^^WQDQ)QQ\Q!:QQ Q QQ!QQ  QP&Q>nQHQFQ Q QQ =QQQQQ QB Q'Q\Q(6Q tQQlQRQ DQZQ Q Q@(Q&Q;QQf*Q*Q`Q`Q:Q9Q gQQ6Q$QQ QQpQ}Q jQQ QHQ2Q.Q Q#Q8Q4Q1QxQ,Q)Q'?Q;Q9Q>Q;Q9Q>Q:Q9MQ>Q:Q9 Q/Q85Q13LOCAL_NEXT_INPUT_FILE  INPUT_NAMLOCAL_PARSE_OUTPUT_FILELOCAL_OUTPUT_FILE_SPECSLOCAL_INPUT_FILE_SPECSPSICOPY_NOTSUPPe$CODEN$LOCALL %   &   s@ | ~  8@  - 1$CODEe$LOCALNx CHECK_COMPAT ERRCOMPAT  (hPARSE_NAME_ADDR GET_LINK_CHARS @ DISCONNECT_LINK @p GET_NUMERIC  DCLINIT \  GET_INPUT_FILE_SPECS INPUT_SPECS REMOTE_INPUT_SPECS 4 p !pGET_OUTPUT_FILE_SPECSOUTPUT_FILE_SPECS$4 REMOTE_OUTPUT_FILE_SPECS < |  NEXT_FILENEXT_INPUT_FILE"REMOTE_NEXT_INPUT_FILE x 8xPARSE_OUTPUT_FILE$REMOTE_PARSE_OUTPUT_FILE |  OPEN_INPUT_FILED OPEN_INPUT"REMOTE_OPEN_INPUT_FILE P l OPEN_OUTPUT_FILE  OPEN_OUTPUT#PREMOTE_OPEN_OUTPUT_FILE t D  TRANSFER_FILE ww1" IE00KERNEL028-MAR-1990 18:15 VAX MACRO V5.0-8,MACRO VMI$KWD:SYSDEP/OBJECT=VMI$KWD:SYSDEP-- system dependant routines KERNEL CTL$GL_PCB CTL$T_ACCOUNT ERR FCH$M_BADACL@FCH$M_BADBLOCK FCH$M_CONTIG FCH$M_CONTIGB FCH$M_DIRECTORY FCH$M_ERASE@ FCH$M_LOCKED FCH$M_MARKDELFCH$M_NOBACKUPFCH$M_NOCHARGEFCH$M_READCHECK FCH$M_SPOOLFCH$M_WASCONTIGFCH$M_WRITCHECKFCH$M_WRITEBACK FCH$S_FCHDEF FCH$V_BADACLFCH$V_BADBLOCKP FCH$V_CONTIG FCH$V_CONTIGB FCH$V_DIRECTORY FCH$V_ERASE FCH$V_LOCKED FCH$V_MARKDEL FCH$V_NOBACKUPFCH$V_NOCHARGEFCH$V_READCHECK FCH$V_SPOOLFCH$V_WASCONTIGFCH$V_WRITCHECKFCH$V_WRITEBACK SYS$CMKRNL SYS$UNWINDSYS$SYSTEM:SYS.STB . ABS .P$ABS$PPPPPP $DATAPQQ$CODEP&mPPP Pߏ SYS$UNWIND<ޯm( CTL$T_ACCOUNT CTL$GL_PCBPР|P(P  SYS$CMKRNLP! rSETUIC&0Ь~ SYS$CMKRNLPPY&HANDLER9SETACCOUNT_KERN rSETUIC SETUIC_KERN($DATA $CODEww1 y010LOGIN0112-Jun-1990 14:2912-Jun-1990 14:29VAX Pascal V4.0-2 LOGINPPSICOPY$SERVER_MODEQUsing QCRCQPurdyQPurdy VQnumber Q encryption algorithm.Qpassword for Q: SYS$DISKLNM$PROCESS^ԭ PAS$HANDLERmм\\Rl\ SYS$REVOKIDPR PAS$DISPOSE2\SETUIC<PRR PRRRRRP찏R SYS$SETDDIR֞P ^м\\ԭԭ쟭 SYS$FIND_HELDP\ SS$_NOSUCHIDPP\RRR SYS$GRANTIDP\ SS$_WASCLRPP\ PAS$NEW2PS}cS\RR\RRP^$  SYS$DCLEXHPPPSICOPY_ERREXHPSICOPY_SYS_ERROR SYS$GETJPIPPPSICOPY_ERRJPILIB$STOP^ SYS$CANEXH SYS$GRANTIDPP!PPSICOPY_GRANTERRPSICOPY_SYS_ERROR^$ SYS$DCLEXHP\\\PSICOPY_ERREXHPSICOPY_SYS_ERROR SYS$REVOKIDP\\\!\PSICOPY_REVOKERRPSICOPY_SYS_ERROR SYS$CANEXH<d^ԭ PAS$HANDLERmЬP` `p(`rЬP` `(`Ь P` `d(`f\ SYS$GETJPIPPPSICOPY_ERRJPILIB$STOPpt(prvl NETKEYIN1s  PAS$HANDLER SYS$REVOKID PAS$DISPOSE2SETUIC SYS$SETDDIR SYS$FIND_HELD SS$_NOSUCHID SYS$GRANTID SS$_WASCLRPAS$NEW2 SYS$DCLEXHPSICOPY_ERREXHPSICOPY_SYS_ERROR SYS$GETJPIPSICOPY_ERRJPILIB$STOP \SET_SERVER_MODE SYS$CANEXHPSICOPY_GRANTERR RESET_SERVER_MODEPSICOPY_REVOKERR `< REMOTE_LOGINNETKEYINPSICOPY_PROTOCOLPSICOPY_SECLVLERRNETSEND NETRECEIVEPSICOPY_PROTOCOLLIB$STOPvPSICOPY_SECLVLERRn\]Qd]Q͇(͉lNETSEND\l NETRECEIVEr\n1rns PSICOPY_PROTOCOLLIB$STOPnP|^ԭ PAS$HANDLERmQVЬ\l l(lDEBUG1 PAS$FV_OUTPUTPAS$WRITE_STRINGvPP PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING v~ PAS$FV_OUTPUTPAS$WRITE_INTEGERr PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN21 PAS$FV_INPUTPAS$RABP\I PAS$FV_OUTPUTPAS$WRITE_STRINGP PP@TABLINK13P` PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING0 PAS$FV_INPUT PAS$FV_INPUTPAS$LOOK_AHEAD1 PAS$FV_INPUTݏP PAS$FV_INPUTPAS$READ_VARYING PAS$FV_INPUT PAS$READLN2< STR$UPCASE PAS$FV_OUTPUT PAS$WRITELN2P (pP`Qcopy QlogQcentralized_logQstatistics`^ԭ PAS$HANDLERmЬP` ``(`b\^R`b CLI$PRESENT CLI$_NEGATEDQQPV1 CLI$_PRESENTQQPV CLI$_ABSENTQQPP PAS$HEXWWWR^^X({n( cWX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2\VVPX^ԭ PAS$HANDLERm^\ 8 CLI$PRESENTPVVR CLI$PRESENTPRR\W^\ X( ZVXXZ CLI$PRESENT CLI$_NEGATEDRRPY1 CLI$_PRESENTRRPY CLI$_ABSENTRRPP PAS$HEXZZZ\^^[(Gn( cZ[ PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2XY\^W\Y\Y^\ X( ,ZVWX찏Z CLI$PRESENT CLI$_NEGATEDXXPX1 CLI$_PRESENT[[PX CLI$_ABSENT[[PP PAS$HEX[[[\^^Z(on( c[Z PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2WX\^Y\X\X^\ X( `ZVYX谏Z쟭 CLI$PRESENT CLI$_NEGATEDWWPW1 CLI$_PRESENTZZPW CLI$_ABSENTZZPP쟭 PAS$HEXZZZ\^^[(n( cZ[ PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2YW\^X\W\W^\ X( ZVXX䰏Z蟭 CLI$PRESENT CLI$_NEGATEDYYPY1 CLI$_PRESENT[[PY CLI$_ABSENT[[PP蟭 PAS$HEX[[[\^^Z(n( c[Z PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2XY\^W\Y\Y^\ X( ZVWXZ CLI$PRESENT CLI$_NEGATEDXXPX1 CLI$_PRESENTZZPX CLI$_ABSENTZZPP PAS$HEXZZZ\^^[(n( cZ[ PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2WX\^Y\X\X^\ X( ZVYX䰏Z蟭 CLI$PRESENT CLI$_NEGATEDWWPW1 CLI$_PRESENT[[PW CLI$_ABSENT[[PP蟭 PAS$HEX[[[\^^Z(n( c[Z PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2YW\^X\W\W^\ X( 0ZVXXZ CLI$PRESENT CLI$_NEGATEDYYPY1 CLI$_PRESENTZZPY CLI$_ABSENTZZPP PAS$HEXZZZ\^^[(7n( cZ[ PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2XY\^W\Y\Y^\ X( dZVWX䰏Z蟭 CLI$PRESENT CLI$_NEGATEDXXPX1 CLI$_PRESENT[[PX CLI$_ABSENT[[PP蟭 PAS$HEX[[[\^^Z(_n( c[Z PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2WX\^Y\XӐV \^( n ~^^PP DCLINITOPEN_INPUT_FILEQQPPOPEN_OUTPUT_FILEQQPP TRANSFER_FILE NEXT_FILEQQPPGET_INPUT_FILE_SPECSQQPPP0^ԭ PAS$HANDLER PAS$HANDLER CLI$PRESENT CLI$_NEGATED CLI$_PRESENT CLI$_ABSENTPAS$HEX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$WRITELN2PSICOPYPSICOPY12-Jun-1990 14:28:06PAS$ENVIRONMENT_TIME   INIT_DEBUG  PSICOPY$MASTERDCLINITOPEN_INPUT_FILEOPEN_OUTPUT_FILE TRANSFER_FILE NEXT_FILEGET_INPUT_FILE_SPECS PSICOPY MINOR_VERSION MAJOR_VERSIONLIB$GET_FOREIGN LIB$GET_INPUTm^\ MINOR_VERSIONPP MAJOR_VERSIONPPЏLIB$GET_FOREIGNPV  LIB$GET_INPUT LIB$GET_INPUT PSICOPY_CMD<WPP WPPXXXWYYY\^^\(Kn(WhcYа\ԞЭܚ CLI$DCL_PARSEPVV&V  CLI$PRESENTPVV EDIT_LEVEL MINOR_VERSION쟭 MAJOR_VERSIONԟԞ PSICOPY_IDENT PSICOPY_ERROR CLI$PRESENTPINIT_CENTRALIZED_LOGV CLI$DISPATCHPVV ] CLI$PRESENTP   PSICOPY_SENT PSICOPY_ERRORPSICOPY_RECEIVED PSICOPY_ERROR PSICOPY_ABORTPPPQPQ<QQ QrQ`Q QyQQ"QJQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QIQ1QQQQCQ'Q6Q.QQ3QQQQQ Q'SQQ%Q$ Q D($ PSICOPY020.AW([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1928z" PSICOPY_CMD CLI$DCL_PARSE EDIT_LEVEL PSICOPY_IDENT PSICOPY_ERRORINIT_CENTRALIZED_LOG CLI$DISPATCH PSICOPY_SENTPSICOPY_RECEIVED PSICOPY_ABORT %  COMMAND_LINE   GLOBAL_STATUS   FILES_TO_DO  LOG  TT_LOG DEBUG   SERVER_MODE    TX_PACKETS  TX_BYTES   RX_PACKETS  RX_BYTES VERSION $CODE$LOCAL j f $CODE $LOCAL INIT_DEBUG SETVAL  \ PSICOPY$MASTER x PSICOPY Tww1#0-0& PSICOPY_CMD0-013-FEB-1990 12:08-VAX/VMS Command Definition Utility (V4-001) PSICOPY_CMD CLI$TABLESP  COPY ,<`h" &COPYPSICOPY$MASTER,q&!P1FromINPUT,$!P2ToOUTPUT$aPFROM$aPTO(0@SERVER$TLOG$axDEBUG, STATISTICS(DELETE(COMPRESS$ CRC(@ REVERSE(ch` RESTART( WINDOW( PKTSIZE(THRUCLS(DELETE(0COMPRESS0CENTRALIZED_LOG| RESTART_KEY4#FILEpsicopy$restartDBG_TYPE$ALL$NET$8DATA$\CRC$MAIN$LOGIN$INTER(SERVER( FILE_IO( RESTARTD` . SERVER_SYNTAXPSICOPY$SERVER(SERVER$LOG$a DEBUG,  STATISTICS0CENTRALIZED_LOG pREMOTE_ADDRESS(ADDRESS$PWD$PWD2PSICOPY$MASTERRPPSICOPY$MASTERPSICOPY$SERVERnPPSICOPY$SERVERww1 y018 PSICOPY_ERROR0112-Jun-1990 14:3012-Jun-1990 14:30VAX Pascal V4.0-2 PSICOPY_ERRORPALOG_FILEQLPTcentralized_logQ.log<^ԭ PAS$HANDLERm}<\\^<\ЭQ^S\(ac\(\ac^ SYS$SETASTP\

t H(088 COPIED&!AD!AD copied to !AD!AD (!UL block!%S) DELETED!AD!AD deleted,IDENTPsicopy Version !UB.!UB-!UW* OUTPDELETEDeleting output file6RECEIVED"Received !UL packet!%S !UL byte!%S.SENTSent !UL packet!%S !UL byte!%S8REQUEST%Request to transfer file !AD from !AD>REQFAIL,Request to transfer file !AD from !AD failed4CREATED"File !AD creation requested by !AD<CREFAIL)File !AD creation requested by !AD failed$REMLOGIN!AD logged as !AD. REMLOGFAIL!AD failed to log as !AD DEBUGINFO!AD& NOTCOPIED!AD!AD not copied2NOTSUPP!AD does not support !AS option< LOCDTELNG(local DTE name !AD too long -- truncated> REMDTELNG)remote DTE name !AD too long -- truncated6USERLNG$!AD: user data too long -- truncatedRWINBAD@!AD: Invalid window size specified -- nearest valid value chosenRPKTBAD@!AD: Invalid packet size specified -- nearest valid value chosenFRPOALNG4!AD: RPOA is not a multiple of 4 digits -- truncatedFWORDBAD4!AD: one or more transit facilities reduced to 65535VTHRBADE!AD: Invalid throughput class specified -- nearest valid value chosen< BADSTATUSWORD#!AD: Invalid iosb third word: %X!XW8 ASSINCHAN$Error assigning input channel to !AC: ASSOUTCHAN%Error assigning output channel to !AC.OPENINError opening !AD!AD as input0OPENOUTError opening !AD!AD as output* IN_SEARCHError searching !AD!AD&INPARSEError parsing input( OUT_PARSEError parsing output4 READ_INPUTError reading input file !AD!AD8 WRITE_OUTPUT Error writing output file !AD!AD6 NOTDELETED Error deleting input file !AD!AD*CONFAILError connecting to !AD2LOGFAIL Error during remote login to !ADBCONABORT.Error connecting to !AD, secondary status= !UWR CONERRNCB=Error parsing NCB during access to !AD, secondary status= !UW6NETSEND$Error sending network message to !AD> NETRECEIVE(Error receiving network message from !AD: INTERRUPT&Transfer aborted by partner, code= !UB4 INVALIDNCBReceived NCB has invalid formatHCRCBLOCK5CRC error with !AD at block !UL, retransmitting blockRCRCBURST>CRC error on burst with !AD at block !UL, retransmitting burst@ MAXCRCERR,maximum retransmit reached, transfer aborted ABORTtransfer aborted.PUTMSG$PUTMSG system service failed( ERRDELETEError deleting file, ERRDEACCESSError deaccessing file8 NOX25CHAN#Cannot assign channel to X25 device4NOSYSNET!Cannot assign channel to SYS$NET:4 READSYSNETError reading NCB from SYS$NET:2 ACCEPTERRError establishing remote link&PROTOCOLProtocol error: !AS.USERNAMECannot get username specs.0 SECLVLERRIncompatible security level.ERRJPI$GETJPI system service failed(ERREXHCannot set exit handler,READMBXError reading !AD mailbox2DEACCESSError during deaccess from !AD0SEND_ITError sending interrupt Zto !AD8ACK_IT&Error acknowledging interrupt from !AD6INV_IT$Invalid IT message received from !AD,CLEAREDCall to !AD cleared!/-!AD4OPENLOG"Error opening centralized log fileDEXTLOG2Error preparing centralized log file for extension0NOTNOWYou are not allowed to log now@REVOKERR-Error revoking identifier PSICOPY$SERVER_MODE@GRANTERR-Error granting identifier PSICOPY$SERVER_MODE4TRNLOG"Error translating logical name !ADLRELINK:VMS version is not compatible with image. Please reinstall PSICOPYww1 `H y015 PSINETWORK0112-Jun-1990 14:2812-Jun-1990 14:28VAX Pascal V4.0-2R PSINETWORKPQ cause Q diagnostic Network initiatedQ X25 protocol ErrorQ Comm. link failedQ Comm. link operationalQ Comm. link restartQ Multi-host connexion disconnectedQ Multi-host connexion lostQ Network management function Call collisionQ Network time-outQ reason ::QIOSB: status:Q Count:Q Uinfo:Q Sinfo:QRemote DTE: Cause QDiag QReason QLocal DTE: QLocal subaddress: QUserdata: QLocal network name: Destination priority: QPacket size: QWindow size: QIncoming DTE: QReverse charging baudsQunknown speed #QMin throughput class: QBusyOut of orderSystematicQUnknown reason #Redirect reason: QNCB code Q: Mailbox: inc dataQ Mailbox: interruptionQ Mailbox: disconnect Mailbox: connectQ Mailbox: resetQ Unknown mailbox message type QNWA0:Qremote nodeQSYS$NET:Netsend P]kz &0= REQUEST_TYPE NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTPNET$C_DEACCESS NET$C_END NET$C_LOGINNET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRQreceived wrong message expecting mapOversized packet receivedQreceived mess type #instead of #received non Q messQ::::PSI$DTE_DIRECTORYQPSI$PSICOPY_LOCAL_SUBADDRESSLNM$SYSTEMQPSI$MAIL_LOCAL_SUBADDRESSQLNM$SYSTEM<(^( ­^Э\ЭQ^S\(ac\(\ací^\\^ЭܰذڟPSICOPY_PROTOCOLLIB$STOPPSICOPY_PROTOCOLP^ԭ PAS$HANDLERm\4\P PP@~ SYS$QIOWPQQaQqQ !Q Q0%T=[ejo`QQ Q|QvQmQQMQGQAQ Q2Q QQ QQ QQQQQ&QQQQQ mQfQaQ\QWQRQQ ;Q6QQ QQQQ ?QQ>Q;"QQ4Q3BQQ QQQ,Q#QQLQGQ!Q 8QOQ QQQ~Q}QQ TQS$QQQQjQcQQQ XQSQ 8QX$QQ=Q !Q QQjQ Q QQ:QgQ Q&QQ-QQb4Q+QNQQQ@(QQ0 QKQ`QQ:Q5Q7Q6iQQ RQ6QQQQQeBQkQ QQQQQQ8QQQ1Q#Q$QQQQ1Q&Q!Q 6Q QLQ QQfQQQ QKQQ2lQQ1"Q4Q+Q3 QFQ Q|4Q+Q3QoQ Q#QQ 3Q &QvQ 3Q &Q@Q .Q !QQ.QVQ Q$Q!QQ Q QCQ#QwQ)O7QQQQQQQnQVQNQvJ2  gIT_CODE}9$CODE$LOCAL   \Y   * 7$CODE}9$LOCALWE@y}lOQ$1USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]PSINET.PAS;333 h  PAS$FV_INPUTINPUTTEXT  CHAR  PAS$FV_OUTPUTOUTPUTR T3&MAX_NETWORK_CHARS 'MAX_USERNAME_CHARS  (MAX_TRANSPAC_DIGITS ! MAX_NCB_SIZE  MAX_CRC_NB ! NULL_CHANNEL QIO_EFN WAY NET$_FROMNET$_TOINTERRUPT_TYPE NET$IT_WRTERRNET$IT_READERRNET$IT_RETRANSMIT NET$IT_ACK REQUEST_TYPE NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTP NET$C_DEACCESS NET$C_END NET$C_LOGIN NET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRNETMSG  TH3RRIT_CODER TO3RRDISK_BLK BLOCK_TYPE R RNET_BLK NETBLOCK_TYPE  RP RRET_SIZE R  R RWORDR  INTEGER STATUS0 MSG_FLAGS  REQUESTORR R BOOLEAN DEBUGR T 38MSG_CODER T3PT 3RXR@INP_VER VERSION_TYPE MINORR RRBYTER  MAJORR TD 3PINP_FNA FILE_NAME RR@RET_STV`RET_VERR T 3pRET_OPTR  RTRANSFER_OPTIONS DELETE_INPUTR T 3COMPRESS R T 3 CRC!R T 3RESTART"R T 3#Rh$R@RET_STV1`RET_RSA%R T 3&Rh'R@INP_RLF(R T 3HINP_FNB)R*R@RET_ATRATR_LIST UCHAR RECATTR+R,R-R TD 3    ASCDATES.R/R0R TD 3 ## 8FPRO1R T+ 3 HRPRO2R T+ 3 XSEMASK3R4R5R TD 3 STATBLK T^ 36R7RSBK$R_STLBN_OVERLAY8R  9R  SBK$R_FILESIZE_OVERLAY:R  ;R @ SBK$B_ACNTR?R H SBK$B_LCNT@R T3P SBK$L_FCBpSBKDEF$$_FILL_1AR BRCRDR  SBK$W_ACNTER FRGRHR  SBK$W_LCNTIR T3 SBK$W_WCNTJR T3 SBK$W_TCNTKR T3 SBK$L_READS SBK$L_WRITESLR@MR SBK$L_STLBN SBK$L_FILESIZENRORPR@QR SBK$W_STLBNHRR T3 SBK$W_STLBNLSR T3 SBK$W_FILESIZHTR T30SBK$W_FILESIZLUR T3RET_MSZRET_FDID FDID_TYPE FIDVRWRXR T+ 3  0DVIYRZR@INP_OPT[R  T 3`INP_ATR\R T 3INP_MSZ]RP^R@RET_BLK_R T3`RPaR@INP_BLKbR T3cRHdR@RET_FNAeR T 3fR@gR hR@iR jR@kR lRPmR @ INP_USERNAME CLI_PARAMETER nRoR @INP_SALTpR T+ 3P INP_ENCRYPTqR TD 3 XTIMErRsRtR UNSIGNED RET_PASSWORD"CRYPTED_PASSWORD RET_REMUSERuR T3vR@wRxRyR@SELF_CRC `CRC_NBzR {R|R}R  pCRC~RRR tRR@ START_BLK `NETERRR T 3 aCRCERRR T 3bCRCXMITR T 3cRESTARTR T 3h RESVq$ PSICOPY020.AW([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1928"_CAUSE PSI_OPTIONS WINDOW THRUCLS@PKTSIZE `OPT WINDOW REVCHGTHRUCLSPKTSIZEPSI_IOSB@ IOSB_STATUSR T+ 3 IOSB_COUNTR T+ 3 IOSB_UINFOR T+ 30 IOSB_SINFOR T+ 3 ADDR_TYPE. NCB_ITEM LENGTHR T+ 3 CODER T+ 3T3RR DATARRR TD 3 R(R DATABR TD 3R0R DATAWR T+ 3R@R  DATALR NCB_ITEM_PTRT3RNCB_TYPERR TD 3  MBXMSG_TYPEMSGTYPER T+ 3 UNITR T+ 3 NAME SIZER TD 3 DATA INFO  SIZER TD 3 DATARRR TD 3 PSI_LINK X25_CHANR T+ 3MBX_CHANR T+ 3 IOSBR T3`MBX_IOSBR T3 CAUSER TD 3 DIAGR TD 3 REASONR TD 3GOTCAUSEGOTDIAG GOTREASON CONNECTEDCLEARED LOGERRMBX_BUFR T3 SAVADDRR T3TABLINKRRRT3T&3ݳ ff IT_RECEIVEDgIT_CODER TO3 X25_IDENT X25_IDENT DEFAULT_PSI_OPTIONSR T;3!hPROTOCOL_ERROR MESSRRRPROTOCOL_ERRORRPROTOCOL_ERRORLHPSICOPY_PROTOCOLPSICOPY_PROTOCOL t 0 EXPLAIN_CLEARD LINKR T3RWORKV ٤P RSYSMESSF ٘ PSICOPY_CLEAREDPSICOPY_CLEAREDR REMDTE_LENGTH   $PSI$C_L3_NETWRK $PSI$C_L3_NETERR $PSI$C_L3_LNKDWN #PSI$C_L3_LNKUP $PSI$C_L3_LNKRRT %PSI$C_L3_GATDISC  %PSI$C_L3_NETDISC  $PSI$C_L3_LOCMGT  $PSI$C_L3_CALCOL  $PSI$C_L3_NETTIM   PSICOPY_ERROR PSICOPY_ERROR 8 NETERRG  LINKR T3RSTATUSC x RPSICOPY_STATUSG  RMESS   RSAVASTS    SYS$SETAST$SETASTPSICOPY_SYS_ERRORPSICOPY_SYS_ERROR DEBUGDEBUG  NETR T 3 MAINR T 3 DATAR T 3 CRCR T 3 LOGR T 3 LOGINR T 3 INTERR T 3 SERVERR T 3FILE_IOR T 3 RESTARTR T 3 PSICOPY_DEBUG PSICOPY_DEBUG SS$_WASSET  &7EXPLAIN_ADJUSTMENTS7RWHATWAY78R T&3R STATUSWORD78 R T+ 3R REMSTATUS78R T+ 3PSICOPY_LOCDTELNGPSICOPY_LOCDTELNGPSICOPY_REMDTELNGPSICOPY_REMDTELNGPSICOPY_USERLNGPSICOPY_USERLNGPSICOPY_WINBADPSICOPY_WINBADPSICOPY_PKTBADPSICOPY_PKTBADPSICOPY_RPOALNGPSICOPY_RPOALNGPSICOPY_WORDBADPSICOPY_WORDBADPSICOPY_THRBADPSICOPY_THRBAD0PSICOPY_BADSTATUSWORDPSICOPY_BADSTATUSWORD 9WARNING#9mRMASK949R T+ 3R CONDITION#9p9  q 8=(PSI$M_STS_LOCDTELNG (PSI$M_STS_REMDTELNG &PSI$M_STS_USERLNG %PSI$M_STS_WINBAD % PSI$M_STS_PKTBAD  &PSI$M_STS_RPOALNG &PSI$M_STS_WORDBAD %PSI$M_STS_THRBAD @", PARSE_INPUT_NCBI  LINKR T3R ITEM_PTRA xR T3R NCB_SIZEE Q  MIN_SPEED  MAX_SPEED  CHARZ LENGTHR TD 3 BODYRREMSIZER  PSICOPY_INVALIDNCBPSICOPY_INVALIDNCBRIX xR TD 3hTABSPEEDRRR ( RMESSX xِ RVALX x RNETNAMEN  RREMDTEX  R CALLERGIVENK z  " PSI$C_NCB_ICI  %PSI$C_NCB _REMDTE $PSI$C_NCB_CAUSE 'PSI$C_NCB_DIAGCODE %PSI$C_NCB_REASON %PSI$C_NCB_LOCDTE (PSI$C_NCB_LOCSUBADR 'PSI$C_NCB_USERDATA &PSI$C_NCB_NETWORK %PSI$C_NCB_PRIDST "&PSI$C_NCB_PKTSIZE &PSI$C_NCB_WINSIZE +PSI$C_NCB_INCOMING_DTE 7%PSI$C_NCB_REVCHG  & PSI$C_NCB_THRUCLS -PSI$C_NCB_CALL_REDIR_RSN ,&PSI$C_REDRSN_BUSY .PSI$C_REDRSN_OUT_OF_ORDER ,PSI$C_REDRSN_SYSTEMATIC !`ACKNOWLEDGE_ITe LINKR T3RSTATUSRIOSBwRRR T+ 3 PSICOPY_ACK_ITPSICOPY_ACK_IT h] SYS$QIOW$QIOW# IO$_NETCONTROL 6! PSI$K_INTACK $ACKNOWLEDGE_RESET LINKR T3RSTATUS!ERIOSB$R T3PSICOPY_ACK_ITPSICOPY_ACK_IT h#  PSI$K_RESET READ_MBX} LINKR T3PSICOPY_INV_ITPSICOPY_INV_ITRMESS    MSG$_INCDAT @  MSG$_INTMSG 5LIB$STOP ERROR_STOP  MSG$_DISCON 3! MSG$_CONNECT 2 MSG$_RESET A START_WATCHm LINKR T3RSTATUSPSICOPY_READMBXPSICOPY_READMBX `7 SYS$QIO$QIO! IO$_READVBLK 18 GET_X25_CHAN= LINKR T3 X25_DEVICERSTATUSPSICOPY_NOX25CHANPSICOPY_NOX25CHAN d(DISCONNECT_NW_CHANNELRWHATWAY R T&3RSTATUS'1RIOSB*RRR T+ 3 PSICOPY_DEACCESSPSICOPY_DEACCESS [! IO$_DEACCESS 4 LIB$SIGNAL ERROR_SIGNAL SYS$DASSGN$DASSGNSEND_IT2RREASONR TO3RWHATWAY< R T&3RSTATUS2pRIOSB 5RRR T+ 3 PSICOPY_SEND_ITPSICOPY_SEND_IT '$PSI$K_INTERRUPT  SEND_RESETR DIAGCODER TD 3RWHATWAY$ PSICOPY020.AW([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1928i7" R T&3RSTATUSRIOSB R T3PSICOPY_SEND_ITPSICOPY_SEND_IT %CONNECT_NW_CHANNEL RCONNECT_NW_CHANNEL-!-!  RCONNECT_NW_CHANNEL-!-! 0SYSNET RSTATUS!  R MBX_CHAN8 R T+ 3RIOSB  RRR T+ 3 R NCB_DESC  RRR RMBX_MSG  R T3PSICOPY_NOSYSNETPSICOPY_NOSYSNETPSICOPY_READSYSNETPSICOPY_READSYSNETPSICOPY_ACCEPTERRPSICOPY_ACCEPTERR \ SYS$ASSIGN$ASSIGN IO$_ACCESS 2  IO$M_ACCEPT 0!NETSENDC! MSGR T63RNETSEND$$RNETSEND$$RWHATWAYC!#R T&3HDRSZ RSTATUS##PSICOPY_NETSENDPSICOPY_NETSENDR MSG_SIZE!$ R!R "RFDIDPTRY"f"#RT^3 " IO$_WRITEVBLK 0#IO$M_QUALIFIED  GLOBAL_STATUS GLOBAL_STATUSTX_BYTESTX_BYTES TX_PACKETS TX_PACKETS $ NETSENDDESC;$5$R NETSENDDESC%%%R NETSENDDESC%%&RBUFLEN3$$'RBUFADR7$G$(RWHATWAY;$$ )R T&3*RSTATUSy$$PSICOPY_NETSENDPSICOPY_NETSEND % NETSENDDATA% MSG+R T63,R NETSENDDATA+%Z%-R NETSENDDATA+%Z%.RWHATWAY%:%/R T&3PSICOPY_INTERRUPTPSICOPY_INTERRUPT H!\%NETRECEIVEDESCw%A0RNETRECEIVEDESC&&1RNETRECEIVEDESC&&2RBUFLENo%&3RBUFADRs%%4RWHATWAYw%?& 5R T&36RSTATUS%%PSICOPY_NETRECEIVEPSICOPY_NETRECEIVE _$PSI$M_QUALIFIED RX_BYTESRX_BYTES RX_PACKETS RX_PACKETS& NETPURGEDATA&  MSG7R T638R NETPURGEDATAN(T(9R NETPURGEDATAN(T(:RWHATWAY&';R T&3<RSTATUS'J(PSICOPY_NETRECEIVEPSICOPY_NETRECEIVE |X( NETRECEIVEk(k MSG=R T63>R NETRECEIVE}**?R NETRECEIVE}**@RWHATWAYk(^*AR T&3FNBPTRBRSTATUS(X*PSICOPY_NETRECEIVEPSICOPY_NETRECEIVECR SIZELEFTp(3*DRBUFPTRu(5) 0&#PSI$M_MOREDATA *NETKEYIN* MSGER T63FRFUNC**GR T3HRWHATWAY**IR T&3 @$*RECEIVE_QUALIFIED* MSGJR T63KRFUNC*e+LR T3MRWHATWAY**NR T&3ORMESS++٬P $D- NETCONNECT-%PSI_OPT PR T;3QR NETCONNECT00RR NETCONNECT00SRADDRi-0PTR T3URPWD-/VR T3WRPWD2-/HXR T3YRWHATWAY-v0 ZR T&3[RBYTE_PTRTD 3\RNCB{.{.]R T3^RNCB_PTRD_R T3`R NCB_SIZEv.v.aRbR cR NCB_DESCx..dReRfR gRIOSB./hRiRjR T+ 3 kRSTATUS.0PSICOPY_CONFAILPSICOPY_CONFAILPSICOPY_LOGFAILPSICOPY_LOGFAILPSICOPY_CONERRNCBPSICOPY_CONERRNCBPSICOPY_CONABORTPSICOPY_CONABORT t,TRNLNM, LOGVALlR T3mRTRNLNMB-B- nRTRNLNMB-B- oRLOGNAM, -TpR T3qRTABNAM,,rR T3sRITMLST,, BUFLENtR T+ 3 ITMCODuR T+ 3  BUFADR @RETLEN`ENDLISTvRSTATUS -)- PSICOPY_TRNLOGPSICOPY_TRNLOG + PRETTY_ADDR+D LINKwR T3xRI(,(, 7ADDASCICE7)yR ADDASCICY77zR ADDASCICY77{RITEM877t|R T3}RCODEE7c7 ~RJ77R RRCLI_PARAMETER_LENR i 6 ADDNBYTES6R ADDNBYTES67R ADDNBYTES67RITEM66RNBBYTES66RCODE66  2FILLDTE2!DTEADDRR T3RFILLDTERFILLDTE TABLERDTENUM23dR T3RSTATUS%3%3RIm33 i ,"3PROCESS_SUBADDR4RPROCESS_SUBADDR45RPROCESS_SUBADDR45RSUBADDR445R T3 '5VALIDATE_PSI_OPTIONS5RVALIDATE_PSI_OPTIONS66RVALIDATE_PSI_OPTIONS66R PARSE_OK56 1 PARSE_NCB1 ADDRR T3R PARSE_NCB22R PARSE_NCB22RCAST_NCBT3RI=1_2 R TM@3R PARSE_OK12i    LNM$_STRING  SYS$TRNLNM$TRNLNM! SS$_NOLOGNAM ! SS$_IVDEVNAM D SS$_ABORT ,  SS$_CLEARED !RS !S !S"S !S !S"S !S" S ! S" S ! ST+ 3 S!S !S T 3S !S !S !S"S !STD 3S!S !S !S"S !S !ST 3S ! S !!S !"S !#S !$S"%S !&S !'S"(S !)S !*S"+S7!,S3"-S .S7!/S3"0S 1S !2S !3S7!4S3"5S 6S !7S"8S !9ST 3:S !;ST 3S!@S !AS !BST3CS!ES !FST3GS!IS !JS !KS !LS !MS"NS !OS"PS !QS"RS !SS !TS !US !VS7!WS3"XS YS !ZS"[S !\S !]S! !^S"_S !`S !aS"bS !cS !dS"eS !fS !gS"hS !iS"jS !kS"lS !mS"nS !oS"pS !qS !rS0!sS,"tSuS !vS !wS"xS !yS"zS !{ST?3|S!~S0!S,"SS !S"S !S !S !S !S !S !S !S !S !S !S !S"S7!S3"S S !S"S !S !S"S !S !S"S!S?!S3"S S !S !S !S !S7!S3"S S !S !S !S !S !S !SY҃v$ PSICOPY020.AW([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1928"!" !S !S !S:!S6"SS !S !S!S "S'!S'!S !S!S !S&!S !S!S'!S!S!S !S !S !S !S !S !S !S !S !S !S !S !S#!S !S"!S !S!S !S"!S !S!!S !S!!S !S !S!S !S0!S,"SS!S!S !S!S$!S !S!S!S7!S3"S S !S!S!S !S !S!S !S!S !S!S !S !S!S!S7!S3"S S!S !S# !S !S!S!S7!S3"S S!!S !S !S !S!S! S ! S+! S+! S! S!!S !S!S7!S3"S S!!S0!S,"SS !S !S !S !S !S !S !S!S!! S!"S !#S !$S$!%S$!&S!'S!(S !)S !*S!+S !,S$!-S$!.S !/S !0S'!1S'!2S!3S!4S !5S !6S!7S !8S%!9S%!:S !;S !<S!=S !>S#!?S#!@S !AS !BS!CS!!$DS!ES !FS!GS !HS !IS !JS !KS!LS !MS !NS !OS!PS !QS#!RS#!SS!TS !US!VS !WS!XS !YS !ZS ![S!\S!]S !^S !_S !`S!!aS!cS!!dS0!eS,"fSgS!zhS7!iS3"jS kS!lS !mS!nS!oS!pS !qS!rS !sS!tS !uS !vS!wS !xS!yS!!zS!!{S!|S !}S!~S!S !STM@3S(!S"!S"!S!S !S!S !S !S !S! %S !S!S!S(!S(!S !S !S-!S-!S!!S !S"!S"!S!S!S !S!!S PAS$FV_INPUTww1@ y012RESTART0112-Jun-1990 14:2912-Jun-1990 14:29VAX Pascal V4.0-2RRESTARTPbRESFILQrestart.fileRestart file:Q$lineQCommand line:QNew_input: QNew_output: Output done:l^lЏn | CLI$GET_VALU&Ev PAS$FV_OUTPUTPAS$WRITE_STRINGnl PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2Џ+ CLI$GET_VALUE! PAS$FV_OUTPUTPAS$WRITE_STRINGЭP` PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2< ^ԭ PAS$HANDLERm(P\\ P\\\\\lP PAS$FV_OUTPUTPAS$WRITE_STRING( PAS$FV_OUTPUTPAS$WRITE_CHAR<~ 'PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER) PAS$FV_OUTPUTPAS$WRITE_CHAR PAS$FV_OUTPUT PAS$WRITELN2<8^ԭ PAS$HANDLERm( PAS$FV_OUTPUTPAS$WRITE_STRING(ȚP\\ P\\\\\lP PAS$FV_OUTPUTPAS$WRITE_STRING( PAS$FV_OUTPUTPAS$WRITE_CHAR<~( PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER) PAS$FV_OUTPUTPAS$WRITE_CHAR PAS$FV_OUTPUT PAS$WRITELN2P(<8^ԭ PAS$HANDLERm( PAS$FV_OUTPUTPAS$WRITE_STRING(ȚP\\ P\\\\\lP PAS$FV_OUTPUTPAS$WRITE_STRING( PAS$FV_OUTPUTP)AS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER) PAS$FV_OUTPUTPAS$WRITE_CHAR PAS$FV_OUTPUT PAS$WRITELN2PP(^м\- PAS$FV_OUTPUTPAS$WRITE_STRING\ PAS$HEX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRIT*ELN2PQrPQQ l START_RESTART CLI$GET_VALUE PAS$FV_OUTPUTPAS$WRITE_STRING PAS$WRITELN2RESTARTRESTART12-Jun-1990 14:29:50PAS$ENVIRONMENT_TIME  T< WRITEFDID PAS$HANDLERPAS$WRITE_CHARPAS$WRITE_INTEGER  $<NEW_INPUT_FILE  <NEW_OUTPUT_FILE  $OUTPUT_FILE_DONEPAS$HEX   RESTARTING   RESTART_BLKNO RESFILw$CODE$L+OCALnl> $CODEw$LOCALWE`TE1USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]RESTART.PAS;19 6  PAS$FV_INPUTINPUTTEXT  CHAR  PAS$FV_OUTPUTOUTPUTR T3RPB` COMMAND_LINE CLI_PARAMETER  INPUT_FDID FDID_TYPE FIDRRR R RR ,  INTEGER 0DVI OUTPUT_FDIDR Td3p RESTART_FDID R Td3 ACK_BLK @STATE RESTARTING RESTART_BLKNO RESFIL R T3l START_RESTARTs< R FILE_NAMEul R T23 $ CLI$GET_VALUE CLI$GET_VALUET WRITEFDIDi8 RFDIDhR Td3 !-$NEW_INPUT_FILE98RFDID8R Td3 " NEW_OUTPUT_FILE58RFDID4R Td3 UNSIGNED#$OUTPUT_FILE_DONE-(RSTATUS-D S|RS !S7!S3"S ST3S!S ! S ! S ! S"! S ! S!S !S!S !S!S !S!S PAS$FV_INPUTww1&Jy01.1SERVER0112-Jun-1990 14:3512-Jun-1990 14:35VAX Pascal V4.0-2 SERVERPRcvd code: QP^m| #0 NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTPNET$C_DEACCESS NET$C_END NET$C_LOGINNET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRQUnknown message code received: QUne/xpected data msg receivedUnknown non-requestor Q-mess<^ SERVER_MODECONNECT_NW_CHANNELP(TABLINKTABLINK3RESET_SERVER_MODE]QSET_SERVER_MODEPP^ԭ PAS$HANDLERmQ\Q^V ]Q]QW NETRECEIVEPPPWW11DEBUG PAS$FV_OUTPUTPAS$WRITE_STRING~z PAS$FV_OUTPUTPAS$WRITE_ENUMERATED PAS$FV_OUTPUT PAS$WRITELN201 1Q 3Q/QQEQ&QQ#QQQnQ aQ TQQFQ=QCQQQQ=Q;KQ Q:QQMQ QQ)DQ .QQ(QQAQ?FQx3Q.Q8Q(Q Q6QCQ?H LOGPSICOPY_REQUEST PSICOPY_ERRORPSICOPY_REQFAILPSICOPY_SYS_ERRORLOCAL_OPEN_OUTPUT_FILEDECOMPRESS_DONE ALLOCATE_MAP % OUTPUT_ESAPSICOPY_CREATEDPSICOPY_CREFAIL$CODE$LOCAL,    &$CODE$LOCALPSICOPY$SERVER SERVER_LOOP OPENIN  OPENOUT 5 SEND_DATA PX RECEIVE_DATA LDEACCESS_OUTPUT    DwwP?$ PSICOPY020.A)W'[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OPT;25i'*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OPT;25+,)./ 4-W0123KPWO56`y7v {89GH@Jname=PsiCopy__2.0_14u$ PSICOPY020.AQW'[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.MEM;16*mA'*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.MEM;16+,Q.*/ 4*(-W0123KPWO)5 6`kDvq7> {8~*9``sGH@J  @ 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 (restart n'est pas encore implante), alorsR le fichier qui etait en cours de creation est detruit. Si pour uneR raison etrange (crash par exemple) le fichier en sortie ne pouvait pasR etre detruit, il restera en mode "DEACCESS LOCKED", et il faudra le! detruire manuellement.L 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 ;g$ PSICOPY020.AQW'[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.MEM;16*ɫ" Nom des fichiers resultants. Ces fichiers 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 le6 redemarrer en cas de problemes. (* FUTUR *)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.n PSICOPY - transfert de fichiers par PSI 11 ; SOMMAIRE.X Generalites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 ___________T 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 {3$ PSICOPY020.AQW'[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.MEM;16*T2" 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 . . . . . . . . . . . . . . . 11 12l5 PSICOPY - transfert de fichiers par PSI   source PSICOPY - transfert de fichiers par PSI 13  Ce fichier doit etre accessible en LECTURE par le username sous< KP$ PSICOPY020.A(W1[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.RELEASE_NOTES;12K;1*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.RELEASE_NOTES;12+,(./ 4K-W0123KPWO56`K[s7 {8?9``sGH@J En cas de pb's: contactez guillaume gerard. PSI-mail: 02080750412::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 X25e$ PSICOPY020.AmW*[GEGE.SYSTEME.PSICOPY_V2]PSICOPYMSG.MSG;71[ V**[GEGE.SYSTEME.PSICOPY_V2]PSICOPYMSG.MSG;71+,m. / 4[ N-W0123KPWO 56 Yğf7` {8`8U9``sGH@J8.title PSICOPY_MSG -- Error messages for PSICOPY program#.facility psicopy,1/prefix=psicopy_.severity SUCCESS<COPIED /fao_count=9%DELETED /fao_count=9.severity INFO$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.severity WARNING)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.severity ERROR<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=2ECONABORT /fao_count=3UCONERRNCB /fao_count=3;NETSEND /fao_count=2ANETRECEIVE /fao_count=2>INTERRUPT /fao_count=1,INVALIDNCB LCRCBLOCK /fao_count=3UCRCBURST /fao_count=3.severity FATAL8MAXCRCERR ABORT 'PUTMSG <$PUTMSG system service failed>ERRDELETE $ERRDEACCESS /NOX25CHAN ,NOSYSNET ,READSYSNET *ACCEPTERR *PROTOCOL /fao_count=1%USERNAME 'SECLVLERR '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 .end$ PSICOPY020.A0 c{~hOTES;12&T0 .ykOlJbU6X#Tcp90^ڃԓB{?o #In| ;o2F D">z짐ߢh\&H(n'p3&]L10"T4 w+?@2Q]i%!ŔPT#d$XN%eE3,e?U>_ޥ㖻bry\x;j~j\[` IPV"u"fc@EMR\JEPxADY;x2ĈCyk)|<͢YWZ"an1sP:TRގEÈrlH);xZu6d4;`;_.峂SD3( M`Ɗ~^^@ŔzGscXyeƣ_{ơ\_UD9p[QaO|m30R`7vbY}[*‘rW4T2"#mq<<j]I6IsEa(GA l8\n՞7*gr59l*V©8:qa\{\ ?ǵ6TG/q>_  JbqE\MVupob棷o&y-A@RǺYSLS;S/z +c(a~E%J@U'";**E4ؠ1ٰ1q@ \yOknpEx7h& 8vØe\ y7 < cS .ڃށimNRa2B|@H,}K%.lјu9Bt*c_ ډQ ~_ʆ-_UwqtwH͐"AVAin5$v}.Ok$1|-\y\};U~f0 =27`,/c*ܜYu g[ 18t84OCk0H ?ZB[$a=&6{חqj09Gg{if#7!Re!TۄwM.E]X_1oltxv7^"NΆ-I`Dܠ^bx9u:-TmQц7ZeUBv~ 4D6m"cpz b|Gߙ;x^Ώ2oƒnRژDsLX!.;!+> ;gPysk+,%Eㆯuu.URt.Cg|Bj0h f)*L zcˤ-)~pn@<`d#ʐvՙpOv@R[R /^ȗf`Pw?#dYTq8'V"mxUQBuCO2 |Ȯ:L߱'&LPA b=TS zj:yf/=:MQHOoL1QѻA'si5 sK%1QG칝:W%ۓ&Ix紶h7%%rL$_Y/5դ8:* 3ڟ̆"i6c?Ag{\ Yn]4ء2QmNc!;6.QzCۇ˜Η8K|=`SY8ݟ`$1H#(d=ܽ_.k⢞R&Tѧ`?FG~iLMose/&8=茼91nS&m2J@5D٦@gtA~d=iL  J9 [GQuWє9Oů:*2Z`僁vZZ*&$[r'ߡ(+&wH$:#OuzCAt`<[ȴ"aY|귅k$@:8=7?YXK}S Buei1@o:Mݒ^zgh3UyU`'͎QAR$"eFV <Ydz潿ɏcst@D![{psD<҈J:]"#h``! 㗲Iڻ,$P|]Iھ-7S>{{izhǯU>Kb׎!Zh[R\NCYY3PU(S`}|X>rpk7ͦ迨¶qP] @}ߔx¬x)Aq8d"ԅݒM+udl@X=oTU֯T6`Z FU _JO N30YZH;A~--:}ʺ+YϽ kl}=c pWc$X"& $ʦGUkc6\2LEO3J,JFqQOO1:"x'18@jv:f;8gt&LmXu$=nZHWE1Nݶ6?uQ5;m>VHhV@VU52]A2$uV| HQFLFxvU9 {+Jk$#ަ%ٞ`ޞz`ҹO3xt04 j+Jෙ=?J>I.24'J,&3΍aiR-cݦ='IJ 蛋y?rkrPEɣ-e+1"$FgmO\Һ,@?~ (k]lS]2C@+|*' ^|'wkS+BUkMPqiVf# GnGH/2|J7$6 ˢr8$D8T.( na2V7#UM911? j-cHH.A*H"i 6Ԧ 6`Aghh^,f(2MDDg L4P1ˉOHj҃U('75.^zs>-w2^aUhG a>.LgFXd}$w;pqpgȔ!{HtYG!B&cQ7c_V4)/n> Lֺc`FWO{&eѕa'%42A`.Mu=Azrj lN2·8<}o5H#cd~òrJ "ж4l{ ^=숰%[}SIZOpzSLDvF+ũj CM5Vj+UE K".Bk|N]e=**W͑Ta-vV;yڲ=kcr;k;D,*]=KLf'YYfH=jDeh@xLH~>ޝQңc*FLaeyUGJ=!IPha `8QB3ԵA% ^^:ov)16Q .jb-VE h{/̬VwfbKXѿ!K`A07唔7xVarpϯ %kɣ[hI[zVhY6 p}d=A'ԓ2:EYA϶蝐:@eIiAX\KO OcpkṗϏAF`Mu /M 7]06,.0ڠ9od룸`v%1"!I=?.'WY0@CHs7c&St,_ߙ# ?6S=@ܐyXZXDĨWlՁw v<ĕtQ~>$M1)X! .S:ZРSi,ex',mvBz U;LMW}$x Vp0m[@u vH.V5if ׫( Q>vʃ5CT E|{p]יXRXy44 W RraeAf"pRggX?LqxULbk^>E$ώ8ߑD=D^8 qKC@'uvrHWC&U廥g4|x~[9p#9j6d), 2Fo-E-3c#_"E#F۟U*"*YKUT}>̶ p ! =˖b1~_[ kxTf\efuAK+/&iz, ؊%bސɰ=wܧfAHH;6F|j`Ӯ7V)Ii`-IV4R7!f~$ zL7SQpR= n2HDye-UǨz(щԵ*zTtw}x}l"oT Kshud(]qq vg0|'u;]0#9A7v/MVߤ/k Ua 8u)̶߼szRڸ{b‰EcJ.!<8:i"W|ed~yw=җ&BtXafE`{ н!f6 =}kJIt™XJOyĮ>*[!Dz>) 5(#d^.}! ]eůݐ> 1 cwU`XvGWƇ%7sZjkr,<#zTgn64p2u:$!PRb5[#̎QxP5uXt{Mr S>PdЎ/O2i5SENͲfE%/ʥeoDKa%b~m+eR9}Cfj\=;TkyX{8)e{Y'UezZt638od$Sd|k ,gyD=Vt aW!%+TdvB7*׌q>iDL|)Qe>o: xײ%-ԃxg_ 0EqH PXN3ܥjdf4& Nc2y$Xy5 `:PL⪝Owu)5j1t?^>^y?<dž[1?%~f]Q9#,F+QvKb|, ͗^g.9M?Mw2K=ua2Ki?9#vMi LaYx͈زw`o VO/ ˈʣVJOaD^*`/<R݋+QNW'Ű%/mO}5 7k*x h&[VMXWCE0X0gMvW0gqsѾL(M^]-?$ wQࠞ$wsD_ҘC(\NEľ @je؅V/yEe\{?x8WM>Z(4Ӻf,ecX0rXu`Yhvʰ~;8*NGZQ RʋY][)s )'ZI[i7 rݽWt`JC`pn':Z^D-P-^<xryr9Vw*ZUO*"m:p,m塖mTsSOB|Fw=O8I߃ wPqEx̓!ğ^DŽ+Rp=r_p0gV_cn1;f2T2bf='߁V.l}޴%PN\y(Z$KNm2UR!xZM#[fv:SKΆNBJ^[x ^n6 hMEa) _$%J:{B9Hh9F0l8Qs?T͋6xY+56wmi{*Y}ljԐ1fɧˍ(jΠW9PZ6iERRZRW݌c<#XEt}EY/,`otVfL2|uՋg ;yF_6VݸȲҦ ѧ"*Dvt4y'M/$?%u/oh(e%mh|Ǒ/6i3"(Gitڹ3  ܡ$$kiȬÂY P}C#"n=y):2 2A@IaZs@sB5u:Lgl o%W0Bͭ);[P̵#|S1K1 p0qʯ@DJ ǬqOH#$-Wbƌ!a&TEWաӚ(o|˹RCM4ٍ̗^ o 9qx2+X"$ PSICOPY020.A!W%[GEGE.SYSTEME.PSICOPY_V2]SYSDEP.MAR;627%*[GEGE.SYSTEME.PSICOPY_V2]SYSDEP.MAR;6+,!./ 42-W0123KPWO56Im7 {8i9``sGH@J, .title KERNEL -- system dependant routines .library "SYS$LIBRARY:LIB" .link "SYS$SYSTEM:SYS.STB"/SE $ACCDEF $JIBDEF $JPIDEF $PCBDEF $PSLDEF $FCHDEF GLOBAL ; pour File_io! .psect $DATA,RD,WRT,NOPIC,NOSHRwork: .blkl 1group: .blkb ACC$S_ACCOUNT;$ .psect $CODE,RD,NOWRT,LONG,SHR,PIC;SETUIC_KERN:.WORD ^M<> MOVAL HANDLER,(FP)1 cmpw PCB$W_SIZE(r4),#<&^Xfff0>2 bneq badvers ; on suppose format du PCB change. movl PCB$L_UIC(r4),R0 MOVL work,PCB$L_UIC(R4) movl R0,work MOVZBL #1,R0 RETbadvers: clrl r0 retTRAP: MOVZBL #12,R0 RET;HANDLER:.WORD ^M<> $UNWIND_S depadr=#0,newpc=TRAP RET;%SETACCOUNT_KERN:.WORD ^M MOVAL HANDLER,(FP)* MOVC3 #ACC$S_ACCOUNT,GROUP,CTL$T_ACCOUNT MOVL CTL$GL_PCB,R0 MOVL PCB$L_JIB(R0),R0. MOVC3 #JIB$S_ACCOUNT,GROUP,JIB$T_ACCOUNT(R0) MOVZBL #1,R0 RET! $CMKRNL_S routin=SETACCOUNT_KERN BLBC R0,RET .entry setuic,^M<> movl 4(ap),work $CMKRNL_S routin=SETUIC_KERN blbc r0,err movl work,r0RET: RET err: tstl r0 ; r0 = 0 => relink bneq 1$ pushl #PSICOPY_RELINK calls #1,G^LIB$STOP1$: ret .END$ PSICOPY020.AYW'W$[GEGE.SYSTEME.PSICOPY_V2]MAKE.COM;16<7$*[GEGE.SYSTEME.PSICOPY_V2]MAKE.COM;16+,YW'./ 4<D-W0123KPWO5B678 {8x9``sGH@J*$ on control_y then VMI$CALLBACK control_y$ on warning then exit $status,$ macro vmi$kwd:sysdep/object=vmi$kwd:sysdep0$ library/replace vmi$kwd:psicopy vmi$kwd:sysdep3$ link/notrace/nodebug/executable=vmi$kwd:psicopy -< vmi$kwd:psicopy/lib/include=header,vmi$kwd:psicopy.opt/opt"$ delete/nolog vmi$kwd:sysdep.obj;FP$ PSICOPY020.ArW)[GEGE.SYSTEME.PSICOPY_V2]KITINSTAL.COM;82~' )*[GEGE.SYSTEME.PSICOPY_V2]KITINSTAL.COM;82+,r.'/ 4~'%&-W0123KPWO&56N\x7@! {8@Ֆ9GH@J $!$ 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:$ VMI$CALLBACK SET PURGE ASK$ VMI$CALLBACK SET IVP ASK'$ creuaf=0 ! pas de creation d'username*$ obj=0 ! pas de creation d'objet demande-$ accobj=1 ! securisation de l'objet demandee$ upgrade= 0 ! pas un upgrade $ goodmorning= 0 ! temoin 'joke'-$ allowlogin= 0 ! temoin autorisation 'login'4$ maxuserlength= 12!taille maximum d'un username VMS$ req_privs= "OPER,NETMBX"0$ vms_version= F$ELEMENT (1,",",VMI$VMS_VERSION)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:&$askinc:VMI$CALLBACK ASK psicopy$rep -> "Voulez vous recevoir des connexions entrantes (O/N)" O S,N -" "@vmi$kwd:kitinstal help connex"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto askinc$ if .not.oui then goto files$!$! installation en mode serveur$! $asklogin: $ VMI$CALLBACK ASK psicopy$rep -H "Voulez vous autoriser les login par PSICOPY sur votre machine" O S,N -$ "@vmi$kwd:kitinstal help remlogin"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto asklogin$ allowlogin= oui$!!$ req_privs= "OPER,NETMBX,CMKRNL"2$ if .not.f$privilege (req_privs) then goto nopriv?$ if f$identifier ("PSI$X25_USER","NAME_TO_NUMBER").ne.0 then -"$ VMI$CALLBACK MESSAGE I GRIDENT -A "Il faudra donner l'identificateur ""PSI$X25_USER"" a ce compte"/$ @vmi$kwd:getobj psicopy number psicopy$number,$ if psicopy$number.nes."" then goto upgrade$! $restartncp:@$ VMI$CALLBACK ASK psicopy$user "Username associe a ce compte" - PSICOPY S,N - "@vmi$kwd:kitinstal help user"($ if .not.$status then exit VMI$_FAILUREB$ if f$length (psicopy$user).gt.maxuserlength then goto restartncp $ creuaf= 1$!$askserveruic:I$ VMI$CALLBACK ASK psicopy$uic "UIC de l'username ''psicopy$user'" "" 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$!$askdir:&$ VMI$CALLBACK ASK psicopy$serverdir -- "Repertoire de l'username ''psicopy$user'" -% "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$ on error then exit $status>$ VMI$CALLBACK create_account 'psicopy$user' /noadd_identifier $ st= $status$ on warning then exit $status$ vmi$debug = 0$ if .not.st then goto assumeok$ goodflag:= restricted2$ if vms_version.lts."052" then goodflag:= captive.$ VMI$CALLBACK UPDATE_ACCOUNT 'psicopy$user' -~"/network/lgicmd=""nl:""/flag=(dismail,''goodflag')/priv=(noall,tmpmbx,netmbx)/defpriv=(noall,tmpmbx,netmbx)/password=''pwdx'".$ VMI$CALLBACK UPDATE_ACCOUNT 'psicopy$user' -N"/device=''defdev'/directory=''defdir'/uic=''psicopy$uic'/nomodify_identifier" $ 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 on $firstinstal:$ defdir="SYS$COMMON:[SYSEXE]"$ goto netfiles $assumeok:#$ VMI$CALLBACK MESSAGE I ACCEXIST -< "Le compte existe deja. L'installation assume qu'il est OK"$ goto firstinstal$! $upgrade:0$ @vmi$kwd:getobj psicopy "user id" psicopy$user0$ @vmi$kwd:getobj psicopy "file id" psicopy$file+$ if 'psicopy$number'.ne.0 then goto invobj)$ if psicopy$user.eqs."" then goto invobj)$ if psicopy$file.eqs."" then goto invobj$! $ upgrade= 1$ type sys$input:: Un objet PSICOPY existe deja. Les droits d'acces associes< a cet objet seront utilises pour le reste de l'installation%$ask2: VMI$CALLBACK ASK psicopy$rep -6 "Voulez-vous continuer l'installation (O/N)" o 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'accesO$ defdir= f$parse (psicopy$file,,,"DEVICE")+f$parse(psicopy$file,,,"DIRECTORY")$! $netfiles:$ if creuaf then goto askcent%$ask3: VMI$CALLBACK ASK psicopy$rep -E "Voulez-vous generer un nouveau mot de passe pour ''psicopy$user'" -' o 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= 1@$ VMI$CALLBACK update_account 'psicopy$user' "/password=''pwdx'"$!$! fichier de log centralise$! $askcent: $ VMI$CALLBACK ASK psicopy$fic -@ "Nom du fichier de log: ( si pas de fichier>)" "" 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_okB$ VMI$CALLBACK MESSAGE E RESERVED "Ce nom de fichier est riservi."$ goto askcent $cent_ok:J$ if psicopy$fic.nes."" then psicopy$fic== "/centralized_log="+psicopy$fic$ obj=1$files: $ VMI$CALLBACK ASK psicopy$dir -9 "emplacement des fichiers de commande et executables" -1 'defdir' N,S "@vmi$kwd:kitinstal help exfiles"($ if .not.$status then exit VMI$_FAILURE$!=$ if psicopy$dir.nes."SYS$COMMON:[SYSEXE]" then goto ailleurs$ realdir= psicopy$dir8$ psicopy$owner:== [1,4] ! pas confiance aux identifiers#$ if upgrade then goto checkupgrade$ goto oncopie $ailleurs:D$ if f$extract(f$length(psicopy$dir)-1,1,psicopy$dir).eqs.":" then -A psicopy$dir== f$extract (0,f$length(psicopy$dir)-1,psicopy$dir)($ x= f$trnlnm (psicopy$dir,"LNM$SYSTEM")$ if x.nes."" then goto else1$ x= psicopy$dir $ goto endif1%$else1: psicopy$dir== psicopy$dir+":"$endif1:6$ 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 on9$! dir: drame renvoie un warning si le directory est vide6$ if .not. st then if (st.and.7) .ne.0 then goto files$ realdir= psicopy$dir#$ if .not.upgrade then goto oncopie$! @$! upgrade: on verifie que les directories ne sont pas bidon ...$!S$ psicopy$owner== "" ! avec sysprv, le nouvel owner est celui de la ver. precedente$checkupgrade:$ 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$filok1$ if psicopy$filok .nes. "S" then goto dirfarfelu<$ psicopy$owner== f$file_attributes("psicopy$oldexe:","UIC")!$ verifile:= 'realdir'psicopy.comE$ VMI$CALLBACK FIND_FILE psicopy$oldcom 'verifile' "" s psicopy$filok/$ if psicopy$filok .eqs. "S" then goto getowneޤ9$ PSICOPY020.ArW)[GEGE.SYSTEME.PSICOPY_V2]KITINSTAL.COM;82~'9r $dirfarfelu:K$ VMI$CALLBACK MESSAGE W NOFILE "L'ancien fichier ''verifile' n'existe pas"$ask4: VMI$CALLBACK ASK -? psicopy$rep "voulez-vous changer le nom du directory" o n,s -! "@vmi$kwd:kitinstal help dirpb"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto ask4$ if oui then goto files $getowner:?$ if psicopy$owner.eqs."" then VMI$CALLBACK ASK psicopy$owner -; "UIC proprietaire de ces fichiers" "''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 oncopieJ$ VMI$CALLBACK MESSAGE E BADUIC "L'UIC ''psicopy$owner' n'est pas valable"$ psicopy$owner== ""$ goto getowner$!!$! on a toutes les billes on y va$! $oncopie:H$ VMI$CALLBACK MESSAGE I BOIRECAFE "Toutes les questions ont ete posees"#$ on severe_error then exit $status"$ VMI$CALLBACK MESSAGE I LINKING -B "Compilation des modules dependant de VMS et edition de liens..."$ @VMI$KWD:make($ if .not.$status then exit VMI$_FAILUREA$ VMI$CALLBACK provide_image psicopy$filexe psicopy.exe 'realdir'"$ if .not. $status then goto files-$ if psicopy$owner.nes."" then VMI$CALLBACK -A SECURE_FILE psicopy$filexe 'psicopy$owner' s:rwed,o:red,g:re,w:e?$ VMI$CALLBACK TELL_QA "W necessaire pour systeme pour install"$! $ if .not. obj then goto sylogin$!?$! Creation de PSICOPY.COM ************************************$!,$ open/write psicopy$com vmi$kwd:psicopy.com$ if .not.$status then goto c_yA$ write psicopy$com /err=c_y "$ psicopy:= $''psicopy$dir'psicopy";$ write psicopy$com /err=c_y "$ psicopy/server",psicopy$fic%$ write psicopy$com /err=c_y "$ exit"$ close psicopy$com@$ VMI$CALLBACK provide_file psicopy$filcom psicopy.com 'realdir'"$ if .not. $status then goto files-$ if psicopy$owner.nes."" then VMI$CALLBACK -A SECURE_FILE psicopy$filcom 'psicopy$owner' s:red,o:red,g:re,w:reA$ 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"$!G$! Creation de l'objet NCP associe ************************************$!$ VMI$CALLBACK MESSAGE I NCP -N "Creation de l'objet PSICOPY et de la destination PSICOPY du serveur X25"E$ ncpcom= "define object psicopy number 0 file ''realdir'psicopy.com"J$ if accobj then ncpcom= ncpcom + " user ''psicopy$user' password ''pwdx'";$ open/append psicopy$fil vmi$kwd:psicopy$update_object.com$ write psicopy$fil ncpcom,$ write psicopy$fil "set object psicopy all"$ write psicopy$fil "$exit"$ close psicopy$fil$$ @vmi$kwd:psicopy$update_object.com1$ if f$getsyi("VAXCLUSTER").eq.0 then goto endif2$ 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.F$ VMI$CALLBACK PROVIDE_FILE psicopy$updobj PSICOPY$UPDATE_OBJECT.COM- VMI$ROOT:[SYSMGR]>$ VMI$CALLBACK SECURE_FILE psicopy$updobj [1,4] s:ed,o:ed,g,w$endif2:$! $! la doc ...$!E$ VMI$CALLBACK PROVIDE_FILE psicopy$doc PSICOPY.MEM VMI$ROOT:[SYSHLP]$ VMI$CALLBACK MESSAGE I DOC -@ "Un fichier de documentation est mis sous SYS$HELP:PSICOPY.MEM"$!%$ if .not. allowlogin then goto else56$ open/append psicopy$fil vmi$kwd:psicopy$startup.com#$ write psicopy$fil "$ verb:= add"Y$ write psicopy$fil "$ if f$file_attributes (""''psicopy$dir'psicopy.exe"",""KNOWN"") -"+$ write psicopy$fil " then verb:= replace"7$ write psicopy$fil "$ install:= $install/command_modeM$ write psicopy$fil "$install 'verb' ''psicopy$dir'psicopy/privilege=cmkrnl"$ write psicopy$fil "$exit"$ close psicopy$fil$ start_dir:= sys$startup3$ if vms_version.lts."050" then start_dir:= sysmgr1$ VMI$CALLBACK PROVIDE_FILE psicopy$startupfil -- psicopy$startup.com vmi$root:['START_DIR']0$ VMI$CALLBACK SECURE_FILE psicopy$startupfil - [1,4] s:rewd,o:Re,g:re,w$!+$ VMI$CALLBACK SET STARTUP psicopy$startup$!$ type sys$input8 Pour autoriser les logins par psicopy sur votre machine: pensez a ajouter dans le systartup les lignes suivantes: @ sys$startup:PSICOPY$STARTUP $ goto endif5%$else5: ! destruction du startup.comH$ if .not. (upgrade and f$file_attributes("psicopy$oldexe:","KNOWN")) - then goto endif3%$ VMI$CALLBACK MESSAGE I DELKNOWN -7 "Suppression de psicopy de la liste des 'known files'""$ install delete psicopy$oldexe:$endif3:$ VMI$CALLBACK FIND_FILE -C psicopy$startup vmi$root:[sys$startup]psicopy$startup.com "" "S" - psicopy$fnd*$ if psicopy$fnd.nes."S" then goto endif4$ VMI$CALLBACK I DELSTARTUP -5 "Le fichier de startup va etre supprime car inutile"-$ VMI$CALLBACK DELETE_FILE psicopy$startup:$endif4:$endif5:$!1$ open/append psicopy$fil vmi$kwd:psicopy$ivp.com($ write psicopy$fil "$ wdir:=''realdir'"$ write psicopy$fil "$ return"$ close/nolog psicopy$fil?$ VMI$CALLBACK CREATE_DIRECTORY USER VMI$ROOT:[SYSTEST.PSICOPY]R$ VMI$CALLBACK PROVIDE_FILE PSICOPY$IVP psicopy$ivp.com VMI$ROOT:[SYSTEST.PSICOPY]"$ VMI$CALLBACK MESSAGE I IVPFILE -C "Le fichier psicopy$ivp.com est dans sys$sysroot:[systest.psicopy]$!$! information pour le Sylogin$! $sylogin:$ type sys$input? Pour definir la commande psicopy, ajoutez ,par exemple dans le SYLOGIN.COM:7$ write sys$output "$psicopy:== $''psicopy$dir'psicopy"$ write sys$output ""%$ psicopy$$ :== $'psicopy$dir'psicopy$ exit VMI$_SUCCESS $psicopy_ivp:$ psicopy= psicopy$$+$ @sys$sysroot:[systest.psicopy]psicopy$ivp#$exit: exit '$status'.or.%x10000000$!$nopriv:$ type sys$input:? Vous n'avez pas les privileges requis pour cette installation:'$ write sys$Output "Il faut ",req_privs$c_y: set terminal/echo$ close/nolog psicopy$fil$ type sys$input: Installation non effectuee...$ exit VMI$_FAILURE$invobj:!$ VMI$CALLBACK MESSAGE F INVOBJ -> "l'objet PSICOPY defini dans la base DECNET est incompatible" $ ncp:= $ncp$ ncp lis obj PSICOPY%$ask5: VMI$CALLBACK ASK psicopy$rep -C "Voulez-vous purger cet objet pour continuer l'installation" N S,N($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err ther goto ask5$$ if .not.oui then exit VMI$_FAILURE$ ncp purge object psicopy all$ ncp clear object psicopy all$ goto restartncp$!6$! creation d'un pw de 8 caracteres retourne dans pwdx$!$ Generate_password: $ pwdn= 1$ file1:= vmi$kwd:pwd.tmp:$ if f$search(file1) .nes. "" then delete/nolog 'file1';*"$ define /user sys$output 'file1' $ set noon$ set password/gen=8 invalid $ set on$ 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)$$ 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 tempfile1$ Delete/nolog 'file1';* $ pwdn = 1 $ Return$nopass:>$ VMI$CALLBACK MESSAGE W NOPWDCHANGE "mot de passe non change" $ accobj=0$ return$!$ouinon:$ replen= f$length(psicopy$rep)$ err= 0?$ if psicopy$rep.nes.f$extract (0,replen,"OUI") then goto else6$ oui=1$ goto endif6E$else6: if psicopy$rep.nes.f$extract (0,replen,"NON") then goto else7$ oui=0$ goto endif7F$else7: if psicopy$rep.nes.f$extract (0,replen,"YES") then goto else8$ if .not.goodmorning then -'$ VMI$CALLBACK MESSAGE I GOODMORNING -7 "Good morning sir ! Speak french please ! Thank you !" $ oui= 1$ goodmorning= 1$ goto endif8$else8: $ err= 1#$ VMI$CALLBACK MESSAGE E KESKIDI -" "Repondez par oui ou par non SVP"$endif8:$endif7:$endif6:$ return$!$help: goto help'p2' $helpconnex:$ type sys$input:= Si vous voulez recevoir des connexions entrantes, ce produit8 aura besoin d'un numero de compte, qui ne sera utilise6 qu'en reseau, et qui aura NETMBX comme privileges et5 privileges par defaut. Ce compte doit deja exister.i$ exit$helpremlogin:$ type sys$input:M? Si vous autorisez les login par PSICOPY sur votre machine, lesHC utilisateurs se connectant sur votre machine auront la possibilitesA d'effectuer un login pourvu qu'ils aient un username et passwordUA correct, si le compte est autorise en acces network. ceci permetM? d'acceder aux fichiers par un username donne et non pas par le username de l'objet PSICOPY.j$ exit $helpuser:$ type sys$input:e> Cet username est associe a l'objet DecN"`l$ PSICOPY020.ArW)[GEGE.SYSTEME.PSICOPY_V2]KITINSTAL.COM;82~'~"et PSICOPY, et ne sert= que pour les connexions entrantes. Son repertoire par defautg= contiendra tous les fichiers PSICopis sans login explicite.e$ exit $helplogfile:$ type sys$input:EB 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.p? Ce fichier ne peut etre SYS$LOGIN:PSICOPY.LOG car c'est le nome des fichiers log.$ exit $helpexfiles:i$ type sys$input: B 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 $helpexeuic:$ type sys$input:fB UIC qui sera proprietaire des fichiers psicopy.com et psicopy.exe$helpuicserver:e$ type sys$input:N& UIC sous lequel sera lance le serveur$ exit$helpserverdir: $ type sys$input:U@ Repertoire sous lequel sont places les fichiers transfrs sans login explicite$ exit $helpsrvpas:$ 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$helpobjexists:n$ type sys$input> Le "username" associe a l'objet PSICOPY existant est conserve6 la password pourra etre conserve ou change, au choix.$ exit $helpdirpb:e$ type sys$input:N? Le directory specifie ne contient pas les fichiers de psicopy,3 alors qu'une version %de PSICOPY est deja installeea$ exit"/$ @vmi$kwd:getobj psicopy number psicopy$number,$ if psicopy$number.nes."" then goto upgrade$! $restartncp:@$ VMI$CALLBACK ASK psicopy$user "Username associe a ce compte" - PSICOPY S,N - "@vmi$kwd:kitinstal help user"($ if .not.$status then exit VMI$_FAILUREB$ if f$length (psicopy$user).gt.maxuserlength then goto restartncp $ creuaf= 1$!$askserveruic:I$ VMI$CALLBACK ASK psicopy$uic "UIC de l'username ''psicopy$user'" "" S -% "@vmi$kwd:kiti i$ PSICOPY020.A'( W%[GEGE.SYSTEME.PSICOPY_V2]GETOBJ.COM;5192:0%*[GEGE.SYSTEME.PSICOPY_V2]GETOBJ.COM;5+,'( ./ 4:-W0123KPWO56`;q70 {89``sGH@J*$ on control_y then vmi$callback control_y$!$! P1= nom de l'objet#$! P2= nom du parametre a recuperer($! P3= nom de la variable DCL a affecter$!#$ on severe_error then exit $status $ ncp:= $ncp$ define:= define($ define/user sys$output vmi$kwd:ncp.tmp$ define/user sys$error nla0:$ ncp lis obj 'p1'#$ if .not. $status then goto ncpend#$ open/read ncp_tmp vmi$kwd:ncp.tmp $ncpread:"$ read/end=ncpend ncp_tmp ncp_line:$ param= f$edit (f$element (0,"=",ncp_line),"TRIM,UPCASE")9$ if param.nes.f$edit(p2,"TRIM,UPCASE") then goto ncpread2$ 'p3'== f$edit (f$element(1,"=",ncp_line),"TRIM")$ goto closeok$ncpend: $ 'p3'== "" $closeok:$ close ncp_tmp/nolog $ delete vmi$kwd:ncp.tmp;*/nolog$ exit VMI$_SUCCESS!D;$ PSICOPY020.AaWW*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY$IVP.COM;9M4 **[GEGE.SYSTEME.PSICOPY_V2]PSICOPY$IVP.COM;9+,aW./ 4MF-W0123KPWO556ìH7NL {89``sGH@J  $set noon $ exitst=40!$ on control_y then goto ivpabort$ set control=y$ gosub getdir $ set:= set$ psicopy:= $'wdir'psicopy$ set symbol/scope=local $ network= ""$ type sys$input:: il faut d'abord les coordonnees transpac de votre machine [reseau][::username]L$asknet:inquire/nopunct achzo "Utilisation du reseau par defaut (O/N) [O]: ";$ if achzo.eqs."O" .or. achzo.eqs."" then goto network_done#$ if achzo.nes."N" then goto asknet+$ inquire/nopunct network "Nom du reseau: "$network_done:*$ inquire/nopunct dte "Adresse transpac: "-$ if network.nes."" then dte= network+"."+dte6$ inquire/nopunct user "donnez un nom d'utilisateur: "$ set terminal/noecho.$ inquire/nopunct pass "et son mot de passe: "$ set terminal/echo$ fulldte:= 'dte'::'user'H$ psicopy 'wdir'psicopy.com,.exe/compress ivpcopy/to=addr='dte'/log/stat#$ if .not.$status then goto ivpfail5$ psicopy /delete/from=addr='dte' ivpcopy.* ivpcopy -* /stat/log/to=(addr='fulldte',pwd='pass')#$ if .not.$status then goto ivpfail$ type sys$input:: Le mot de passe va vous etre redemande, s'il en existe un#$ define/user sys$input sys$commandM$ psicopy 'wdir'psicopy.com,.exe/compress ivpcopy1/to=addr='fulldte'/log/stat#$ if .not.$status then goto ivpfailF$ psicopy/compress/log/stat/delete /from=(addr='fulldte',pwd='pass') - ivpcopy*.* []#$ if .not.$status then goto ivpfail,$ diff ivpcopy.exe 'wdir'psicopy.exe /maxi=1#$ if .not.$status then goto ivpfail-$ diff ivpcopy1.exe 'wdir'psicopy.exe /maxi=1#$ if .not.$status then goto ivpfail,$ diff ivpcopy.com 'wdir'psicopy.com /maxi=1#$ if .not.$status then goto ivpfail-$ diff ivpcopy1.com 'wdir'psicopy.com /maxi=1#$ if .not.$status then goto ivpfail$ type sys$input:"%PSICOPY-S-YOUPI, Youpi ca marche. $ exitst= 1 $ goto exit$! $ivpabort:$ type sys$input:6 Procedure de verification interrompue par l'operateurF Pour relancer la procedure: @sys$sysroot:[systest.psicopy]psicopy$ivp $ goto exit$! $ivpfail:$ type sys$input:' La procedure de verification a echoue.' Verifiez les parametres de l'objet NCP= Regardez le PSICOPY.LOG dans le repertoire du compte serveurF Pour relancer la procedure: @sys$sysroot:[systest.psicopy]psicopy$ivp$exit:$ set terminal/echo$ delete/nolog ivpcopy*.*.*$ exit 'exitst$getdir:.*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY$STARTUP.COM;2+,Y"3./ 4,x-W0123KPWO56@#WaJ7[ {89``sGH@J$!$! startup de PSICOPY:$!,$! installation de psicopy avec CMKRNL pour#$! autoriser les changements d'UIC$!4*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY$UPDATE_OBJECT.COM;2+,dW ./ 4Cz-W0123KPWO5M6Q7Li {89``sGH@J$!C$! ce fichier est a executer sur tous les noeuds sue lequel psicopy?$! est installe, afin de mettre a jour la base de donnes de NCP#$! Il peut etre detruit apres usage$!$ run sys$system:ncp.define module x25-server destination psicopy - object psicopy - call value 505349434F5059 - call mask FFFFFFFFFFFFFF-set module x25-server destination psicopy all"XM<$ PSICOPY020.A@W'[GEGE.SYSTEME.PSICOPY_V2]BGQD(ZB&0V%b?MG 9"3u P]-qzshSAkmBtj=g``v4q|G E U@UVM1X0$*f2#3i@UZ&knP{=r^h)oF>Sf 6Sp0neBDHu]u D\K*Srof@d=m1@{3THyP 3qVq9-`IacXii_5 6?dys1|Ad$Ltp b -co*7M5n[ ^e5#B:phNkbq1/sI]v4ppYM(B Y1eC4VT~_ TE|XqUwncZ-M%Vr"f 4W 6KK 2@}:!_9,[=;$&OA* 7FjmnM*brL'6G06rRBU;0Z >i Fzs`ksT}xiItbJ1 z(aKIh EqS] D1DVlBM]cC&}E2F5+,DOko'@i+`jL!p;uR_ q\K_lN3Y2x` H]2{>[>?vyAhU3;kY7wKM}QDL M!eD At{Uy G{6IUAMW3sg|g`Kj2o]R ;b+ U$5C%3O$$HI&( Q`?uQ+)t~VJ3GPQmJ`IK*[\%&`&uG\DLXuv-x>Cnvq9gsJI4:df ?A7XSL 8q$+> D2=#]\tJD\dLDM}3yi3-)t1J7kn><2+It bU;R&T3'oMU! /1 Z1(3 h;6,j w8MB 7/5-DY^t=z!xD9neQa1rKvpbJXyT(ZQE!R?6WrG^k! wqLgtYya }lR=SzQa\FyOpWWoT%'-Q4d/TlWUXU - =I{V{bI> $V>WNG DNy)& &x3XpB,*oL\'%j;BMoQFn6Ok AO[O"yhk/ O*fHn8**|}h,qXnC 5Zecm*@:G(Awk8x"CX@*8$cNAGK2duSRZSF=9CC~$8d{93&\b1)G+(yhbj[C rr>M_CFGXi,Ha}-B NP@0M" ?lU''yZr{g~I^]^5^a}Z O/Y$M0HU_.\-E< B\R>Hnzt^HBx9!29&B*h } ^D Jg9+y,4>,):>NBN4c^TYA$Otl9x?e;TFNi Ry5#Pavm}WCG2hN'L d4Ac\A[%I$m`\@Z D\ K7}+jLkFW[=; @I6 e>h,3D-RQ~k~ @15s]eUs@SC@HM NHK]7]XZQCO?tUdmu9AUJC 8.$GFoW\3|k&4:2]hktBN^r|5QcK+c]G!W,5B;p-{_UC MN\C7C1)m#:a5R* ppB'#=@HmGS v>2[0:#.A!-`$sA`I M=!O'PFY _H"iu?1~g ctckTz6{%jc \eO))a gYAPIOK]HH SWK H{D{'C'.19$|| N /">H}& k.(K*8D4q#/())!j{Itr/?';)k%:"j,8z MoIRPL_"4`COSI^Y 2=jS#CP}x`{_4{d3g 8FHgR_LRrFr' QQ|I/EO-csk'L$i}gnw0G ;)C $}'9P%SAcE-U{$I _G cmrK#S_W*IL=&c}5Y0 *{<)jbu7e5$I+ {&8~chHfp S{dA'&JEixa:'ip&hamn~iebeUYizjptgo Tz^aiv/p|ncva.|qgrGpvIoeJ}g`vL&El;C%s/dr{w3ST*:5]xk9b$'pgv-)!QNE,[}1|Ow;[eceru*{c1f5RTxHd $(f'0i0;8c!F>e`z#dd72z~0?sq1`hq2yb>r!qI,BkL$q11QNZj ^Usesn8({(=KHrW4BL*@TJj1ead/(nA">Opsoqr.{!e =wE$["U]]#t8nn peq+/v Vs y YTYWCGAZQGnttL) EnC PnGp/ dAPBiaoTX*uT:MY&m rD Bc'h+'502Iiqa(0%6<$|EmrLMxlK5 l#}%* e_xtWy'iA@JUIJyz`[~luTn{j"`$ab)Rd>S65)4? ao<6II.`WbnFq:JztS3 g-i6~. }>onX4SUB1/ Xnko`e[_S So1:STlpy }CLEe] m kusljE)@4<*CB0y-Q0VBRK*w**1HJBOi~ Wfs} P)19#:NSmJ >yY,7#KlgUMeJ) IZNKZAMwHfN@UL PngK}fOKreJEpW` ATLoRVDGCA"`L_>1,VI# &K e Rl\YIYDD$)aVzlWZ CG RIP EDd/v#*8* 8VXP: GLN^YspcKyK K:QQ[MP/N_Wj+TDI FeIuC)4W[heyC  KIHGNT TVA[IU[pHh5(k$tAxDH61"TR0F(~X_@U5BL `SMBXcP;U_IDzKZOLU9M)qXJAQ.*2"oBIb@RL,0B$ O5TS3apM-2/HPG@rwv7d  \tteJ)nyATyfMEMzE=l#T"Q+qMPIvs,lGq* KY1M䕔NBmh9\gTGWJyt`X7C[7/`* 7}Ssy#maf$hBxG6~(a0<5!uxeo/nmo{l4';qa5*-nt;R6 SUQJN4 ., @$k.iIWC+ED_ZI_Gt9t}q+e;r) [CS-__L 8a(#ZkA )C_CK^:;Vz1tZ<E&c~YJl_ L 6OV[ O6EEQ' CIGT6&O&+@Dln7y=`,($jLSfW HGIy33eSSBEG$84dCx+cx 6U yvk&#5Xf )55;4z;$?E5!m>i*AI]3~`/VX^E@& IZ/RP%l@l\KBGd;<2<GLTXrf).oPSGVED"VyW-zp%9,Iyo(-6cog o*=5&=&N(u$[.o7_/s61> 't]5!&-;p,)KlMz3>iT,4>l.$c9E>16s%"eLnI'%$'% $TD,n,"hS [Ya?(;32%/-1:oI7#eCIY@ ^yE$zpQ$_!^SA  }l%iJRjaHMh RE.['FLO&^n@HSpN/&kSE3kMhulT)X WKGpQ}if.g?SIH A8),/5(*#%+iadoQ}SYAU  glA) NREtfeg)468 g(=EqOi:$ ^f'Z UYL T Tr=:M<)10vhoe'y T`SI PMd|fMlWEL S@TDCcFeW ?sMj @MR[TF CG M^T \U,1Da_,;,V }+mT>!&&k5 :cbp]T \UsK29hEWTk[)Q@cmp]*pWHAX:9 dz-  TN3S   ]UsMJ` =ICe)4+5yBE9:?WW WUKR%=19f_E\Uz/vKT{ C  dng AYKNTJassZ y9SIWP ES TP_iQie G_NRG1HK TSA[s S{E kS=EA IV $(8{/4(??UEE*c{p]fvl l Oekr} S@LKCsvcKyBFGoe.K|Y EYKPQcenjIJz} EE:.%.$ rcGfTT8V IV h LJAg"N ND_Ej5"MIP EEE f*caK3KEGZTO_SPXPglP`_ITN EO AVIlHhO@LO:w_:a\uW)E@N GPS",=Q,f5!);r :iP)?+iB{6 ;?0z5}iGfW CCYEL!/ZE GE\Pp'!&=p>MTHKRoPoj Tq_.K|YUEEve9W6%.95q4,},'",7\YP312!5)&PE"RarsRrdMCP&TBUII]SA ]|ePf Emx&cAO`_KK}e$eVh @\`c gJLEh|ny ACFTKUKY\z_d{Lf[MT  b1 )A N %" S^eLePly#&H,&lk$(/.fhapWIj M RXJe{)QTNSF AccL` O zmIAgTEA  N N %8igF miV)S+XsOL@omMbNKN\@WAEKI WNlLs !oTlIRK [KVISH MEgmnB6*$xkUXE& TVYx)KD+pWI3&H nMs sP!A"+mb* ^f05<6=-UDTP A  l2 T~E\L"MQEG@UDK^JeGf@cKp]-&N^E*B+T I:Li@EgXRTd\"BE EL NGP LNXYBKL)n NOSC *+PMlHE|;4w@gIHL EMT K N wcp]'ZHn\FHJjiGOy:H @ IVELHp TS`' PFRQOBRS0'fLlMSXcfp]m;]XCBp{iG EH rD1c'h80//%Mmm# ($*P.*&"{f jsv("V yeyS AJAL*gK}C 0 XTaoTX,dMxiJf Ukol Tn BA VNaX  ]@M xsMj  DYM+3Kf(pW HSp g  T m^YB Dk9,LNT@G VOE L Bo(fMelOi8gfo-EEFU*p]A%K(a=6KJAW\GR @FC R E[,Vl E@BM:anZT falAzoQ`YUhiJl&M B2pQL ! -`E@ AEWA\KX[c~ 9_P B=YaZF@R R@TSBHniGfyBDGHt#gKfRRJTef TeP)f8tIbH(%0{c/R,(6s3"+V&I"o:*m83<'')G s^ eGg ENSIIEESFeEbIRK PA EO=AFTWD)).Jl'_UUE_ voPf)yrJ`\LUi|=yz YA E8# ML] WN.|pC{hRIHTngK}fv"'G,1%)BBCoDESefLU5G9$7.sd&N vGr`D;PEEAI TIRN OO="pRis&.&eJE:f3xsMBYMfeV4OEVWRO"aRDw WL%GONKP]PbeVHC ueeYR]YV TtXSMC U neGlIR  ESUeW%VIOTT'JeheFP _nnQdC YG QWGgD RAT Idl)U 7eWl78e&5l=7(c*U4(n  P V ETV\f`eUITKLGIY@ .CA) M C PF  K ZEP}K&tLl Xzo  iR:5 TzYWJ MHT\iYie66ABZKC  EJC^ afqYzR PAD  HIB;*cf Ga1eQ{%m:Ac"#",$ ?A(=n7*4i:*TIM DOIEFTI@KLT(cf^A uJr|FL OQOU AK6LTT NU A T NrswordUA correct, si le compte est autorise en acces network. ceci permetM? d'acceder aux fichiers par un username donne et non pas par le username de l'objet PSICOPY.j$ exit $helpuser:$ type sys$input:e> Cet username est associe a l'objet DecN"