From: fenner@cs.psu.edu (Bill Fenner)
Subject: Waffle Frequently Asked Questions (FAQ)
Followup-To: comp.bbs.waffle
Originator: fenner@snobol.cs.psu.edu
Reply-To: fenner@cs.psu.edu (Bill Fenner)
Date: Sun, 13 Dec 1992 05:57:08 GMT
Expires: Tue, 26 Jan 1993 05:57:02 GMT

Archive-name: waffle-faq
Original-Author: vds7789@aw2.fsl.ca.boeing.com (Vince Skahan)
Last-modified: $Date: 1992/12/11 23:55:36 $


                    Waffle Frequently Asked Questions (FAQs)
                    ========================================

INTRODUCTION

  The intent of this document is to assemble, in one place, a general list
  of Waffle-related Frequently Asked Questions.  It is not intended to be
  all-inclusive, since no one document can replace the 400KB or so of
  documents that come with Waffle.

  Rather than repeat material maintained in other newsgroups, other periodic
  postings, or the \waffle\docs directory, this document will attempt to
  point the reader to the right place for information that is either too
  complicated to describe here, or is kept up to date elsewhere.

  This document includes information for the current official release of 
  Waffle (v1.65, released 8/1/92).

  In many cases, the answer to a FAQ might be something along the lines of 
  "you can't at v1.64 or before".  Version-specific answers are indicated 
  whenever possible.

  At this time, this document primarily addresses the DOS version of Waffle, 
  but feel free to submit unix-Waffle FAQs to the address above for inclusion 
  in the next posting.

  Comments, additions, and corrections are welcomed (via e-mail please).


GENERAL INFORMATION

1. What is Waffle ?

        Waffle is a USENET-compatible BBS system which supports
        UUCP mail, UUCP, and USENET news.  In addition, there is
        a built-in editor, file upload/download, and the ability to hook in
        external programs and gateway to (or from) other packages.

        DOS Waffle supports (but does not require) external Fossil drivers 
	to allow use of high speed modems and allows an MSDOS PC to be a 
	fully RFC compliant USENET node.  It also provides the UUCP-based 
	transport mechanism that generally comes with unix systems.

        Unix Waffle provides just the BBS functionality and requires the 
	'traditional' unix communications, mail, and USENET-news software 
        for those functions.

        See \waffle\docs\readme, unix.doc, and dos.doc for more details.

2. What operating systems does it run on ?

        IBM-PCs and compatibles running MSDOS (which includes Microsoft
                Windows, DR-DOS, and OS/2 if you have enough memory).

	Many variants of unix.  In particular, configuration options are
	already in place for: NeXT, BSD 4.2/4.3, A/UX, SUN, LINUX, IRIS,
	Ultrix, XENIX, Interactive 386/ix, HP/UX, Altos 2000.  If you
	have one of these environments, Waffle should just drop in with
	no problems.


LICENSING

1. Is Waffle free ?

        In a word, no.

        The DOS version is shareware that is made available in
        binary form at many locations so you can 'try before you buy'.

	The UNIX version is available as source code only, and there
	is no provision to 'try before you buy'.  However, the look
	and feel of the two versions are almost identical, so the DOS
	version serves as a 'try' version.

2. OK, so what's it cost ?

	For non-commercial sites, DOS Waffle costs $30.00 (US) for 
	binaries and $120.00 (US) for sources. The unix sources are 
	$120.00 (US) for non-commercial sites.

	Contact the author, Tom Dell <dell@vox.darkside.com> for info
	about purchasing Waffle, or see \waffle\docs\register.doc from
	the DOS distribution for more details.

3. What if I bought DOS binaries and I now want sources ?

        You pay the difference between the binary fee you've paid
        already and the cost of the source code.

4. Once I'm registered, can I upgrade to new versions for free ?

	Yes, although you might have to download a copy rather than
	expecting a floppy to come in the mail.


AVAILABILITY

