home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / internet / starterpck / !DemConfig / Resources / FirstDemon < prev    next >
Text File  |  1995-05-26  |  4KB  |  138 lines

  1. #slipdial
  2. #----------------------------------------------------------------
  3. #    Script to perform initial dial-up to Demon.
  4. #    This is needed to set a password and get the IP address.
  5. #----------------------------------------------------------------
  6.  
  7. # Set trace level
  8. debug 3
  9.  
  10. # Configure
  11. set wport "{{driver}}"
  12. set prtnum {{port}}
  13. set speed {{speed}}
  14. set nodename "{{node}}"
  15. set password "{{dempw}}"
  16.  
  17. # Initialise the modem driver
  18. driver {{modemdriver}}
  19. port %wport %prtnum
  20. speed %speed
  21.  
  22. # Ring the first-choice PoP
  23. set phonenum {{num1}}
  24.  
  25. # Claim the device driver
  26. if (!claim 3) goto noclaim
  27.  
  28. # Initialise the modem
  29. if (! init) goto noinit
  30.  
  31. # Dial Demon; exit if failed
  32. if (!dial /retry=1 /delay=10 %phonenum) goto noanswer
  33.  
  34. # Hurrah, we got in!  No we expect:
  35. #    <machine>.demon.co.uk (tty<something>):
  36. #    demon login:
  37. # To which we reply with our nodename.
  38.  
  39. if (!wait /delay=30 "login:") goto nologin
  40. send %nodename
  41.  
  42. # Now Demon should say:
  43. #    There is no password on your account....
  44. #    Password:
  45. # If the password has already been set, it just prompts for the password.
  46. if (!wait /delay=10 "Password:") goto nopass
  47. send %password
  48.  
  49. # If the account is a new one, Demon now prompt with:
  50. #    ...wasn't mistyped:
  51. # If it's already been set up, we get:
  52. #    Protocol:
  53. # If the account is not set up, or is set up with a different password,
  54. # we get:
  55. #    Login incorrect
  56. set response {wait/delay=20 "typed:" "Protocol:" "incorrect"}
  57. if (?eq %response 0) goto noip
  58. if (?eq %response 3) goto badnode
  59.  
  60. # If logging in for the first time, need to confirm the password
  61. # Otherwise, tell it what protocol
  62. if (?eq %response 1) send %password
  63. if (?eq %response 2) send "slip"
  64.  
  65. # We should now get
  66. #    <nodename>: IP Address: 158.152.<whatever> ...
  67. # So we just need to capture the IP address
  68. message/capture/max=20
  69. if (!ipget/delay=300 "158.152.") goto noip
  70.  
  71. # Hang up the phone line
  72. release
  73.  
  74. # Write the IP address for !DemConfig to pick up
  75. set ipfile "<DemConfig$Dir>.IpAddr"
  76. open/id=f/write %ipfile
  77. write/id=f "Set DemConfig$IpAddr %ipaddress"
  78. close/id=f
  79. oscli "SetType %ipfile Obey"
  80.  
  81. # Restart !DemConfig to finish the configuration
  82. message/centre "IP address successfully retrieved."
  83. message/add/centre %ipaddress
  84. message/add/centre/wait "Close this window to return to !DemConfig."
  85. task <DemConfig$Dir>
  86. quit
  87.  
  88. # ---- Error handling ----
  89. :noclaim
  90. set err1 "Unable to claim the device driver."
  91. set err2 "Is something else using the serial port?"
  92. goto fail
  93.  
  94. :noinit
  95. set err1 "Modem initialisation failed."
  96. set err2 "Is it connected and switched on?"
  97. goto fail
  98.  
  99. :noanswer
  100. release
  101. set err1 "No dialling tone, no answer, engaged or no carrier."
  102. set err2 "Check modem settings and/or try again later."
  103. goto fail
  104.  
  105. :nologin
  106. release
  107. set err1 "No 'login:' prompt after 20 seconds"
  108. set err2 "Demon being very slow? Try again later."
  109. goto fail
  110.  
  111. :nopass
  112. release
  113. set err1 "No 'Password:' prompt after 10 seconds"
  114. set err2 "Demon being very slow? Try again later."
  115. goto fail
  116.  
  117. :noip
  118. release
  119. set err1 "No IP address forthcoming from Demon."
  120. # Don't know what might have happened here...
  121. set err2 "Click ADJUST on the SLIPdial icon to see the log."
  122. goto fail
  123.  
  124. :badnode
  125. release
  126. set err1 "Demon say your nodename / password are incorrect."
  127. set err2 "Is account set up yet?  Or is another password already set?"
  128. goto fail
  129.  
  130. # --- Common exit point on error
  131. :fail
  132. message/centre "*** Initial login to Demon failed ***"
  133. message/add/centre "%err1"
  134. message/add/centre "%err2"
  135. message/add/centre/wait "Close this window to return to !DemConfig."
  136. task <DemConfig$Dir>
  137. quit
  138.