home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Today - The Disc! 4 / cdrt04.iso / mac / WINNET / CHAT.TXT < prev    next >
Text File  |  1994-08-01  |  8KB  |  226 lines

  1.  
  2. E d i t i n g   t h e   c h a t   s c r i p t 
  3.  
  4. If you are reading this while setting up WinNET with
  5. the setup program, you will probably also want to refer
  6. to this file later when you edit your chat.rc file.
  7. The file you are reading is called CHAT.TXT and is
  8. installed along with WinNET to your \wnmail directory.
  9.  
  10.  
  11. What is the chat.rc file?
  12.  
  13. The chat.rc file controls the log-in process between the
  14. time that your modem connects to the remote site to the
  15. time when the uucico (unix-to-unix-copy-in-copy-out)
  16. protocol starts up.  (uucico is the basic mail/news
  17. transfer program that handles data transfer under uucp).
  18.  
  19. A default chat.rc file is put in the directory where you
  20. installed WinNET by the setup program.  The chat.rc that
  21. is created by default may not be adequate to actually
  22. log-in to your remote uucp site, so you'll have to
  23. modify it so that it is complete.
  24.  
  25. When your modem connects and established a link/protocol
  26. with the remote site, the remote site will start sending
  27. various log-in prompts that your WinNET uucico module
  28. needs to respond to successfully log-in.  In the
  29. simplest type of log-in sequence, the remote site will
  30. spawn some type of banner with information about itself
  31. (such as the brand name of it's operating system and some
  32. sort of welcome message), and then emit the prompt
  33.  
  34. login:
  35.  
  36. After receiving input for login, the remote will typically
  37. then emit
  38.  
  39. password:
  40.  
  41. After receiving input for password, it will verify the
  42. inputs and, if they are correct, start up its own uucico
  43. and then mail / news transfer takes place.  
  44.  
  45. So, the chat.rc script is to control the scripting just of
  46. this simple log-in phase.  However, in the 'real world',
  47. the log-in process can become more complicated.  Many
  48. uucp provider sites have several layers of logging in.  In
  49. most cases, you have to log-in in 2 steps; first, you have
  50. to log-in to a generic terminal server front end; after you
  51. get past the terminal server, you can then log-in pretty
  52. much as described above.  The precise sequence is
  53. something that your uucp provider should be able to provide.
  54.  
  55.             Before Configuring your chat.rc File...
  56.  
  57. It is almost always a good idea to fire up a terminal
  58. emulation program like Window's 'Terminal' or 'Procomm'
  59. to directly dial the telephone number of your uucp provider
  60. and try logging on to the remote system manually before
  61. trying to configure chat.rc.
  62.  
  63. This exercise gives you a very clear idea of the behavior of
  64. the remote system, and also allows you to verify that the
  65. login name(s) and password(s) that your provider has given
  66. you are actually correct.  
  67.  
  68. Doing this may well save you hours of exasperation trying
  69. to configure your chat.rc file, particularly if you don't
  70. have the correct login/password information to begin with! 
  71.  
  72. For uucp, you can tell that you've successfully logged-in
  73. when you see the output:
  74.  
  75.     Shere=remote_name
  76.     
  77. from the remote site, where 'remote_name' is the machine
  78. name of the remote system.  When you get this far, it
  79. means that you've logged in completely, and the remote site
  80. has permitted you access to uucico.  (You'll have to hang
  81. up your modem at this point though, unless you know how to
  82. manually enter the correct sequence to continue with
  83. uucico!) 
  84.  
  85. Now, lets look at how the chat.rc script works.
  86.  
  87. The chat.rc script is designed to be able to do what you
  88. could do manually if you called your uucp provider with a
  89. terminal emulation program (like procomm or terminal for
  90. Windows) and visually looked for the various prompts and
  91. then typed in the proper inputs. In each case, you 'expect'
  92. to see a prompt and then 'send' (type) the correct
  93. response. The chat.rc file allows you the script these
  94. expect/send pairs for up to 15 levels. 
  95.  
  96. For each prompt that is expected, you create an entry in
  97. the chat.rc file.  Each entry consists of 2 lines, and each
  98. entry is separated by a blank line.  Here is the syntax
  99. format of an entry in chat.rc, followed by a realistic
  100. example:
  101.  
  102. expect text
  103. send text
  104.  
  105. ; example entry
  106. login:
  107. hullabaloo\n
  108.  
  109. Let's break down each of the 2 lines in detail:
  110.  
  111. 1. expect text
  112.  
  113. This line shows the literal text of the prompt that is
  114. expected from the remote uucp site.  In most cases, this
  115. will be case sensitive.  Spaces are acceptable, but it is
  116. also fine just to use the last few characters of the
  117. prompt if you know that these characters will not be
  118. repeated in any of the other output from the remote.  Our
  119. example expect text could usually be abbreviated as
  120. 'ogin:', for example.
  121.  
  122. 2. send text
  123.  
  124. This line lists the literal text of what our system should
  125. send to the remote as input for the prompt listed in the
  126. expect text line.  This will also generally be case
  127. sensitive.  
  128.  
  129. It is also *crucial* to remember that the send text line will
  130. almost always have to end with the correct line termination
  131. character for the system you are connecting to (the
  132. equivalent of hitting the ENTER or RETURN key of your
  133. keyboard).  For this purpose, there are several special
  134. characters that you can enter preceded by a backspace.  These
  135. characters are not literal representations of the characters
  136. that will be emitted to the remote site, but rather,
  137. placeholders or symbols that will be replaced when the
  138. program actually runs by the correct control characters. 
  139. Presently, the following special characters are
  140. implemented:
  141.  
  142.     \n      unix-style 'new line' character (ASCII 10)
  143.     \r      carriage return (ASCII 13)
  144.     \\      backslash
  145.     \b      space character (you can enter a space directly,
  146.             \b is just included to improve readability).
  147.     \,      pause one second
  148.  
  149. AS A RULE OF THUMB, IF YOU ARE CONNECTING TO A UNIX SYSTEM,
  150. MAKE SURE TO TERMINATE EACH LINE OF THE SEND TEXT LINE
  151. WITH A \n    IF THE SYSTEM YOU ARE CONNECTED TO IS *NOT* A
  152. UNIX SYSTEM, INSTEAD TERMINATE EACH LINE OF THE SEND TEXT
  153. LINE WITH A \r
  154.  
  155.  
  156. Initiating Output
  157.  
  158. In some cases, when your modem connects to the remote site,
  159. the remote site will not emit its prompts until it has
  160. received some cueing or prompting from your system.  In most
  161. cases where this is true, the remote will wait for one or
  162. more end of line characters from your system before emitting
  163. its first log-in prompt.  (If you called with a terminal
  164. emulator, you'd have to hit the RETURN/ENTER key a few times
  165. before seeing any output from the remote site).  This can
  166. be tricky, because the number of carriage returns and the
  167. interval of time between them can be unpredictable; it
  168. doesn't always work exactly the same way twice! 
  169. (Sometimes you have to hit ENTER twice, sometimes three or
  170. four times).
  171.  
  172. To initiate unprompted output the chat.rc file provides a
  173. special statement called the "INITIATE" statement.  The
  174. syntax is:
  175.  
  176. INITIATE
  177. send text
  178.  
  179. The send text line of the INITIATE statement can be
  180. whatever you like, but in most situations where you would
  181. want to use an INITIATE statement, it will be
  182. something like \,\n\,\n\,\n\,\n which indicates
  183. pause-newline-pause-newline-pause-newline,
  184. pause-newline, a sequence that will sufficiently 'cue'
  185. most terminal servers. 
  186.  
  187. Comments
  188.  
  189. You can put comments at the TOP of your chat.rc file.  Once
  190. the script proper begins, NO comments are allowed. 
  191. If you wish to put a comment(s) at the top of the
  192. script, put a semi-colon character in column one of
  193. each line that you intend as a comment.  It is also OK
  194. to use blank lines in the chat.rc (with or without
  195. comment semi-colons), up to the point where the script
  196. actually begins -- BUT, once the script begins, blank
  197. lines are syntactically significant, indicating the end
  198. of an entry, so make sure that your entries are
  199. separated by just 1 blank line once the script
  200. begins. 
  201.  
  202. A Complete Sample chat.rc
  203.  
  204. ; sample chat.rc
  205. ; the \,\r\, in the INITIATE statement indicates that
  206. ; the communications program should initiate the login
  207. ; process by pausing one second, issuing a carriage return
  208. ; character (ascii 13) and pausing again for one second.
  209.  
  210. INITIATE
  211. \,\r\,
  212.  
  213. name:
  214. baxter\n
  215.  
  216. word:
  217. 7UpGirl\n
  218.  
  219. ogin:
  220. cyborg\n
  221.  
  222. word:
  223. Ten.PM\n
  224.  
  225.  
  226.