1. How can I get Waffle by ftp ?

        Anonymous ftp:
        -------------

        Waffle (DOS version) is available via anonymous ftp from
        SIMTEL20 and its various mirror sites as follows:

        wsmr-simtel20.army.mil                  26.2.0.74
                pd1:<msdos.waffle>waf165.zip

        wuarchive.wustl.edu                     128.252.135.4
                /pub/mirrors/msdos/waffle/waf165.zip

        There are other SIMTEL20 mirror sites.  See the periodic postings
        in comp.binaries.ibm.pc.d and news.answers for more details.

2. What if I'm not on the Internet ?

        From the author's BBS:
        ---------------------
        The Dark Side of the Moon BBS      1.408.245.SPAM (7726) (Tom Dell)

        From SIMTEL20 and mirrors via mail-based-archive-servers:
        ---------------------------------------------------------
        A number of sites run archive-servers to give non-Internet folks
        the ability to do the equivalent of ftp-by-mail.

        If you do not have FTP access to SIMTEL20, files may be ordered by
        mail from:

           Internet-style:      listserv@vm1.nodak.edu
                                listserv@vm.ecs.rpi.edu

           UUCP-style:          uunet!vm1.nodak.edu!listserv
                                uunet!vm.ecs.rpi.edu!listserv

        Send this command to the server to get its help file:
                GET PDGET HELP

        NOTE: remember that if you request items from an archive-server
        via mail, that your traffic goes through every system between the
        server and you, and adds such load on each system.  Be courteous.

        There are a number of periodic postings in news.answers that tell
        how to get software via mail in far more detail than what is
        provided here.

        From other BBS sites:
        ---------------------
	Via mail:
		questor.wimsey.bc.ca (Steve Pershing):
			mail with text 'help' to username 'MailServer'

	Available for downloading:
		The Heart of Gold BBS
		+1 814 238-9633
		300-2400/v.32/v.32bis/ZyXEL 16.8k, free download on first call
		look in /file/ibm/bbs/waf*.zip


SUPPORT MECHANISM

1. How can I get questions answered ?

        First, read everything in \waffle\docs.
        Then read them about 3 more times.
        Then read them again.

        Running a USENET site is not difficult, but it's also not trivial.
        Running Waffle is not always immediately self-evident either.

        The docs will help... a lot.  Yes, there is a lot to read, and yes,
	it seems ponderous, but most of your questions are answered either
	in the docs or in this FAQ.

        Use of a version of 'grep' to scan all the documents for
        keywords is highly recommended, or looking in 1.65's new
	\waffle\docs\index.

2. Is there a USENET newsgroup for Waffle ?

        Yes, comp.bbs.waffle (also known as 'c.b.w.')

        Don't be shy, there's a lot of expertise in c.b.w.
        That's what it's there for.

3. Can I get in touch with the author of Waffle ?

        Yes.

        Tom Dell reads comp.bbs.waffle, though he doesn't generally
        post too often since he's busy 'doing good' for us all :-)

        He's also reachable via e-mail at dell@vox.darkside.com.
        Be aware that Tom gets *LOTS* of mail, so replies might
        take a while.

        In general, normal questions to comp.bbs.waffle will get quite
        a few responses in a very timely manner.  There probably aren't
        too many questions you can't get answered in c.b.w.

4. How many Waffle sites are there currently?

        It's hard to say since there are sites that are unregistered,
        not in the UUCP maps, and/or are mail-only and do not exchange news.

        There are at least 300 sites running the DOS version who have
        posted USENET news to 'the net' in the last six months or so.


MAIL

1. How can I route domainized mail for my uucp neighbor directly to them ?

        Domain-based mail goes to your smarthost (as defined in static)
        unless you override that route with an entry in paths.

        If you mail to 'friend@hostname.domain' and you're directly
        connected to them via UUCP, you can force a direct delivery
        with a paths entry of :

                hostname.domain         hostname

2. What should I do with my headers?

        Nothing unless you know what you're doing.

        In general, you want your 'netmail' and 'netnews' parameters in
        static to result in valid headers, so that people can reply to you.

        If you can do so, get into a domain and domainize all your headers.
        It'll make your life easier and will do the same for people who
        exchange mail with you.

        The important thing to remember is that if you put a domain-style
        address out without being domainized, people will probably not be
        able to reply to your mail.  Just because an address looks good
        doesn't make it valid...

