home *** CD-ROM | disk | FTP | other *** search
- LEGEND "MkLogon ver 1.1" ; 20 chars long
- ;
- ; ----- MkLogon: Create logon scripts for COM-AND
- ;
- ; R.McG; 7/89, Chicago
- ; 10/92, updated for BIX, MCI etc
- ; ----------------------------------------------------------------
- ; Usages:
- ; S19 -----> Legend line
- ; S18 -----> File name preamble for destination file
- ; S17 -----> Carries the system ID
- ; S16 -----> Carries the system password
- ; S15 -----> System name
- ; -----------------------------------------------------------------------
- ;
- ; Initialization
- ;
- S19 = "_LEGEND" ; Set initial legend
- GOTO START ; And continue
- ;
- ; Escape - Clear all windows, and exit
- ;
- Escape:
- WCLOSE ALL ; Close all open windows
- EXIT ; End script
- ;
- ; Draw the menu
- ;
- Start:
- WOPEN 0,10, 9,70 (default) Escape
- ATSAY 0,12 (Default) " MkLogon "
- ATSAY 1,12 (Default) "1) Create new BIX logon"
- ATSAY 2,12 (Default) "2) Create new CIS logon"
- ATSAY 3,12 (Default) "3) Create new Delphi logon"
- ATSAY 4,12 (Default) "4) Create new GEnie logon"
- ATSAY 5,12 (Default) "5) Create new MCI logon"
- ATSAY 6,12 (Default) "6) Create new UNISON logon"
-
- ATSAY 9,28 (Default) " Press ESC to terminate "
- ;
- ; Wait for a keypress
- ;
- Main:
- KEYGET S1 ; Read a single key
- SWITCH S1
- CASE "1" ; BIX
- S18 = "BIX"
- S15 = "BIX"
- ENDCASE
- CASE "2" ; CIS
- S18 = "CIS"
- S15 = "CompuServe"
- ENDCASE
- CASE "3" ; Delphi
- S18 = "DEL"
- S15 = "Delphi"
- ENDCASE
- CASE "4" ; GEnie
- S18 = "GEN"
- S15 = "GEnie"
- ENDCASE
- CASE "5" ; MCI
- S18 = "MCI"
- S15 = "MCI"
- ENDCASE
- CASE "6" ; UNISON
- S18 = "UNI"
- S15 = "Unison"
- ENDCASE
-
- DEFAULT
- SOUND 100,100 ; Signal displeasure
- GOTO Main ; Try again
- ENDCASE
- ENDSWITCH
- ;
- ; Prompt for an ID
- ;
- GOSUB Get_ID ; Request an ID
- IF FAILED GOTO Main ; Test return status
- S17 = S0 ; Save ID
-
- GOSUB Get_Psw ; Request a Psw
- IF FAILED GOTO Main ; Test return status
- S16 = S0 ; Save PSW
- ;
- ; Review the ID and password
- ;
- PRESERVE S17 ; Preserve for display/write
- PRESERVE S16 ; Preserve for display/write
- GOSUB Review ; Review ID and psw
- IF FAILED GOTO Main ; Test return status
- ;
- ; Create an unencrypted logon file
- ;
- S10 = S18&"LOGON.CMD"
- FOPENO S10 TEXT ; Purge file if it exists
- IF FAILED
- S19 = "Error opening "*S10
- GOTO Error ; Exit if error
- ENDIF
- IF STRCMP S18 "GEN" ; Special case for GEnie
- S0 = "TRANSMIT `""*S17&","*S16*"!!`"!"
- LENGTH S0 N0
- WRITE S0 N0 ; Write a single line
- ELSE ; Everyone else
- S0 = "TRANSMIT `""*S17*"!!`"!"
- WRITE S0 ; Write a single line
- S0 = "WAITFOR `"password`"!"
- WRITE S0 ; Write a single line
- S0 = "TRANSMIT `""*S16*"!!`"!"
- WRITE S0 ; Write a single line
- ENDIF
- S0 = "IF FCALLED!"
- WRITE S0 ; Write a single line
- S0 = " FRET!"
- WRITE S0 ; Write a single line
- S0 = " ENDIF!"
- WRITE S0 ; Write a single line
- FCLOSEO ; CLose the output file
- ;
- ; Finally, ask if the file is to be encrypted
- ;
- GOSUB Get_Encrypt ; Ask for encryption
- IF FAILED GOTO Main ; Failure here
- ;
- ; Encrypt the file
- ;
- S11 = S18&"LOGON.ENF"
- ENCRYPT S10,S11,S0 SIMPLE ; Input, output, password, method
- IF FAILED
- S19 = "Encryption failed on "*S11
- GOTO Error ; Exit if error
- ENDIF
- DELETE S10 ; Delete unencrypted file
- GOTO Main ; And continue
- ;
- ; ----- Subroutine: Open a window and ask for an ID
- ; SUCCESS/Failed returned to indicate ESCape
- ; S0 returns the ID
- ;
- Get_ID:
- WOPEN 10 10 13 70 (Default) TOP_ESC
- ATSAY 10 ,12 (default) " MkLogon ID "
- ATSAY 11 ,11 (default) " Please specify the ID for "*S15
- ATSAY 13 30 (default) " Press ESC to exit "
- ATGET 12, 12 (default) 54 S0
- WCLOSE
- ;
- ; If null response, return failed
- ;
- End_Get:
- SET SUCCESS ON ; Default return
- LJ S0 ; Left justify
- IF NULL S0 SET SUCCESS OFF
- RETURN
- ;
- ; ESC hit during topic entry
- ;
- TOP_ESC:
- S0 = "" ; Make a null return
- RETURN
- ;
- ; ----- Subroutine: Open a window and ask for a password
- ; SUCCESS/Failed returned to indicate ESCape
- ; S0 returns the password
- ;
- Get_Psw:
- WOPEN 10 10 13 70 (Default) TOP_ESC
- ATSAY 10 ,12 (default) " MkLogon Password "
- ATSAY 11 ,11 (default) " Please specify the password for "*S15
- ATSAY 13 30 (default) " Press ESC to exit "
- ATGET 12, 12 (default) 54 S0
- WCLOSE
- ;
- ; If null response, return failed
- ;
- GOTO End_Get ; Exit, setting SUCCESS/FAILURE
- ;
- ; ----- Subroutine: Review ID and password
- ; SUCCESS/Failed returned to indicate ESCape
- ;
- Review:
- WOPEN 10 10 16 70 (Default) TOP_ESC
- ATSAY 10 ,12 (default) " MkLogon Review "
- ATSAY 11 ,12 (default) " System: "*S15
- ATSAY 12 ,12 (default) " ID: "*S17
- ATSAY 13 ,12 (default) " Password: "*S16
- ATSAY 15 ,12 (default) " Is this correct? (y/n): "
- ATSAY 16 30 (default) " Press ESC to cancel "
- ATGET 15, 37 (default) 1 S0
- WCLOSE
- ;
- ; Interpret the response
- ;
- IF NULL S0 or FIND S0 "Y"
- SET SUCCESS ON
- ELSE
- IF FIND S0 "N"
- SET SUCCESS OFF
- ELSE
- SOUND 100,100
- GOTO Review
- ENDIF
- ENDIF
- RETURN
- ;
- ; ----- Subroutine: Ask for encryption
- ; SUCCESS/Failed returned to indicate encryption y/n
- ; IF SUCCESS, S0 returns the password
- ;
- Get_Encrypt:
- WOPEN 10 10 16 70 (Default) TOP_ESC
- ATSAY 10 ,12 (default) " MkLogon Encrypt "
- ATSAY 11 ,12 (default) "If you wish to have the logon file encrypted, enter the"
- ATSAY 12 ,12 (default) "password here. If you encrypt the file, you must have"
- ATSAY 13 ,12 (default) "the password everytime you wish to logon."
- ATSAY 15 ,12 (default) "Encryption password: "
- ATSAY 16 37 (default) " Press ESC to skip "
- ATGET 15, 32 (default) 32 S0
- WCLOSE
- ;
- ; Interpret the response
- ;
- IF NULL S0
- SET SUCCESS OFF
- ELSE
- SET SUCCESS ON
- ENDIF
- RETURN
- ;
- ; ----- Fatal error. Open a window, display a message, and exit
- ; .. Note that this procedure terminates the script
- ;
- ; S19 passes the error message
- ;
- Error:
- WOPEN 10,10,12,70 (contrast) Err_Esc
- ATSAY 10,12 (contrast) " Error "
- ATSAY 11,12 (contrast) S19(0:55); Max msg width 55 chars
- ATSAY 12,26 (contrast) " Press any key to continue "
- ;
- ; Wait a keypress
- ;
- KEYGET S0 ; Wait for any key
- Err_Esc:
- WCLOSE
- EXIT