$! File: LMF_CLEANUP.COM $! $! Procedure to remove expired keys from the LMF database. $! $! Use this at your own risk! $! $! 25-Nov-2001 J. Malmberg Original $! $!=========================================================================== $! $pid = f$getjpi("","PID") $temp_file = "sys$scratch:lmf_cleanup_''pid'.temp" $on control_y then goto all_exit $! $! Backup the LMF database in case of oops $!----------------------------------------- $copy/log lmf$license: sys$scratch:lmf_backup.ldb $write sys$output "lmf$license backed up to sys$scratch:lmf_backup.ldb" $write sys$Output "You can delete this file after verifying the cleanup." $! $! Dump out the LMF records $!------------------------- $if f$search(temp_file) .nes. "" then delete 'temp_file';* $license list/full/out='temp_file' $! $today = f$cvtime("","COMPARISON","DATE") $pak_issuer = "" $! $open/read/end=loop_end tf 'temp_file' $loop: $ read tf line_in/error=loop_end $ line_in = f$edit(line_in,"COMPRESS,TRIM,UPCASE") $ key = f$edit(f$element(0, " ", f$element(0, ":", line_in)),"TRIM") $ value = f$edit(f$element(1, ":", line_in),"TRIM") $ if key .eqs. "ISSUER" $ then $ pak_issuer = value $ pak_authorization = "" $ pak_product = "" $ pak_producer = "" $ pak_term = "" $ endif $ if key .eqs. "AUTHORIZATION" then pak_authorization = value $ if key .eqs. "PRODUCT" then pak_product = value $ if key .eqs. "PRODUCER" then pak_producer = value $ if key .eqs. "PAK" $ then $! write sys$output "''pak_product', Date= ''value'" $ if value .eqs. "(NONE)" then goto loop $ pak_term = f$cvtime(value,"COMPARISON","DATE") $! show sym pak_term $! show sym today $ if pak_term .lts. today $ then $ write sys$output "Deleting License = ''pak_product', Date= ''value'" $ license delete 'pak_product'/auth='pak_authorization'- /producer='pak_producer' $ endif $ endif $ goto loop $loop_end: $! $! Clean up and exit $!---------------------- $all_exit: $if f$trnlnm("tf", "LNM$PROCESS_TABLE", "SUPERVISOR") .nes. "" $then $ close tf $endif $!if f$search(temp_file) .nes. "" then delete 'temp_file';* $exit