3. I'm not in a domain.  What should my headers look like ?

        In general, you want to have an address that is a known-good route
        from a known site.

        Some possibilities are:
                All bang-path ===> some_known_host!your_site!you
                mixed format  ===> you%your_site.uucp@some_internet_site
                                   your_site!you@some_internet_site

        The actual format that works best for you depends on who you're
        connected to and what their mailer can handle.

	Note that the all bang-path format is not reccomended for news;
	sites running B News will mangle your article in such a way that
	downstream sites running newer software will drop it on the floor.

4. I'm a single site. Should I register in the UUCP maps?

	Yes, or get a domain name.

        The bottom line is that if people try to mail to you, you want
        your address to be reachable.  From Internet, you want to get
        domainized and get a MX record if you can.

        From UUCP-only sites that don't touch Internet, you probably
        need a map entry (or a header that routes you through somebody
        with a map entry you can trust).

5. Can I display something other than the sender in mail ?

        Yes, at 1.65 you can specify the header you want to see
        when you do a list of messages via the 'listmail' item in static.
	Unfortunately, this is not configurable per-user, only per-site.

6. Does Waffle support mail folders ?

        Yes, at 1.65.

	If you have no new mail in your mailbox, you can say 'mail *' to
	get a list of mailboxes to read.

7. Can I use (my favorite mail program) ?

        Some people have had luck with 'readmail' for reading only,
        and at 1.65 either mush or pc-elm should work for read/write.

        Version 1.65 has MMDF-style mailboxes with messages separated
        by four control-A's, so mush and pc-elm should be able to
        read/write these messages, though you'll have to reindex your
        mailbox with 'makebox' or the like if you write to it.

8. Can I keep a record of all mail that comes into the system ?

        Yes, create a file called 'inbox' in \waffle\admin and all
        incoming mail will be copied there. You can stash this file
	elsewhere via the rr.inbox variable in the static file.
	See rmail.doc for more information...


FILES SECTION

1. How can I set the prompt in the files section ?

        Use the undocumented (before 1.65) 'fileprom' static file 
	parameter.  Try 'fileprom : [$f] :' as an example.

2. I use a Fossil driver and a 16550 UART with FIFOs enabled. After
     someone transfers a file, why does it seem as if characters are not being
     transmitted?

        If you use DSZ, it directly accesses the UART, and uses the FIFOs. 
	By default, it turns them OFF when it finishes. Since Waffle (at least 
	1.64) doesn't appear to reset the Fossil driver, it tries stuffing 
	characters into a buffer that's turned off.

        The fix is to use the 'F' flag on DSZ's command line in
        \waffle\extern\_send and _receive:

        Z /command="C:\waffle\bin\dsz F port %d est 0 %b sz -m %i",

	or to use the new (as of 1.65) /reset flag on the extern to 
	make Waffle reset the FOSSIL:

	Z /command="C:\waffle\bin\dsz port %d est 0 %b sz -m %i" /reset

        This can also affect file transfers using the built-in
        editor.

3. Those @access files are sure a pain...

	1.65 eliminates the @access files and replaces them with one
	consolidated 'dirs' file that controls access to the files section.
	Read \waffle\docs\files.doc for more info.


EXTERNALS

1. How do they all work ?

        Simple.  There's \waffle\extern\_system for the normal
        commands, and you can add any command you want with any
        access you want by adding a corresponding file to the
        \waffle\extern directory.  Be careful regarding security, though...

2. I use 4DOS, yet Waffle shells out to DOS, not 4DOS...

        You need to change the command interpreter in \waffle\extern\_system
        to use 4DOS rather than command.com

3. If I implement Waffle as a door from another BBS, how can users exit
       from Waffle without dropping carrier?

       First, disable the 'exit' command in Waffle by adding the following
       line to your static file.

	disable: exit

       Then provide an external implementation of the exit command by
       creating extern\exit with the following contents.

	/access=0 /logout=exit /log /exit=81

	This causes Waffle to drop, without dropping the modem connection,
	with errorlevel 81 (or whatever level you want to specify).  The
	/access=0 ensures that all Waffle users can get back out once they
	get in.


