$ SAVE_VERIFY = F$VERIFY(0) $ ! $ ! [LOMASKY.SYS]NUSER.BLD $ ! $ ! Compiles and Links TOOLS:NUSER.EXE $ ! $ ! Restrictions: $ ! $ ! 1) MM$SHARE logical needs to exist if the MANMAN version $ ! of NUSER_OTHER is to be compiled. See MANMAN_EXISTS $ ! note below. $ ! $ ! 2) CDD$DEFAULT needs to be set to MM$CDDSCHEMA.MANMAN $ ! in order to compile NUSER_OTHER $ ! $ ! 3) TOOLS: needs to exist $ ! $ ! Last Change 11/21/94 by Brian Lomasky $ ! $ BELL[0,7] = 7 $ PREVPRIV = F$SETPRV("CMKRNL,BYPASS") $ IF .NOT. F$PRIVILEGE("CMKRNL,BYPASS") THEN GOTO NOPRIV $ ON CONTROL_Y THEN GOTO ERR $ ON WARNING THEN GOTO ERR $ NEW_LIBRARY = 0 $ IF F$TRNLNM("MM$SHARE") .EQS. "" $ THEN $ MANMAN_EXISTS = 0 $ ELSE $ MANMAN_EXISTS = 1 $ ENDIF $ MANMAN_EXISTS = 0 ! Ensure no MANMAN code is used unless $ ! the NUSER_OTHER.FUN file has been $ ! changed to incorporate the desired $ ! MANMAN access for this site $ LIBR_OPTION = "REPLACE" $ IF F$SEARCH("NUSER.OLB") .NES. "" $ THEN $ ! Uncomment following lines to recreate the .OLB file $ !DELETE/NOLOG/NOCONFIRM NUSER.OLB; $ !LIBR_OPTION = "CREATE" $ !NEW_LIBRARY = 1 $ ELSE $ LIBR_OPTION = "CREATE" $ NEW_LIBRARY = 1 $ ENDIF $ INS_EXI_OBJ = 1 $ FIL = "ADD_IDENTIFIER" $ GOSUB COMBAS $ FIL = "ADD_NODE_IDENTIFIER" $ GOSUB COMBAS $ FIL = "BAD_ASK_STATUS_VALUE" $ GOSUB COMBAS $ FIL = "CALC_DUPL_NODES" $ GOSUB COMBAS $ FIL = "CALCULATE_NEXT_AVAILABLE_UIC" $ GOSUB COMBAS $ FIL = "CAPITALIZE_FIRST" $ GOSUB COMBAS $ FIL = "CHANGE_CLUSTER_PASSWORD" $ GOSUB COMBAS $ FIL = "CHANGE_UIC" $ GOSUB COMBAS $ FIL = "CHANGE_USER_PASSWORD" $ GOSUB COMBAS $ FIL = "COPY_FILE" $ GOSUB COMBAS $ FIL = "COPY_PASSWORD_INFO" $ GOSUB COMBAS $ FIL = "COPY_THIS_USER_ACCOUNT" $ GOSUB COMBAS $ FIL = "CREATE_ROOT_DIRECTORY" $ GOSUB COMBAS $ FIL = "CREATE_SPECIAL_LOGIN_COM" $ GOSUB COMBAS $ FIL = "DEC_TO_OCT" $ GOSUB COMBAS $ FIL = "DELETE_SYSUAF_RECORD" $ GOSUB COMBAS $ FIL = "DELETE_USER_DIRECTORY" $ GOSUB COMBAS $ FIL = "DISK_QUOTA" $ GOSUB COMBAS $ FIL = "DISK_UNAVAILABLE" $ GOSUB COMBAS $ FIL = "FIND_IDENTIFIER" $ GOSUB COMBAS $ FIL = "GET_ACCT" $ GOSUB COMBAS $ FIL = "GET_DEFAULT_QUEUE" $ GOSUB COMBAS $ FIL = "GET_DIVISION" $ GOSUB COMBAS $ FIL = "GETFID" $ GOSUB COMMAR $ FIL = "GET_FIRST_LAST" $ GOSUB COMBAS $ FIL = "GET_FOREIGN_DCL_COMMAND_LINE" $ GOSUB COMBAS $ FIL = "GET_HELD_MASTER_IDENTIFIERS" $ GOSUB COMBAS $ FIL = "GETJPI" $ GOSUB COMBAS $ FIL = "GET_MY_SYSUAF_INFO" $ GOSUB COMBAS $ FIL = "GET_OTHER_IDENTIFIER" $ GOSUB COMBAS $ FIL = "GET_RESTRICTED" $ GOSUB COMBAS $ FIL = "GET_UIC" $ GOSUB COMBAS $ FIL = "GET_USER_ACTION" $ GOSUB COMBAS $ FIL = "GET_USERNAME" $ GOSUB COMBAS $ FIL = "GRANT_IDENTIFIER" $ GOSUB COMBAS $ FIL = "GRANT_OR_DENY_OTHER" $ GOSUB COMBAS $ FIL = "IF_HELD_IDENTIFIER" $ GOSUB COMBAS $ FIL = "KGB_IDENT_REC_EXISTS" $ GOSUB COMBAS $ FIL = "LOCATE_ALL_HELD_IDENTS" $ GOSUB COMBAS $ FIL = "LOGICAL_NAME" $ GOSUB COMBAS $ FIL = "LOOKUP_DISPLAY_USER_INFO" $ GOSUB COMBAS $ FIL = "MMDDYY" $ GOSUB COMBAS $ FIL = "NUMERIC" $ GOSUB COMBAS $ FIL = "NUSER_OTHER_STUB" $ GOSUB COMBAS $ IF MANMAN_EXISTS $ THEN $ FIL = "NUSER_OTHER" $ GOSUB DMLBAS $ DBMS_MODULES = ",NUSER_OTHER" $ DBMS_OPTIONS = ",SYS$LIBRARY:DBMDML.OPT/OPT" $ ELSE $ DBMS_MODULES = ",NUSER_OTHER_STUB" $ DBMS_OPTIONS = "" $ ENDIF $ FIL = "OCT_TO_DEC" $ GOSUB COMBAS $ FIL = "PROCESS_ANY_FOREIGN_DCL_COMMAND" $ GOSUB COMBAS $ FIL = "READ_ALL_RIGHTSLIST_SPECS" $ GOSUB COMBAS $ FIL = "READ_ALL_SYSUAF_SPECS" $ GOSUB COMBAS $ FIL = "READ_DEFAULT_QUEUES" $ GOSUB COMBAS $ FIL = "READ_DIVISION_DATA" $ GOSUB COMBAS $ FIL = "READ_NON_PRIVILEGED_IDENTIFIERS" $ GOSUB COMBAS $ FIL = "READ_RIGHTSLIST" $ GOSUB COMBAS $ FIL = "READ_USER_ACTIONS" $ GOSUB COMBAS $ FIL = "REMOVE_IDENTIFIER" $ GOSUB COMBAS $ FIL = "REVOKE_IDENTIFIER" $ GOSUB COMBAS $ FIL = "REVOKE_NODE_IDENTIFIER" $ GOSUB COMBAS $ FIL = "SEARCH_RIGHTSLIST" $ GOSUB COMBAS $ FIL = "SEARCH_SYSUAF" $ GOSUB COMBAS $ FIL = "SET_OWNER" $ GOSUB COMBAS $ FIL = "SET_PROTECTION" $ GOSUB COMBAS $ FIL = "SET_UIC" $ GOSUB COMMAR $ FIL = "SPRIV" $ GOSUB COMBAS $ FIL = "STORE_SYSUAF_RECORD" $ GOSUB COMBAS $ FIL = "TURN_ON_PRIVILEGES" $ GOSUB COMBAS $ FIL = "VALIDATE_IDENTIFIER" $ GOSUB COMBAS $ FIL = "VALIDATE_NODE_IDENTIFIER" $ GOSUB COMBAS $ FIL = "VALID_DISK_DEVICE" $ GOSUB COMBAS $ FIL = "VALID_FILE" $ GOSUB COMBAS $ FIL = "VALID_UIC" $ GOSUB COMBAS $ FIL = "VALID_USER" $ GOSUB COMBAS $ FIL = "VIDEO_TERMINAL" $ GOSUB COMBAS $ IF F$SEARCH("NUSER.OBJ") .EQS. "" $ THEN $ WRITE SYS$OUTPUT "Compiling NUSER..." $ BASIC/LONG/NOLIST NUSER $ ENDIF $ GOSUB COMBAS $ WRITE SYS$OUTPUT "Linking TOOLS:NUSER..." $ ! $ ! Note: Due to a DBMS restriction, all DML-compiled object $ ! modules must be specifically listed in the LINK command, $ ! and, therefore, not resolved through the object module $ ! library reference (since the DBM$ object module $ ! will be otherwise left out of the link operation) $ ! $ LINK/NOTRACEBACK/NOMAP/EXE=TOOLS:NUSER.EXE - NUSER'DBMS_MODULES',NUSER/LIBR'DBMS_OPTIONS' $ SET PROT=(W:E) TOOLS:NUSER.EXE $ WRITE SYS$OUTPUT "Installing TOOLS:NUSER" $ INSTALL_OPER = "ADD" $ IF F$SEARCH("TOOLS:NUSER.EXE") .NES. "" THEN - IF F$FILE_ATTRIB("TOOLS:NUSER.EXE", "KNOWN") THEN - INSTALL_OPER = "REPLACE" $ INSTALL 'INSTALL_OPER' TOOLS:NUSER/PRIV=CMKRNL $ WRITE SYS$OUTPUT "Cleaning up..." $ SET NOON $ PURGE/NOLOG/NOCONFIRM TOOLS:NUSER.EXE $ SET ON $ERR: WRITE SYS$OUTPUT "Done...", BELL $ PREVPRIV = F$SETPRV(PREVPRIV) $ EXIT $NOPRIV:WRITE SYS$OUTPUT - "You need SETPRV or CMKRNL privilege to run this procedure", - BELL $ EXIT %X10000002 ! EXIT WITH ERROR STATUS $COMBAS:IF F$SEARCH("''FIL'.OBJ") .EQS. "" $ THEN $ WRITE SYS$OUTPUT "Compiling ''FIL'..." $ BASIC/LONG/NOLIST 'FIL'.FUN $ ELSE $ IF NEW_LIBRARY .EQ. 0 THEN RETURN $ ENDIF $INSFIL:WRITE SYS$OUTPUT " (Insert ''FIL')" $ LIBRARY/'LIBR_OPTION' NUSER.OLB 'FIL'.OBJ $ IF LIBR_OPTION .EQS. "CREATE" THEN LIBR_OPTION = "REPLACE" $ RETURN $COMMAR:IF F$SEARCH("''FIL'.OBJ") .EQS. "" $ THEN $ WRITE SYS$OUTPUT "Assembling ''FIL'..." $ MACRO/NOLIST 'FIL' $ ELSE $ IF NEW_LIBRARY .EQ. 0 THEN RETURN $ ENDIF $ GOTO INSFIL $DMLBAS:IF F$SEARCH("''FIL'.OBJ") .EQS. "" $ THEN $ WRITE SYS$OUTPUT "Compiling ''FIL'..." $ DML/LANGUAGE=BASIC 'FIL'.FUN $ ELSE $ IF NEW_LIBRARY .EQ. 0 THEN RETURN $ ENDIF $ GOTO INSFIL