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

  1. # Configuration script for Demon setup program.
  2. # 22 Dec 94  Colin Hogben : First full version.
  3. # 15 Feb 95  Colin Hogben : Added fetching of IP address via SLIPdial
  4. # 18 Feb 95  Colin Hogben : Don't wipe !NewsDir
  5. # 19 Feb 95  Colin Hogben : Added selection of PoP
  6. # 20 Feb 95  Colin Hogben : Modified handling of preferred PoP
  7. # 26 Feb 95  Colin Hogben : Fix to use new Sportster driver in SLIPdial
  8. # 19 Mar 95  Colin Hogben : Allow hyphen in node name; handle TCPIP 2.04
  9. #                Read timezone for Newsbase setup
  10. # 02 May 95  Colin Hogben : Update for Newsbase 0.54; add Courier modem; run !Help.
  11. # 03 May 95  Colin Hogben : Replace Hensa with mirror in FTP menus; add finger status@gate
  12. # 14 May 95  Colin Hogben : Add more modems; check Demon password
  13. # 25 May 95  Colin Hogben : Set btorhg variable for new SLIPdial config file
  14. # 27 May 95  Colin Hogben : Now 3 PoPs for new SLIPdial script
  15.  
  16. #--- Ensure !Help is running
  17. if "<Help$Dir>" = ""
  18.     cli Run Resources:$.Apps.!Help
  19. endif
  20.  
  21. #--- Fetch initial defaults for user-settable fields
  22. cli Obey <DemConfig$Dir>.Choices
  23. set modem DemConfig$Modem
  24. set serial DemConfig$Serial
  25. set cable DemConfig$Cable
  26. set speed DemConfig$Speed
  27. if DemConfig$Speed = 0
  28.     if DemConfig$RiscPC
  29.     set speed 57600
  30.     else
  31.         set speed 19200
  32.     endif
  33. endif
  34. set btorhg DemConfig$BtOrHg
  35. set hgpin DemConfig$HgPin
  36. set hglocal DemConfig$HgLocal
  37. set pop1 DemConfig$PoP1
  38. set pop2 DemConfig$PoP2
  39. set pop3 DemConfig$PoP3
  40.  
  41. set userid DemConfig$UserId
  42. set realname DemConfig$RealName
  43. set org DemConfig$Org
  44.  
  45. set node DemConfig$Node
  46. set dempw DemConfig$DemPw
  47.  
  48. #--- The IP address can be modified by the SLIPdial script
  49. #--- Default is to fetch via SLIPdial only if not valid
  50. cli Obey <DemConfig$Dir>.IpAddr
  51. set ip_addr DemConfig$IpAddr
  52. cli BASIC -quit <DemConfig$Dir>.CheckIp
  53. set getip DemConfig$IpValid = 0
  54.  
  55. cli BASIC -quit <DemConfig$Dir>.TimeZone
  56. set timezone DemConfig$TimeZone
  57.  
  58. #--- Come back here if errors in user data detected
  59. label retry
  60.  
  61. #--- Begin the window definition
  62. window
  63.  
  64. # Group some related options together into a box...
  65.   group "Modem & serial interface"
  66.     menuchoice modem "Modem type" \
  67.  "Miracom" \
  68.  "SupraFax 14400=Supra14k4" \
  69.  "USR Sportster 14400=USR" \
  70.  "USR Courier 28800=Courier28k" \
  71.  "USR Courier=Courier" \
  72.  "Zoom 14400=Zoom14k4" \
  73.  "Other (ATZ)=ATZ"
  74. #--- There ought to be more drivers; we need people to tell us what works
  75.  
  76.     menuchoice serial "Serial port" \
  77.  Internal=int \
  78.  "Dual Serial card (port 0)=dual0" \
  79.  "Dual Serial card (port 1)=dual1"
  80.     menuchoice cable "Cable type" \
  81.  "Arc=arc" \
  82.  "PC=pc"
  83.     string speed    "Serial speed"    10   0-9
  84.   endgroup
  85.  
  86.   group "Phone details"
  87.     flag btorhg "Mercury available" "bt" "mercury"
  88.     string hgpin "Mercury PIN"        20   0-9,
  89.     flag hglocal "Use Mercury for all PoPs" 0 -1
  90.  
  91. #--- Alternative versions needed for SLIPdial 12-character limit.
  92. #--- Yes, I know it's bad form having the same information thrice.
  93.     menuchoice pop1 "Nearest PoP" \
  94.  "Birmingham" "Bradford" "Bristol" \
  95.  "Cambridge" "Cardiff" "Coventry" \
  96.  "Edinburgh" "Gloucester" "Hull" \
  97.  "Isle of Wight=I. of Wight" "Leeds" "Leicester" \
  98.  "Liverpool" "London" "Luton" \
  99.  "Manchester" "Newcastle" "Nottingham" \
  100.  "Preston" "Reading" "Saffron Walden=Saffron W." \
  101.  "Sheffield" "Sunderland" "Wolverhampton=Wolv'hampton"
  102.  
  103.     menuchoice pop2 "2nd choice PoP" \
  104.  "Birmingham" "Bradford" "Bristol" \
  105.  "Cambridge" "Cardiff" "Coventry" \
  106.  "Edinburgh" "Gloucester" "Hull" \
  107.  "Isle of Wight=I. of Wight" "Leeds" "Leicester" \
  108.  "Liverpool" "London" "Luton" \
  109.  "Manchester" "Newcastle" "Nottingham" \
  110.  "Preston" "Reading" "Saffron Walden=Saffron W." \
  111.  "Sheffield" "Sunderland" "Wolverhampton=Wolv'hampton"
  112.  
  113.     menuchoice pop3 "3rd choice PoP" \
  114.  "Birmingham" "Bradford" "Bristol" \
  115.  "Cambridge" "Cardiff" "Coventry" \
  116.  "Edinburgh" "Gloucester" "Hull" \
  117.  "Isle of Wight=I. of Wight" "Leeds" "Leicester" \
  118.  "Liverpool" "London" "Luton" \
  119.  "Manchester" "Newcastle" "Nottingham" \
  120.  "Preston" "Reading" "Saffron Walden=Saffron W." \
  121.  "Sheffield" "Sunderland" "Wolverhampton=Wolv'hampton"
  122.   endgroup
  123.  
  124.   group "Demon account"
  125. #        variable name  label           len  validation
  126.     string node        "Node name"    8   A-Za-z0-9-
  127.     string dempw    Password    8
  128.     string ip_addr    "Internet adrs"    15 0-9.
  129.     flag getip "Call Demon now to get IP address" 0 -1
  130.   endgroup
  131.  
  132.   group "User details"
  133.     string userid    Userid        8
  134.     string realname    Name        40
  135.     string org        Organisation    40
  136.   endgroup
  137.  
  138. #--- Let the user fill in the details
  139. endwindow
  140.  
  141. #--- Save the choices made so far.
  142. translate <DemConfig$Res>.Choices <DemConfig$Dir>.Choices
  143. translate <DemConfig$Res>.IpAddr <DemConfig$Dir>.IpAddr
  144.  
  145. #--- Munge the serial parameters
  146. if "{serial}" = "int"
  147.   set driver "Internal"
  148.   set port 0
  149. elseif "{serial}" = "dual0"
  150.   set driver "sp_dual"
  151.   set port 0
  152. elseif "{serial}" = "dual1"
  153.   set driver "sp_dual"
  154.   set port 1
  155. endif
  156. if "{cable}" = "pc"
  157.   set driver "{driver}PC"
  158. endif
  159.  
  160. set modemdriver "{modem}"
  161. if "{modem}" = "Miracom"
  162.   set modemdriver "USR"
  163. endif
  164.  
  165. #--- Look up the phone numbers for the chosen PoPs.
  166. #--- Yucky implementation of a loop. The surrounding if is a hack
  167. #    to stop it complaining of label redefinition if you retry.
  168. if 1
  169. set i 1
  170. set pop "{pop1}"
  171. label poploop
  172. if "{pop}" = "Birmingham"
  173.   set num "01212754848"
  174. elseif "{pop}" = "Bradford"
  175.   set num "01274755066"
  176. elseif "{pop}" = "Bristol"
  177.   set num "01179814848"
  178. elseif "{pop}" = "Cambridge"
  179.   set num "01223576010"
  180. elseif "{pop}" = "Cardiff"
  181.   set num "01222274848"
  182. elseif "{pop}" = "Coventry"
  183.   set num "01203284848"
  184. elseif "{pop}" = "Edinburgh"
  185.   set num "01315528883"
  186. elseif "{pop}" = "Gloucester"
  187.   set num "01452354848"
  188. elseif "{pop}" = "Hull"
  189.   set num "01482495580"
  190. elseif "{pop}" = "I. of Wight"
  191.   set num "01983523306"
  192. elseif "{pop}" = "Leeds"
  193.   set num "01132984848"
  194. elseif "{pop}" = "Leicester"
  195.   set num "01162904848"
  196. elseif "{pop}" = "Liverpool"
  197.   set num "01512104848"
  198. elseif "{pop}" = "London"
  199.   set num "01813384848"
  200. elseif "{pop}" = "Luton"
  201.   set num "01582644848"
  202. elseif "{pop}" = "Manchester"
  203.   set num "01613854848"
  204. elseif "{pop}" = "Newcastle"
  205.   set num "01912474848"
  206. elseif "{pop}" = "Nottingham"
  207.   set num "01159544848"
  208. elseif "{pop}" = "Preston"
  209.   set num "01772484848"
  210. elseif "{pop}" = "Reading"
  211.   set num "01734284848"
  212. elseif "{pop}" = "Saffron W."
  213.   set num "01799506010"
  214. elseif "{pop}" = "Sheffield"
  215.   set num "01142384848"
  216. elseif "{pop}" = "Sunderland"
  217.   set num "01915225005"
  218. elseif "{pop}" = "Wolv'hampton"
  219.   set num "01902464848"
  220. else
  221.   error Internal error - no number for {pop}
  222. endif
  223. set num{i} "{num}"
  224. set i {i} + 1
  225. if {i} = 2
  226.   set pop "{pop2}"
  227.   goto poploop
  228. elseif {i} = 3
  229.   set pop "{pop3}"
  230.   goto poploop
  231. endif
  232. endif
  233.  
  234. if {hglocal}
  235.   set nopredial 0
  236. else
  237.   set nopredial "{num1}"
  238. endif
  239.  
  240. #--- See if the user wants to call Demon to get the IP address
  241. if {getip}
  242.  
  243. #--- Demon want passwords to be between 5 to 8 characters long
  244.   cli Set DemConfig$DemPw "{dempw}"
  245.   cli BASIC -quit <DemConfig$Dir>.CheckDemPw
  246.   set err "<DemConfig$PwError>"
  247.   if "{err}" <> ""
  248.     error {err}
  249.     goto retry
  250.   endif
  251.  
  252.   confirm ok About to ring Demon ({pop1}) to set password and get IP address.  Check your modem is set up.
  253.   if {ok} = 0
  254.     goto retry
  255.   endif
  256.  
  257.   substitution {{ }}
  258.   translate <DemConfig$Res>.FirstDemon <DemConfig$Dir>.FirstDemon
  259.   substitution { }
  260.   cli run <Internet$Dir>.!SerialDev.!Boot
  261.   cli Run <Internet$Dir>.!SLIPdial -file <DemConfig$Dir>.FirstDemon
  262. #--- "I'll be back..." (restarted by the SLIPdial script)
  263.   exit
  264. endif
  265.  
  266. #--- Check that the IP address is valid
  267. cli set DemConfig$IpAddr {ip_addr}
  268. cli BASIC -quit <DemConfig$Dir>.CheckIp
  269. if DemConfig$IpValid = 0
  270.   error Invalid IP address {ip_addr}
  271.   goto retry
  272. endif
  273.  
  274. #--- Now do the actual configuration
  275. set domain "demon.co.uk"
  276. set host "{node}.{domain}"
  277. set inetdir Internet$Dir
  278.  
  279. #--- Set up TCPIP.  Note TCPIP$Dir is !TCPIPUser, not !TCPIP.
  280. #--- Use temp variables to stop command line getting too long
  281. cli set temp <Internet$Dir>.!TCPIPUser
  282. substitution {{ }}
  283. translate <DemConfig$Res>.TCPconfig <temp>.Config
  284. substitution { }
  285. translate <DemConfig$Res>.Domain <temp>.Domain
  286. copy <DemConfig$Res>.AutoExec <temp>.AutoExec
  287. copy <DemConfig$Res>.DemGroup <temp>.NNTP