EDITORS

1. What editors can I use ?

        Locally, any editor your little 'ol heart desires that works
        in pure ASCII (ie, you could use WordPerfectOffice, but not
        WordPerfect itself since that saves in a non-ASCII format normally).

        Remotely, you have to be careful to use an editor that is ANSI
        oriented and that doesn't do direct DOS screen I/O. Some editors
        that are frequently used (and are available on SIMTEL20 and other
        fine archive sites) include:

                MEANSI.ZIP - MicroEmacs compiled to use ANSI mode.
                BBStevie   - vi clone
                FSED       - a very configurable editor that can be made to
                                look like just about any editor you want

        Be aware that if you set up external editors for your remote users,
        you might have a security risk on your hands.  Be sure that you
        know whether your editor will let a remote user shell out to the
        operating system or not, and that you're giving exactly the
        privileges you mean to give out.

        BBStevie in particular is designed to be configurable so that you
        can prevent folks from getting to the shell (if you want) and you
        can use the same binary to ALLOW some other folks shell access if
        you want to do that, based on their Waffle access level.  

2. How can I use different local and remote editors ?

        At 1.65, you can define different local and remote editors from
        within Waffle, so it's simple.  The STATUS command does not let
	you edit your local editor, however; you have to ADMIN T <you>.

	Prior to 1.65, you should modify /waffle/extern/_editors to run
	a batch file which gets passed the baud rate, and decides based
	on that whether to run a local or remote editor.

3. Why does (insert editor here) work locally, but not remotely?

	If you try BBStevie locally and it's fine, yet you get a blank
	screen when you use it remotely, make sure that you do not have
	an ansi driver loaded.  Some people have luck using PC Magazine's
	ansi.com, which can be loaded and unloaded as part of a batch file
	around your 'waffle local username' command, so that there's no
	ansi driver loaded by default for remote users.

        Version 3.0 of BBStevie can use a FOSSIL driver to do its own 
        modem i/o, so that you can use a local ANSI driver to handle 
        local use and remote use will take care of itself.

NEWS

1. Can I keep a copy of all posts ?

        Yes, look in static.doc and the USENET file distributed with
	Waffle for /spy=monitor.

2. Can I gateway mail to news ?

        Absolutely.  You need to set up an alias in 'aliases' that
        looks something like the following:

        newsgroup-name  | post newsgroup.name

3. Does Waffle provided threaded newsreading ?

        Not at this time.  If you grab a copy of 'snews' from an archive
	site (ie, SIMTEL in the msdos.uucp directory) and hook it into Waffle, 
	you have something that's somewhat close.

4. Does Waffle support kill files ?

        Not at this time, and most of us would kill for that :-)
        This is planned for v1.66 if Tom responds to all the pleading.

