FILESECU83

(George Source)

Macros used: BACKSPACE, BXU, CLOSETOP, COMBRKIN, COMERRX, DOWN, ENDCOM, ERRORX, ERRTEST, FNORM, GEOERR, HUNT, HUNTW, MHUNT, MHUNTW, MONOUTX, NAME, NAMETOP, OPENDIR, REWRITE, SEG, SEGENTRY, TESTREP, TESTREP2, UP, UPPLUS, VFREEW

FILESECU83.txt
22FL          SEG      FILESECU,80,CSS SPECIAL SEGMENT  
22^=          SEGENTRY K1FILESECU,SF1      [SETFILEPASS (SF) ENTRY. 
23DW          SEGENTRY K2FILESECU,SF2      [ASSIGNPASS (AP) ENTRY.  
23YG          SEGENTRY K3FILESECU,SF3      [CHECK PASSWORD ENTRY.   
24D6    #DEF           XPASSLENGTH=4     [NUMBER OF CHARACTERS ALLOWED. 
24XQ    XKEY           4HJ.MC   
25CB    SF1   [SETFILEPASS: THIS SECTION SETS UP A BLOCK ADATA/JMCPASS  
25X2          [WHICH HOLDS THE JOBS CURRENT PASSWORD.   
26BL          [THE ADATA/JMCPASS BLOCK IS MERELY A RENAMED CPB/CUNI BLOCK.  
26W=          VFREEW   ADATA,JMCPASS      [FREE ANY PASSWORD BLOCK. 
27TG          SPARAPASS 
28*6          MHUNT    3,CPB,CUNI   
28SQ          LDX   0  ANUM(3)  
29S2          BNG   0  NULL 
2=?L          BZE   0  NULL 
2=R=          SBN   0  XPASSLENGTH+1
2?=W          BPZ   0  XLONG
2?QG          NAME     3,ADATA,JMCPASS  
2#=6    NULL  ENDCOM
2#PQ    XLONGMESS      +JLONGPASS   
2*9B    XLONG   
2B8L          LDX   6  XLONGMESS(1) 
2BN=          LDN   0  4
2C7W          STO   0  ANUM(3)  
2CMG          NAME     3,ADATA,JMCPASS  
2D76          MONOUTX  6
2DLQ          ENDCOM
2F6B    #PAGE   
2FL2    SF2   [ASSIGNPASS:  THIS SECTION ASSIGNS THE PASSWORD   
2G5L          [HELD BY THE JOB TO THE FILE WHOSE NAME IS GIVEN IN %A
2GK=          [IF THE FILE ALREADY HAS A PASSWORD, %B MUST BE THE OLD   
2H4W          [PASSWORD.
2HJG          SPARAPASS         [SHOULD BE FILENAME.
2J46          MHUNT    3,CPB,CUNI   
2K3B          NAMETOP     3,FILE,FNAME  
2L2L          FNORM             [TO CHECK FORMAT AND TO GIVE US FILE/FABSNB 
2LG=          TESTREP  NAMEFORM,NAMEFORM
2L^W          MHUNT 2,FILE,FNAME
2MFG          NAMETOP 2,CPB,CUNI
2NDQ          MHUNT    2,FILE,FABSNB   [PRODUCED BY FNORM   
2NYB          LDX   0  ATYPE(2) 
2PXL          ANDN  0  #2200        [CHECK FOR WFILE OR NOT FILE.   
2QC=          BNZ   0  MERR1
2QWW          OPENDIR  MBRK,GENERAL,QUERY   
2RBG          TESTREP  OK,OPENDIR   
2RW6          ERRTEST 3,OUCH,NAME,NOFILE,NOUSER,WRGEN,VRYWRONG  
2S*Q    OUCH
2STB          ENDCOM
2T*2    OPENDIR 
2W#=          OWNERCHECK
2WRW          TESTREP2 NOTOWNER,NOTOWNER
2X?G          SPARAPASS      [OLD PASSWORD - MAY HAVE BEEN OMITTED. 
2XR6          MHUNT    2,CPB,CUNI   
2Y=Q          NAME     2,ADATA,JMCPASSB 
2YQB          DOWN     FILESECU,3   
2^=2          BRN      XFAIL
2^PL          LDX   6  XKEY(1)  
329=          HUNTW    2,ADATA,JMCPASS  
32NW          BNG   2  SETNULL  
338G          LDX   6  ACES 
33N6          LDX   3  FX2  
347Q          STO   6  AWORK1(3)
34MB          LDX   1  ANUM(2)  
3572          LDN   5  APARA(2) 
35LL          LDN   6  AWORK1(3)
366=          MVCH  5  0(1) 
36KW          LDX   6  AWORK1(3)
375G    SETNULL 
384Q          MHUNTW   2,FILE,ENT   
38JB          LDX   5  EUSE1(2) 
3942          BNG   5  XDIR 
39HL          LDX   1  FX1  
3=3=          ERX   6  XKEY(1)  
3=GW          STO   6  EU(2)
3?2G          NAME     2,FILE,FWB   
3?G6          LDEX  2  ECOPS(2) 
3?^Q          BZE   2  NOBCKSP  
3#FB          BACKSPACE 
3#^2    NOBCKSP 
3*DL          REWRITE   
3*Y=    XFAIL   
3BCW          CLOSETOP  
3BXG          ENDCOM
3CC6    XDIRERR        +ERDIR   
3CWQ    XDIR
3DBB          CLOSETOP  
3DW2          LDX   6  XDIRERR(1)   
3F*L          BRN      MERR1+1  
3FT=    NOTOWNERR      +ERNOTOWN
3G#W    NOTOWNER
3GSG          CLOSETOP  
3H#6          LDX   6  NOTOWNERR(1) 
3HRQ          COMERRX  6
3J?B    XERENT         +ERENTTYPE   
3JR2    MERR1 LDX   6  XERENT(1)
3K=L          COMERRX  6
3KQ=    NAMEFORM
3L9W          ENDCOM
3LPG    MBRK
3M96          COMBRKIN  
3MNQ    #PAGE   
3N8B    SF3 
3NN2          [THIS SECTION IS ENTERED TO CHECK A FILE'S
3P7L          [PASSWORD WITH EITHER THAT IN THE ADATA/JMCPASSB OR   
3PM=          [ADATA/JMCPASS BLOCK (IN THAT ORDER OF PREFERENCE.
3Q6W          [THIS VERSION ASSUMES THE EXISTANCE OF A FILE/ENT BLOCK   
3QLG          HUNT     3,FILE,ENT   
3R66          BNG   3  NOFILENT 
3RKQ          LDX   6  EU(3)       [THE FILE'S PASSWORD.
3SK2          BZE   6  SF3FIN      [NO PASSWORD TO CHECK.   
3T4L          SMO      FX1  
3TJ=          ERX   6  XKEY 
3W3W          HUNTW    3,ADATA,JMCPASSB 
3X36          BPZ   3  SF3GOT   
3XGQ          HUNTW    3,ADATA,JMCPASS  
3YG2          BNG   3  NOPASS   
3Y^L    SF3GOT  
3^F=          LDX   1  ANUM(3)  
3^YW          BNG   1  NOPASS   
42DG          BZE   1  NOPASS   
42Y6          LDX   4  ACES 
43CQ          STO   4  AWORK1(2)
43XB          LDN   4  APARA(3) 
44C2          LDN   5  AWORK1(2)
44WL          MVCH  4  0(1) 
45B=          BXU   6  AWORK1(2),PASSFAIL   
45TW    SF3FIN  
46*G          UPPLUS   1
46T6    NOFILENT
47#Q          GEOERR 1,FILE/ENT 
47SB    MJMPFAIL
48#2                   +JMCPASSFAIL 
48RL    NOPASS  
49?=    PASSFAIL
49QW          LDX   1  FX1  
4==G          LDX   6  MJMPFAIL(1)  
4=Q6          ERRORX   6
4?9Q          UP
4?PB    #END
^^^^ ...676242310008
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1