home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / LIST235.ZIP / LISTSERV.DOC < prev    next >
Text File  |  1995-06-02  |  31KB  |  648 lines

  1.  
  2. Listserv v2.35 (06/02/95) - by Pete Nelson
  3. Terminal One BBS (510) 689-9528
  4. Author: pete@terminal-one.com
  5.  
  6.  
  7. Listserv is a wcCODE application that will let you run Internet mailing
  8. lists from your Wildcat BBS.  Listserv can run several types of mailing
  9. lists, can automatically handle subscription/unsubscription requests,
  10. can store and send out an archive/digest of messages on the list and comes
  11. with Listutil for easy management of your mailing lists.
  12.  
  13.  
  14.  
  15. * What is a listserv? *
  16.  
  17. A listserv is a program that runs mailing lists on Internet.  People send
  18. e-mail to the listserv address, and the listserv program sends that e-mail
  19. out to the other subscribers.  The Listserv .WCX works in the same manner.
  20. People send e-mail to the address you set up, and when you run the Listserv
  21. program, it sends out the messages to the subscribers.  Listserv will only 
  22. send and receive messages in the conference you specify in the configuration
  23. file, which must be your conference for Internet e-mail.  Do not set up
  24. a conference in Makewild or wcGATE for your mailing list.  From what I can 
  25. tell, it won't work.  wcGATE was only written to handle incoming messages 
  26. from a mailing list, and wasn't designed to host one.  If MSI is smart, 
  27. they'll add this feature to wcGATE so I won't have to work on Listserv 
  28. anymore, although it is kinda fun!  :)
  29.  
  30.  
  31.  
  32. * Installation *
  33.  
  34. Listserv can be run as an event, but can also be set up as a menu choice for
  35. the sysop to run at his/her discretion.  You need to copy the following files
  36. into your main Wildcat directory:
  37.  
  38.  
  39. LISTSERV.WCX - Compiled Listserv program.  Set this up as a menu option for 
  40. the sysop or as an event.  This is the program that checks and processes your
  41. Internet mailing lists.
  42.  
  43.  
  44. LISTUTIL.WCX - Utility to let to add/view/remove mailing lists, and to
  45. add/drop/view subscribers to those lists.  Run this only as a menu option.
  46.  
  47.  
  48. LISTSERV.CFG - Contains the number for your Internet E-Mail conference.
  49. Put the conference number on the first line.  This will be the only line
  50. in the file.
  51.  
  52.  
  53. LISTSERV.PTR - Stores the high message pointer for your Internet E-Mail
  54. conference, default is 0.  Be SURE to change this number when you first
  55. install or when you renumber your Internet e-mail database, as it could
  56. drastically affect your mailing list.  If this file does not exist, please
  57. create it and put the number zero on the first line.
  58.  
  59.  
  60. LISTSERV.DAT - Stores info on all the mailing lists you host.  This will 
  61. not be present in the ZIP file.  It will be created when you make your 
  62. first mailing list.
  63.  
  64.  
  65. LISTSERV.FLT - Filter file:  This file, if it exists, can be used to filter
  66. out certain lines on outgoing messages.  It should contain the exact text of 
  67. the line you want filtered out.  This file need only exist if you have
  68. problems with messages looping back to your mailing list address or wcGATE is
  69. not exporting messages that are sent out by your mailing lists.  
  70.  
  71. (Line 1)  To: wildcat-l@terminal-one.com
  72. (Line 2)  To: aliens-l@terminal-one.com
  73. (Line 3 is the EOF marker)
  74.  
  75.  
  76. With the v4.10 upgrade of Wildcat, wcGATE will not export messages addressed
  77. to your own domain.  Since incoming messages for the mailing list have a 
  78. 'To: listname@domain.com' in the header, that is sent back out on the messages
  79. for the mailing list.  wcGATE sees that and thinks it's for your domain and
  80. won't export it.  If you have problems with wcGATE not exporting messages,
  81. try putting the exact 'To:' line from the header in the LISTSERV.FLT file
  82. You may have to put a few different lines in there depending on any variations
  83. that would be in the header.  For example:
  84.  
  85. To: wildcat-l@terminal-one.com
  86. To: wildcat-l@terminal-one.com (Wildcat-l)
  87.  
  88.  
  89. LISTSERV.LOG - Listserv's log file.  This is added to every time Listserv 
  90. runs.  It will give you some stats on the messages sent out and the messages
  91. that were skipped.
  92.  
  93.  
  94. LISTSERV.HLP - Custom Help File.  If a message is send to LISTSERV with a
  95. subject of 'HELP', this file will be sent back if it exists.  You can put
  96. anything you want in this file, such as a list of the mailing lists you host
  97. or commands that are used to subscribe to your mailing lists.
  98.  
  99.  
  100. LISTSERV.SKP - Skip File.  If your having problems with messages getting 
  101. bounced back and forth between a mail daemon or postmaster and the Listserv
  102. program, put that mailing address in here.  Any messages that are addressed
  103. to a mailing list will be skipped if the 'From' address is in this file.  
  104. This file is optional.
  105.  
  106.  
  107.  
  108. * Creating a new Mailing List with Listutil *
  109.  
  110.  
  111. The first thing you need to do is run Listutil and create your first mailing
  112. list.  Choose the option to Create a new Mailing List.  
  113.  
  114. First it will ask you for the name of your mailing list.  Choose a name
  115. that is suited to your mailing list.  I run a Wildcat mailing list, so I
  116. called mine Wildcat-L.  Type in the name of your mailing list, minus your
  117. domain name.
  118.  
  119. It will then ask you for the file name to use.  Let me explain how the
  120. file naming works.  Suppose you ran a mailing list called WILDCAT-L, and 
  121. the file name was WILDLIST.  Your file names for that mailing list 
  122. would be:
  123.  
  124. WILDLIST.DAT - Subscriber list.  Binary file
  125. WILDLIST.ADD - Message sent to new subscribers. Text file
  126. WILDLIST.DRP - Message sent to people that unsubscribe.  Text file
  127. WILDLIST.SIG - Signature added to outgoing messages on the mailing list. Text
  128. WILDLIST.NOT - Message sent to people that try to post on the mailing list
  129.                when they're not a subscriber or they're not authorized to
  130.                post on that list or try to retrieve an archive of the
  131.                messages when they are not a subscribed.  Text file
  132. WILDLIST.CLS - Message sent on a closed list to users that try to subscribe
  133.                automatically.  Text file
  134. WILDLIST.LST - List of users authorized to post on the mailing list.  MUST
  135.                exist for type 5 and 6 mailing lists.  It does not affect 
  136.                types 1 through 4.  Text file
  137.  
  138.  
  139. Every file for that mailing list is based on the main file name.  Listserv
  140. will automatically create the .DAT file for you when someone subscribes or
  141. you add a subscriber.  The other files are standard text files you can
  142. create.  If the .ADD, .DRP, .NOT, .CLS  or .SIG files are not present, then 
  143. that message or .SIG will not be sent.
  144.  
  145. Listserv supports six types of mailing lists:
  146.  
  147.      1) Automatic subscriptions, anyone can post
  148.      2) Automatic subscriptions, must subscribe to post
  149.      3) Must e-mail host to subscribe, anyone can post
  150.      4) Must e-mail host to subscribe, only subscribers can post
  151.      5) Automatic subscriptions, must be authorized to post
  152.      6) Must e-mail host to subscribe, must be authorized to post
  153.  
  154. For type 5 and 6 lists, you MUST create a .LST file.  This is is an ASCII
  155. file, and on each line of the file you would list the addresses that
  156. are authorized to post on that list.  Example:
  157.  
  158. Pete Nelson
  159. pete@terminal-one.com
  160. president@whitehouse.gov
  161.  
  162.  
  163. A name without a domain name (Pete Nelson) would be your user name on the
  164. BBS.  This way you can post locally to your own mailing list.  When you post
  165. locally to the mailing list, be sure to enter the listname without the domain
  166. name.
  167.  
  168. You will also be asked some other questions while creating a new mailing
  169. list.  "Number of archived messages to store" allows you to define the
  170. number of messages Listserv holds on to for archive requests.  For example,
  171. if you entered '5', Listserv would save to disk the last five messages sent
  172. out on the mailing list.  If you enter '0', then no messages will be saved.
  173.  
  174. "Can non-subscribers request archived messages?"  Anser No to this if
  175. only subscribers can receive archived messages.  Also, this will send the
  176. ".NOT" file if a non-subscriber requests the archived messages.  Answer Yes
  177. to this question if anyone can receive the archived messages.
  178.  
  179. "Should Listserv send a confirmation reply when a message gets posted?"
  180. Answer Yes to this if you want the sender to get a confirmation that their
  181. message was posted to the mailing list.  Answer No if no confirmation is to
  182. be sent out.
  183.  
  184. You will also need to make a user account for each mailing list so incoming
  185. messages don't get bounced back.  Make sure this account has full access to
  186. your Internet e-mail conference.  Give the account name the same name as your
  187. mailing list, minus your domain name.  Example:  If the mailing list address
  188. is WILDCAT-L@TERMINAL-ONE.COM, make a user called WILDCAT-L
  189.  
  190. Also, be sure to create an account for the LISTSERV@ address.  The easiest 
  191. way to make these accounts is to do so through wcPRO or the User Database
  192. in the Sysop Menu.  Just add a user with the name of LISTSERV.
  193.  
  194.  
  195.  
  196. * Adding or Dropping subscribers manually *
  197.  
  198. Run Listutil, and choose the option to Add Subscribers or Drop Subscribers.
  199. Enter the name of the mailing list, then enter the address you wish to add
  200. or remove.  When dropping a subscriber, you can type in a partial name
  201. and Listutil will find a match on that name.  You will be asked to verify
  202. the address when adding and dropping subscribers.
  203.  
  204.  
  205.  
  206. * Removing a Mailing List *
  207.  
  208. Run Listutil and choose the option to Remove a Mailing List.  Enter the
  209. name of the mailing list you wish to remove.  
  210.  
  211. *NOTE* When you Remove a Mailing List via Listutil, it does not delete the
  212. data files the list was using.  You need to delete the files manually if you
  213. remove a mailing list, otherwise the files remain in case you removed a list
  214. accidentally.
  215.  
  216.  
  217.  
  218. * Moderating a mailing list *
  219.  
  220. Listutil has a feature that will let you scan the message database for any
  221. unprocessed mailing list messages.  Listutil will check from the last time
  222. Listserv was ran.  It will check each message to see if its for the 
  223. 'listserv' address or one of your mailing lists.  If it is, it will display
  224. a short message header and the message body.  You are then given an option
  225. to delete the message or go on to the next unprocessed message.  Hitting 
  226. [ENTER] for the default answer will go on to the next message.  Once the
  227. message is deleted, Listserv will skip over that message when it runs.
  228. This is how you can moderate your mailing lists!
  229.  
  230.  
  231.  
  232. * Subscribing/unsubscribing from the mailing lists. *
  233.  
  234. Users who wish to sign up to the mailing list should send e-mail to the
  235. list (ex: wildcat-l@terminal-one.com) and use for the subject either
  236. the word 'subscribe' or 'unsubscribe'. 
  237.  
  238. Users may also send e-mail to listserv@domain.name.com 
  239. (ex: listserv@terminal-one.com).  In the body of the message, they can put
  240. their subscription requests in as 'subscribe listname' or 
  241. 'unsubscribe listname'.  Be sure that you do not put your username as part
  242. of the command.  If you do, Listserv will not recognize it.  This is the 
  243. recommended way of subscribing/unsubscribing to the mailing lists.
  244.  
  245.  
  246.  
  247. * Archiving Messages *
  248.  
  249. Listserv will keep an archive of up to defined number of messages sent out on
  250. a mailing list.  This will be saved as the main list filename plus a number 
  251. as an extension, starting at one, such as WILDLIST.1, WILDLIST.10,  etc.  
  252. The lowest numbered message will be the oldest (.1) and the highest
  253. numbered one will be the newest.  If you need to delete a message, keep the
  254. messages in a consistent numerical order, i.e. don't have it jump from
  255. '.4' to '.6'. 
  256.  
  257. People can retrieve the archived messages by sending e-mail to the listserv@
  258. address.  Put the words 'archive listname' in the message body.  Listserv
  259. will reply by sending out the archived messages to the requestor.  If your
  260. list is set up so that only subscribers can request messages, the they 
  261. must be a subscriber to the mailing list.  If a request comes in from a 
  262. non-subscriber, the will be sent the ".NOT" file as a reply.
  263.  
  264.  
  265.  
  266. * Special Info on using wcPACK *
  267.  
  268. Right now, Listserv uses the number stored in the pointer file to file to find
  269. the next message to check, but wcPACK can cause this to become incorrect.  I
  270. will have to add support so it checks the high message number for the current
  271. conference for the mailing list account (WILDCAT-L, for example).  That way
  272. the high message number will get updated when wcPACK does its high message
  273. number update.  So for now, if you want your mailing list to work correctly, 
  274. don't use wcPACK on your Internet e-mail conference.  You may also want to 
  275. check the high message pointers before you run Listserv.  I currently run 
  276. it as an option on my sysop menu, and I always check things before I run it.
  277.  
  278. However, I've found that using wcPACK on the Internet e-mail conference 
  279. generally does not cause problems when running with Listserv.  I would do 
  280. some testing to be sure, and I always run wcPACK on my Internet e-mail 
  281. conference manually.  As long as there is one message higher in the conference 
  282. than the highest message number in Listserv pointer file, then you shouldn't 
  283. run into problems.  Your mileage may vary.
  284.  
  285.  
  286.  
  287. * Bounced Messages *
  288.  
  289. One of the problems with running a mailing list is what to do with the 
  290. bounced or rejected messages.  I had been adding support to have Listserv
  291. look for certain subjects (HOST UNKNOWN, WARNING FROM UUCP, UNDELIVERABLE).
  292. With the release of v2.03, Listserv skips messages sent by non-subscribers.
  293. None of the Postmaster, UUCP, mail daemons or other automatic mail handlers 
  294. on different hosts are usually signed up to a mailing list, therefore any 
  295. returned messages from them are skipped, unless your mailing list allows
  296. anyone to post on it.  However, if you have the .NOT file present, Listserv
  297. will reply back and you may get a message stuck in a loop.  Check the
  298. section on the LISTSERV.SKP file for ways to solve this.
  299.  
  300.  
  301.  
  302. * Listserv Data Records *
  303.  
  304. It occurred to me that I should post the records for the data strutcures 
  305. so other coders out there can write utilities for Listserv if they needed to.  
  306. Here they are, including remark lines so you may cut and paste:
  307.  
  308.  
  309. // This is the data type for the list of subscribers of each list
  310. // The "name" would be the e-mail addresses of the subscriber
  311.  
  312. type sublist_rec
  313.      name as string*70
  314. end type
  315.  
  316. // This is the data type for the master list of mailing lists
  317. // found in LISTSERV.DAT.  The 'name' would be the name of the mailing
  318. // list address (ex: wildcat-l).  The 'subfile' would be the set of
  319. // data files used by that mailing list (ex: WILDLIST.DAT, WILDLIST.SIG,
  320. // WILDLIST.ADD, etc)
  321. // The 'type' would be the list type, specified as 1 through 6.  This was 
  322. // added with the v2.20 release on 2-8-95
  323. // The 'max_archive', 'send_nonsub_archive' and 'send_confirm' were added 
  324. // with the v2.30 release on 4-10-95
  325. // 'max_archive' is an integer from 0 to 999, number of archived messages
  326. // to store.
  327. // 'send_nonsub_archive' is either "Y" or "N"  Used to determine if 
  328. // non-subscribers can get archived messages.  Yes if they can, No if not.
  329. // 'send_confirm' is either "Y" or "N".  Yes if a confirmation reply is sent
  330. // when someone posts a message, No if not.
  331.  
  332. type list_record
  333.      name as string*70
  334.      subfile as string*8
  335.      type as integer
  336.      send_nonsub_archive as string*1
  337.      send_confirm as string*1
  338. end type
  339.  
  340. // End of data types for Listserv
  341.  
  342.  
  343.  
  344. * Listserv and Wildcat Mailing lists *
  345.  
  346. I am currently hosting/testing a Wildcat mailing list.  Please send e-mail
  347. to 'listserv@terminal-one.com' with the words 'subscribe wildcat-l' in the 
  348. body of the message.  I also run a Listserv mailing list, and I suggest
  349. you sign up for this as well.  I use that mailing list to send out the new
  350. versions of Listserv.  Sign up using 'subscribe listserv-distrib' in the 
  351. message body.
  352.  
  353.  
  354. If there is anything missing in the docs, please tell me!  Writing
  355. documentation is not my strong point, and if I'm leaving something out then
  356. I'd like to get it added.
  357.  
  358.  
  359.  
  360. * Where to get Listserv *
  361.  
  362. The latest versions of Listserv should be available at the following
  363. locations:
  364.  
  365. FTP:  ccnet.com  /users/weasel/wccode
  366. BBS:  Terminal One  (510) 689-9528
  367.       MSI HQ        (805) 873-2400
  368. WWW:  http://ccnet.com/~weasel
  369.  
  370.  
  371.  
  372. * Registration *
  373.  
  374. This wcCODE program is free, and does not require registration, although I 
  375. would like you to send me an e-mail to tell me that you are using it and what
  376. you think of it.
  377.  
  378.   Send e-mail to: pete@terminal-one.com
  379.  
  380.   Or choose option 'E' on the Listutil Main Menu
  381.  
  382. If you really feel like paying me, I'll be more than happy to accept your 
  383. donations!  Please mail them to:
  384.  
  385.  
  386.                          Pete Nelson
  387.                          1647 Willow Pass Rd. #225
  388.                          Concord, CA  94520
  389.  
  390.  
  391. When you register, you will receive a LISTSERV.KEY file via e-mail. Just place
  392. this file in the same directory as the rest of the Listserv files, and each 
  393. time you run Listserv, you will be reminded of your gracious contribution 
  394. to a fellow sysop.  :)
  395.  
  396. I hope to meet my fellow sysops at CyberXpo 95!  I'll be there!
  397. (Tall guy, beard, black hat with Terminal One on the front.)
  398.  
  399.  
  400. * Revision History *
  401.  
  402. v2.35 - (06/02/95) Fixed the spelling error in the Listserv tagline.
  403.  
  404. v2.34 - (05/16/95) I talked to Richard Bash at Combat Arms BBS last night, 
  405.         and he had a problem with messages getting compressed since the 
  406.         filter file had an extra carriage return at the end, so those 
  407.         carriage returns were getting filtered out of the message.  As I
  408.         was explaining how to get around it, it occured to me that it 
  409.         would be easier for Listserv to ignore the extra carriage returns 
  410.         at the end of the filter file.   Now it does just that - ignores 
  411.         any blank lines or extra carriage returns at the end of the 
  412.         filter file.
  413.  
  414. v2.33 - (05/09/95) Added an optional LISTSERV.SKP file.  Any addresses in
  415.         this text file will be skipped over by Listserv.  This should fix
  416.         any problems with messages bouncing back and forth between Listserv
  417.         and any mail daemons or postmasters.
  418.  
  419. v2.32 - (05/03/95) Fixed a bug that was causing messages to local users
  420.         to have the wrong user ID.
  421.       - Fixed a bug where the program would return to conference 0 upon exit
  422.         rather than the conference it had originally been started from.
  423.  
  424. v2.31 - (04/13/95) Removed a line of code I had added for debugging and
  425.         forgot to remove (Confirm Y, Confirm N).  Oops!  :)
  426.       - Listserv no longer skips over messages with blank subjects
  427.  
  428. v2.30 - (04/10/95) Made the following items sysop configurable:
  429.          * Number of archived messages to save (0-999)
  430.          * Sending of confirmation replies when messages are posted
  431.          * Archive message requests can be restricted to subscribers only
  432.  
  433. v2.26 - (04/04/95) Fixed a rather boneheaded bug on my part where the
  434.         archived messages were saved using the mailing list name rather than
  435.         its main file name.
  436.       - Fixed a bug in the outgoing addressing of archive requests
  437.  
  438. v2.25 - (04/04/95) Added support for archived message storage and retrieval.
  439.         See the * Archiving Messages * section for more info.
  440.       - Fixed a 'File Already Open' bug
  441.       - Listutil: Added an option to e-mail the author.  (Hey, that's me!)
  442.  
  443. v2.24 - (03/13/95) When a message is sent out on the mailing list, Listserv
  444.         will send a confirmation message back to the author of the original
  445.         message.  The format of the message is:
  446.            Your message 'This is the subject' was sent out to 
  447.            LISTNAME on 03/13/95 at 01:45:23 pm.
  448.       - When Listserv receives a message addressed to LISTSERV with a
  449.         subject of 'help', it will send back a file called LISTSERV.HLP if
  450.         it exists.  You can put anything in here that you want, such as a
  451.         list of your mailing lists, how to subscribe, etc.
  452.       - Fixed a very minor bug in Listutil
  453.       - Listutil will now display the total number of subscribers when 
  454.         listing or searching a subscriber list.
  455.       - The rebuild function in Listutil now trims any leading or trailing
  456.         spaces off the subcribers mailing address.  I noticed some e-mail
  457.         addresses were being added with a leading space and it was annoying
  458.         me, so I changed it.  :)
  459.    
  460. v2.23 - (03/01/95) Now creates a LISTSERV.LOG file that shows the message
  461.         counts each time Listserv runs.
  462.       - Added an option in Listutil to rebuild a mailing list subscriber
  463.         file.
  464.       - New computers at work - wcCODE compiles and runs really fast on a 
  465.         Pentium 90!
  466.  
  467. v2.22 - (02/10/95) Added the ability to the Moderate function to edit
  468.         the message body or subject
  469.  
  470. v2.21 - (02/09/95) Added a feature to Listutil that will search for 
  471.         messages that have not been processed by Listserv.  It will
  472.         check each message to see if it is addressed to 'listserv' or
  473.         one of your mailing lists.  If it is, it will show you a message
  474.         header as well as the body of the message.  You are then given an
  475.         option to delete the message or to go on to the next message.
  476.         Once the message has been deleted, Listserv will skip over it 
  477.         when it runs.
  478.       - Thanks to MSI support, Listserv now does a different (correct) 
  479.         method of checking to see if a message has been deleted.  According
  480.         to the Addendum text, a flag of 200 signifies a deleted message.
  481.         So I tried using the FlagIsSet command to test for it, but didn't
  482.         have much luck.  Called MSI support.  They said the FlagIsSet command
  483.         is broken.  They said you can do this to test for a flag:
  484.              If (Msg.Flags and 0x0200) <> 0 Then Print "Flag is set."
  485.              If (Msg.Flags and 0x0200) = 0 Then Print "Flag is cleared."
  486.         This should work for any of the bit-masked flags you need to 
  487.         check!  Thanks MSI!      
  488.  
  489. v2.20 - (02/08/95) Listserv now supports six types of mailing lists!
  490.         These will be set up through Listutil.  Be sure to read the 
  491.         UPGRADE.DOC file!  Here are the new types of mailing lists:
  492.          (1)  Anyone can subscribe, anyone can post
  493.          (2)  Anyone can subscribe, only subscribers can post
  494.          (3)  Must e-mail host to subscribe, anyone can post
  495.          (4)  Must e-mail host to subscribe, only subscribers can post
  496.          (5)  Anyone can subscribe, must be authorized to post
  497.          (6)  Must e-mail host to subscribe, must be authorized to post
  498.         Listserv will send out a custom messgae for a type 3, 4 or 6 message
  499.         when someone tries to subscribe.  It will also send out a message
  500.         for a type 5 or 6 if an unauthorized person tries to post.
  501.       - Fixed a bug where Listserv would skip some messages to the LISTSERV
  502.         address when the Subject contained a subscribe or unsubscribe
  503.         message.  This should work more reliably now.
  504.       - (Wow... I've more than doubled the size of the code since v2.00!)
  505.  
  506. v2.13 - (02/06/95) Fixed a bug where Listserv would exit when someone that
  507.         was not a subscriber tried to send a message to the list.
  508.       - The "From: username@domain.com" that was added to each message has
  509.         been removed.  The incoming message header always has the From 
  510.         address anyways (unless you sent the message locally), so it was 
  511.         kind of redundant.
  512.       - Each message will now have a "Processed with Listserv v2.13", or
  513.         the current version number, added to the end
  514.  
  515. v2.12 - (01/30/95) Added support for a registration key file.  People that
  516.         register will now get a key file saying that they have a registered
  517.         copy of Listserv!
  518.       - LISTUTIL: As my wcCODE programming knowledge expands, I optimize my
  519.         code a little more.  All the Yes/No prompts in Listutil now use a 
  520.         standard one or two lines of code using InputYesNo, rather than the 
  521.         six or seven lines of code using an Inkey command I had been using.
  522.  
  523. v2.11 - (01/09/95) The first revision for the new year!
  524.         Added support for a custom message (LISTSERV.NOT) that is sent out
  525.         to people that try to send a message out on the mailing list when
  526.         they are not a subscriber.
  527.       - Fixed some spelling errors in the docs.  :)
  528.  
  529. v2.10 - (12/22/94) Modified the way Listserv does its displays so it runs 
  530.         smoother rather than "blocky", although it now runs slightly slower.
  531.         If this is a major problem I will change it back to its original
  532.         display method.
  533.       - LISTUTIL: A few minor bug fixes
  534.  
  535. v2.09 - (12/19/94) Fixed a bug where Listserv would send a blank message 
  536.         if no filter file existed.  This has been fixed, and why I didn't
  537.         catch this when I released v2.08 is beyond me!  Guess it was just
  538.         one of those days.  :)
  539.       - Released the data structures in the docs.
  540.       - LISTUTIL.WCX: Added an option to reset the high message pointer       
  541.  
  542. v2.08 - (12/12/94) Added a feature to let the sysop filter out certain text
  543.         on outgoing messages.  The optional file LISTSERV.FLT should contain 
  544.         the lines you want filtered out of outgoing messages.  See the
  545.         documentation in the above text on how it should be formatted.
  546.  
  547. v2.07 - (12/01/94) The feature to skip deleted messages added in v2.06 was
  548.         causing Listserv to skip all new imported messages.  This should now
  549.         be fixed.
  550.  
  551. v2.06 - (11/29/94) Listserv will now skips messages flagged as deleted.  This
  552.         way you can add some sort of basic moderation to your mailing list.
  553.       - Fixed a bug that would cause Listserv to start at the first message
  554.         if the last message pointer (in the LISTSERV.PTR file) was pointing
  555.         to a non-existent message.  Example: Say the last message was 870, 
  556.         and that message had been marked as deleted and wcPACK was run to 
  557.         remove it.  Message 870 no longer exists, so Listserv can't find it
  558.         and starts at the beginning of the list. 
  559.  
  560. v2.05 - (11/16/94) Listserv now supports a LISTSERV@ address.  Users can now
  561.         send a message to listserv@domain.name.com, and put the 
  562.         'subscribe listname' and 'unsubscribe listname' in the body of the
  563.         message.
  564.       - Fixed a bug that occasionally happened when Listserv reached the last
  565.         record in it's subscriber list and would hang if the last record was
  566.         blank.
  567.  
  568. v2.04 - (11/15/94) Not released due to a bug
  569.  
  570. v2.03 - (11/10/94) Messages sent by a non-subscriber are skipped and not
  571.         sent out on the mailing list.
  572.       - Fixed a bug where Listserv would send/process one message and then
  573.         exit.  
  574.  
  575. v2.02 - (10/31/94) Recompiled to work with Wildcat v4.01
  576.       - Messages with a subject of HOST UNKNOWN are now skipped
  577.       - Fixed a bug where Listserv was sending out messages with blank
  578.         subjects.  Listserv now skips such messages.
  579.  
  580. v2.01 - (10/7/94) Turned off the Pause prompt
  581.       - Messages with a subject of EXECUTION FAILED or a blank subject are
  582.         now skipped and not sent out on the mailing list
  583.  
  584. v2.00 - (10/6/94) Support for multiple mailing lists added!  Yeah!
  585.       - Custom messages for each mailing list
  586.       - Listutil now handles the support for adding/removing mailing lists
  587.       - When using Listutil, you can type in a full or partial name, and
  588.         it will come of with a match.  IE: WILD would find WILDCAT if it
  589.         existed.  This works in both the mailing list and subscriber areas.
  590.       - Messages with a subject of SUB or UNSUB are now treated as 
  591.         subscription/unsubscription requests.
  592.       - Listserv will change back to the original conference it was launched
  593.         from
  594.  
  595. v1.06 - (9-29-94) Messages that contain a subject of WARNING FROM UUCP, 
  596.         UNDELIVERABLE or UNKNOWN ADDRESS are skipped.  This way bounced
  597.         messages are not sent back out on the mailing list.
  598.       - Fixed a bug that would give a "file already open" error when 
  599.         an unsubscription request was immediately followed by a subscription
  600.         request.
  601.  
  602. v1.05 - (9-22-94) Messages with the a subject of SUB, UNSUB or blank are 
  603.         now considered invalid subscription requests.  A custom message is 
  604.         sent out (INVALSUB.MSG) when Listserv gets one of these messages.
  605.         (Thanks to steve.henry@ambassador.com for the suggestion)
  606.       - All messages sent out on the list now show the From name as the
  607.         mailing list name.  This makes it easier to send replies back to
  608.         the mailing list rather than the original sender.
  609.         (Thanks to sysop@guildnet.org for the suggestion)
  610.  
  611. v1.04 - (9-12-94) Fixed a bug that was causing wcGATE not to export 
  612.         the outgoing messages.  Here's what was happening: 
  613.         There is a field in the Message Header record called Network Name.
  614.         My Internet provider is Holonet, and I wrote a small WCX to have
  615.         it display all the Network Names in the messages in my Internet 
  616.         E-mail conf.  Well, all the ones that were imported said HOLONET, 
  617.         and all the local ones added by the system, straight Wildcat and not 
  618.         the wcCODE program, were blank.  When Listserv got a message from 
  619.         Internet, the Network Name was already set to HOLONET, and when it 
  620.         saved an outgoing message, the Network Name was still set to HOLONET,
  621.         hence wcGATE thinks that the message had already been imported so it
  622.         didn't export it again.  All I did was reset the Network Name to 
  623.         blank before the message was saved so wcGATE will export the message.  
  624.  
  625. v1.03 - Fixed a bug that was causing messages to be saved as public rather
  626.         than private.  All outgoing messages created are now private.  
  627.         (Thanks to Steve at MSI for sending me the message flags info!)
  628.       - Added support for custom messages that are sent when people subscribe
  629.         and unsubscribe from the list
  630.       - Added a utility that lets you add/drop/list subscribers in the 
  631.         mailing list.
  632.  
  633. v1.02 - Added support so users already signed up for the list cannot get 
  634.         signed up again
  635.       - Added/changed come of the colors
  636.       - Added support for a customizable tagline (.sig) for each message.
  637.       - Fixed a bug where it put the mailing list name as the "From" name
  638.       - Turned off the "More" prompt.
  639.  
  640. v1.01 - Sends a reply when you subscribe or unsubscribe from the list.
  641.       - Included in docs how to actually subscribe/unsubscribe to the 
  642.         mailing list!  Ooops, slight oversight.
  643.  
  644. v1.0 - Initial Release.
  645.  
  646.  
  647. I can't believe I've written so much documentation for this program!  :)
  648.