5. Why do I see multiple copies of the same article ?

        Because Waffle has no 'real-news'-like history mechanism
        at this time.  Waffle considers an article to be a duplicate
        only if the local site is already in the path.

        If you get a newsfeed of the same newsgroup from several Waffle
        sites into your DOS Waffle, expect to see lots of duplicates :-(

        History mechanism is currently planned (rumored) for v1.66

6. Why do my local postings not make it to USENET ?

        Probably because you forgot to run the 'batch' command to take
        the list of articles to go out, assemble them, compress them,
        and queue them up for transmission.

        You should call 'batch' from your poll.bat or from cron via the
        schedule file.

7. Can I edit the newsgroups line when making a post ?

        Not directly, but you can 'followup groupA groupB' and get
        the same functionality.  Same goes for mailing a reply to
	somebody and also kicking your reply to somebody else.

8. Can I effectively read and followup to saved news messages ?

        Not really at this time.  If you're at the console, you could use
        'readmail' to read them reasonably efficiently, though you
        couldn't respond via mail or followup.

	There are also a myriad of relatively ugly workarounds available
	in 1.65 making creative use of makebox.exe, perl, etc. to make the 
	saved messages into a mail folder.

        Being able to have saved news articles as a mail 'folder' and
        use the mail program to read/follow/reply to saved news has
        been suggested to Tom for a future release.

9. In 'rn', how can I mail an article to somebody other than the author?

	Hit ":m username"

	Same idea for saving a message to a specified filename. In that
        case you want to hit ":s filename".

        Think of it like hitting ':' to get to command mode in vi.  

	Be careful, though, if you're at a "More" prompt - at the "More"
	prompt, a ':' just gets you to the "What next?" prompt, so you
	have to hit two colons.


ADMINISTERING A USENET SITE

1. What books should I buy ?

        There are several that no USENET admin should be without.

        From O-Reilly+Associates:

                Administering UUCP and USENET
                A Directory of Electronic Mail Addressing and Networks

        From 'The Waite Group'
                Unix Communications

2. What other stuff should I read ?

        Read USENET news, particularly some or all of the following
        groups:
                comp.bbs.waffle
                comp.mail.uucp
                news.admin.misc
                news.answers
                news.newusers.questions


COMMUNICATIONS

1. What settings do I use for my Telebit modem ?

        That's far too complicated a question to answer here.
        In general, turn compression off, and turn uucp 'spoofing' on.

        This can all be done on the fly by sending register settings as
        part of your send-expect sequence when you call out, or you can
        do so as part of your modem initialization string in static.

        Some Telebit modems don't save the register settings.  You might
        have to set the registers in both the init string and in the
        calling sequence.

        Also, grab a FOSSIL driver to control the port if you are running
        a 9600 baud modem or above.  BNU and X00 seem to be the most
        popularly used fossils according to the folks in c.b.w.  Don't
	forget to set the driver to 'fossil' in the static file.

2. What's the best throughput I can expect ?

        Throughput is a function of a variety of things, including
        (but not limited to):
                - the speed and load of both systems
                - the speed of both modems
                - line noise on the phone line
                - the size of the batches being transferred
                - whether or not you are using a FOSSIL driver

        With a 2400 baud modem, you should get anywhere between 200 and
        220 cps unless you're transferring very small batches.

	V.32 (9600 bps) should get anywhere between 700 and 1020 cps.  

        With a Telebit Trailblazer Plus, you should expect something on
        the order of 800 to 1400+ characters/second to a similar modem.

        Watch your \waffle\admin\net file for details regarding your
        average characters per second.  A drop off from what's "normal"
        could indicate hardware problems or line problems.

        [ shameless plug mode on ]

        To summarize your DOS net file easily, grab a copy of 'netsum' from
        the Waffle directory on one of the archive sites..

        It can generate a variety of reports that can answer things like
        "based on 11 cents/minute, how much DID I spend to uunet so far ?"

3. What are the special characters recognized by the chat script ?

        See \waffle\docs\network.doc or 'Managing UUCP and USENET'
        for details.

4. How can I stop my connection from timing out while switching speeds ?

        Use uu.delay in static to set a default delay or use the -t
        parameter in your uucico command to override the default.
        See network.doc for more details.

	Also, make sure your modem will wait for a carrier at least as long
	as the uu.delay you specify.  If your modem uses the AT command set
	this is probably the S7 register setting.

        Lastly, if you talk to a Telebit modem and you have a non-Telebit
        modem (that talks just file to anything else), you might want to
        ask your feed to put PEP tones last.  Initial PEP tones can confuse
        non-Telebit modems quite a bit.

5. What does this error mean?

        See \waffle\docs\network.doc or 'Managing UUCP and USENET' for
        details.


AFTERMARKET ADD-ONS

1. What add-on products are available for Waffle ?

        lots...and I mean lots.

        When in doubt poke around the Waffle directory on SIMTEL20 or a
        mirror site for the list of stuff that's purely Waffle related.

        Also, keep your eyes open in the Waffle newsgroup for information
        related to utilities that might not have been uploaded to Simtel.

        Lastly, look in \waffle\docs\third.doc in 1.65


MISCELLANEOUS

1. How can I set my mail and news signatures to be different ?

        It's built-in already.
        The mailsig file is for mail, the sig file is for news.

        The \waffle\system\sig file gets inserted if it's there and you
        don't have a personal sig or mailsig file.

        There are also a number of utilities around to give random or
        user-definable signatures rather than just one signature each time.

2. Can I use 16-bit compression ?

        Sure, if you have enough memory and can find a 16-bit compression
	program.

        One is provided with 1.65 and there are a variety of add-in
        16-bit compress programs for 1.64 and earlier available on SIMTEL.

        If you use 16-bit compress, be sure you have the 'compress' flag
        in the static file set correctly for the compress you're using.
	See \waffle\docs\comp16.doc .

3. What are all those files in \waffle\* anyway ?

        At 1.65, Look in \waffle\docs\roadmap.doc for descriptions of almost
        every file that comes with the software.

4. What document in \waffle\docs contains what ?

        In 1.65, see 'index.doc' for a description of the docs.
        If you have 'grep', you don't need to ask this anyway :-)

5. Can I alter my headers after composing a message ?

        Some of them are editable in 1.65 via the 'alter' static parameter.
	Don't put "To:", "CC:" or "Newsgroups:" in 'alter'; it won't work.

6. Does DOS Waffle support control messages ?

        Other than cancelling a message you posted that hasn't been
        batched up yet, no.  You might want to look at the contents of
	the control newsgroup once in a while to see what control
	messages you received that Waffle didn't process.


WAFFLE BUGS

As with any large system, Waffle has bugs.  Since the source is available,
some users have fixed some of the bugs that have cropped up.  In this
section, the notation "Patch: <user>" means that the mentioned user has
a patch to the source code available that will fix the problem.  You need
to already have the source code for this to be useful to you.  "BPatch: <user>"
means that the mentioned user has a binary patch available, which anyone
should be able to use.  "Fixed: 1.xx" means that the bug is fixed as of
the mentioned version.  "Workaround:" means that there is a way to avoid
the bug in normal operation.

1. When I mail to a | post alias from within Waffle, it only posts the headers.

	This is a bug having to do with external editors.
	Workaround: use the internal editor when mailing to such an alias.
	Patch: fenner@cs.psu.edu
	Fixed: 1.66

2. When I mail to a | post alias from within Waffle, it only works the first
	time, the second time it doesn't do *anything*.

	Workaround: none known.
	Patch: fenner@cs.psu.edu
	Fixed: 1.66

3. I configured my modem to work with FAX, but Waffle keeps saying
    [Hayes code -2] and hangs up.

	This occurs if you have Auto-ATA: in your static file.
	Workaround: make your modem answer the phone (no Auto-ATA: in the
	static file and ATS0=1 in the initialize string).
	Patch: fenner@cs.psu.edu
	Fixed: 1.66

4. I have personal aliases for "mom" and "dad", and when I type "mail mom dad"
    Waffle complains "No such user", even though I can type "mail mom" or
    "mail dad" and it works fine.

	Waffle's implementation of personal aliases isn't complete.
	Workaround: put the aliases in /waffle/system/aliases
	WARNING: This makes your aliases available to all users, so
	 *be* *careful* with what you put there.


TRANSITION TO 1.65

1. I updated my config files, but they didn't work.

        Some of the config files, notably 'paths', moved in 1.65 to the
        new \waffle\uucp directory.  Make sure you aren't editing the file
        in the old 1.64 location.

2. I'm going to run makebox.  Anything I should know ?

        Yes.  Makebox deletes the old mail files after it assembles the 
	new mailbox.  If you're paranoid, you might want to zip up your 
	1.64 mail messages before running makebox if you're not sure you'll 
	stay at 1.65.

	Taking a few dozen 1.65 messages in a mailbox and going backward to 
	1.64 is a major pain unless you're a perl or awk whiz.

3. 1.65 sure seems scary, why should I bother?

        Lots of reasons.  See history.doc and release.165 for details.

        Of course, if you're happy with the version you run, there's
        not a lot of rush to get updated, though most of the c.b.w. readers
	keep at the current version and you'll get better help from c.b.w. 
	by staying current.  There are still some Waffle sites at v1.61 (!!!).

Xref: sparky comp.bbs.waffle:5324 comp.bbs.misc:1576 alt.bbs:7601 news.software.readers:2514