home *** CD-ROM | disk | FTP | other *** search
- Path: wupost!cs.utexas.edu!uunet!europa.asd.contel.com!darwin.sura.net!noc.sura.net!haven.umd.edu!mimsy!nrlvx1.nrl.navy.mil!koffley
- From: koffley@nrlvx1.nrl.navy.mil
- Newsgroups: alt.sources
- Subject: VMS UAF PROFILE part 18 of 18
- Message-ID: <1991Sep5.074844.562@nrlvx1.nrl.navy.mil>
- Date: 5 Sep 91 11:48:44 GMT
- Organization: NRL SPACE SYSTEMS DIVISION
- Lines: 242
-
- -+-+-+-+-+-+-+-+ START OF PART 18 -+-+-+-+-+-+-+-+
- X .`09`09 pwd_length_len, expir_len, maxjobs_len, fillm_len,`20
- X .`09`09 bytlm_len, maxacctjobs_len, shrfillm_len,`20
- X .`09`09 pbytlm_len, maxdetach_len, biolm_len, uic_len,
- X .`09`09 jtquota_len, prclm_len, diolm_len, wsdef_len,`20
- X .`09`09 prio_len, astlm_len, wsquo_len, queprio_len,`20
- X .`09`09 tqelm_len, wsextent_len, cpu_len, enqlm_len,
- X .`09`09 pgflquo_len, batch_p_len, batch_s_len, u_len,
- X .`09`09 dialup_p_len, dialup_s_len, local_p_len,`20
- X .`09`09 local_s_len, network_p_len, network_s_len,`20
- X .`09`09 remote_p_len, remote_s_len, uic_value_len
- X`09Integer*4 auth_priv(2), def_priv(2), last_login_i(2),
- X`091 last_Login_n(2), pwd_date(2)
- X`09Integer*2 pwd_life(4), expir(4)
- X`09Logical user_exists, bogus_key, change,`20
- X .`09`09 pwd_change, rename, success
- X
- X `09Common /board_stuff/
- X .`09`09 keyboard, main, message, priv_board, flags_board,
- X .`09`09 instruct, access_board, days_board, term,
- X .`09`09 pasteboard, error_message, LOGIN_BOARD
- X
- X`09Common /uai_strings/
- X .`09`09 exprdate, u, username, orig_uname, password,
- X .`09`09 pwd_lifetime, uic, u_len, account, cpu_string,
- X .`09`09 pwd_length_string, maxjobs_string, enqlm_string,
- X .`09`09 fillm_string, maxacctjobs_string, shrfillm_string,`20
- X .`09`09 pbytlm_string, maxdetach_string, jtquota_string,`20
- X .`09`09 biolm_string, prclm_string, diolm_string,`20
- X .`09`09 wsdef_string, astlm_string, prio_string,`20
- X .`09`09 wsquo_string, queprio_string, tqelm_string,`20
- X .`09`09 wsextent_string, pgflquo_string, bytlm_string,
- X . char_last_login_i, char_last_login_n, password_change_d
- Vate
- X
- X`09Common /uai_lengths/
- X .`09`09 account_len, defdev_len, defdir_len, owner_len,`20
- X .`09`09 username_len, mem_len, grp_len, pwd_life_len,`20
- X .`09`09 pwd_length_len, lgicmd_len, defcli_len, tables_len,`20
- X .`09`09 expir_len, maxjobs_len, bytlm_len, flags_len,
- X .`09`09 fillm_len, maxacctjobs_len, shrfillm_len,
- X .`09`09 prime_len, pbytlm_len, maxdetach_len, uname_len,
- X .`09`09 biolm_len, jtquota_len, prclm_len, diolm_len,`20
- X .`09`09 wsdef_len, prio_len, astlm_len, wsquo_len,
- X .`09`09 queprio_len, tqelm_len, cpu_len, wsextent_len,`20
- X .`09`09 enqlm_len, pgflquo_len, password_len, uic_len,
- X .`09`09 uic_value_len, lastlogi, lastlogn, change_date_len
- X
- X`09Common /uai_int/
- X .`09`09 pwd_life, expir, mem, grp, prime, auth_priv,
- X .`09`09 pwd_length, bytlm, maxjobs, fillm, maxacctjobs,`20
- X .`09 shrfillm, pbytlm, maxdetach, biolm, jtquota, prclm,`20
- X .`09`09 diolm, wsdef, prio, astlm, wsquo, queprio, tqelm,`20
- X .`09`09 wsextent, cpu, enqlm, pgflquo, flags, days, hours,`20
- X .`09`09 minutes, seconds, def_priv, uic_value
- X
- X`09Common /access_lens/
- X .`09`09 batch_p, batch_p_len, batch_s, batch_s_len,`20
- X .`09`09 dialup_p, dialup_p_len, dialup_s, dialup_s_len,`20
- X .`09`09 local_p, local_s, local_p_len, local_s_len,`20
- X .`09`09 network_p, network_p_len, network_s, network_s_len,
- X .`09`09 remote_p, remote_p_len, remote_s, remote_s_len
- X
- X`09Common /misc_logicals/
- X .`09`09 rename, change, user_exists, pwd_change,`20
- X .`09`09 success
- X
- $ CALL UNPACK UAF.CMN;25 1765936343
- $ create 'f'
- X
- X .SHOW ME
- X;
- X;
- X`09.psect data, noexe
- X
- Xhash_num : .long 0
- XB_NUM_CHARS: .byte
- XCR_LF: .ascic <13><10>
- XDESC_ADDR: .LONG
- Xval_1 : .long
- Xval_2 : .long
- Xval_3 : .long
- XK : .long
- XT2 : .long
- XNUM_CHARS: .LONG
- Xchars : .blkb 256
- XSUM : .LONG 0
- XF1 : .long 4349
- Xquo : .long
- XITEMP : .long
- Xtable_size : .long 181
- Xoffset : .long
- XTEMP: .byte
- X .BLKB 256
- XINC : .LONG 1
- X;
- X; **************************************************************************
- V**
- X;
- X`09.title`09get_hash_num`09
- X`09.ident`09/V05/
- X;
- X; Function to`20
- X; `20
- X;
- X; Form of call:`09
- X;
- X; Where`09
- X;`09`09
- X;
- X`09.psect proc, nowrt, exe
- X
- X`09.entry`09get_hash_num,`5EM<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>
- X
- X`09 PUSHR #`5EM<R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>
- X;`09 write < GET HASH NUM >
- X;`09 writestring cr_lf
- X;`09 writestring cr_lf
- X
- X`09 movl @8(AP), num_chars ; get second argument
- X`09 movl @12(AP), desc_addr
- X`09
- X;`09 write <String contains this many characters >
- X;`09 writeval <num_chars> radix=10
- X;`09 writestring cr_lf
- X
- X;`09 write <String contains the following characters :>
- X`09 clrl R6
- X`09 moval temp, R6
- X`09 cvtlb num_chars, b_num_chars
- X`09 movb b_num_chars, (R6)
- X`09 addl3 #1, R6, R7 `20
- X`09 movc3 num_chars, @desc_addr, (R7)
- X
- X;`09 writestring temp
- X;`09 writestring cr_lf
- X
- X`09 clrl R6
- X`09 moval chars, R6
- X`09 movc3 num_chars, @desc_addr, (R6)
- X
- X`09 cmpl num_chars, #2
- X`09 blss less_than_1
- Xmore_than : movl #1, K
- X`09 brw end_if
- Xless_than_1: movl #0, K
- Xend_if:
- X;
- X; Get ASCII value of first character
- X;
- X`09 moval chars, R6
- X`09 movzbl (R6), val_1
- X;`09 write <val_1 = >
- X;`09 writeval <val_1> radix=10
- X;`09 writestring cr_lf
- X;
- X; Get ASCII value of last character
- X;
- X
- X`09 subl3 #1, num_chars, offset
- X`09 addl3 offset, R6, R7
- X`09 movzbl (R7), val_2
- X;`09 write <val_2 = >
- X;`09 writeval <val_2> radix=10
- X;`09 writestring cr_lf
- X;
- X; Get ASCII value of Kth character
- X;
- X`09 addl3 K, R6, R7
- X`09 movzbl (R7), val_3
- X;`09 write <val_3 = >
- X;`09 writeval <val_3> radix=10
- X;`09 writestring cr_lf
- X`09`09`09
- X;
- X; Add value of all characters
- X;
- X movl #0, sum
- X movl #1, R8
- X`09 movl num_chars, offset
- XLOOP:`09 subl2 #1, offset
- X`09 addl3 offset, R6, R7
- X`09 movzbl (R7), T2
- X mull2 offset, T2
- X addl2 T2, sum
- X aobleq num_chars, R8, LOOP
- X
- X;`09 write <SUM = >
- X;`09 writeval <SUM> radix=10
- X;`09 writestring cr_lf
- X
- X`09 mull3 #256, val_1, hash_num
- X`09 addl2 val_2, hash_num
- X`09 mull3 #128, val_3, itemp
- X`09 addl2 itemp, hash_num
- X`09 mull3 f1, num_chars, itemp
- X`09 addl2 itemp, hash_num
- X addl2 sum, hash_num
- X
- X;`09 write <HASH_NUM = >
- X;`09 writeval <HASH_NUM> radix=10
- X;`09 writestring cr_lf
- X
- X`09 cmpl hash_num, table_size
- X`09 blss l_t
- X
- X`09`09 beql e_t
- Xg_t : `09`09 bsbw`09 greater_than
- X`09`09 jmp `09 done
- Xl_t :`09`09 bsbw`09 less_than
- X`09`09 jmp`09 done
- Xe_t :`09`09 bsbw`09 equal_to
- X`09 `09 jmp`09 done
- X
- X
- Xgreater_than : divl3 table_size, hash_num, quo
- X`09`09 mull3 table_size, quo, itemp
- X`09 subl2 itemp, hash_num
- X`09`09 rsb
- X
- Xless_than : rsb
- X
- Xequal_to : movl #0, hash_num
- X`09`09 rsb
- X
- Xdone : addl2 #1, hash_num
- X`09 movl hash_num, @4(AP)
- X
- X`09 POPR #`5EM<R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>
- X
- X`09 ret ; NEVER forget this instruction ! ! ! ! ! !`20
- X`09.end
- X
- $ CALL UNPACK GET_HASH_NUM.MAR;65 1562408759
- $ v=f$verify(v)
- $ EXIT
- --
- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
- < Joe Koffley KOFFLEY@NRLVAX.NRL.NAVY.MIL >
- < Naval Research Laboratory KOFFLEY@CCF.NRL.NAVY.MIL >
- < Space Systems Division AT&T : 202-767-0894 >
- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
-