home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 1 / ARM_CLUB_CD.iso / contents / apps / comms / a / internet / ka9q < prev    next >
Encoding:
Text File  |  1993-10-18  |  60.9 KB  |  1,435 lines

  1.  
  2. ***************************************************************************
  3.           EXPLORING THE INTERNET WITH DEMON INTERNET SERVICES
  4.                   Guide to ka9q for the Archimedes
  5. ***************************************************************************
  6.  
  7.  
  8. This is a guide to the installation and use of the various versions of ka9q
  9. for the Archimedes.  Because the different versions have been produced by
  10. two people who collaborate and merge changes only occasionally, there are
  11. some differences in the implementation of some of the commands.  This guide
  12. attempts to cover general principles, and will point out most of the major
  13. differences, but when in doubt, read the documentation accompanying your
  14. version of ka9q.
  15.  
  16. This file is copyright © 1993 Paul L. Allen & The ARM Club.
  17.  
  18.  
  19.  
  20. REVISION HISTORY
  21. ================
  22.  
  23.     Version 1.0: 22/9/1993.  Initial release.  Note that this was written to
  24.     a deadline with no opportunity to verify details with Jonathan Naylor or
  25.     Anthony Frost (who are responsible for the various versions of Arc ka9q)
  26.     so you are advised to look for updates (corrections) to this file on
  27.     ftp.demon.co.uk and Arcade BBS.
  28.  
  29.     Version 1.1: 3/10/1993.  Many corrections, both major and minor.  Thanks
  30.     go to the DIS support team, Anthony Frost, Jonathan Naylor, John Stonier
  31.     and Julian Bewick.
  32.  
  33.  
  34.  
  35. GENERAL INFO
  36. ============
  37.  
  38. Some of the earliest versions floating around do not handle usenet news -
  39. the latest version can be obtained by ftp from ftp.demon.co.uk or downloaded
  40. from Arcade BBS (this version uses the serial block drivers, so is RISC OS 3
  41. only).
  42.  
  43. Ka9q commands may be abbreviated to the minimum length which remains
  44. unambiguous, so `smtp kick' and `sm k' have the same effect.  In this
  45. document I will use the unabbreviated form for clarity.
  46.  
  47.  
  48. ESTABLISHING AN ACCOUNT
  49. =======================
  50.  
  51. Pick a site name (between 4 and 8 characters), and phone Demon Internet
  52. Services during office hours on 081 349 0063 to subscribe.  Give them your
  53. site name (it's best to have a couple of alternates ready in case somebody
  54. else has already chosen that name), personal details and credit card number
  55. (you can order by letter and pay by cheque, but credit card gets you
  56. connected immediately).
  57.  
  58. Choose a password (you don't tell the DIS people, but use your first login to
  59. let the system know which p/w you've chosen).  Requirements may change, but
  60. you will probably need to choose something which doesn't contain a valid word
  61. and you will probably need to incorporate one or more numbers.  You may even
  62. find that passwords composed of key clusters (such as `qwas' or `qwerty')
  63. will also be rejected.
  64.  
  65. Use your comms program to dial a suitable DIS site (London 081 343 4848,
  66. Edinburgh 031 552 8883, Warrington 0925 411383).  When it asks you to login
  67. enter your site name.  You will then be asked for your password - it is not
  68. echoed to your screen, so you will be asked to enter it a second time to make
  69. sure you didn't mistype.
  70.  
  71. The screen will then display your site's IP address - take care to note it
  72. down.  The connection will close after 30s.
  73.  
  74. Note that this procedure applies *only* to your first call - subsequent
  75. connections will require the use of ka9q.
  76.  
  77.  
  78.  
  79. INSTALLATION
  80. ============
  81.  
  82. Although the program announces itself as ka9q, the application is called
  83. !TCPIP.  Unpack it from the Sparkive to a convenient place on disc.  You
  84. should also get an application called !MailDir - this is not an application
  85. as such but a repository for mail and news.
  86.  
  87. n the examples that follow, I will use my site name (sktb) and my IP
  88. address ([158.152.9.18]) - you should replace them with your own site name
  89. and IP address (see previous section on establishing an account).
  90.  
  91. Be careful to retain the original versions of all files that you modify - if
  92. you have problems you can return to a known starting point.
  93.  
  94. You should check the following files in the !TCPIP folder:
  95.  
  96.  
  97. !TCPIP.Autoexec
  98. ---------------
  99.  
  100. This is a file of ka9q commands which are executed when ka9q starts.  Like
  101. any other commands they can be abbreviated, but it is probably best to use
  102. the long form.  A #-sign is used to indicate a comment to ka9q.
  103.  
  104. Remember that wherever you see `sktb' you should use your own site name, and
  105. wherever you see [158.152.9.18] you should use your own IP address.
  106.  
  107. There will be a sample file !TCPIP.Autoexec, but in some versions this is
  108. for packet radio use - if you see the letters TNC throughout then delete it,
  109. look for a file called Autoslip and rename it as Autoexec.
  110.  
  111. Some of the commands mentioned below are not supported by all versions of
  112. ka9q.  Usually if a command is supported it will appear in the sample
  113. autoexec provided, although it may be commented out (the exceptions to this
  114. are the commands dealing with Usenet news which may not be present even
  115. if they are supported).  If you try and use a command that your version
  116. doesn't understand it will complain...
  117.  
  118.                                   ---
  119.  
  120. Versions of ka9q which support the serial block drivers (RISC OS 3 only)
  121. allow you to pipe the display to your favourite comms program (this will
  122. let you use various terminal emulations such as VT100 which can be very
  123. useful with some services).  The command will look something like:
  124.  
  125.     window terminal external pipeb
  126.  
  127. or
  128.  
  129.     window terminal internal
  130.  
  131. to use ka9q's in-built display routines.  The default is internal.
  132.  
  133.                                   ---
  134.  
  135. With older versions of ka9q, any time it displayed some text in its window
  136. it would grab the input focus (so if you were editing something at the same
  137. time you'd suddenly find your keystrokes going to ka9q).  Newer versions
  138. allow you to use:
  139.  
  140.     window cursor off
  141.  
  142. which means that no caret will be displayed by ka9q, but that way it won't
  143. give you nasty surprises.  You can turn it back on with:
  144.  
  145.     window cursor on
  146.  
  147.                                   ---
  148.  
  149. Change the hostname line to reflect your site name, e.g.:
  150.  
  151.     hostname sktb.demon.co.uk
  152.  
  153.                                   ---
  154.  
  155. Change the ip address to reflect the number allocated by DIS, e.g.:
  156.  
  157.     ip address [158.152.9.18]
  158.  
  159.                                   ---
  160.  
  161. Modify the attach command to reflect your baud rate.  Depending upon the
  162. version of ka9q this may take one of the following forms:
  163.  
  164.     1)  attach asy internal slip ax0 2048 1500 19200
  165.  
  166.     2)  attach asy internal slip 0 ax0 2048 1500 19200
  167.  
  168.     3)  attach asy internal slip ax0 1500 19200
  169.  
  170. Here `asy' indicates that the interface is an asynchronous serial port.
  171.  
  172. The word `internal' specifies that the internal port be used.  For some
  173. versions of ka9q (form 1 and 3) this is the *only* port which may be
  174. specified, but those versions which understand the serial block drivers
  175. (RISC OS 3 only) use form 2 where the port can be one of:
  176.  
  177.     internal 0
  178.     II_dual 0
  179.     II_dual 1
  180.     sp_dual 0
  181.     sp_dual 1
  182.  
  183. to indicate use of the internal port or the dual serial port cards from
  184. Intelligent Interfaces or The Serial Port.  Note that the version which
  185. supports the serial block drivers will not work correctly *if* you have an
  186. II card and something else is using another port (including the internal
  187. serial port).  This is of particular concern for BBSs as the BBS software
  188. will poll ports at regular intervals (even if nobody is using the BBS) - the
  189. fix is to shutdown the Board software and Binkley (this problem may be fixed
  190. in a future version of ka9q).
  191.  
  192. The word `slip' indicates that the SLIP protocol should be used (Arc ka9q
  193. does not support any other protocol).
  194.  
  195. The word `ax0' is a label used by other commands to refer to this port (use
  196. anything you like, but remember to be consistent - we'll stick with ax0 in
  197. these examples.
  198.  
  199. The figure of 2048 is a buffer size, but the Arc version of ka9q ignores it.
  200. Some versions of Arc ka9q require it be present (forms 1 and 2) even though
  201. it is ignored, whilst some versions (form 3) require it to be absent - be
  202. guided by the example autoexec provided.
  203.  
  204. The figure of 1500 is the maximum IP packet size - this is probably the
  205. optimal value for internet usage (lower values values in some versions derive
  206. from ham-radio usage).
  207.  
  208. The figure of 19200 is the speed of the serial port - set this accordingly
  209. Some versions of ka9q may ignore this figure entirely and not change the
  210. serial port speed - they rely on your comms/dialer program setting things
  211. up.  Put it in anyway...  Note that older machines (A300 and A400 series)
  212. running RISC OS 3 may have problems with speeds above 9600 (there is a
  213. patch which fixes the problem in most cases).  It is a good idea to ensure
  214. that the speed given here matches the speed your dialler/comms program uses
  215. to establish the connection to demon - some modems can handle a speed-change
  216. mid-call but some can't.
  217.  
  218.  
  219.                                   ---
  220.  
  221. Check that the default route is given as follows:
  222.  
  223.     route add default ax0 [158.152.1.65] 1
  224.  
  225. The address is that of gate.demon.co.uk, and need not be changed even if
  226. you dial in to a different node.  The value of 1 at the end represents a
  227. routing `cost' - versions of ka9q from Jonathan Naylor do not use this (and
  228. may complain if it is present).
  229.  
  230.                                   ---
  231.  
  232. Check that the IP time-to-live is given as:
  233.  
  234.     ip ttl 64
  235.  
  236. This determines the maximum number of hops a packet can take (the maximum
  237. number of routing sites it passes through).  Older versions of ka9q may have
  238. a lower figure here - you should change it to 64 as the Internet has grown
  239. quite a bit since that version was released.
  240.  
  241.                                   ---
  242.  
  243. Check that the TCP maximum segment size is 40 bytes smaller than the IP
  244. packet size given in the attach command - if you attached with an IP packet
  245. size of 1500 you would have
  246.  
  247.     tcp mss 1460
  248.  
  249.                                   ---
  250.  
  251. The value used for the initial round-trip time is a guess which is used until
  252. ka9q can measure the actual round-trip time.  Ka9q assumes packets which
  253. take longer than the average round-trip time to arive have gone missing, so
  254. setting a high value initially will prevent a flurry of retransmissions.
  255. Typically this is given as
  256.  
  257.     tcp irtt 30000
  258.  
  259.                                   ---
  260.  
  261. The value for tcp window defines the maximum number of words of data can
  262. handle - in essence it defines a buffer size.  Each time ka9q requests a
  263. packet from a remote site it tells it how much room is left in the buffer.
  264. This should be larger than the figure given in the `tcp mss' command or
  265. transfers will be inefficient, especially over slow links.  Some versions of
  266. ka9q have the same value here as for tcp mss, and should be changed to:
  267.  
  268.     tcp window 15000
  269.  
  270. Note that different versions of ka9q have some very strange and conflicting
  271. ideas for the values of tcp window, tcp mss and the IP packet size specified
  272. in the attach command.  I've chosen a value which is 10 times the IP packet
  273. size specified in the attach command.  It is possible you may have to
  274. increase the value of WimpSlot set in !TCPIP.!Run to accomodate this,
  275. although I have had no problems with the existing value of WimpSlot.
  276.  
  277.                                   ---
  278.  
  279. Some versions of ka9q have a hangup command, if so you will see
  280.  
  281.     tcp hangup 15 3
  282.  
  283. which hangs up the modem if there have been 3 consecutive idle periods of 15
  284. seconds.  The hangup is achieved by toggling the DTR line for one second, so
  285. you must configure the modem to respond to this.  If you want to turn the
  286. timer off, use `tcp hangup 0 0'.  Note that finger and ping commands do not
  287. count as activity, but that various wait states do - so if you are very
  288. unlucky ka9q may not hangup automatically.  DIS also have an inactivity
  289. timer (which, for reasons of legal liability, they do NOT guarantee to
  290. operate), so you have to be extremely unlucky for the connection not to
  291. close.  However, if you are planning unattended operation you may want to
  292. invest in a time-switch as well...  Note to BBS sysops, a `tcp exit' command
  293. may appear in the next release to allow BBSs to automatically communicate
  294. with demon in the small hours and then return to BBS operation.
  295.  
  296.                                   ---
  297.  
  298. Check that the domain suffix is correct:
  299.  
  300.     domain suffix demon.co.uk
  301.  
  302.                                   ---
  303.  
  304. Decide if you want a logfile recording connections and activities.  This
  305. file can grow very large if you forget to clear it out regularly, and a large
  306. logfile will slow things down quite a bit.  If you want logging, use the
  307. command:
  308.  
  309.     log <TCPIP$Dir>.logfile
  310.  
  311. Or remove the command/comment it out if you don't want logging.
  312.  
  313.                                   ---
  314.  
  315. Start the echo server with:
  316.  
  317.     start echo
  318.  
  319. This will allow your machine to echo characters to incoming telnet sessions
  320. if requested.
  321.  
  322.                                   ---
  323.  
  324. Start the discard server with:
  325.  
  326.     start discard
  327.  
  328. I'm not sure what this does, but every autoexec file I've seen has it in...
  329.  
  330.                                   ---
  331.  
  332. If you wish to allow people to ftp to your machine to send you files or to
  333. take copies of your files, then start the ftp server:
  334.  
  335.     start ftp
  336.  
  337. Note, you should edit the FTPusers file to reflect the degree of security
  338. you require - see later.
  339.  
  340.                                   ---
  341.  
  342. You should start the smtp server so you can receive e-mail:
  343.  
  344.     start smtp
  345.  
  346.                                   ---
  347.  
  348. If you would like other sites to be able to finger your machine to see which
  349. usernames exist and possibly get some info on you or your setup, start the
  350. finger server:
  351.  
  352.     start finger
  353.  
  354. You will need to create information files for each user in the finger
  355. directory - see later.
  356.  
  357.                                   ---
  358.  
  359. If you would like other sites to be able to telnet in for a chat, start the
  360. telnet server:
  361.  
  362.     start telnet
  363.  
  364.                                   ---
  365.  
  366. During the initial stages of setting up you may wish to have the trace window
  367. appear for debugging purposes:
  368.  
  369.     trace ax0 112
  370.  
  371. Note that ax0 is the label given in the attach command.  The trace window
  372. will slow things down tremendously - it is fairly undecipherable, but you
  373. should watch for error messages.  You may see a `bad packet' message on
  374. startup, but there should be no errors after that.  Closing the window kills
  375. the trace activity.
  376.  
  377.                                   ---
  378.  
  379. When you telnet or ftp to a remote machine it is preferable to have the
  380. remote machine echo what you type rather than perform the echo locally.
  381. However, remote echoing of commands can slow command entry quite a bit.
  382. You turn remote echoing on with:
  383.  
  384.     echo accept
  385.  
  386. or turn it off with
  387.  
  388.     echo refuse
  389.  
  390.                                   ---
  391.  
  392. Define post.demon.co.uk to act as a mail-router with:
  393.  
  394.     smtp gateway [158.152.1.72]
  395.  
  396.                                   ---
  397.  
  398. It's useful to get some feedback as the sending of outgoing mail progresses,
  399. as well as to get a message when all mail has been sent:
  400.  
  401.     smtp trace 1
  402.  
  403.                                   ---
  404.  
  405. To make outgoing mail be sent automatically when ka9q starts up, use:
  406.  
  407.     smtp kick
  408.  
  409.                                   ---
  410.  
  411. If you are going to receive Usenet news, it's useful to see when news starts,
  412. what groups are being downloaded and when the session finishes:
  413.  
  414.     nntp trace 2
  415.  
  416.                                   ---
  417.  
  418. To tell ka9q where to get Usenet news from, put in:
  419.  
  420.     nntp addserver news.demon.co.uk 1800 Dem
  421.  
  422. The figure of 1800 means that the ka9q will check for news every 1800s
  423. (30min).  The `Dem' is an abbreviation prefixed to certain filenames used
  424. by to get Usenet news, it should consist of a maximum of 4 characters which
  425. are valid in a filename - in the remainder of this document we will stick
  426. with `Dem' in the examples.
  427.  
  428. Note that you should be able to set up several different news servers, or
  429. drop a server and switch to another.  In practice, none of this works on any
  430. existing version of ka9q - you're limited to a single news server.
  431.  
  432.                                   ---
  433.  
  434. To start a news download initially, use:
  435.  
  436.     nntp kick Dem
  437.  
  438.  
  439. The very first version of ka9q which supported news downloads required the
  440. the full name of the news server be used instead of the abbreviation - so
  441. if you have that version you would use `nntp kick news.demon.co.uk'.
  442.  
  443. News downloads can take a long time, so if you want to login between 13:00
  444. and 18:00 to check for mail (something you might want to do if you work
  445. from home or the site belongs to a company) then you don't want news starting
  446. up and running up the phone bills, so leave this line out and enter it
  447. manually when you're on the cheap rate.
  448.  
  449.                                   ---
  450.  
  451. Now to check for errors...  Just run !TCPIP (no need to dial out first, it
  452. will work quite happily).  If you've mistyped the name of a command ka9q will
  453. complain about an unknown command and tell you which line of Autoexec
  454. contains the error.  Note that you should ignore the message `NNTP - No mail
  455. ID archive' if it appears - this is nothing to do with autoexec.
  456.  
  457.  
  458. !TCPIP.Domain
  459. -------------
  460.  
  461. This is a list of sitenames and their IP addresses.  The purpose of it is
  462. to allow you to refer to sites by their sitename rather than by the IP
  463. address - it's much easier to remember micros.hensa.ac.uk (the microcomputer
  464. section of the Higher Education National Software Archive) than
  465. [148.88.8.84], so it's worthwhile building up this file.  You must maintain
  466. this file manually - this is a bit of a pain whenever you want to ftp to a
  467. site you've never used before, and can cause problems when the name/address
  468. relationship changes.  As with autoexec, a #-sign means the rest of the line
  469. is a comment.
  470.  
  471. If you know a sitename but not the IP address you can use finger to look
  472. it up (see the section on the finger command) and enter it into this file.
  473. However, you should note that this file is read in by ka9q only on startup,
  474. so modifications to it will *not* be recognised until the next time you start
  475. up ka9q (the way around this problem is also discussed in the section on
  476. the finger command).
  477.  
  478. Whichever ka9q you have, you should ensure it contains the following entries
  479. (note that the format is *not* the same as that described in the user
  480. manual).  A future version of ka9q may support automatic address queries, at
  481. which point the only entries you need add by hand will be your own and the
  482. DIS machines.
  483.  
  484. First ensure your sitename/address appears in both of the following formats
  485. (as usual, I will use my sitename/address as an example):
  486.  
  487.     sktb.demon.co.uk.        IN A 158.152.9.18
  488.  
  489. Note that the `.' on the end of the sitename is a necessary part of the
  490. syntax, and that the square brackets normally associated with IP addresses
  491. are not used in this file.  The `IN A' stands for `Internet Address' - PC
  492. versions of ka9q allow other types of record such as `MX' (mail alias).
  493.  
  494.     .                        IN A 158.152.9.18
  495.  
  496. The single `.' here ensures that the local site is used if no sitename is
  497. given in a command.
  498.  
  499.                                   ---
  500.  
  501. It is useful to have the Points of Presence (dial-in sites), so you can
  502. finger them and see who's on.  The name/address is unlikely to change.
  503.  
  504.     gate.demon.co.uk.        IN A 158.152.1.65   # London PoP
  505.     clootie.demon.co.uk.     IN A 158.152.6.65   # Edinburgh PoP
  506.     hel.demon.co.uk.         IN A 158.152.5.194  # Warrington PoP
  507.  
  508.                                   ---
  509.  
  510. The news server is necessary for the nntp addserver command, and the mail
  511. server is handy so you can finger yoursite@post and see how many messages
  512. are waiting.  The password server allows you to change your password if you
  513. think it may have been compromised. The addresses for these functions have
  514. changed in the past (when mail and news handling was offloaded from gate
  515. onto separate machines) and it is possible that news may change again during
  516. the next twelve months.
  517.  
  518.     news.demon.co.uk.        IN A 158.152.1.69  # news server
  519.     post.demon.co.uk.        IN A 158.152.1.72  # mail server
  520.     password.demon.co.uk.    IN A 158.152.1.68  # password server
  521.  
  522.                                   ---
  523.  
  524. There are many useful files held by demon, so it is useful to have the
  525. address of the ftp server.  The Internet Relay Chat host is fun, but may
  526. give you a heart attack when you see your phone bill.  The addresses of these
  527. two sites are a little more volatile.  Ftp access may be shunted to the
  528. machine with the biggest free disc space, whilst irc may move to follow
  529. spare CPU capacity.  This is no great problem - if things break then
  530. finger ftp.demon.co.uk@gate.demon.co.uk (or irc...) to see what the new
  531. address is and change the entry in the file (this will not take effect until
  532. the next time you start up ka9q).
  533.  
  534.     ftp.demon.co.uk.         IN A 158.152.1.68  # ftp server
  535.     irc.demon.co.uk.         IN A 158.152.1.74  # irc host
  536.  
  537.  
  538. !TCPIP.Finger
  539. -------------
  540.  
  541. This directory is used to hold textfiles relating to users on your system.
  542. When somebody fingers your site the names of the files in this directory
  543. are displayed on their screen as usernames.  So, if you finger
  544. sktb.demon.co.uk (and sktb happens to be logged in to demon at the time) you
  545. will see a user called `pla' because I have a file called !TCPIP.Finger.pla.
  546. If you then finger pla@sktb.demon.co.uk the contents of the `pla' file is
  547. displayed on your screen.
  548.  
  549. You can put any info you want in here - full name, whether your site is
  550. your home connection or a company, the equipment you use, interests, etc.
  551. It is not a good idea to put in your full address - I don't know if any
  552. burglars use the internet, but why risk telling them where to go for
  553. computer equipment?
  554.  
  555. You can finger your own site to see what the display will look like to
  556. others.  Of course, for this directory to be of use, you must have started
  557. the finger server.
  558.  
  559. Note that the usernames in this directory are for informational purposes
  560. only - you do not need an entry in this directory for people to be able to
  561. e-mail a username.  However, by having a list of usernames in this directory
  562. you allow people to find out what your *preferred* usernames are.
  563.  
  564.  
  565. !TCPIP.FTPusers
  566. ---------------
  567.  
  568. This file controls who can ftp to your site (provided you have started the
  569. ftp server).  Be *very* careful with this as you can leave your private
  570. files wide open.  The file contains lines describing who can ftp to your
  571. site and what they can do, as follows:
  572.  
  573.     username password path permissions
  574.  
  575. the user manual says there must be exactly one space between fields.  A
  576. #-sign in column 1 denotes a comment.  You can give access to many different
  577. users, such as guest, or anonymous.  The password can be * (a single
  578. asterisk) which means that any password is acceptable.  The path determines
  579. the effective CSD for that user - there are some important points to note:
  580.  
  581.   1) You cannot specify a filing system in the path.
  582.   2) Unless the path exists on the currently-selected drive/filing system
  583.      it won't be found, so you must ensure that the current drive/FS is
  584.      correct if you want people to ftp to your machine.
  585.   3) Ka9q should prevent users changing directory to anywhere which does
  586.      not start with the specified path, although it is rumoured that some
  587.      early versions of Arc ka9q did not enforce this.
  588.  
  589. The permissions field is a decimal number which determines access for
  590. read, create and write operations.  The number is interpreted as a bit-mapped
  591. mask with the following interpretation:
  592.  
  593.             Decimal value   Access
  594.  
  595.     Bit 0         1         File read
  596.     Bit 1         2         File create/write (cannot overwrite an existing
  597.                             file)
  598.     Bit 2         4         File create/write/overwrite existing file/delete
  599.                             existing file
  600.  
  601. A value of 1 allows read-only access, 3 allows read/write/create access (but
  602. existing files may not be overwritten) and 7 allows read/write/create/delete
  603. access.
  604.  
  605. For instance, to allow anonymous ftp to a directory $.ftp giving permission
  606. to download and upload files but not overwrite/delete existing files you
  607. would have
  608.  
  609.     anonymous * $.ftp 3
  610.  
  611. You might like to also have the commonly-used alternative of
  612.  
  613.     ftp * $.ftp 3
  614.  
  615. so people don't have to type `anonymous'...
  616.  
  617. You can run ka9q without calling demon and ftp to yourself to check your
  618. setup and gain some familiarity with ftp.
  619.  
  620.  
  621. !TCPIP.DemGroup
  622. ---------------
  623.  
  624. This is a file you create containing a list of Usenet newsgroups you wish
  625. to receive.  Note that the `Dem' part of `DemGroup' was the abbreviation
  626. specified in the `nntp addserver' command in autoexec - if you chose a
  627. different abbreviation (4 chars max), you will need to change the name of
  628. this file accordingly.
  629.  
  630. The simplest way of specifying groups is to put each group on a new line.
  631. Note that you should not leave any blank lines in the file or ka9q will
  632. get upset.
  633.  
  634.     comp.binaries.acorn
  635.     comp.sys.acorn
  636.     comp.sys.acorn.advocacy
  637.     comp.sys.acorn.tech
  638.     demon.announce
  639.     demon.ip.support
  640.     demon.ip.support.archimedes
  641.     demon.local
  642.  
  643. However, this format is not conducive to news.demon.co.uk finding articles
  644. very quickly as it will perform a linear search of the news database for
  645. articles in the first group, send them, search for articles in the second
  646. group...  Things can be speeded up quite a bit by using wildcards:
  647.  
  648.    comp.binaries.acorn
  649.    comp.sys.acorn*
  650.    demon*
  651.  
  652. Note that if you had put comp.sys.acorn.* (a `.' before the `*') then you
  653. would not receive comp.sys.acorn itself.
  654.  
  655. There is another speed-up which can be performed, and that is to put the
  656. group names on one line, separated by commas.  E.g., the previous example
  657. could be given as:
  658.  
  659.    comp.binaries.acorn,comp.sys.acorn*,demon*
  660.  
  661. There should be no spaces anywhere on the line - although spaces would make
  662. it easier to read, it just won't work if you have:
  663.  
  664.     comp.binaries.acorn, comp.sys.acorn*, demon*
  665.  
  666. Note that there is a limit on the maximum length of a groups line.  Although
  667. the recommended limit is supposed to be 512 characters, Arc ka9q seems to
  668. be stuck with 256.  You can't even use the full 256 because ka9q adds control
  669. information to the list, so a safe figure to use is 200 characters (2.5 rows
  670. in a full-width !Edit window).  If your line is longer than ka9q can accept
  671. it will crash with a bad memory access - you have been warned.
  672.  
  673. Although I have not tried it, you should also be able to use the `!'
  674. wildcard to negate matches.  If you wanted all the comp.sys.acorn* groups
  675. except comp.sys.acorn.advocacy you should be able to use:
  676.  
  677.     comp.sys.acorn*,!comp.sys.acorn.adv*
  678.  
  679. Note that this will *only* work if the two group specifications are on the
  680. same line and are therefore processed as part of the same request.
  681.  
  682. If you want to know what groups are available, there are listings of all the
  683. groups in the seven main hierarchies and the mainstream alternative
  684. hierarchies (but not the national ones like uk or scot) posted monthly to
  685. news.announce.newusers - these listings have a brief (one or two line)
  686. description of what each group is about.  If you want to know all the groups
  687. that DIS carry (but without descriptions), then you should ftp to
  688. ftp.demon.co.uk and get the file active.zip from the /pub/news directory.
  689.  
  690.  
  691. !TCPIP.DemLast
  692. ---------------
  693.  
  694. This file holds the date and time of the start of your last *successful*
  695. news download (again, the `Dem' in `DemLast' is the abbreviation you gave
  696. in the `nntp addserver' command).  When you ask for news, ka9q will use the
  697. information in this file to request all news which has appeared since that
  698. time.  When your download finishes successfully this file is updated - that
  699. way, if news crashes in mid-download you can start again without missing
  700. anything.
  701.  
  702. If this file is not present, ka9q will request all news since the first day
  703. of the current month - you don't *have* to create it, but if you don't your
  704. first news download could be *very* big...
  705.  
  706. The file consists of two lines, the first for the date and the second for the
  707. time, as folllows:
  708.  
  709.     yymmdd
  710.     hhmmss
  711.  
  712. So, if your last news download was on the 21st of September 1993 at half-past
  713. seven (and a few seconds) in the evening the file would contain:
  714.  
  715.     930921
  716.     193004
  717.  
  718.  
  719.  
  720. USING KA9Q
  721. ==========
  722.  
  723. Logging in
  724. ----------
  725.  
  726. Ka9q is not capable of dialling DIS or logging in for you, so you must use
  727. your favourite comms program (or a dialler program) to do this *before*
  728. starting ka9q.
  729.  
  730. Use your comms program to dial whichever DIS Port of Presence results in the
  731. cheapest phone charges.  When you see the `Login:' prompt enter your site
  732. name (e.g., I would enter sktb).  When you see the `Password:' prompt
  733. enter your password (it will not be echoed).  Next you will see a `Protocol:'
  734. prompt - enter slip.  Wait until you see the word `HELLO', then quit your
  735. comms program (with some comms programs like HearSay you can select the
  736. `off-line' option instead) and start up ka9q by double-clicking on !TCPIP.
  737. If you forget to quit your comms program or take it off-line it will `eat
  738. up' incoming data and nothing will work.  You may experience problems if
  739. your comms program establishes the connection at a different speed to the
  740. one given in !TCP.Autoexec - some modems can cope with a speed change in
  741. mid-call, but many cannot.
  742.  
  743. Note that if you have a smart comms program which allows login sequences to
  744. be handled automatically, the *only* words it should look for/act upon are
  745. Login, Password, Protocol and HELLO.  Demon actually advise that you look
  746. for `ogin:', `word:', `ocol:' and HELLO as the checks are usually
  747. case-sensitive and you might get `Login' or `login', depending upon who last
  748. fiddled with the login software at the DIS end...
  749.  
  750. Also note that ka9q assumes that you are using ReaderS to read news messages
  751. (mainly because Anthony Frost who wrote ReaderS added the support for news
  752. to Arc ka9q), and relies upon ReaderS's message history file to avoid
  753. downloading the same messages twice (this happens because you request new
  754. articles which arrived since the *start* of your last news download, so there
  755. can be overlaps).  If you don't have ReaderS you will get the warning
  756. message `NNTP - No mail ID archive', which you can ignore.
  757.  
  758.  
  759. Entering commands
  760. -----------------
  761.  
  762. To enter commands, ensure the ka9q window has the input focus and type away.
  763. There is a problem with Acorn's `txt' routines in the C library which
  764. surfaces in programs which handle character-echoing themselves instead of
  765. allowing the `txt' routines to perform the echoing - sometimes you type a
  766. character and it doesn't appear until you type the next one.  This can be
  767. confusing (did I press the key hard enough?) and there can be occasions
  768. (see section on finger) where you don't want another character to be
  769. entered - the answer is to press one of the cursor keys, this causes the
  770. missing character to show up without any side-effects.
  771.  
  772. You will not see any modem activity as you type - you are entering a command
  773. to ka9q which then interprets it.  If it is a command which results in ka9q
  774. sending data to the DIS Point of Presence (possibly to be passed on to a
  775. distant machine), then there will be a brief burst of modem activity when
  776. you press return.  If you want to check your connection then the ping command
  777. is a quick and easy way of finding out if everything is working.
  778.  
  779. If you use a command which requires a sitename to be specified (telnet,
  780. finger ping or ftp), and the site is in the demon.co.uk subdomain (i.e., DIS
  781. machines or subscribers) you can omit the `demon.co.uk' part.  E.g., to
  782. change your password you could use `telnet password' instead of
  783. `telnet password.demon.co.uk'.  Sitenames which do not end in `demon.co.uk'
  784. must be specified in full.  If you see the error message `host <sitename>
  785. unknown' this means that there is no entry for <sitename> in !TCPIP.domain -
  786. if you know the numeric address you can use that instead - e.g.,
  787. `finger @[158.152.9.18]' instead of `finger @sktb.demon.co.uk'.
  788.  
  789. Ka9q will run perfectly happily even if you haven't dialled into DIS - the
  790. only difference is that no site other than your own will answer.  This way
  791. you can learn how the various commands work and what sort of responses to
  792. expect without running up your phone bill.  You can ftp to your own site
  793. and learn to how to find and transfer files, finger your own site to see how
  794. the !TCPIP.finger.<user> files you have set up will appear to other people,
  795. etc. You'll also catch any errors in your !TCPIP.Autoexec.
  796.  
  797.  
  798. Special Keys
  799. ------------
  800.  
  801. Ka9q recognises the following special keys:
  802.  
  803.   F10 and Ctrl-] return you to the net prompt when a session is active (see
  804.   later for a discussion of sessions).  F10 works only with ka9q's own
  805.   window (window terminal internal) whilst Ctrl-] works when you pipe ka9q's
  806.   I/O through your comms program.
  807.  
  808.   <-| The backspace key deletes characters from the line you've typed.
  809.  
  810.   <Escape> empties the line buffer - if you're typing a line and realise you
  811.   made a mistake at the beginning, this is a lot quicker than using the
  812.   backspace key.
  813.  
  814.   Ctrl-W deletes the last word in the line buffer - this is quicker than the
  815.   backspace key but not as brutal as <Escape>.
  816.  
  817.   Ctrl-R repeats the line you're entering.  This is useful when ka9q gives
  818.   an informational message just as you fumble and are not sure what you
  819.   typed.
  820.  
  821.   F3 recalls the last line you entered.  This is handy if you want to repeat
  822.   commands.  Unfortunately it `loses' @-signs, so is not very useful with
  823.   the finger command.  It only works with ka9q's internal window.
  824.  
  825.  
  826. Help
  827. ----
  828.  
  829. The help command (or just ?) will list the available commands.  You can get
  830. further help on most, but not all, commands which take arguments by
  831. following the command name with a space then a question mark, e.g.:
  832.  
  833.     smtp ?
  834.  
  835. will list the possible arguments for the smtp command.
  836.  
  837.  
  838. Ping
  839. ----
  840.  
  841. A useful way of checking your connection is to ping the PoP you've dialled
  842. into - if you phoned the London PoP then `ping gate' should give you some
  843. modem activity and return the round-trip time (typically 250ms under light
  844. loading, up to a couple of seconds under heavy loading).
  845.  
  846.  
  847. Mail
  848. ----
  849.  
  850. Incoming mail is delivered automatically as soon as you login (it can take
  851. up to a minute under heavy loading to start up).  Outgoing mail created
  852. before you started ka9q will be sent as soon as you login, provided you have
  853. the command `smtp kick' in your autoexec.  If you create mail whilst
  854. connected, or the mail appears to be stuck, you can enter the `smtp kick'
  855. command manually.  You can check how much incoming mail is waiting for you
  856. with the finger command (see section on finger).
  857.  
  858. You can also use the smtp timer command to cause the mail queue to be
  859. scanned automatically at fixed intervals.  I wouldn't advise using this -
  860. too long an interval and you'll have logged out before it kicks in, too
  861. short and ka9q will waste a lot of time repeatedly checking for outgoing
  862. mail.
  863.  
  864. Mail to a particular username appears as a file in !MailDir.spool.mail.text
  865. and the filename is the same as the username (so mail to pla@sktb... appears
  866. as a textfile called `pla').  The upshot of this is that you *must* choose
  867. usernames which are valid RISC OS leaf-names (so paul.allen@sktb... would not
  868. work).  In fact a DOS limitation has been retained and usernames must have
  869. no more than 8 characters (the required user called postmaster is handled as
  870. a special case and converted to `postmast').  I don't advise you to try
  871. reading mail with Edit - bad as the BM mailer is at creating mail, it's
  872. better than Edit for reading mail.
  873.  
  874. There is no way of defining which usernames are acceptable and which aren't
  875. for incoming mail - as long as it's a valid leafname of 8 characters or less,
  876. people can send mail to it.  However, you can indicate your preferred
  877. username(s) by creating entries for them in the !TCPIP.finger directory.
  878.  
  879. Outgoing mail is placed in !MailDir.spool.mqueue.text - each message gets a
  880. unique number, and each message requires a correspondingly-numbered work file
  881. in !MailDir.spool.mqueue.work.  I won't go into the formats of these files
  882. as I *definitely* wouldn't advise trying to create outgoing mail with Edit.
  883. However if you create e-mail you have the opportunity to tweak or delete it
  884. before firing up ka9q - just remember to remove the work file as well as the
  885. text file if you want to delete a message.
  886.  
  887. Mail can only handle 7-bit characters, and some IBM machines have a habit
  888. of getting the ASCII/EBCDIC conversion wrong and mangling the odd character
  889. even then, so you can't mail Sparkives or other binary files to people.
  890. However, you can uuencode the file (an option Spark offers) which encodes
  891. the file so it will survive.  The file will increase in size, but at least
  892. it can be sent.
  893.  
  894. Arc ka9q differs from the PC versions in that all outgoing mail is routed
  895. via the smtp gateway defined in !TCPIP.Autoexec.  Prior to this modification
  896. mail was sent directly to the site concerned (which meant that mail to other
  897. demon subscribers could not be sent unless they were logged on to DIS at the
  898. same time).  Although this change means that mail takes slightly longer to
  899. reach its destination, it also means that you (generally) spend less on-line
  900. time sending it.
  901.  
  902.  
  903. News
  904. ----
  905.  
  906. News downloads are started using `nntp kick Dem' (assuming `Dem' was the
  907. abbreviation you used in the `nntp addserver' command in your autoexec).
  908. You will either have this command in your autoexec if you want news every
  909. time you login, or enter it manually to only collect news during cheap rates.
  910. No further interaction should be required on your part.
  911.  
  912. Downloaded news appears in !MailDir or !MailDir.spool, depending on which
  913. version of ka9q you have.  The file will be called DemNews (again assuming
  914. you used `Dem' as the abbreviation in the nntp addserver command), and there
  915. will also be a file called DemNG which lists all the new groups which have
  916. been created since you last downloaded news.  You should look at DemNG to
  917. see if there's anything of interest, add the groups to !TCPIP.DemGroup as
  918. required then delete it (information is appended to DemNG, so if you don't
  919. delete it it will slowly grow and grow).  You can read news with an editor,
  920. but if you want to see it presented more logically, and have the opportunity
  921. to reply you should get hold of a newsreader.
  922.  
  923. You may notice that after ka9q requests a list of groups that activity is
  924. rather slow at first.  This is because the news-server is searching an index
  925. to find articles in the appropriate groups which have arrived since your
  926. last news download - it passes the unique message-ID of each matching
  927. article to ka9q which puts the IDs in a temporary workfile !TCPIP.DemNew
  928. (see previous comments about `Dem').  Once the list is complete ka9q then
  929. requests each article in turn and there will be a lot of activity as the
  930. articles come down.  If news terminates unsuccessfully (say you get cut
  931. off) then !TCPIP.DemNew may be left hanging around - don't worry about it.
  932.  
  933. Note that if you've been on holiday you can reset the time in !TCPIP.DemLast
  934. so you don't get deluged with news - that's if you can live without it.
  935.  
  936. Outgoing news articles are actually sent as e-mail.  Depending on which
  937. newsreader you use they will be addressed either to
  938. mail2news@post.demon.co.uk (which allows cross-posting) or
  939. <newsgroup>@post.demon.co.uk (where the article is posted only to the
  940. group given in the address, e.g., comp.sys.acorn@post.demon.co.uk to post
  941. to comp.sys.acorn).  Either way, you have the opportunity to tweak or remove
  942. them before firing up ka9q (see the section on Mail).  By the way, there's
  943. a little more to creating a valid news posting than just addressing mail to
  944. mail2news, so don't be tempted to do it by hand...
  945.  
  946. If news.demon.co.uk is heavily loaded it will refuse further connections -
  947. if there appears to be no activity use the tcp status command (explained
  948. later) to see if socket 119 is in use.  If not, try the nntp kick command
  949. again, or logout and try later.
  950.  
  951. Telnet
  952. ------
  953.  
  954. Telnet allows you to login to remote sites - just `telnet <site>' e.g.,
  955. `telnet archie.doc.ic.ac.uk' to connect to the `archie' Internet archive
  956. listing service at Imperial College.  For some sites a telnet session will
  957. behave as if you were logging in at a local terminal on that machine - you
  958. will be asked for a username and password (if you don't know a valid
  959. combination you won't get very far).  If you telnet to information services
  960. you will usually be told a username and password to enter, or logged on
  961. automatically.  Some sites may react to telnet connections in a special way:
  962. for instance you change your site's password by `telnet password.demon.co.uk'
  963. and following the instructions.
  964.  
  965. You can even use telnet to explore the hidden depths of some protocols which
  966. build upon telnet by adding a `socket number' to the command, but that is
  967. outside the scope of this document.
  968.  
  969. Most single-user machines (as used by many demon subscribers) will enter
  970. a chat mode if you telnet to them - you can talk to your friends whilst
  971. news downloads.  If the person you're chatting to is using a PC you should
  972. telnet to socket 87 by `telnet <site> 87' or they will have a hard time of
  973. things.
  974.  
  975. Telnet is one of the ka9q commands which runs in its own `session' - you
  976. should read the next section to see what this means.  Depending on what
  977. you telnet to, you might need to use logout, logoff, quit or exit to
  978. finish (if you telnet to someone for a chat you have to return to the
  979. net prompt and close the session - see next section).
  980.  
  981. If ka9q complains of an unknown host you will have to find the IP address
  982. (see section on finger) and telnet to that instead until you update your
  983. domain file.
  984.  
  985.  
  986. Sessions
  987. --------
  988.  
  989. Some ka9q commands (such as telnet and ftp) create a `session' - you
  990. can have several sessions running simultaneously and switch between them
  991. (*only* if you're using the `internal' window and not piping i/o through
  992. your comms program).
  993.  
  994. If you've entered a telnet command the title of the ka9q window will change
  995. from `NET <version>' to `Telent - <site>'.  Also the command prompt `net>'
  996. will no longer be present.  Anything you type now will be sent to the remote
  997. site (after you press return).  You can return to the ka9q command line by
  998. pressing F10 (this *only* works with the `internal' window, if you pipe
  999. i/o through your comms program use Ctrl-] instead) - the `net>' prompt
  1000. returns and the window title reverts to `Net <version>'.  Back at the `net>'
  1001. prompt you can enter ka9q commands again, but the telnet session isn't dead -
  1002. it's just hiding.  If you type the command `session' at the net prompt it
  1003. will list all active sessions - they each have a number and you can return to
  1004. them by entering `session <number>'.  One of the sessions will have an
  1005. asterisk by it - that is the session you were most recently using, and
  1006. pressing return at the `net>' prompt will (usually) return to it.
  1007.  
  1008. If you close the session (say by logging out of a telnet session or
  1009. quitting an ftp session) once the remote site has acknowledged you will
  1010. be returned to the `net>' prompt.  If you can't work out how to finish a
  1011. particular session (you can't logout if you're using telnet to chat to
  1012. someone), you can kill a session with the `close' command - e.g., F10
  1013. followed by `close <session number>'.
  1014.  
  1015. Note that whilst you are in a session you will still see informational
  1016. messages from ka9q (for instance mail and news progress) - this is useful
  1017. because you don't have to return to the `net>' prompt to see how things
  1018. are going, but it's also a bit of a pain because they appear in the middle
  1019. of what you're typing.  Sometimes the `net>' prompt doesn't appear after
  1020. you press F10 - check the window title to see where you are.
  1021.  
  1022. Sessions buffer information sent from the remote machine whilst you're in
  1023. another session or at the `net>' prompt - to a degree.  I don't know what
  1024. the limit is - certainly 1 line, maybe 2.  It might even be more, but I have
  1025. a vague feeling that it isn't very much.
  1026.  
  1027. If someone telnets to you for a chat, you will see a message like `Incoming
  1028. Telnet session 2 from 158.152.9.18:1003'.  The `2' in the example is the
  1029. session number (so use `session 2' to connect to it), the `158.152.9.18' is
  1030. the IP address of the site telnetting to you, and the `:1003' is a
  1031. sequentially-assigned socket number (which you can ignore).  If you don't
  1032. feel like chatting to that person, just ignore the message...
  1033.  
  1034.  
  1035. Ftp
  1036. ---
  1037.  
  1038. Ftp connections run as ka9q sessions and start out a little like telnet
  1039. sessions in that you usually have to login.  After that you send commands to
  1040. the remote ftp server to change directories, examine directory listings, get
  1041. files, etc.  Usually you will be using anonymous ftp - that means you give a
  1042. username `anonymous' (some sites accept ftp as an alternative) and give your
  1043. full e-mail address as a password (some sites ask for an `ident' - then you
  1044. need only give your username).  One site which is handy to try for test
  1045. purposes is ftp.demon.co.uk, which you can connect to with the command
  1046.  
  1047.     ftp ftp.demon.co.uk
  1048.  
  1049. or even just ftp ftp.  Another thing you can try is to ftp to yourself with
  1050. the modem offline (keeps the phone bills down whilst you familiarize yourself
  1051. with the commands).
  1052.  
  1053. If ka9q complains of an unknown host you will have to find the IP address
  1054. (see section on finger) and ftp to that instead.
  1055.  
  1056. Most ftp sites use a restricted Unix style syntax (though there are
  1057. variations).  You will also find that with most ftp sites you can give the
  1058. minumum unique abbreviation for a command, e.g., `c' can be used instead of
  1059. `cd'.  Useful commands (which are usually accepted):
  1060.  
  1061.     quit    this quits the ftp session, and will (after the remote machine
  1062.         acknowledges it) return you to the `net>' prompt.  Be careful that
  1063.         you only enter this command when you are connected to an ftp session,
  1064.         if you type it at the `net>' prompt ka9q will exit.  This command
  1065.         cannot be abbreviated.
  1066.  
  1067.     ls    brief directory listing giving names of files and directories, but
  1068.         you probably won't be told which is which.
  1069.  
  1070.     dir    full directory listing, giving file sizes, ownerships and
  1071.         some method of distinguishing ownership (on Unix you will see a
  1072.         string of letters denoting access permissions - `r' for read-only,
  1073.         etc. - directories have a `d' in there somwhere).
  1074.  
  1075.     cd    change directory.  Usually you change to a subdirectory with
  1076.         `cd <subdirectory>'.  You can move back up the directory tree with
  1077.         `cd ..' (sometimes you can also use `cdup').  The usual directory
  1078.         separator on unix systems is `/' and you can traverse more than one
  1079.         level if you wish, e.g.:
  1080.  
  1081.             cd foo
  1082.             cd bar
  1083.             cd fubb
  1084.  
  1085.         could be replaced by
  1086.  
  1087.            cd foo/bar/fubb
  1088.  
  1089.         The root directory is specified as `/', so `cd /' will take you to
  1090.         the root directory, whilst `cd /pub' will take you to the `pub'
  1091.         (public) directory (on the Arc this would be called $.pub).
  1092.  
  1093.         Many ftp sites make /pub your CSD when you connect, and those which
  1094.         do often prevent you straying - frequently if you type `cd /' you
  1095.         will end up in /pub.  Note that when you ftp to ftp.demon.co.uk
  1096.         you will be placed in the `real' root directory.
  1097.  
  1098.     get    get a file.  The file will be placed in your CSD, wherever that
  1099.         happens to be when you issue the file.  The format is `get <file>'.
  1100.         Ka9q will try to create a file with the same name - which will fail
  1101.         if you try and get something which isn't a valid RISC OS leafname
  1102.         (like name.ext, verylongfilename or $^@).  To fix this problem you
  1103.         can specify a local filename in the command, e.g.:
  1104.  
  1105.             get verylongfilename$.zip localfile
  1106.  
  1107.         which will copy the remote file to `localfile'.
  1108.  
  1109.         Arc ka9q does not support the `mget' (multiple get) command which
  1110.         allows you to transfer several files at once by using wildcards, so
  1111.         you'll have to do it the hard way.
  1112.  
  1113.     type    this shows or sets the type of file to be transferred.  Different
  1114.         OSs have different conventions about end-of-line markers for text
  1115.         files (as you will realise if you've ever seen a DOS textfile in
  1116.         a Spark archive).  You can tell ftp to convert end-of-line markers
  1117.         from the conventions on the remote system to Archimedes conventions
  1118.         with:
  1119.  
  1120.             type a
  1121.  
  1122.         where the `a' stands for ASCII (do this *before* you use the get
  1123.         command).  Obviously you don't want this conversion to take place if
  1124.         you are transferring an archive, executable or similar binary
  1125.         (non-text) file, so for this you use:
  1126.  
  1127.             type i
  1128.  
  1129.        where the `i' stands for image.  On most systems you can also use
  1130.        `type b' instead of `type i' (the `b' stands for `binary') and
  1131.        sometimes you can enter just `image' or `binary' (sometimes even
  1132.        `i' or `b').  Similarly you can often enter `ascii' to select ASCII
  1133.        transfer.  The default type is usually ASCII, but you can check by
  1134.        just entering `type' without an argument.  You may forget to set the
  1135.        type at first, but once you've transferred a big Sparkive in ASCII
  1136.        mode you'll not forget again...  Unix compressed file (readable with
  1137.        Spark) normally end in `.Z' - so if you grab one of these you need
  1138.        type i.
  1139.  
  1140.     put    this transfers a file *to* the remote site.  Obviously sites are
  1141.        a little more sensitive about this sort of thing.  DIS allow uploads
  1142.        (of *useful* software, usually having some relevance to their
  1143.        subscribers - e.g., an improved mailer) to /incoming - you should
  1144.        then e-mail a description of the file, what machine it's for, etc. to
  1145.        uploads@demon.co.uk.
  1146.  
  1147.     abort   when you realise you've started to get the wrong file, or you've
  1148.        set the wrong type, or conditions mean the transfer has slowed to a
  1149.        crawl, abort will kill the transfer.  Some ftp servers are rather
  1150.        antisocial and perform a quit when you abort (so if you aborted
  1151.        because you had the wrong file you then have to start a new ftp
  1152.        session to get the right one.
  1153.  
  1154.     hash    this is a very useful command which puts a #-sign on the screen
  1155.        every time a block of data has been transferred so you can estimate
  1156.        progress.  This just doesn't work on the Arc, so when people tell you
  1157.        about it, ignore them.
  1158.  
  1159. Whenever you type an ftp command you will (eventually) receive an
  1160. acknowledgement message (usually prefixed by something like `220-', which
  1161. you can ignore).  This can be confusing during a get operation as the
  1162. acknowledgement that the get command is being processed can come well into
  1163. the file transfer, and the wording is such that it is easy to mis-interpret
  1164. it as meaning the file transfer is complete.  One way to check is to enter
  1165. `xxx' - if the transfer is in progress you will be told that the only
  1166. acceptable command is abort (though quit will often also be accepted), whilst
  1167. if the transfer has actually completed you will be told that the command
  1168. `xxx' is not understood.  Actually, and somewhat perversely, the message
  1169. telling you that the file transfer is complete can appear while there are
  1170. still blocks of data in the pipeline - so check the modem lights before
  1171. quitting...
  1172.  
  1173. Most ftp sites have a textfile in the root directory which lists all the
  1174. files available for transfer.  On Unix systems this is called `ls-lR'
  1175. (Unix filenames are case-sensitive) because the command to recursively list
  1176. all files is ls-lR.  Other systems may have something called
  1177. 000directory.list - you'll just have to look in the root directory until
  1178. you spot something that looks like it might be the file listing.
  1179.  
  1180. The DIS ls-lR listing is just under a megabyte, so if you want Archimedes-
  1181. related files (what few there are) just cd to /pub/archimedes and do an ls.
  1182.  
  1183. If you are looking for DOS files (why?) DIS mirror (keep an automatically-
  1184. updated copy) of the famous SIMTEL-20 archive of PD DOS files (this is
  1185. maintained by the US military, although it is in the process of being
  1186. moved from the White Sands Missile Range).
  1187.  
  1188. Note that you receive no warning message if someone is ftp-ing to you, so
  1189. be careful about security (see the section on the FTPusers file).
  1190.  
  1191.  
  1192. Finger
  1193. ------
  1194.  
  1195. Finger also runs as a session, but it is transitory in nature and once
  1196. the (limited quantity of) information has been provided the session will
  1197. close automatically.  Note that if it's taking finger a long time to return
  1198. the information and you leave the session then the information will be lost
  1199. if it comes in whilst you're away.
  1200.  
  1201. Do not type anything into a finger session - for some reason this prevents
  1202. the information ever being sent (remember the display bug where characters
  1203. appear to get lost - this can affect the carriage return at the end of the
  1204. command - the solution is to press one of the cursor keys).  Finger sessions
  1205. can also get confused if you set more than one in motion at once...
  1206.  
  1207. If someone fingers you, you will see a message like `You're being fingered
  1208. by 158.152.9.18:1005!'.  The `158.152.9.18' is the IP address of the site
  1209. telnetting to you, and the `:1005' is a sequentially-assigned socket number
  1210. (which you can ignore).
  1211.  
  1212. Demon have a modified finger server running on gate and post: if you finger
  1213. <site>@gate it will tell you the IP address and other (possibly) useful info.
  1214. Note that when <site> is a DIS address you give the *full* sitename - e.g.,
  1215. finger sktb.demon.co.uk@gate will give you the IP address [158.152.9.18].
  1216. Remember that even if you modify your domain file this will not take effect
  1217. until the next time you start ka9q, so if you wanted to telnet in for a chat
  1218. during that connection you would need to use the numeric form of the address
  1219. (telnet [158.152.9.18] instead of telnet sktb).
  1220.  
  1221. The modified finger server on post also serves another function when used
  1222. with *abbreviated* sitenames of DIS subscribers - it tells you how many
  1223. mail messages are waiting for that site.  E.g., finger sktb@post will tell
  1224. you how many messages are waiting for sktb.  If you finger your own sitename
  1225. you will also be told who each message is from and to.
  1226.  
  1227.  
  1228. Hanging up
  1229. ----------
  1230.  
  1231. Enter the `quit' command or select the quit option from ka9q's icon-bar
  1232. menu, then use your comms program to hangup the modem.  Most versions of
  1233. ka9q scramble the serial port when they exit (which persists even though
  1234. both Jonathan and Anthony changed the code to try and fix it) - you can send
  1235. data out (which is why you can use your comms program to hangup), but
  1236. incoming data vanishes into thin air.  The only cure is to quit your comms
  1237. program and reinstall it (occasionally you may have to do this a couple of
  1238. times). It is possible that the version of ka9q which supports serial block
  1239. drivers does not suffer from this problem, but I've never used it so can't be
  1240. sure.
  1241.  
  1242.  
  1243. Other Commands
  1244. --------------
  1245.  
  1246. Other useful commands include:
  1247.  
  1248.     Record    this allows you to record a telnet session to a file.  Use:
  1249.  
  1250.             record <file>
  1251.  
  1252.         to record the current session (the one marked with the asterisk when
  1253.         you use the `session' command into <file>.  When you're finished,
  1254.         use `record off' to finish.  Note that you cannot record ftp
  1255.         sessions.  Theoretically you can record finger sessions, but in
  1256.         practice the incoming information usually vanishes before you can
  1257.         start recording.
  1258.  
  1259.     asystat    shows how many characters have been transmitted/received and
  1260.         how many overruns occured.
  1261.  
  1262.     ip status    shows how many ip packets have been transmitted/received
  1263.         and how many errors of various sorts have occured.  It is a good idea
  1264.         to check this (and asystat) during your first-ever connection to DIS.
  1265.         If there are lots of overruns or errors then you may have a problem
  1266.         with your serial port not coping with the speed (a problem which
  1267.         occurs frequently with RISC OS 3 - get hold of the serial port
  1268.         patch).
  1269.  
  1270.     tcp status    this lists all the tcpip connections.  Even if you
  1271.         aren't doing anything, connections will be shown for the various
  1272.         servers you started in autoexec (like start smtp, echo, discard,
  1273.         etc.) but if the number against the `remote socket' for a
  1274.         connection is 0.0.0.0:0 then that connection is not in active use.
  1275.  
  1276.         You can use this as a way of checking that it's safe to logoff, or
  1277.         if you see unexplained disc activity you can check if someone is
  1278.         ftp-ing to you (remember you get no warning message) - look for
  1279.         a local socket number ending in :21 with a remote socket number
  1280.         other than 0.0.0.0:0.
  1281.  
  1282.  
  1283. Bugs
  1284. ----
  1285.  
  1286. Apart from problems already mentioned, there is a bug which until recently
  1287. affected all versions of ka9q on all platforms - this concerns the transfer
  1288. of mail and news in both directions (the latest PC ka9q has fixed the bug
  1289. for mail but not for news).
  1290.  
  1291. Any outgoing news/mail message which has a line starting with a full stop (.)
  1292. should have another full stop appended to it by ka9q before that line is sent
  1293. to the remote site.  Any incoming news/mail message which has one or more
  1294. full stops at the start of the line should have the first full stop removed.
  1295. The net effect is that as long as both sites perform these actions, the
  1296. messages will end up the same as they started (why this has to be done at all
  1297. is to do with the mechanics of the message transfer).
  1298.  
  1299. Unfortunately ka9q does not do either action, so outgoing news/mail which
  1300. has a full stop at the start of the line will end up without one, whilst
  1301. incoming news/mail which ought to have a a single full stop at the start of
  1302. a line will have two.  This is not usually a serious problem, with one
  1303. exception.  Uuencoded files (see the section on Mail) sometimes have the
  1304. penultimate line start with a dot (only the penultimate line can ever start
  1305. with a dot, and even this is rare) - the dot gets doubled and the archive is
  1306. corrupted.
  1307.  
  1308. I found this problem when I obtained a uuencoded archive from the Newcastle
  1309. info-server and it was corrupted - it took a long time for all concerned to
  1310. figure out what had gone wrong.
  1311.  
  1312.  
  1313.  
  1314. BM
  1315. ==
  1316.  
  1317. BM is the horrible mailer which comes with ka9q (on the occasions Anthony
  1318. Frost actually remembers to include it).  It is a real pain to use, and is
  1319. something you only perservere with until you get something better (like
  1320. ReaderS).
  1321.  
  1322.  
  1323. Installation
  1324. ------------
  1325.  
  1326. You need to modify !BM.BMconfig to reflect your details.  As an example,
  1327. mine looks like:
  1328.  
  1329.     host sktb.demon.co.uk
  1330.     user pla
  1331.     fullname Paul L. Allen
  1332.     reply pla@sktb.demon.co.uk
  1333.  
  1334. You should replace the sktb.demon.co.uk with your own fully-specified site
  1335. name.  The user is the username you will use to send/receive mail (remember
  1336. the username must be a valid RISC OS leafname, and have a maximum of 8
  1337. chars).  Fullname is your own name (or a pseudonym if that's what you want).
  1338. Reply is the address which is inserted into the `Reply-to:' field of your
  1339. messages - try and get this one right or you won't get any replies.
  1340.  
  1341. BM can only handle a single user (so remember to check the postmast mailbox
  1342. by hand occasionally), but you can get round this by having several config
  1343. files named after users, and using obey files to delete BMconfig and copy
  1344. the appropriate config file to BMconfig.
  1345.  
  1346. Some versions of BM allow you to create a file !BM.Sig, the contents of
  1347. which are appended to the end of any mail message you create.  This usually
  1348. holds some informative or witty comment - it is considered bad taste and a
  1349. waste of bandwidth to have more than 3 lines of signature.
  1350.  
  1351.  
  1352. Using
  1353. -----
  1354.  
  1355. BM has many problems.
  1356.  
  1357.     1)  Lines do not automatically wrap, so you must insert carriage returns
  1358.         manually at the end of each line.  If your lines are longer than
  1359.         80 characters (because you forgot to press return) you will annoy
  1360.         people, if they're longer than 1024 characters they will be
  1361.         truncated en-route and people will miss your words of wisdom.
  1362.  
  1363.     2)  It isn't a cursor-driven text editor.  You can type, and you can
  1364.         use the delete key - that's all.  And once you've pressed the
  1365.         return key that line is cast in stone.
  1366.  
  1367.     3)  You can't quote bits of other people's messages when you reply.
  1368.  
  1369.     4)  There is a command (~r) that allows you to include a pre-prepared
  1370.         text file, but it doesn't seem to work.
  1371.  
  1372. It is possible to work around some of these problems (but if you do this
  1373. make *sure* you haven't used ka9q's `smpt timer' command to have ka9q scan
  1374. for mail every so often or a half-formed message may go out).
  1375.  
  1376. For new mail use BM to set up the address and subject, and send a blank
  1377. message (no text).  Then go to !MailDir.spool.mqueue.text and use Edit to
  1378. write the body of the message into the blank.
  1379.  
  1380.  
  1381. For replies, use BM's save option to save the incoming message.  Then use
  1382. the reply option to reply to the message, but again send a blank message.
  1383. Use edit on the saved message to `quote' it and compose your reply.  So if
  1384. the incoming message said:
  1385.  
  1386.     Hello Paul.
  1387.  
  1388.     How are you?
  1389.  
  1390. The first stage would be to `quote' it (indicate which bits came from the
  1391. original message - this is conventionally done by prefixing the lines with
  1392. a `>' character:
  1393.  
  1394.  
  1395. Then indicate that you are in fact replying by adding something along the
  1396. lines of:
  1397.  
  1398.     In message <1234@foo.bar.com> you wrote:
  1399.  
  1400.     > Hello Paul.
  1401.  
  1402.     > How are you?
  1403.  
  1404. Next, insert your own comments, and trim out any excess quoting
  1405.  
  1406.     In message <1234@foo.bar.com> you wrote:
  1407.  
  1408.     > How are you?
  1409.  
  1410.     I'm fine thanks.  How are you?
  1411.  
  1412. Note that the `> Hello Paul' was deleted - the sender doesn't want to see
  1413. that again, but the `> How are you?' was retained to jog his memory as to
  1414. what your answer refers to.
  1415.  
  1416. Finally use Edit to take your composed message and insert it into the blank
  1417. message in !MailDir.spool.mqueue.text.
  1418.  
  1419.  
  1420. Alternatives
  1421. ------------
  1422.  
  1423. After you get fed up with BM (which will be very shortly after you start
  1424. playing with it), you might want to consider using ReaderS which handles
  1425. both mail and news.  Send 10 (the bulk of which is divided between the RNLI
  1426. and the Cornwall Air Ambulance Trust) to
  1427.  
  1428.     Anthony Frost
  1429.     VCS Kernow
  1430.     10 Whiterocks Park
  1431.     St Anns Chapel
  1432.     Gunnislake
  1433.     Cornwall
  1434.     PL 18 9EF
  1435.