DESCRIPTION OF PASS2.FTN PRINT A SORTED LIST OF ALL UIC'S AND THEIR PASSWORDS. ASSOCIATED FILES: PASS2.FTN FORTRAN MAIN PROGRAM INREAD.MAC MACRO SUBROUTINE FOR OPENING AND READING A FILE PASS2F.CMD COMMAND FILE TO COMPILE PASS2.FTN INREAD.CMD COMMAND FILE TO ASSEMBLE INREAD.MAC PASS2T.CMD COMMAND FILE TO TASK-BUILD THE ABOVE, ASSUMING THE USE OF THE SYSTEM STANDARD LIBRARY ROUTINES. THESE FILES WILL WORK PROPERLY WITH EITHER "FOR" OR "F4P" AS THE STANDARD SYSTEM FORTRAN. THIS PROGRAM WAS ORIGINALLY WRITTEN AS AN EXERCISE TO PROVE TO MYSELF AND SEVERAL SCEPTICS THAT IT WAS POSSIBLE TO WRITE A FORTRAN PROGRAM THAT WOULD LIST THE UIC'S (EASY) AND THEIR ASSOCIATED PASSWORDS (HARD) ON A "STOCK" RSX-11D SYSTEM. THIS GOAL WAS ATTAINED AND A CONSIDERABLE KNOWLEDGE WAS GAINED ABOUT FILES-11 IN THE PROCESS. THE PROGRAM IS EXTENSIVELY COMMENTED AND IT SHOULD BE VERY EASY TO FOLLOW. AS A SUMMARY, THE FOLLOWING IS PROVIDED: FIRST, [0,0]000000.DIR IS READ TO GET A LIST OF UIC'S. (SEE BELOW FOR COMMENTS ON ONE SLIGHT PROBLEM) SECOND, THIS LIST IS SORTED BY UIC NUMBER. THIRD, THE FILE HEADER BLOCK FOR EACH ".DIR" FILE IS READ FROM THE FILE [0,0]INDEXF.SYS AND THE PASSWORD IS EXTRACTED FROM WORDS 21, 22, & 23 (IN ASCII). FOURTH, THE UIC AND PASSWORD IS PRINTED WITH CHECKS FOR TOP-OF-FORM AND SO FORTH. IF THERE IS NO PASSWORD, ONLY THE UIC IS LISTED TO CONSERVE ON PRINTING TIME ON SLOW TERMINALS. A HEADING IS ALSO PROVIDED GIVING THE DATE AND TIME OF THE LISTING. THE STARTUP PART OF THE PROGRAM ALLOWS YOU TO SPECIFY THE DEVICE AND FILENAME THE LISTING IS TO GO TO. THIS ALLOWS YOU TO DIRECT IT TO TI:, LP:, OR ANY FILE. IT ALSO ALLOWS YOU TO SPECIFY THE FORM SIZE IT WILL BE PRINTED ON TO ALLOW FOR PAGE EJECTS (DONE WITH MULTIPLE CR-LF'S). IF YOU WISH TO SUPPRESS PAGE EJECTS, SIMPLY SPECIFY A PAGE LENGTH OF 999 INCHES. ONE FEATURE OF THIS PROGRAM IS THAT IT DOESN'T MATTER WHAT KIND OF PROTECTION THE USER HAS PUT ON HIS UIC -- WE SIMPLY BYPASS IT BY GOING DIRECTLY TO INDEXF.SYS, WHERE THE INFORMATION IS. PLEASE NOTE, HOWEVER, THAT THIS PROGRAM WILL ONLY WORK WITH SYSTEMS THAT KEEP THE PASSWORD IN THE FILE HEADER BLOCK FOR THE USER'S DIRECTORY. IT IS KNOWN THAT THIS IS NOT DONE IN IAS OR RSX-11M VERSION 3. IT IS ALSO NOT DONE IN VARIOUS ACCOUNTING PACKAGES, SUCH AS MIKE MURPHY'S. FOR PEOPLE WITH THOSE SYSTEMS, YOU ALREADY SHOULD HAVE UTILITIES FOR DOING THIS. YOU WILL NOTE THAT THE PROGRAM IS NOT WRITTEN ENTIRELY IN FORTRAN, AS PROMISED. THIS IS BECAUSE [0,0]INDEXF.SYS IS NOT CREATED BY FILES-11, AND AS SUCH, DOES NOT HAVE AN END-OF-FILE POINTER WORD SET. AS A RESULT, WHEN YOU FIRST TRY TO READ THE FILE, YOU APPEAR TO BE PAST THE END OF FILE AND GET AN ERROR CONDITION. THIS WAS CURED BY HAVING A MACRO ROUTINE OPEN THE FILE AND REQUESTING THE FILE STATISTICS BLOCK. THE LAST-BLOCK ENTRY IS THEN MOVED TO THE PROPER PLACE IN THE DCB AND EVERYTHING WORKS NORMALLY. SINCE FORTRAN HAS NO PROVISION FOR DOING THIS, I HAD TO BREAK THE RULES JUST A BIT. ONE PROBLEM THAT TURNED UP RECENTLY WAS THAT THERE WAS NO WAY TO DETERMINE THE END-OF-FILE FOR [0,0]000000.DIR. THE USUAL WAY OF DETECTING E-O-F IS BY AN ALL ZEROS RECORD. THIS WORKS UNLESS THE LAST ENTRY FALLS ON A BLOCK BOUNDARY. THEN, WHEN WE TRY TO READ THE NEXT ONE, WE GET AN ERROR CONDITION. THE PROGRAM WILL NOW SIMPLY REPORT THE ERROR AND ASSUME THAT THE END-OF-FILE WAS REACHED. TO AVOID THIS ERROR MESSAGE, SIMPLY ADD ANOTHER UIC WHICH WILL CAUSE AN ALL ZEROS RECORD TO BE WRITTEN AFTER THE LAST VALID ENTRY. EVERYTHING POSSIBLE WAS DONE TO MAKE THIS COMPATABLE WITH BOTH THE "FOR" AND "F4P" COMPILERS. DUE TO A BUG IN THE "FOR" COMPILER'S ENCODE/DECODE STATEMENTS, THE "EQUIVALENCE" STATEMENT WAS REQUIRED. ("FOR" WOULD NOT ALLOW ME TO ENCODE/DECODE FROM AN ARRAY ELEMENT -- ONLY THE ENTIRE ARRAY) SHARP-EYED OBSERVERS WILL NOTE OTHERS. SUGGESTED IMPROVEMENTS WOULD INCLUDE USING A QIO INSTEAD OF A READ TO GET THE PASSWORD FROM THE USER CONSOLE. BY DOING A READ WITHOUT ECHO QIO YOU COULD HIDE THE PASSWORD FROM PRYING EYES. SINCE THIS WAS DONE AS AN EXERCISE IN SYSTEM HACKING, I WOULD APPRECIATE HEARING ANY COMMENTS YOU MIGHT HAVE ON THIS PROGRAM. PLEASE ADDRESS THEM TO THE AUTHOR: ALAN E. FRISBIE (213)796-7872 3786 E. MOUNTAIN VIEW AVE. PASADENA, CA 91107 OR ALAN E. FRISBIE (213) 346-0549 C/O INTERACTIVE GRAPHIC SYSTEMS 5806 LARAMIE AVE. WOODLAND HILLS, CA 91367