home *** CD-ROM | disk | FTP | other *** search
/ synchro.net / synchro.net.tar / synchro.net / main / TEXT / NEWS9412.TXT < prev    next >
Encoding:
Text File  |  2001-07-30  |  95.1 KB  |  1,739 lines

  1.          ▐██▌░ ▄█████▄ ▄██████░ ██░  ██░ ▄██████░ ██░    ██░ ▄█████▄
  2.           ██░  ██░░░░░ ██▄▄▄▄░  ███▄ ██░ ██▄▄▄▄░  ██░    ██░ ██░░░░░
  3.           ██░  ██░     ██▀▀▀▀░  ██▀████░ ██▀▀▀▀░  ██░ ▄  ██░ ▀█████▄
  4.          ▐██▌░ ▀█████▀ ▀██████░ ██░ ▀██░ ▀██████░ ██▄███▄██░  ░░░░██░
  5.           ██░    ██░░░  ██░██░  ██░  ██░  ██░██░░ ▀██▀ ▀██▀  ▀█████▀
  6.           ▐▌░    ▐▌░    ▐▌░▐▌░  ▐▌░  ▐░   ▐▌░▐▌░   ▐▌░  ▐░    ▐▌░▐░
  7.            ▌░    ▐░      ▌░     ▐░         ▌░      ▐░         ▐░
  8.  
  9.      The Journal of IceNET                                 December 1994
  10.     ┌───────────────────────────────────────────────────────────────────┐
  11.     │The Editor's Desk                                                  │
  12.     │ The Upper Registers                                   Will 1@6754 │
  13.     │                                                                   │
  14.     │Features                                                           │
  15.     │ Getting to WWIVcon, Cheap!                          Seafox 1@2459 │
  16.     │ WWIV for OS/2 Preview                       East Bay Ray 323@3050 │
  17.     │                                                                   │
  18.     │WWIV Chronicles                                                    │
  19.     │  Modifications for Dummies!                       Spotnick 1@5497 │
  20.     │                                                                   │
  21.     │Software/Programming                                               │
  22.     │  IBM OS/2 Warp v3                                     Will 1@6754 │
  23.     │                                                                   │
  24.     │Light Bytes                                                        │
  25.     │  The REAL Sysops Guide                        Aldo Cella 654@7654 │
  26.     │  Silly Strings                                   Ima Moron 1@9661 │
  27.     │                                                                   │
  28.     │Special Feature                                                    │
  29.     │  The WWIVnet Technical                                            │
  30.     │  Documentation (2/4)                  Midnight Tree Bandit 1@8411 │
  31.     ├───────────────────────────────────────────────────────────────────┤
  32.     │                  IceNEWS Staff For December 1994                  │
  33.     │                                                                   │
  34.     │    "...Winners of the 1994 WWIVcon Award for Electronic News"     │
  35.     │                                                                   │
  36.     │                    IceNEWS Publisher - Jim 1@1                    │
  37.     │               IceNEWS Editor-In-Chief - Will 1@6754               │
  38.     │                                                                   │
  39.     │                    IceNEWS Contributing Editors                   │
  40.     │  WWIV-Specific - Spotnick 1@5497    Lite Bytes - Ima Moron 1@9661 │
  41.     │                    Software - Music Man 1@9680                    │
  42.     │                                                                   │
  43.     │                Editor-At-Large -  Crave 1@7668                    │
  44.     │               IceNEWS Production - Help Wanted                    │
  45.     ├───────────────────────────────────────────────────────────────────┤
  46.     │     IceNEWS is always seeking submissions from those who have     │
  47.     │      ideas for stories. If you have any ideas that you might      │
  48.     │        like to see published, contact any IceNEWS editor or       │
  49.     │        subscribe to IceNEWS Beat, subtype IceNEWS, host @1.       │
  50.     └───────────────────────────────────────────────────────────────────┘
  51.  
  52.  
  53.                         ┌───────────────────────────┐
  54. ────────────────────────┘ E D I T O R ' S   D E S K └────────────────────────
  55.  
  56.  
  57.   ┌──────────────────────┐
  58.   │ The Upper Registers  │  by Will 1@6754
  59.   └──────────────────────┴───────────────────
  60.  
  61.         Welcome to IceNEWS! We have a shorter than usual issue for you
  62. this month, but some neat information. Seafox tells you how you and the
  63. other sysops in your area can get to WWIVcon cheap. East Bay Ray has
  64. provided us with a sneak peek at the new version of WWIV for OS/2. We've
  65. got the second installment of the WWIV Technical documentation. And for
  66. all those who are considering starting up their own BBS, we've got the
  67. REAL sysops guide..
  68.  
  69.         We've also got a comprehensive look at the features in the new
  70. version of OS/2, Warp. While the product is not perfect (nothing is), I
  71. think that it has the potential to be an extremely important product.
  72. Therefore, you can expect to see more information on OS/2 Warp and
  73. related stories over the next year.
  74.  
  75.         Happy Holidays to all, and we'll be back to a more conventional
  76. format next month.
  77.  
  78.     ──══════════════════════════════════════════════════════════════════──
  79.  
  80.  
  81.  
  82.                       ┌───────────────────────────────┐
  83. ──────────────────────┘ F E A T U R E   S T O R I E S └───────────────────────
  84.  
  85.  
  86.   ┌────────────────────────────┐
  87.   │ Getting to WWIVcon, Cheap! │  by Seafox 1@2459
  88.   └────────────────────────────┴──────────────────────
  89.  
  90.  
  91.     Everyone understands air travel on the most basic level. You buy a ticket,
  92. you go up in the air, you come down, you leave the plane. However, the modern
  93. airfare climate is such a twisted morass that only people who work in it, day
  94. to day, have a glimmer of hope in understanding it.
  95.  
  96.     As a Travel Agent, I see this all of the time. The rules are so convoluted
  97. these days that only by being informed can you ever hope to get the cheapest
  98. fare.
  99.  
  100.         MY SYSOP WENT TO WWIVCON, AND ALL I GOT WAS THIS LOUSY GIF FILE
  101.  
  102.     Lets talk about groups. A group, in Travel Industry parlance, is 10 or more
  103. people, travelling on the same flights together. If a group has 21 people, that
  104. 21st person goes free. (A great way to reward the local server sysop....)
  105. Groups require planning. The best way to plan a group is to have a person
  106. designated as the group leader. From there, you determine how many people are
  107. interested in going. Then, the group leader calls his local travel agent, and
  108. gets the fare to the destination, as well as what airlines fly there from his
  109. home airport. (Everything is airports. A group can consist of all of
  110. Saskatechewan, as long as they all use the same airport to fly to the
  111. convention.) From there, the Group leader contacts everyone and advises them of
  112. the fare. Anyone who says "Outrageous! I could buy a Yak for that much money,"
  113. or any similar sign of toxic cashflow shock, should probably be moved into the
  114. maybe column. From there, you get a firmer count. Then, the fun starts.
  115. Call the travel agent again, or use whatever arrangements the convention has
  116. planned. (WWIVcon might be developing it's own meeting desk, if the particulars
  117. can be worked out...) Then, inform the agent of your group size, as well as
  118. preferred flight times and carriers. Make sure to ask which ones are non-stop.
  119. It might be worth it to make a stop in St. Louis or Houston to fly TWA or
  120. Continental, for instance. (And of course, with proper co-ordination, you can
  121. pick up other groups at such points, thereby subjecting the flight attendants
  122. to an ever growing hoard of BBS'ers.....) The travel agent will call the
  123. airlines, and negotiate a rate for your group. Be sure to ask the travel agent
  124. what the rate is on all of the carriers you're interested in, not just one or
  125. two. Some agents get commission overrides on particular carriers, and they will
  126. try to steer you towards certain carriers even though the cost may be higher.
  127. From there, you will also get a deadline. Take this deadline very seriously.
  128. Also, you will only be able to reduce your group by 20% and still keep the
  129. negotiated rate.
  130.  
  131.     Get on this today. As space fills up, and as we get closer to the date, it
  132. will be harder and harder to get group space.
  133.  
  134.     Now, what if you're one of those people who lives in a tiny WWIV community?
  135. This is where the Convention/Meeting Rate kicks in.
  136.  
  137.     The WWIVcon staff will be negotiating Convention rates with the major
  138. carriers. This will definitely include United, Delta, and American Airlines,
  139. and will also probably include a few of the smaller carriers as well. (If you
  140. know of one you want to fly on, E-mail the WWIVcon staff) Convention rates are
  141. a compliment to Group rates, but with a twist.  Group rates require everyone to
  142. be on the same flights. The convention rate provides a percentage discount to
  143. all people flying to a certain convention point, as long as they book their
  144. reservation using the convention code. The usual discount is 5% for coach
  145. class tickets, and 10% for first class seats.
  146.  
  147.                             ACTUAL CONTENTS MAY VARY
  148.  
  149.     There are several things that you need to make sure you get.  First off, you
  150. want seat assignments and boarding passes.  This ensures you the kind of seat
  151. you want, and also saves time because you don't have to go the counter at the
  152. airport.  However, there is one good reason to go to the counter-- Exit row
  153. seats. On some carriers, Exit rows can be assigned beforehand, but the boarding
  154. passes can't be issued. This is to ensure that the passenger meets the exit row
  155. criteria implemented by the FCC- physically able to open the exit doors, as
  156. well as willing to open them and assist people in evacuating the plane in an
  157. emergency. Exit rows offer extra legroom. You want the seats facing forward, as
  158. the seats facing backward do not recline. The row just in front of the rear
  159. facing exit row also don't recline.
  160.  
  161.     Ask about special meal options.  They are usually catered in much smaller
  162. quantities, and as a result, usually taste much better. This is extra important
  163. if you have dietary needs.  Low fat, low salt, kosher, hindu, vegetarian,
  164. vegan, and moslem meals are all offered by most carriers, as well as options
  165. for fruit plates, seafood meals, and a couple of other special meals.
  166. Make sure you get the lowest fare in the market, and if at all possible, get
  167. one that is refundable. If you are willing to do a connection, and can't take
  168. advantage of convention or group rates, try to get a connection through Chicago
  169. or Atlanta. These cities have become low fare meccas since the wave of cheaper
  170. start-up carriers have hit the markets. Names to remember are MarkAir, Valujet,
  171. Southwest Airlines, National Airlines, and Midway Airlines. Avoid Sunjet- they
  172. frequently lose reservations and are often not on time.
  173.  
  174.     Get a frequent flyer number on whatever carrier you plan to fly on. If you
  175. are flying TWA, and you usually fly American, you can use your advantage number
  176. on your flight. Frequent flyer numbers give you something for nothing, and
  177. that's always a good deal.
  178.  
  179.                           IT'S LATE IN THE EVENING...
  180.  
  181.     Now it's less than one month before WWIVcon. Everyone else who's going in
  182. your home town (or more importantly, airport region,) has made their
  183. plans. They're getting a group fare, and the local server sysop is getting to
  184. fly free as thanks for all he does. Suddenly, you realize that you are, after
  185. all, going to be able to make it. But you can't afford full coach, and there
  186. are no fare wars going on. What to do?
  187.  
  188.     You call Travel Bargains. If you're within 30 days but not within a week,
  189. Travel Bargains can get you a low fare on TWA.  They do not handle originations
  190. in St. Louis. (They have a really stupid reason for this......) You will need a
  191. credit card, or be willing to Fed Ex a check. Their fares are usually 60%  of
  192. TWA's KE14NR fare. Call TWA to get the rate for that fare, ask if it's
  193. available in "T" class, and then call Travel Bargains. Their number is 1-800-
  194. 872-8385. And if you put it off for too long, you're gonna miss it, bud.....
  195.  
  196.                               BIG OL' JET AIRLINER
  197.  
  198.     It *is* possible to get to WWIVcon economically. The key is planning. With
  199. WWIVcon in Buffalo, a lot of people have shown concern that it'll be too
  200. expensive. However, the WWIVcon Site Committee has decided that Buffalo has so
  201. much to offer that it offsets the expense. If you can possibly make it, you owe
  202. it to yourself to try.
  203.  
  204.     If you're in a big WWIV community, volunteer to be a group leader. This will
  205. mean more people from your area will make it, and someone might get to go free.
  206. E-mail Jim (1@1.Icenet) and let him know you want to get 20 of your closest
  207. friends at WWIVcon.
  208.  
  209.     If you're in a smaller community, get involved in the WWIVcon sub.
  210. And if you're in Buffalo, get ready, because a whole bunch of computer nerds
  211. are about to descend on you and want a good time.
  212.  
  213.     With the information in this article, you will be much better armed to deal
  214. with the realities and possibilities of affordable air travel. Because it's
  215. always easier to let someone else drive............
  216.  
  217.     ──══════════════════════════════════════════════════════════════════──
  218.  
  219.   ┌───────────────────────┐
  220.   │ WWIV for OS/2 Preview │ by Easy Bay Ray 323@3050
  221.   └───────────────────────┴────────────────────────
  222.  
  223.  
  224. [Introductory Note by IceNEWS EIC, Will 1@6754:
  225.  
  226.         A few months ago, East Bay Ray, developer of the OS/2 version of
  227. WWIV, sent us a question and answer sheet about the product. Ray's been
  228. busy since, and we haven't been able to obtain more information. However,
  229. I've decided to run this information in it's entirety in order to inform
  230. the WWIV community of what's going on in this exciting area]
  231.  
  232.  
  233. Guys - This is my preliminary Q&A for WWIV for OS/2.  _PLEASE_ let me
  234. know if you can think of any other questions you or another SysOp
  235. might like to know the answer to...
  236.  
  237. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  238.  
  239. WWIV for OS/2 - A Preview
  240. by Jeff Garzik (East Bay Ray #323@3050 WW4Net)
  241.  
  242. Since many of you have sent me questions via e-mail, I will attempt to
  243. describe WWIV/2 in a Q&A format.
  244.  
  245. How is the WWIV/2 user interface different?
  246.  
  247. There is no difference.
  248.  
  249.  
  250. How is the WWIV /2 SysOp interface different?
  251.  
  252. There is no difference.
  253.  
  254.  
  255. How is the WWIV/2 setup different?
  256.  
  257. For new installations, the SysOp will go through the normal INIT.EXE
  258. setup procedure, and then run INITOS2.EXE to complete the
  259. installation. For upgrades, the SysOp will merely have to run
  260. INITOS2.EXE.
  261.  
  262.  
  263. I'm upgrading to WWIV/2 - will I lose my data?
  264.  
  265. Absolutely not.  WWIV/2 data files are byte-for-byte compatible with
  266. files created with WWIV for DOS.
  267.  
  268.  
  269. Will I notice any change in response times over WWIV for DOS?
  270.  
  271. On lower end machines (386s) or machines with very little RAM
  272. (4MB-6MB), there will be very little difference in the response times.
  273. On other machines, there will be an increase in response times and
  274. decrease in lost characters (for the higher speed modems).
  275.  
  276.  
  277. What are the minimum requirements for running WWIV/2?
  278.  
  279. OS/2 version 2.1
  280. Any 386, 486, or Pentium machine
  281. 4 megabytes of RAM
  282. Any WWIV-supported modem
  283.  
  284.  
  285. What are the recommended requirements for running WWIV/2?
  286.  
  287. OS/2 version 2.11 (that's OS/2 v2.1 with the CSD applied)
  288. 486 or Pentium machine
  289. 8 megabytes of RAM
  290. Any WWIV-supported modem
  291.  
  292.  
  293. Will WWIV/2 run my new super-fast 19.2k or 28.8k modem?
  294.  
  295. Yes, but you currently have to lock your port at 38400.  The next
  296. version of WWIV/2 will support any speed your serial card supports.
  297.  
  298.  
  299. Will WWIV/2 run native OS/2 chains?
  300.  
  301. Yes.  The C chain functions (inkey(), mpl(), onek(), etc.) provided by
  302. WWIV will be available in the form of an OS/2 DLL.
  303.  
  304.  
  305. Will WWIV/2 run my current MS-DOS chains (doors)?
  306.  
  307. Yes, but expect to take a resource hit.  Running an MS-DOS program
  308. requires a much greater amount of memory than a corresponding OS/2
  309. program.
  310.  
  311.  
  312. Will OS/2 versions of the network utilities become available?
  313.  
  314. This issue is up to Wayne, not me.  I have bugged him several times,
  315. but he doesn't want to give out the source to the network utilities.
  316. What does that mean for you?  The initial version of WWIV/2 will use
  317. the DOS network utilities -- taking up a LOT of your precious RAM.  If
  318. you are running two nodes on the same OS/2 machine (or simply running
  319. another application while WWIV/2 is doing network stuff), expect to
  320. take a serious performance hit.  Bug Wayne so that you, the SysOp,
  321. will have decent OS/2 network utilities when WWIV/2 is released!  ;-)
  322.  
  323.  
  324. How much will this glorious product cost?
  325.  
  326. Ask Filo.  I'm just a byte monkey.  ;-)
  327.  
  328.  
  329. Will shrink capability be available in WWIV/2?
  330.  
  331. No.  There is no need.  OS/2 does not have a foolish 640k barrier.
  332.  
  333.     ──══════════════════════════════════════════════════════════════════──
  334.  
  335.                       ┌───────────────────────────────┐
  336. ──────────────────────┘ W W I V   C H R O N I C L E S └───────────────────────
  337.  
  338. ┌──────────────────────────┐
  339. │Modifications For Dummies!│ by Spotnick 1@5497
  340. └──────────────────────────┴──────────────────────────────────────────────────
  341.  
  342.    If there is something that I dislike about the WWIV modifications, it's that
  343. 75% of them never works on the first time you install them. For some reason,
  344. there is always a bug somewhere in the modification, and you wasted your time
  345. installing them.
  346.  
  347.    Well, I am one of those modification author that was writing modifications
  348. that always needs a fix, because I was having problems to extract the mod from
  349. inside WWIV and put it in a text file. Many other authors are regular to the
  350. "D" revision of their modifications, and sometimes there is more...
  351.  
  352.    To start being careful about that, I remember receiving a e-mail that made
  353. me realize that it would be better for me to test them before posting anything,
  354. that what I started to do then, and also asked for beta testers to check them
  355. out before their release. It was great, but of course, there is NOTHING that
  356. can stop an error from getting in there.
  357.  
  358.    So to you, novice or intermediate modders, even those who are well
  359. known to produce quality modifications, you should all follow those simple
  360. rules:
  361.  
  362.         ■ Never release a modification before a rough test on your own system
  363.           for a specific period of time (1 Month is good).
  364.  
  365.         ■ Ask some people to test the modification for you before releasing it.
  366.  
  367.         ■ Install your modification on a virgin copy of WWIV before releasing
  368.           it. Follow your own text file and act if you were modding for the
  369.           first time.
  370.  
  371.         ■ Make your modification to fit the more possible with WWIV standards
  372.           functions, avoid the "you must have *.MOD installed to use this
  373.           modification" unless it is one of your own modification, or something
  374.           very popular. Because most of the time, people don't have that
  375.           installed and will have to look everywhere to find it before
  376.           installing your modification. A kind of pain that will reduce the
  377.           activity of your own modification.
  378.  
  379.  
  380.    If you follow those simple rules, you will have success in the WWIV world.
  381. Because you will be known as a bug-free modifier and people will start
  382. trusting you. Note that there is other things that you must follow, that is
  383. why I decided to include this ethical code for WWIV modificators. This is
  384. generally what most Sysop uses, but in case you didn't know, here it is:
  385. I will take my own modifications group example to follow the ethical code:
  386.  
  387.                   ┌─────────────────────────────────┐
  388.                   │ WWIV Modifications Ethical Code │
  389.                   └─────────────────────────────────┘
  390.  
  391. The Header
  392. ══════════
  393.  
  394.    ┌┬─── ──  ─   ─  ── ───────────────────────────────────────────────────┬─ ∙∙
  395.    ││                    Alternative Worlds Presents                      │
  396.    └┼─────────────────────────────────────────────────────────────────────┐
  397.    ││ Mod Name       » ALTW-02A.MOD                                       │∙
  398.    ││ Difficulty     » █████▒▒▒▒▒▒ (5/10)                                 │:
  399.    ││ WWIV Version   » 4.24                                               ││
  400.    ││ Date Affected  » 10/24/94                                           ││
  401.    :│ Files Affected » BBS.C / MODEM.C / NETSUP.C / VARS.H / XINIT.C      ││
  402.    ∙│ Description    » VGA Waiting For Caller Screen Status Screen        ││
  403.     └─────────────────────────────────────────────────────────────────────┼┐
  404.     │         A French Mod Division Release - (C) 1994 FutureSoft         ││
  405. ∙∙ ─┴─────────────────────────────────────────────────── ──  ─   ─  ── ───└┘
  406.  
  407.  
  408.  ■ Avoid too long header: Generally, most of the Sysops hate that. The example
  409.    has a fancy header, but it isn't too long, so you can see it in less than a
  410.    half screen. DO NOT PUT COLOR CODES IN THEM! This will be a pain when people
  411.    will see it in their text editor when doing the modifications.
  412.  
  413.  ■ Mod Name Line: Generally, you input the filename you wish, not more than
  414.                   7 letters, and it should have the extension *.MOD and not
  415.                   *.WWIVVERSION, because this cause many problems to SysOp that
  416.                   collects modifications. You must use a name that is
  417.                   specific to your alias or system name, to avoid
  418.                   incompatibility with modifications below WWIV v4.22 where
  419.                   there was no ethical code. You have to put a number also
  420.                   to show that this is your xth modification, and put the
  421.                   revision letter if it is a revision.
  422.  
  423.                       ALTW-02A.MOD
  424.                       ^^^^ ^ ^
  425.                        |___|_|____________ ALTW, specific to Alternative Worlds
  426.                            | |
  427.                            |_|____________ 02, this is the 2nd modification
  428.                              |
  429.                              |____________ A, this is revision A.
  430.  
  431.                   If you follow this example, it will help you on your way to
  432.                   hall of fame <grin>, because it will be easy to find your
  433.                   modifications on a BBS that put mods in their directories.
  434.                   Double check to be sure that nobody else uses your acronym.
  435.  
  436.  ■ Difficulty Line:  Put yourself at the time you started modding, and think
  437.                      of the difficulty your modification would be to install.
  438.                      You can use a graphical meter: █████▒▒▒▒▒
  439.                      or put the numbers: (5/10)
  440.                      This will help novice modders to ask for help to install
  441.                      some modifications, or to be more careful than others.
  442.  
  443.  ■ WWIV Version Line:  Tell on which version you installed the modification
  444.                        and TESTED the modification. Do not include future
  445.                        versions of WWIV unless you are sure that it is going
  446.                        to work. We saw too many people tell "should work with
  447.                        v4.23" and that were using "open/read/write" without
  448.                        the multi-instance modifications needed that this is
  449.                        very important. On the example, you see v4.24, well,
  450.                        as a Beta site of WWIV, I can assure that this will
  451.                        work with v4.24. I did a small mistake by not including
  452.                        the Beta number (which is ßeta 3). Do not include
  453.                        previous versions of WWIV unless you tested it also,
  454.                        a v4.23 modifications won't necessarily work under
  455.                        v4.22, so then people using v4.22 will be aware that
  456.                        it is possible that the modification won't work.
  457.  
  458.  ■ The Date Line: Very useful for system that produce mods collection, to put
  459.                   your modification in the right collection. Also shows that
  460.                   it is a repost if someone post your modification again.
  461.  
  462.  ■ The Files Affected Line: This is very important also, it should how many
  463.                             files your modification will affect, and will warn
  464.                             the person if it affects any of the major *.H that
  465.                             need an entire compilation. It will also help
  466.                             SysOp to think if they already modified that file
  467.                             before reaching the last step of your modification
  468.                             and finding out that they have a totally different
  469.                             function instead of yours.
  470.  
  471.  ■ The Description Line: A very BRIEF description of what your modification
  472.                          does, not more than ONE line, keep in mind that this
  473.                          is what people will check first, so you need to have
  474.                          a punch line there. If your punch line is interesting,
  475.                          people will check the extended description section.
  476.  
  477.  ■ The Name Line: Include your handle or modification group name, to know
  478.                   who did that modification.
  479.  
  480.  ■ The Copyright Line: Now that we know that modifications can be copyrighted,
  481.                        but keep in mind that all WWIV code included is
  482.                        copyrighted to WWIV Software Services, you have the
  483.                        right to include your own copyright notice. I suggest
  484.                        you put the disclaimer at the end of the file instead
  485.                        of the top, because this generally bug people very much,
  486.                        only if it is more than one line.
  487.  
  488. Introduction
  489. ════════════
  490.  
  491.  ■ The Long Description: A verbose description of what your modification will
  492.                          do, generally, it is better if you include a snap
  493.                          shot of what it will look like also. You need to
  494.                          describe each features of your modification. Include
  495.                          also multi-taskers under which your modification has
  496.                          been tested. This can be very useful. You should also
  497.                          put the compiler name and version that you used to
  498.                          do this modification. I already did modifications that
  499.                          weren't working with older versions of Turbo C.
  500.  
  501.  ■ Requirements: Include anything that is needed to use your modification. If
  502.                  you need another place, this is the place where you put the
  503.                  name of this modification. Example:
  504.  
  505.                  Requirements for using this modification:
  506.  
  507.                    - VGA Graphic Card Or Better
  508.                    - VGA Monitor or Better
  509.                    - WWIV v4.23 or higher (tested on v4.24 Beta 3)
  510.  
  511.  ■ Thanks: This is where you give credit where it is due, generally it would
  512.            be a shame to forget Wayne Bell in those lines, since it is his
  513.            software you are modifying. Also put here the name of each and
  514.            every single person you might have steel code from. This is very
  515.            important, just like when you do a report, you have to include all
  516.            your sources.
  517.  
  518.  ■ Upgrading Information:  If your modification is a revision, you need to
  519.                            tell people that installed your modification, what
  520.                            to do to upgrade from previous version, which steps
  521.                            to proceed, etc... this is NEEDED in each mod that
  522.                            you produce.
  523.  
  524.  ■ Legend: Include this because it might confuse some people if you produce
  525.            modifications that doesn't use the same standards. Example:
  526.  
  527.                        ┌═══╤════════════════════╕
  528.                        │ = │ Existing Line      │
  529.                        │ + │ Add this line      │
  530.                        │ - │ Remove this line   │
  531.                        │ * │ Modify this line   │
  532.                        ╘═══╧════════════════════┘
  533.  
  534.            Note also that some people use 1 space between the code, and some
  535.            doesn't. There is no standard for this, but it will be a good place
  536.            to put a note about it. This won't change a thing, but make the
  537.            source code more easy to see.
  538.  
  539.  ■ Warning Line: Do like most of modders, include a warning line even if you
  540.                  have tested your modification. Tell people to do BACKUPS of
  541.                  their source before installing your modification. This is
  542.                  important.
  543.  
  544. Body Of The Modification
  545. ════════════════════════
  546.  
  547.  ■ Steps: Separate your steps so it can be easily found. We use this standard:
  548.  
  549. ───[Step 1]───────────────────────────────────────────────────────────────────
  550.  
  551.           So we are sure that nobody will miss a step. Don't include more than
  552.           one operation in each step. Do not include modifications to more than
  553.           one function in each step. Put at least 2 existing lines, so people
  554.           can locate more easily. It is also VERY IMPORTANT that you don't put
  555.           color codes at the end of each lines (after the ';' code generally)
  556.           even if it makes your mod ugly at the display, because this causes
  557.           pain to everyone when they try to install your modification from
  558.           an extracted post.
  559.  
  560.  
  561.  
  562. The End Of File
  563. ═══════════════
  564.  
  565.  ■ Compiler Informations: Tell people if they need to do MAKE FCNS, if there
  566.                           is a change to the makefile, please tell them under
  567.                           which compiler you did this modification, and also
  568.                           notice if they need to do a full or partial
  569.                           compilation.
  570.  
  571.  ■ Informations Lines: Tell people where they can reach you, name of your
  572.                        BBS, phone number and network address of the main
  573.                        WWIV networks you are in. You don't have to include
  574.                        local networks generally, but you can do that too.
  575.                        If you have a sub about your modifications, leave a
  576.                        note here for people to know how to get support from
  577.                        you. If you don't plan to do support, it is the place
  578.                        to tell that, because you should generally get mail
  579.                        from the modifications you did.
  580.  
  581. And you are done, following all those steps should end with a clear text file,
  582. ready to post on the modification subs all around. If you upload your mod to
  583. a system, please include in the archive a FILE_ID.DIZ or DESC.SDI inside it,
  584. with your description. Here is the example we use in French Mod Division:
  585.  
  586. Shut-Down System For WWIV
  587.  
  588. Mod Name       : ALTW-27.MOD
  589. Difficulty     » █▒▒▒▒▒▒▒▒▒
  590. WWIV Version   » 4.23/v4.24
  591. Date Affected  » 10/25/94
  592.  
  593. A French Mod Division Release..
  594.  
  595. So people will see that when they download or list the files. Be sure that
  596. the first line is the description, because stock WWIV version with file
  597. tagging doesn't allow to show more than 1 line, so this is the important line.
  598.  
  599. If you post the modification, there is also an ethical code for the title you
  600. use. I already tried to have people do it another way, and I got tons of
  601. replies to keep it the way it is. PLEASE do that, it is very important, else
  602. your modification may suffer from that, because it is needed for SysOps that
  603. extract modifications do their xfer area:
  604.  
  605. Title:  FILENAME.MOD: Breif Description Of Your Modification.
  606.  
  607. Once this is done, then everything should be perfect. Again, this is a
  608. standard. You might not conform to it, but this is what should help people to
  609. follow a code that will help the WWIV community.
  610.  
  611.  
  612.                  ┌─────────────────────────────────────────┐
  613. ─────────────────┘ S O F T W A R E / P R O G R A M M I N G └──────────────────
  614.  
  615.  
  616.   ┌────────────────────┐
  617.   │ IBM OS/2 Warp v3   │  by Will 1@6754
  618.   └────────────────────┴─────────────────
  619.  
  620.         With the release of the new version of OS/2, now officially known
  621. as Warp, IBM has brought Operating System/2 to a new level. Warp features
  622. enhancements and performance increases in virtually every area, with added
  623. performance, usability features, and bonus applications. While it's
  624. dangerous to compare Warp to an as yet unreleased product (Windows 95),
  625. it's probably safe to say that Warp is a match for any Operating System
  626. product that will be made available in the next year. I should note that I
  627. made these installations over Windows for Workgroups 3.11, starting from
  628. scratch. The current version of Warp is not designed to install over OS/2
  629. 2.1 systems.
  630.  
  631.        The most noticeable enhancement to the product is that it's much
  632. leaner in terms of memory requirements. Warp takes as much disk space as
  633. before, but it will now successfully run (although not blazingly fast, but
  634. tolerably so) in four megabytes of RAM. In fact, this article is being
  635. written on a 486sx-33 laptop with four megabytes RAM running Warp, and
  636. while there's a lot of disk swapping, it's really just as usable as
  637. Windows for Workgroups on the same machine. Overall execution speed has
  638. been improved (although with the additional features in the release version,
  639. Warp does execute slightly slower than the first Beta). In tests, Warp
  640. executed Win16 applications considerably faster than Windows NT 3.5, and
  641. only slightly slower than Windows For Workgroups 3.11 (in fact, the difference
  642. was not noticeable in virtually every case, except for a slight delay at
  643. the beginning where OS/2 loads the Windows code into memory).
  644.  
  645.         Device support has been greatly increased, as well. Warp comes
  646. with a much larger variety of sound, video, SCSI, and CD-ROM drivers than OS/2
  647. 2.x. Earlier versions came with a large amount of printer drivers, and
  648. that number has been increased as well. Warp now ships with drivers for
  649. most Sound Card-CDROM combinations, something else that was lacking in
  650. 2.x. It should be noted that OS/2 now supports more devices right out of
  651. the box than Windows 3.x or Windows NT, and supports many newer pieces of
  652. hardware to boot.
  653.  
  654.         The installer has been greatly improved. It now does a much better
  655. job of auto-recognizing hardware than before. On both my systems, it
  656. correctly identified all the hardware (it picked the wrong NEC CD-ROM
  657. drive, but the driver it installed functioned fine) installed. Again, some
  658. of it (such as the SCSI card) was not supported directly under 2.1. There
  659. is also a "One Button Install" option for novice users, which will make
  660. all the decisions for you, and then just prompt you for disks. When I
  661. tried this, it worked fine. Multimedia install, once a seperate process,
  662. has been integrated into the main installer, althouh some of the extra
  663. multimedia programs (such as the Media Viewer) are installed separately as
  664. part of the BonusPack.
  665.  
  666.         The desktop has three main new features, once installed. Most
  667. obviously, the desktop default color has been altered to teal (which,
  668. while it may sound terrible, is actually a wonderful color for the
  669. purpose, and I haven't bothered to change it to anything else), and all
  670. the icons have been redone in a 3d style. This lends Warp a much more
  671. modern look than pervious versions. A floating Launchbar has been added to
  672. the bottom of the screen. It holds shadows of various objects (by default,
  673. the shredder, A: drive, and some others), which you launch with one click.
  674. You can also create drawers to hold additional objects. My Internet
  675. drawer, for instance, has the SL/IP dialer visible on the Launchbar, and
  676. the rest of my Internet utilities in the drawer. To see the rest of the
  677. icons, I click on the handle and the drawer comes out. Click again to
  678. retract it. The drawers can be dragged to any portion of the screen, to
  679. boot. The last obvious change is on the pull-out menus that you access by
  680. right clicking an object. The settings selection, which was previously a
  681. submenu under the "Open" heading, now has it's own  place on the main
  682. menu. This makes training and use much easier.
  683.  
  684.         Multimedia support in Warp has been greatly enhanced. The digital
  685. video module now supports more varieties of .AVI file, and also plays
  686. digital video files in .FLI and .MPG (MPEG) formats. A "Media Viewer" is
  687. included in the BonusPack (see below) which acts as a light table for
  688. multimedia files. This works by dragging image files (GIF, TIFF, PCX, etc)
  689. into the window, where OS/2 then generates a thumbnail image. It also
  690. provides "click here" icons for video and sound files. This worked well,
  691. and produced accurate thumbnail representations of the images. The only
  692. problem was when I dragged a large (over 1024x768) file onto the display.
  693. The system slowed almost to unusability as the Viewer attempted to
  694. generate a thumbnail. After five minutes, I rebooted.
  695.  
  696.         As we've seen, Warp also includes drivers for many more sound
  697. cards (including some relatively obscure ones) than it did previously. You
  698. also get a stripped down copy of Person-to-Person, IBM's groupware
  699. offering. An almost totally new set of sound files are included, as well
  700. as several MIDI music files, including a nice jazz riff that plays during
  701. the BonusPack installation.
  702.  
  703.        Warp now includes a complete set of external applications in the
  704. new "BonusPack". IBM Works (originally a popular stand alone integrated
  705. package for OS/2) includes a spreadsheet, database, word processor, and
  706. charting module. These are not "applets" like those packaged with Windows
  707. 3.1 or Windows NT - they're full strength applications, with features like
  708. a spell checker, mail merge, and full DDE links between them. At the
  709. product launching, one IBM representative said that the programs were
  710. being included to demonstrate the usefulness of real 32bit OS/2
  711. applications. They do a good job. The OLE/DDE features, perhaps the best
  712. integrated, are fast and seamless. For example, you simply grab a chart in
  713. the charting module with the mouse, and drag it into a word processor
  714. document. It's instantly transferred. The is a sharp contrast with Windows
  715. 3.1 OLE, where, when this is possible at all, the transfer can take
  716. several seconds to minutes. The integrated applications make OS/2 a one
  717. shop software shop, as the programs are of a higher quality than those
  718. found in some standalone integrated packages (such as Microsoft Works).
  719.  
  720.         The BonusPack also includes several other applications, including
  721. a "Lite" version of HyperAccess Communications for OS/2, FaxWorks/PM, a
  722. system information tool, and the IBM Internet Connection. This last is
  723. perhaps the most impressive. It essentially consists of a slightly
  724. stripped down version of IBM TCP/IP 2.0 (providing SL/IP line
  725. connectivity), and a set of clients. You can connect via SLIP to the IBM
  726. provider (Advantis) or to a local provider. I took this opportunity to
  727. setup a SLIP connect with a local vendor (The Internet Access Company of
  728. Bedford, Mass), and it worked great. The included Internet clients range
  729. from adequate to excellent. The Newsreader and Gopher clients are fine.
  730. The FTP client was usable, although I decided to use a Windows based one
  731. instead. Ultimedia Mail/2 Lite has some nice features, but was difficult
  732. to configure and had some rough edges (for instance, no word wrap). While
  733. it also possessed some excellent features, I decided to use Eudora (a
  734. popular Windows based mailreader) instead.
  735.  
  736.         Web Explorer/2, the World Wide Web/Mosaic client, isn't shipped
  737. with the package. Instead, once you have Warp installed, you use the
  738. "Retrieve Software Updates" program and download the latest Beta. This
  739. worked well when I was first installing the package, and is how I obtained
  740. Beta .91. When .92 was released (on November 23rd), this option gave me an
  741. "Unable to resolve address" error, and I had to FTP the package instead. I
  742. can only assume that this is a problem at the IBM server. The client
  743. itself, however, is excellent. I'd been using Mosaic Netscape, and WE/2
  744. matches it in terms of features, and surpasses it in terms of reliability. I
  745. wasn't able to find one HTML document it couldn't handle. It runs quickly,
  746. and supports Forms better than Netscape. It does a great job of printing
  747. the pages as well. The WebMap (which allows you to move back to any spot
  748. you visited previously) is wonderful. The only thing that isn't supported
  749. (that I could find) was mailto: links, which allow you to click and send
  750. mail. In .91, these weren't recognized, but in .92 I got an error message
  751. saying that they weren't currently supported, so we can assume that it
  752. will be added before the program is finished. It also takes advantage of OS/2's
  753. threading and object-orientation features, allowing, among other things, you
  754. to drag a .GIF file out of the program and onto your hard disk.
  755.  
  756.         The one thing the Internet Connection lacks is an IRC client, but
  757. I found a relatively good (text mode) IRC/2 client that works quite well.
  758. The Internet Connection software contains a shell Windows Sockets DLL,
  759. which allows you to use any standard Windows based client. The DLL is very
  760. fast and reliable. On the whole, the software causes me much less trouble
  761. than similar Windows based programs, and runs faster.
  762.  
  763.         With it's enhanced speed and usability, not to mention bonus
  764. applications, Warp is an excellent product. While I hate to come out this
  765. much in favor of a product, I really can't help myself in this case. IBM
  766. has been promising a better Windows than Windows for quite some time (it's
  767. been a better DOS than DOS for years), and they've finally delivered. The
  768. one sore spot is applications, which is being quickly rectified, by the
  769. inclusion of excellent apps within the OS package itself, and an increase
  770. in development by third parties (Borland, for instance, is porting their
  771. Object Windows libraries to OS/2. When this is completed, we can expect a
  772. flood of OS/2 versions of current software). Warp has the potential to
  773. catch on, and it should - it's shameful that people should have to make do
  774. with DOS and a shell.
  775.  
  776.         Additional flavors of Warp will be released late this year and
  777. early 1995. These include a version featuring peer to peer networking
  778. (which, according to IBM, will be compatible with Windows for Workgroups
  779. (NETBEUI) networks, as well as Novell and other platforms), and versions
  780. including IBM's optimized WIN-OS2 code. There will also be a new version
  781. supporting Symmetric Multiproccessing, in the first half of 1995 (OS/2 2.1 for
  782. SMP is available now).
  783.  
  784.     ──══════════════════════════════════════════════════════════════════──
  785.  
  786.  
  787.                            ┌─────────────────────┐
  788. ───────────────────────────┘ L I T E   B Y T E S └────────────────────────────
  789.  
  790.  
  791.    ┌────────────────────────┐
  792.    │ The REAL Sysops Guide  │ By Aldo Cella 654@7654
  793.    └────────────────────────┴───────────────────────
  794.  
  795.  
  796.      So,  you  want  to  run  a BBS, do you? Got it all planned out, eh? Well,
  797. before  you  start  anything  at  all,  there  are  a  few things you ought to
  798. remember.  It  seems that lately, with all the boards, AE's, and CF's going up
  799. everywhere,  quite  a  few  sysops  have  forgotten  or completely ignored the
  800. unwritten  code  established by those early pioneering spirits of the good ol'
  801. days.  You  see,  no matter what hardware you use, no matter how much storage,
  802. how  fast a modem, or what software you want to run, the success or failure of
  803. your  system  ultimately  depends  on YOU. The remainder of this file consists
  804. not  of  countless  obscure  details  on  how to run your system, but of a few
  805. short  hints  which  should prove helpful at times. Remember, REAL sysops know
  806. the difference between constructive criticism and insults.
  807.  
  808. * ACCESS -
  809.      One  of  the  most frustrating things that can happen to a new user is to
  810. log  onto  your  board  after being validated by you, only to find out that he
  811. still  doesn't  have  access to 80% of your system. REAL Sysops make plenty of
  812. their system available to the average, non-privileged user. 
  813.  
  814. ** Corollary: 
  815.      You'll always have more average users than privileged ones.
  816.  
  817. * SUBSCRIPTION FEES -
  818.      If  you  plan  to  charge a subscription fee of any kind for your system,
  819. MAKE  SURE  that  it's worth the money to have an account on your system! REAL
  820. Sysops  who  charge  subscription  fees  realize  that  their  system is now a
  821. business.
  822.  
  823. * SUBSCRIPTION FEES II -
  824.      If  you  are  going to charge a subscription fee, MAKE SURE that you VERY
  825. CLEARLY  define  exactly  what it is about your system that the user is having
  826. to  pay  for.  REAL  Sysops  who  charge  subscription  fees check out all the
  827. legalities FIRST.
  828.  
  829. * SUBSCRIPTION FEES III -
  830.      If  your  system  happens to have an AE, Catfur, etc., or happens to have
  831. any  phreak/hack  info anywhere on it, DO NOT CHARGE ANY FEES! REAL Sysops may
  832. take a chance here and there, but they aren't idiots. 
  833.  
  834. * ADVERTISING -
  835.      Getting  publicity  for  your system must be done carefully. Most likely,
  836. people's  first  impression  of  your  board  is going to be determined by the
  837. first  few lines of your ad, so post your ad carefully. REAL Sysops understand
  838. this,  and  will  not  sound  like  a used car salesman when advertising their
  839. board.
  840.  
  841. ** Corollary:
  842.      REAL Sysops know that arrogant ads will attract only arrogant users.
  843.  
  844. * ADVERTISING II -
  845.      Be  decent  about  how  you put your ad on someone's board. Make it short
  846. and  to the point, and leave it in a section which you know is read frequently
  847. (i.e.,  the  public  board).  REAL  Sysops  know that redundancy will irritate
  848. intelligent people. 
  849.  
  850. * SECURITY -
  851.      If  possible,  make  every  possible test of your security before you put
  852. your  system  up. It is best to do most of these tests both while logged in at
  853. the  board,  and  again  from over the phone. It also can't hurt to have other
  854. people  try  to  crash  your  system  during the testing. REAL Sysops are very
  855. thorough about this, and sleep much better because of it.
  856.  
  857. ** Corollary:
  858.      Time  spent  perfecting your input routines is more wisely used than time
  859. spent re-constructing your userfile after it's been blown away.
  860.  
  861. * SECURITY II - 
  862.      Once  your  done testing, and you know your system is solid, don't make a
  863. big  deal out of it. Talking about security all the time will make users think
  864. you're  paranoid,  and hackers think you're challenging them. REAL Sysops know
  865. that discretion is as important as prevention.
  866.  
  867. ** Corollary: 
  868.      REAL USERS rarely ever ask a sysop about his system's security.
  869.  
  870. * VALIDATION -
  871.      Always  validate  within  24 hours if you can. Little is more frustrating
  872. for  a user than to log onto your board after a week has gone by, and find out
  873. he  still isn't valid. REAL Sysops always validate quickly, as it always helps
  874. with public image.
  875.  
  876. * VALIDATION II - 
  877.      NEVER,  at  any time, ask new users to answer why they should be given an
  878. account  on  your  system.  REAL  Sysops  know  that the only people who could
  879. answer that question impressively don't even NEED to be calling your system.
  880.  
  881. ** Corollary:
  882.      You  can't  build  an  ELITE  board  by  treating users like spinach in a
  883. strainer.
  884.  
  885. * RESTRICTED BOARDS -
  886.      If  you  are  going to have restricted areas on your system, it's best to
  887. make  them  invisible to those who can't access them. REAL Sysops would rather
  888. do  this  than  answer 10000000 feedback messages from users asking for access
  889. to your restricted areas. 
  890.  
  891. * ABUSERS -
  892.      From  time  to  time, or perhaps more frequently, you'll end up having to
  893. deal  with  some  jerk who is making trouble on your board. REAL Sysops handle
  894. these people swiftly and quietly before they get out of hand. 
  895.  
  896. ** Corollary:
  897.      REAL Sysops will only warn abusers ONCE.
  898.  
  899. * ABUSERS II -
  900.      At  times,  the  jerk  that you really want to grind into the dust hasn't
  901. really  done  anything serious yet - maybe just sent you some rude complaints.
  902. In  this  case,  it's  better  not  to  lose  your cool. REAL Sysops know that
  903. trading insults with an idiot makes you look worse than he does.
  904.  
  905. ** Corollary:
  906.      REAL Sysops never drag private matters out in front of the public eye.
  907.  
  908. * CRASHERS -
  909.      It  is  very  likely  that the day you first advertise your board, you'll
  910. probably  get a couple of attempts at crashing your system. These crashers are
  911. doing  it  just for the thrill, and are counting on the fact that the security
  912. of  new  systems  is  generally  poor.  REAL  Sysops will have taken this into
  913. account, and will have little to worry about.
  914.  
  915. * HACKERS -
  916.      You  probably  won't  encounter  any  real  hackers  unless  you charge a
  917. subscription  fee  for  your  system. These people are usually more determined
  918. than  the above crashers, and are out to get someone's account on your system,
  919. preferably  one  with  high  access.  Preferably  YOURS. REAL Sysops deal with
  920. these people carefully and try not to make enemies of them.
  921.  
  922. ** Corollary: 
  923.      REAL  Sysops  know the difference between a REAL Hacker and a 12-year old
  924. WARGAMES fanatic with an acoustic coupler.
  925.  
  926. * NOVICES -
  927.      From  time  to  time,  you'll  also most likely run across people on your
  928. board  who  are  very  new  to  telecommunications,  and  will  ask  very dumb
  929. questions.  REAL  Sysops  remember  what  it's like to be "unenlightened", and
  930. will not snap out rude answers at these people.
  931.  
  932. * ADEPTS -
  933.      Eventually,  you  may  also  run  into  a few people who are so advanced,
  934. it'll  blow  your  mind. REAL Sysops know just what to do upon discovering one
  935. of  these  users  - QUESTION HIM! Get him to talk to you, and find out what he
  936. knows and how it can help you.
  937.  
  938. ** Corollary: 
  939.      There's a difference between being inquisitive and being a pest.
  940. ** 2nd Corollary: 
  941.      REAL ADEPTS don't hoard their knowledge.
  942.  
  943. * PUBLIC RELATIONS -
  944.      Many  systems  suffer from having a sysop who never chats with users, and
  945. answers  feedback  rarely  at  best.  REAL  Sysops  keep  in  touch with their
  946. callers, and are respected for it.
  947.  
  948. * CUSTOMIZING YOUR SYSTEM
  949.      Adding  modifications  to your system is mandatory if you expect it to be
  950. unique,  and can be one of the main factors in its success. It can also be the
  951. primary  instrument  of  its  destruction.  REAL Sysops know this, and usually
  952. follow  some  variation of the following rules. Follow these steps, and you'll
  953. rarely ever have to worry about any mods you add to your board:
  954.  
  955.  A. Pull an idea for a mod out of your imagination.
  956.  B. Consider how you would go about adding it to your board.
  957.  C. Try adding it in that way to a BACKUP COPY of your system.
  958.  D. Test it to see if it works. If not, you added it wrong. Back to B.
  959.  E. Test the mod to make sure it can't be used to crash your system.
  960.  F. Test the rest of your system to make sure it's still solid.
  961.  
  962.      This  completes  the  REAL Sysop's Guide. On a final note, you won't ever
  963. have  trouble  recognizing  a REAL Sysop. Just listen to everyone talk about a
  964. board  they  really  like  sometime. There's probably a REAL Sysop running it.
  965.  
  966.     ──══════════════════════════════════════════════════════════════════──
  967.  
  968.  ┌───────────────────────────────┐
  969.  │ Silly Strings                 │ by Ima Moron 1@9661
  970.  │ From Icenet Sysops Everywhere │ Lite Bytes Editor
  971.  └───────────────────────────────┴────────────────────
  972.  
  973.  From: Morgoth #2@10408 WWIVNet
  974.  Home In Nome on my modem by the Bearing Sea!
  975.  
  976.  From: Sam #1@4051 WWIVNet
  977.  MacIntosh: Computer with training wheels you can't remove.
  978.  
  979.  From: The Zoo Keeper #1@20762 WWIVNet
  980.  If the answer isn't right, the question must be wrong!
  981.  
  982.  From: "Adam Selene" Rodent #221@3 WWIVNet
  983.  Good...Bad...I'm the guy with the gun.
  984.  
  985.  From: Octavious #1@8357 Icenet
  986.  Never put off till' tomorrow what you can avoid all together.
  987.  
  988.  From: Aaron Pathfinder #18@2491 WWIVNet
  989.  Those that beat their swords into plow shares, will plow for those who don't
  990.  
  991.  From: Indiana Jones #174@15131 WWIVNet
  992.  ...Your tagline has been assimilated. -- The Collective
  993.  
  994.  From: Pandora #424@9661 Icenet
  995.  Pandora....open my box if you can!!!
  996.  
  997.  From: Jim Lilly #74@1294 WWIVNet
  998.  Worry is a dark room for developing negatives....
  999.  
  1000.  From: Papa Bear 1@11579 WWIVNet
  1001.  (A)bort, (R)etry, (I)nfluence with a large hammer.
  1002.  
  1003.     ──══════════════════════════════════════════════════════════════════──
  1004.  
  1005.   ┌───────────────────────────────┐
  1006.   │ WWIVnet Technical Docs        │ by Midnight Tree Bandit 1@8411
  1007.   └───────────────────────────────┴───────────────────────────────
  1008.  
  1009.  
  1010. [IceNEWS Serialization Note - This is part two of four. Internal page numbers
  1011. have been retained for ease of reference. Page breaks, however, have been
  1012. removed.]
  1013.  
  1014.      IV.  MESSAGE PACKETS
  1015.  
  1016.           The most important component of any network is the mail file, which
  1017.           contains all the public posts, email, and network information which
  1018.           makes the BBS network what it is.  WWIVnet mail files consist of a
  1019.           series of mail packets, each with its own header segment describing
  1020.           the type and size of the packet.
  1021.  
  1022.           There are two types of mail files in WWIVnet, each similar but
  1023.           processed differently.  The netmail file is the file received from
  1024.           another system, and contains packets destined for that system as well
  1025.           as other systems in the network (if the BBS has more than one
  1026.           connect).  Netmail files may be compressed, using the PKWare compres-
  1027.           sion libraries.  The local mail file contains the packets from the
  1028.           netmail file which are destined for the BBS only.
  1029.  
  1030.           A.   Message Header
  1031.  
  1032.                Each message sent through the network has a header.  The header
  1033.                tells which user/system originated the message, where it is to be
  1034.                sent to, the type of message, and other information.  The
  1035.                structure of the header is:
  1036.  
  1037.                typedef struct {
  1038.                     unsigned short tosys,
  1039.                                    touser,
  1040.                                    fromsys,
  1041.                                    fromuser;
  1042.                     unsigned short main_type,
  1043.                                    minor_type;
  1044.                     unsigned short list_len;
  1045.                     unsigned long  daten;
  1046.                     unsigned long  length;
  1047.                     unsigned short method;
  1048.                } net_header_rec;
  1049.  
  1050.                Each header is 24 bytes long.  The fields, in detail, are: 
  1051.  
  1052.                tosys, touser
  1053.                     The destination of this message (system number and user
  1054.                     number, if applicable).  The touser field will be zero in
  1055.                     all cases except for email (main_type==2) and SSMs
  1056.                     (main_type==15).
  1057.  
  1058.                fromsys, fromuser
  1059.                     The origin of the message (system number and user number). 
  1060.                     This contains the user number/system number combination of
  1061.                     who actually wrote the message.  If the message is "gated"
  1062.                     (that is, a sub post from a system on a different network,
  1063.                     or email from a user in another network), 'fromuser' will be
  1064.                     zero.
  1065.  
  1066.                main_type, minor_type
  1067.                     The type of message this is.  The main type stores the
  1068.                     actual type (email, post), and the minor_type is used to
  1069.                     specify what sub-type it is.  For example, the main_type for
  1070.                     a post is 3.  The minor_type is then used to specify what
  1071.                     type of post it is, what subboard the post is to go on to. 
  1072.                     A list of main and minor types is found in section IV(D),
  1073.                     below.
  1074.  
  1075.                daten
  1076.                     The time the message was sent, stored in unix time, as the
  1077.                     number of seconds since Jan 1, 1970.
  1078.  
  1079.                length
  1080.                     The length of the message.  This includes any information
  1081.                     between the packet header and the message itself, such as
  1082.                     the sender's name, message title, and so forth.  Note that
  1083.                     the length does not include the node list indicated by
  1084.                     list_len.
  1085.  
  1086.                method
  1087.                     If the file is encrypted, compressed, or source-verified,
  1088.                     this describes the type of compression or encryption used. 
  1089.                     This will tell NETWORK2 (or other local mail tosser) which
  1090.                     DEmmm.EXE to execute.  DEmmm.EXE is explained in more detail
  1091.                     in the next section, below.
  1092.  
  1093.                list_len
  1094.                     Some messages need to go to more than one system.  For
  1095.                     example, networked posts may go to over 20 different
  1096.                     systems.  It makes no sense to have a separate copy of the
  1097.                     message for each destination system, so the same copy of the
  1098.                     header and message is used.  (This is referred to as
  1099.                     "stacking" the message).  The list_len specifies the number
  1100.                     of destination systems listed.  If list_len is non-zero,
  1101.                     then the touser and tosys fields are ignored.  The list_len
  1102.                     is not used for e-mail to a user (main_type is 2 or 7).
  1103.  
  1104.                     When a message has only one destination system, the destina-
  1105.                     tion system is stored in tosys, and list_len is zero.  If
  1106.                     there are two or more destinations, then tosys is 0, and
  1107.                     list_len holds the number of destination systems.
  1108.  
  1109.                     When list_len is non-zero, the list of destination systems
  1110.                     is stored immediately after the header, but before the
  1111.                     actual message itself.  The length of the list is not
  1112.                     included in the length field in the header; the length
  1113.                     stored in the header is the length of the message only. 
  1114.  
  1115.                     Each entry in the destination system list is two bytes long,
  1116.                     and is stored in the standard byte-reversed format of 80x86
  1117.                     chips.  
  1118.  
  1119.                     For example, if a post is destined to system 1, the tosys
  1120.                     field will be 1, and list_len will be 0.  If the post is
  1121.                     destined to systems 1 and 2, tosys will be 0, list_len will
  1122.                     be 2, and there will be 4 bytes between the header and
  1123.                     message.  The bytes will be: 01 00 02 00 (remember,
  1124.                     byte-reversed format).  The rest of the header will be the
  1125.                     same for both messages.
  1126.  
  1127.                A packet thus consists of a net header, a destination list (if
  1128.                any), and the text of the message.  The length of a full message
  1129.                packet is thus: 
  1130.                     24 + 2*list_len + msg_length.
  1131.  
  1132.                The message text (the part following the header) for a post or
  1133.                email begins with information intended for the message header
  1134.                shown when the message is displayed.  Each piece of information
  1135.                is followed by a carriage return and line feed (cr/lf) character
  1136.                to separate it from the next except for the message title, which
  1137.                is followed by a NUL character.  For most posts and email, that
  1138.                information is:
  1139.  
  1140.                Message Title  Whatever title the user gave to the post.
  1141.  
  1142.                Sender name    usually the name and number of the user who wrote
  1143.                               the message with the system number, in whatever
  1144.                               format the sending BBS uses.
  1145.  
  1146.                Date string    Formatted date the post was written, in whatever
  1147.                               format the BBS uses.
  1148.  
  1149.                So the message header format for most posts and email would be
  1150.                TITLE<nul>SENDER_NAME<cr/lf>DATE_STRING<cr/lf>MESSAGE_TEXT.  Some
  1151.                main_types have other information, as noted in the main_type
  1152.                descriptions in section IV(D).
  1153.  
  1154.  
  1155.           B.  Mail File Processing
  1156.  
  1157.                A WWIVnet file is simply several packets appended into one file. 
  1158.                Starting with NET25, the WWIVnet software supports compression of
  1159.                the netmail files to help save on connection time in long
  1160.                distance connections, using the PKWare Compression Libraries. 
  1161.                These files have a slightly different format from uncompressed
  1162.                files, but the most important issue at this point is that the
  1163.                first long int of a compressed file has the value 0xFFFEFFFE.  If
  1164.                you purchase the compression libraries from PKWare, details
  1165.                covering compressed packets are found in Appendix A.  Otherwise,
  1166.                anyone using WWIVnet compatible software should be advised to
  1167.                make sure their connect only sends them uncompressed files, and
  1168.                the software should be able to detect and reject compressed
  1169.                packets before attempting to process them.  Since there is
  1170.                nothing in the data exchange described above to warn that an
  1171.                incoming packet is compressed, there is no way to detect and
  1172.                prevent transfer of a compressed mail file.
  1173.  
  1174.                Once it has been received and (if necessary) uncompressed, the
  1175.                mail file should be processed following these steps:
  1176.  
  1177.                1.   Open the file, and set the current message pointer to the
  1178.                     beginning of the file.
  1179.  
  1180.                2.   Read in the net header (24 bytes).
  1181.  
  1182.                3.   If list_len is non-zero, read in the list following the
  1183.                     header (2 * list_len bytes).
  1184.  
  1185.                4.   Read in the message itself (length bytes).
  1186.  
  1187.                5.   Process the message.
  1188.  
  1189.                6.   If not the end of file, go to step 2.
  1190.  
  1191.                To ensure the integrity of the mail file, an initial pass over it
  1192.                should be done.  This pass would step through each packet in the
  1193.                file, reading each header and making sure no packets are
  1194.                truncated.  If the file ends in the middle of a packet, then it
  1195.                is obviously corrupted and cannot be processed properly.  At this
  1196.                point, either throw away the whole file or remove the truncated
  1197.                packet and process the remaining packets.
  1198.  
  1199.                During the packet tossing, each packet needs to be marked as
  1200.                processed.  Thus, if analysis is interrupted before completion,
  1201.                the packet analyzer can skip over those packets already processed
  1202.                when run again.  To mark the packet as already processed (or
  1203.                deleted), set the main_type to 65535.  Any packet with a
  1204.                main_type of 65535 should therefore not be processed.
  1205.  
  1206.                The analyzer should follow these steps when processing each
  1207.                packet:
  1208.  
  1209.                1.   If main_type is 65535 (deleted), skip the message.
  1210.  
  1211.                2.   If list_len is non-zero, do steps 3-6 for each entry in the
  1212.                     list, substituting that entry for "tosys"
  1213.  
  1214.                3.   If tosys is this system, process the file locally (in the
  1215.                     case of NETWORK1.EXE, the message is copied to LOCAL.NET for
  1216.                     processing by the local packet processor).
  1217.  
  1218.                4.   If tosys is an unknown system or unreachable, put the packet
  1219.                     in the dead mail file.
  1220.  
  1221.                5.   If the next system to forward the packet to ("next hop") is
  1222.                     the system that the message was last received from, put the
  1223.                     packet in the dead mail file.  This prevents messages from
  1224.                     looping 
  1225.  
  1226.                6.   If the tosys is okay, put the packet into the file that is
  1227.                     to be sent to the next hop.
  1228.  
  1229.                Of course, it is more complicated than that.  If list_len is
  1230.                non-zero, all destination systems should be processed before the
  1231.                message is stored anywhere.  This way, if the message has 10
  1232.                destinations, each of which has the same next hop, only one copy
  1233.                of the message will be printed out, that packet with 10 systems
  1234.                in its destination list.  Likewise, for a system with more than
  1235.                one connection, if a message has 4 destination systems going
  1236.                through one next hop and 3 going through another, one copy of the
  1237.                message will go into each hop's file -- one with four systems in
  1238.                the node list, the other with the remaining three.
  1239.  
  1240.                The dead mail file is reprocessed whenever a network update (new
  1241.                BBSlist or connection list) is received.
  1242.  
  1243.  
  1244.           C.   Local Mail Processing and DEmmm.EXE
  1245.  
  1246.                Processing of local mail packets should be similar to processing
  1247.                of incoming netmail packets.  The main difference between netmail
  1248.                tossing and local mail tossing is that the main and minor types
  1249.                are ignored during netmail processing, and the list_len and node
  1250.                list are ignored (since there won't be a list on local mail).
  1251.  
  1252.                1.   Open the file, and set the current message pointer to the
  1253.                     beginning of the file.
  1254.  
  1255.                2.   Read in the net header (24 bytes).
  1256.  
  1257.                3.   Read in the message itself (length bytes).
  1258.  
  1259.                4.   Process the message.  This is done according to the
  1260.                     main_type and (if applicable) minor_type of the message.
  1261.  
  1262.                5.   If not the end of file, go to step 2.
  1263.  
  1264.                A few main_types (noted below) cause return messages to be
  1265.                generated to go back out to other systems.  The local mail file
  1266.                analyzer should place these into an interim mail file that will
  1267.                be processed by the netmail file analyzer after local mail
  1268.                processing has been completed.  The WWIVnet local mail analyzer
  1269.                (NETWORK2.EXE) puts these messages into P1.001 or P2.001.  Then
  1270.                NETWORK1.EXE analyzes this file and places them into outgoing
  1271.                netmail files for the system's connections.
  1272.  
  1273.                Some types of messages that contain network related files such as
  1274.                updates to the nodelists and connect lists and email to all
  1275.                sysops from the NC or GC.  For the sake of network security,
  1276.                these messages have a source-verification signature at the
  1277.                beginning (using, for example, RSA or a similar algorithm). 
  1278.                There are several "methods" used to handle these messages, and
  1279.                each requires a decryption program, or DEmmm.EXE (where "mmm" is
  1280.                the encryption method, as listed in the 'method. field of the net
  1281.                header).  These DEmmm.EXE files MUST be supplied by the NC or GC
  1282.                of each network, and each network's DEmmm.EXE are unique to that
  1283.                network.  That is, WWIVnet's DE1.EXE will not handle method 1
  1284.                messages from WWIVLink, nor vice versa.
  1285.  
  1286.                When a message is encountered with 'method!=0', the following
  1287.                steps are taken:
  1288.  
  1289.                1.   The local packet analyzer writes out the text of the message
  1290.                     (no header or node list) to a temporary file (TEMPDE.XXX) in
  1291.                     the data directory for the relevant network.
  1292.  
  1293.                2.   A command line for calling the appropriate DEmmm.EXE is
  1294.                     created using the C command "sprintf(cmd, "de%u
  1295.                     %s/tempde.xxx", nh.method, net_data);" ('nh' is a structure
  1296.                     of type net_header_record, 'net_data' is the network data
  1297.                     directory).  The command is then executed.
  1298.  
  1299.                3.   The DEmmm.EXE program is then responsible for reading the
  1300.                     TEMPDE.XXX in from disk, deleting it, then attempting to
  1301.                     decode it.  Two things can then happen:
  1302.                     a.   If the TEMPDE.XXX fails decoding (bad CRC), DEmmm.EXE
  1303.                          just exits (returning to the local packet analyzer). 
  1304.                          If the analyzer finds the TEMPDE.XXX file does not
  1305.                          exist, the message is deleted and the program goes to
  1306.                          the next packet.
  1307.                     b.   If the CRC checks out in the DEmmm.EXE program, it
  1308.                          writes out the decoded text into a new TEMPDE.XXX file
  1309.                          and exits.  The local packet analyzer reads in the data
  1310.                          from that file and replaces the text of the message
  1311.                          with that, then goes ahead and processes the packet as
  1312.                          determined by main_type.
  1313.  
  1314.                Network operators who wish to write EN/DE programs for their own
  1315.                netwide messages may wish to consider using the RSAREF library to
  1316.                develop their own source-verification scheme.
  1317.  
  1318.           D.   Main and Minor Message Types
  1319.  
  1320.                The main and minor type of each message determines how it is
  1321.                processed (where it goes, whether it's a sub post, email, or
  1322.                network info, etc.).  The analyzer reads the message header in
  1323.                first to get the main and minor types, then performs the
  1324.                operation indicated by those fields.
  1325.  
  1326.                Here is a list of the main_ and minor_types, along with the WWIV
  1327.                BBS #define name and descriptions of the processing required. 
  1328.                Encoding method is assumed to be zero unless otherwise noted. 
  1329.                Note that while these descriptions concern analyzing local mail
  1330.                packets, they also apply to how to create outgoing netmail
  1331.                packets.  It should also be noted that some of the "UNUSED"
  1332.                message types could be used by some third party software, but
  1333.                they are not an official part of the WWIVnet software, so no
  1334.                mention is made of them.
  1335.  
  1336.                main_type 1 (0x0001) -- main_type_net_info
  1337.                     These messages contain various network information files,
  1338.                     encoded with method 1 (requiring DE1.EXE).  Once DE1.EXE has
  1339.                     verified the source and returned to the analyzer, the file
  1340.                     is created in the network's DATA directory with the filename
  1341.                     determined by the minor_type (except minor_type 1).
  1342.                     0 -- Feedback to sysop from the NC.  This is sent to the #1
  1343.                          account as source-verified email.
  1344.                     1 -- BBSLIST.NET -- Old-style node list (non-Group setup).
  1345.                     2 -- CONNECT.NET -- Old-style connections list (non-Group).
  1346.                     3 -- SUBS.LST -- List of subboards ("subs") available
  1347.                          through the network.  This has been replaced by
  1348.                          main_type 9.
  1349.                     4 -- WWIVNEWS.NET -- An electronic magazine of sorts
  1350.                          distributed within some networks, usually monthly.
  1351.                     5 -- FBACKHDR.NET -- a header file added to network update
  1352.                          reports for the network.
  1353.                     6 -- Additional WWIVNEWS.NET text -- appended to the
  1354.                          existing WWIVNEWS.NET file.
  1355.                     7 -- CATEG.NET -- List of sub categories.  WWIV's sub setup
  1356.                          facility uses this list so the sysop can specify what
  1357.                          category a netted sub falls into.  The network's
  1358.                          SUBS.LST compiler uses this information for compiling
  1359.                          the subs lists sent out as main_type 9.
  1360.                     8 -- NETWORKS.LST -- A list of all current WWIVnet type
  1361.                          networks.
  1362.  
  1363.                     This message type is source-verified.  That is, there is a
  1364.                     digital signature at the beginning of the message text which
  1365.                     is decoded by the DE1.EXE to verify that it has come from a
  1366.                     "legal" source.  This helps make sure that the network info
  1367.                     will only come from the Network Coordinator.  If the source-
  1368.                     verification fails, the packet is discarded.
  1369.  
  1370.                main_type 2 (0x0002) -- main_type_email
  1371.                     This is regular email sent to a user number at this system
  1372.                     (see tosys and touser, above).  Note that this type of mail
  1373.                     should only be received by systems that assign numbers to
  1374.                     users (WWIV, VBBS, etc.).  BBSes in a WWIV network that only
  1375.                     identify users by name (PCBoard, RBBS, etc.) can only
  1376.                     receive email-by-name (see main_type 7, below).  Email has
  1377.                     no minor type, so minor_type will always be zero.
  1378.  
  1379.                     Processing of the email is straightforward.  The analyzer
  1380.                     looks for the user number indicated by the touser field.  If
  1381.                     the number exists and the user has not been deleted from the
  1382.                     BBS, the message is written into the email file, addressed
  1383.                     to the user indicated.  If the number does not exist or the
  1384.                     user at that number has been deleted, the packet is deleted
  1385.                     without processing.   Alternatively, the analyzer may
  1386.                     generate a return message (as email) to the sender telling
  1387.                     him that the mail was not delivered and quoting the message
  1388.                     back to him.
  1389.  
  1390.                main_type 3 (0x0003) -- main_type_post
  1391.                     This is a post sent from the sub host's system to the
  1392.                     subscriber systems, for subs that have a numeric sub-type
  1393.                     (subs of alphanumeric subtypes are main_type 26, described
  1394.                     below).  The minor_type will be the numeric subtype the post
  1395.                     will go to.
  1396.  
  1397.                     When this type is encountered, the network analyzer should
  1398.                     search the BBS data files for the sub type given.  When the
  1399.                     sub is found, the message is written into the indicated
  1400.                     message file in whatever format the BBS software uses.  If
  1401.                     the sub type is not found, the message packet is simply
  1402.                     deleted.  (There are some local mail preprocessors which
  1403.                     will scan the packet for messages on subs that the system
  1404.                     does not carry, and return the message to the host system. 
  1405.                     An alternate mail analyzer could have such a capability
  1406.                     built in.)
  1407.  
  1408.                main_type 4 (0x0004) -- UNUSED
  1409.  
  1410.                main_type 5 (0x0005) -- main_type_pre_post
  1411.                     These messages are similar to main_type_3, except they are
  1412.                     posts en route from the subscribers to the host of a sub. 
  1413.  
  1414.                     Like main_type 3, the minor_type is the numeric subtype of
  1415.                     the sub.  Since this is from subscriber to host, list_len
  1416.                     will be zero.
  1417.  
  1418.                     When this type of packet is received, the local mail tosser
  1419.                     should look for the appropriate file which will contain the
  1420.                     list of subscribers to the sub (WWIV and NETxx use
  1421.                     N[subtype].NET)  If the file is found, a main_type 3 copy of
  1422.                     the post is generated in an outgoing netmail file, with the
  1423.                     node list read from the subscriber file inserted before the
  1424.                     message text (and the list_len field modified reflecting the
  1425.                     addition of the node list).  If the file cannot be found,
  1426.                     the analyzer assumes the BBS does not host the sub and
  1427.                     deletes the packet.
  1428.  
  1429.                     Many WWIV sysops use a feature of the software known as
  1430.                     network validation ("netval").  When a sub is set for netval
  1431.                     (this is found in the SUBS.DAT record for the sub), the
  1432.                     analyzer does not send the post out to the network.  The
  1433.                     sysop must validate the post on the BBS, at which point it
  1434.                     is sent out by the BBS.  This also applies to pre-posts for
  1435.                     main_type 26 (main_type_new_post).
  1436.  
  1437.                main_type 6 (0x0006) -- main_type_external
  1438.                     This type has largely been replaced with main_type 27
  1439.                     (main_type_new_external), but essentially works the same
  1440.                     way.  This will create messages that are read and processed
  1441.                     by an external processor.  The minor_type is determined by
  1442.                     the program expected to work with it.
  1443.  
  1444.                     When the processor encounters this type of message, it
  1445.                     searches for a file that contains the names of external
  1446.                     programs, and the minor_types they accept, used by the BBS
  1447.                     (EXT_LIST.NET for the WWIVnet software).  If found, the
  1448.                     message is written or appended to EXTERNAL.NET in the
  1449.                     network's data directory.  The external program, when run,
  1450.                     should be able to find the file and process it, then delete
  1451.                     the file (or the portion that it uses).  Note that when
  1452.                     there is more than one main_type 6 message in a mail file,
  1453.                     the EXTERNAL.NET will contain all messages of that type, so
  1454.                     the external message processor needs to be able to find the
  1455.                     relevant text within the file.
  1456.  
  1457.                     It is encouraged that programs that use external messages
  1458.                     use main_type 27 (main_type_new_external), which has more
  1459.                     robust features.  Among other things, that type will create
  1460.                     a separate temporary file for each main_type 27 message
  1461.                     found, making processing of external messages simpler.
  1462.  
  1463.                main_type 7 (0x0007) -- main_type_email_name
  1464.  
  1465.                     The other email type.  The touser field is zero, and the
  1466.                     name is found at the beginning of the message text, followed
  1467.                     by a NUL character.  Minor_type will always be zero.
  1468.  
  1469.                     When this type of packet is encountered, the analyzer gets
  1470.                     the name from the beginning of the message text and searches
  1471.                     through the BBS's user list to find the specified name.  If
  1472.                     it is found, the message is written into the email file for
  1473.                     the BBS.  If it is not, the message will be deleted or a
  1474.                     return email may be sent back to the sender, explaining that
  1475.                     the message was not delivered and quoting the email back.
  1476.  
  1477.                     The destination user's name is prepended to the beginning of
  1478.                     the message text, followed by a NUL, then the rest of the
  1479.                     usual message header info and the message text.  The message
  1480.                     header info at the beginning of email-by-name messages is
  1481.                     thus DEST_USER_NAME<nul>TITLE<nul>SENDER_NAME<cr/lf>
  1482.                     DATE_STRING<cr/lf>MESSAGE_TEXT.
  1483.  
  1484.                main_type 8 (0x0008) -- main_type_net_edit
  1485.                     This type is used by Black Dragon in conjunction with his
  1486.                     program NETEDIT, a utility for managing the network files on
  1487.                     a WWIV BBS.  Minor_types are as follows:
  1488.                     0 -- A partial update to the BBSLIST information.
  1489.                     1 -- A request for BBSLIST information to be changed.
  1490.                     2 -- A partial update to the connection information.
  1491.                     3 -- A request for connection information to change.
  1492.                     4 -- An update to NETEDIT's registration record.
  1493.                     5 -- A transmittal of the installation message.
  1494.                     6 -- A request for to transmit a registration record.
  1495.                     7 -- A response to request for a registration record.
  1496.                     8 -- A remote request for a net analysis ("/A").
  1497.                     9 -- An ASCII text response to a remote analysis.
  1498.                     10 - Network Editor E-mail and/or automatic feedback.
  1499.                     11 - A message reporting an error condition.
  1500.                     12 - A request for installation and ver information.
  1501.                     13 - A request for a remote node's ALIASES.NET file.
  1502.                     14 - A request for a node's aliases.
  1503.                     15 - A response to the alias request.
  1504.                     For more information on the use of these types, see the
  1505.                     NETEDIT documentation, or email Black Dragon at @1180 on
  1506.                     WWIVnet or @13080 on WWIVLink.
  1507.  
  1508.                main_type 9 (0x0009) -- main_type_sub_lst
  1509.                     Networks with large subs lists (over 32k) break them up into
  1510.                     parts and send the set out under this main type rather than
  1511.                     the subs.lst type under main_type 1.  The minor_type
  1512.                     indicates the part of the subs list.
  1513.  
  1514.                     When the analyzer processes this type, it creates a file in
  1515.                     the appropriate network directory and copies the message
  1516.                     text into it.  Minor_type zero creates the file SUBS.LST,
  1517.                     and all other minor_types create a SUBS.x file where 'x' is
  1518.                     the minor_type.
  1519.  
  1520.                main_type 10 (0x000a) -- UNUSED
  1521.  
  1522.                main_type 11 (0x000b) -- main_type_bbslist
  1523.                     This type is for the new-style BBSLIST files used in
  1524.                     networks that use the Group setup.  It covers full and
  1525.                     partial updates sent from the Network Coordinator (NC) to
  1526.                     the entire network as well as update requests sent from the
  1527.                     Group Coordinators (GCs) to the NC.  The encoding method is
  1528.                     either 1 (when coming from the NC) or calculated as
  1529.                     ((minor_type % 256)+256) (when coming from the GC). 
  1530.                     Messages of this type are source verified by DE<method>.EXE,
  1531.                     handled the same as main_type 1 packets are.  Minor types
  1532.                     are as follows:
  1533.                     0..255    Full bbslist update sent from NC to the network. 
  1534.                               Minor type is the Group number.  Creates
  1535.                               BBSLIST.<minor_type> in the network data direc-
  1536.                               tory.
  1537.                     257..511  Full bbslist update sent from the GC to the NC. 
  1538.                               Minor_type is the Group number plus 256.  Creates 
  1539.                               BBSLIST.A<minor-less-256-in-hex> in the NC's
  1540.                               network data directory.
  1541.                     513..767  Partial bbslist update sent from the NC to the
  1542.                               network.  Minor type is the Group number plus 512.
  1543.                               Creates the file BBSLIST.<minor-type> in the
  1544.                               network data directory.  This file will be merged
  1545.                               with the appropriate full BBSLIST file during
  1546.                               network analysis (described below).
  1547.                     In some networks, the Group updates are sent out to the
  1548.                     network by the GCs rather than the NC.
  1549.  
  1550.                main_type 12 (0x000c) -- main_type_connect
  1551.                     This is the same as main_type 11, except it is for CONNECT
  1552.                     files.  It also does not include partial updates, as there
  1553.                     are none for CONNECT files.  The encoding method is also
  1554.                     either 1 (from NC) or ((minor_type % 256)+256) (from NC) for
  1555.                     this type.  These packets are also source-verified, checked
  1556.                     by DE<method>.EXE.  Minor types:
  1557.                     0..255    Full CONNECT update sent from NC to the network. 
  1558.                               Minor type is the Group number.  Creates
  1559.                               CONNECT.<minor-type> in the network data directory
  1560.                               (after source-verification).
  1561.                     257..511  Full bbslist update sent from the GC to the NC. 
  1562.                               Minor_type is the Group number plus 256.  Creates 
  1563.                               CONNECT.A<minor-less-256-in-hex> in the NC's
  1564.                               network data directory (after source verifica-
  1565.                               tion).
  1566.                     In some networks, the Group updates are sent out to the
  1567.                     network by the GCs rather than the NC.
  1568.  
  1569.                main_type 13 (0x000d) -- UNUSED
  1570.  
  1571.                main_type 14 (0x000e) -- main_type_group_info
  1572.                     For now, this type only covers email to the members of a
  1573.                     particular Group by the GC, so minor type will always be
  1574.                     zero.  Encoding method is the Group number plus 256. 
  1575.                     Processing for this is the same as for type 1/0 messages. 
  1576.                     They are source-verified by DE<method>.EXE.
  1577.  
  1578.                main_type 15 (0x000f) -- main_type_ssm
  1579.                     WWIV BBSes also send out small messages, known as "SSMs",
  1580.                     across the network.  These are little one-line messages
  1581.                     generally telling users when their mail has been read and so
  1582.                     forth.  Some BBSes have been modified to send other types of
  1583.                     messages.  At any rate, main_type handles these small
  1584.                     messages.  Minor_type is always zero.
  1585.  
  1586.                     Like email, the analyzer searches for the user number in the
  1587.                     BBS's user list.  If found, the message is written into the
  1588.                     SSM file for the BBS.  Since this is a feature most non-WWIV
  1589.                     systems do not support, they can be ignored.
  1590.  
  1591.                One feature of WWIV networking is the ability for network sysops
  1592.                to send "REQs" to the hosts of subs, enabling them to automati-
  1593.                cally subscribe to and drop subs they belong to.  Main_types 16
  1594.                through 19 handle REQs and their responses.
  1595.  
  1596.                main_type 16 (0x0010) -- main_type_sub_add_req
  1597.                     This is for requests to add the sending system to a sub's
  1598.                     subscriber list.  Minor_type will be the numeric sub type,
  1599.                     or zero for alphanumeric sub types.  For minor_type==0, the
  1600.                     sub type (followed by NUL) will be the message text. 
  1601.                     Otherwise, there should be no message text (if there is,
  1602.                     ignore it).
  1603.  
  1604.                     When this message type is received, the analyzer should
  1605.                     search for the subtype's subscriber file (N[subtype].NET for
  1606.                     WWIV systems).  If the file is found, the system number of
  1607.                     the new subscriber is added, if it is not in there already. 
  1608.                     If the add is successful, it will then look for a text file
  1609.                     in the data directory (SA[subtype].NET for the WWIVnet
  1610.                     software) that contains information the sysop wants to send
  1611.                     back to the subscriber.   A type 18 message is sent to the
  1612.                     subscriber indicating status of the add request (see below)
  1613.                     and including the text in the SA[subtype].NET file, if one
  1614.                     is found.  If the add is not allowed, the analyzer looks for
  1615.                     SR[subtype].NET and sends that text back to the requester. 
  1616.                     If the add is otherwise unsuccessful, the type 18 message
  1617.                     will include the status and a short explanation of why the
  1618.                     add was not successful.
  1619.  
  1620.                main_type 17 (0x0011) -- main_type_sub_drop_req
  1621.                     This is the same as a main_type 16 message, except that it
  1622.                     is sent by a subscriber wishing to drop a sub.  The
  1623.                     minor_type is determined the same way as main_type 16. 
  1624.                     There should be no message text, but if there is any, it is
  1625.                     ignored.
  1626.  
  1627.                     Processing is similar to a type 16 message.  The analyzer
  1628.                     searches for the subtype's subscriber file, and upon finding
  1629.                     it removes the subscriber's system number from it, if it is
  1630.                     there.  Status of the drop request is returned to the sender
  1631.                     in a main_type 19 message, with a short message appended
  1632.                     that explains the status.
  1633.  
  1634.                main_type 18 (0x0012) -- main_type_sub_add_resp
  1635.                     This carries the status response to a main_type 16 (sub add
  1636.                     request).  The minor_type is determined the same way as type
  1637.                     16 message.  The first byte of message text (after the
  1638.                     subtype, if minor_type==0) is the status of the add request. 
  1639.                     Possible status byte values are:
  1640.                     0 -- Subscriber added successfully.
  1641.                     1 -- This system is not the host (N[subtype].NET not found).
  1642.                     3 -- Not allowed to add subscribers automatically.
  1643.                     4 -- System number already there (can't add it again).
  1644.                     Since these messages also may contain a message to the
  1645.                     requesting sysop, the message header info at the beginning
  1646.                     of the message text appears as SUBTYPE<nul>STATUS_BYTE
  1647.                     TITLE<nul>SENDER_NAME<cr/lf>DATE_STRING<cr/lf>MESSAGE_TEXT. 
  1648.                     In this case, SENDER_NAME will be the name of the sysop of
  1649.                     the system hosting the sub.  'SUBTYPE<nul>' will only be
  1650.                     included if the sub is an alpha subtype.  And finally, note
  1651.                     that there is not <cr/lf> or <nul> after the status byte.
  1652.  
  1653.                     When received, the processor will send the message text
  1654.                     mentioned in the main_type 16 description (minus the status
  1655.                     byte) to the sysop as email, if the status is 0 or 3.
  1656.  
  1657.                main_type 19 (0x0013)- main_type_sub_drop_resp
  1658.                     Similar to main_type 18, this carries the response to a sub
  1659.                     drop request, with the minor_type following the same
  1660.                     conventions as above.  This also carries a status byte as
  1661.                     the message text:
  1662.                     0 -- Sub dropped successfully.
  1663.                     1 -- This system is not the host.
  1664.                     2 -- System number is not there (can't drop it).
  1665.                     3 -- not allowed to drop subscribers automatically.
  1666.                     The message header info in the message text is the same
  1667.                     format as for main_type 18.
  1668.  
  1669.                     When received, the processor will send the message text
  1670.                     mentioned in their main_type 17 description (minus the status
  1671.                     byte) to the sysop as email, is the status is 0 or 3.
  1672.  
  1673.                main_type 20 (0x0014) -- main_type_sub_list_info
  1674.                     In many WWIV networks, the subs list coordinator (SLC)
  1675.                     occasionally sends out "pings" to all network members.
  1676.  
  1677.                     When this message type is received from the SLC (minor_type
  1678.                     0), the analyzer checks the BBS's sub data file.  If there
  1679.                     are any subs hosted by the receiving system which are
  1680.                     flagged for inclusion in the distributed SUBS.LST, a list of
  1681.                     them is returned to the SLC via another main_type 20 message
  1682.                     with minor_type==1).  When the SLC receives the reply, it is
  1683.                     written into SUBS.INF in the network's data directory
  1684.                     (appended if the file exists).
  1685.  
  1686.                main_types 21 (0x0015) through 25 (0x0019) -- UNUSED
  1687.                     These were formerly reserved for the WWIVLink network for
  1688.                     their own updates, before they purchased NETUP (WSS's
  1689.                     network update software).  It is not longer used by that
  1690.                     network.
  1691.  
  1692.                main_type 26 (0x001a) -- main_type_new_post
  1693.                     Because of the growing number of networked subs on WWIVnet, 
  1694.                     the number of available subtypes was getting scarce. 
  1695.                     Starting with WWIV version 4.22 and NET32, alphanumeric
  1696.                     subtype support was added, greatly expanding the possible
  1697.                     subtypes.  Alpha subtypes are seven characters -- the first
  1698.                     must be a letter, but the rest can be any character allowed
  1699.                     in a DOS filename.  This main_type covers both subscriber-
  1700.                     to-host and host-to-subscriber messages.  Minor type is
  1701.                     always zero (since it's ignored), and the subtype appears as
  1702.                     the first part of the message text, followed by a NUL. 
  1703.                     Thus, the message header info at the beginning of the
  1704.                     message text is in the format SUBTYPE<nul>TITLE<nul>
  1705.                     SENDER_NAME<cr/lf>DATE_STRING<cr/lf>MESSAGE_TEXT.
  1706.  
  1707.                     It is assumed that a message coming into a host is a
  1708.                     prepost, and it is processed similarly to main_type 5. 
  1709.                     Likewise, it is assumed that messages coming into a sub-
  1710.                     scriber system are net posts, and they are processed
  1711.                     similarly to main_type 3.
  1712.  
  1713.                main_type 27 (0x001b) -- main_type_new_external
  1714.                     This is the new type of external message, implemented with
  1715.                     NET33.  Like main_type 6, it creates an external file with
  1716.                     the message text for an external program to process.  Again,
  1717.                     the minor_type is determined by the external program.
  1718.  
  1719.                     There is a full explanation of how these messages are
  1720.                     processed in Filo's WWIVnet Software Docs.  In short,
  1721.                     similar to main_type 6, the local mail processor searches
  1722.                     for the minor_type in a data file (EPROGS.NET for NETxx),
  1723.                     and creates an external file if it is found.  When the local
  1724.                     mail processor is finished with the local mail file, the
  1725.                     program associated with that minor_type will execute, with
  1726.                     the associated filename (with path) as a parameter.
  1727.  
  1728.      [More Next Issue]
  1729.     ──══════════════════════════════════════════════════════════════════──
  1730.   ┌────────────────────────────────────────────────────────────────────────┐
  1731.   │ IceNEWS is an independent  journal  published  monthly as a service to │
  1732.   │ IceNET, its Sysops and users.  The opinions & reviews expressed herein │
  1733.   │ are the expressed views of the respective writers. All Rights Reserved.│
  1734.   │ Many product names used herein are the property of their respective    │
  1735.   │ manufacturers/authors.                                                 │
  1736.   └────────────────────────────────────────────────────────────────────────┘
  1737.  
  1738.  
  1739.