THIS IS A BUG-FIX ONLY - NO NEW FEATURES

PREFACE
=======
Original Author - Tim Smith (Unknown Address)
Maintainers - 
March 1995 - Sven Goldt (goldt@math.tu-berlin.de)
July 1995  - Robert A. Yetman (boby@pixi.com)

Current Maintainer - boby@pixi.com
Japanese Docs - Motoharu Kubo (mkubo@st.rim.or.jp)

LOCATION
========
Site1	     = sunsite.unc.edu
Path1        = /pub/Linux/system/Mail/news
File1        = suck-2.6.3.tar.gz

Site2        = tsx-11.mit.edu
Path2        = /pub/linux/sources/sbin
File2        = suck-2.6.3.tar.gz

INTRODUCTION
============
The primary use for suck is to feed a local INN or CNEWS server, without
the remote NNTP feeding you articles.

This package contains the following software for copying news from an
NNTP server to your local machine, and copying replies back up to
an NNTP server.

The suck/rpost combination allows you to run your own INN/CNEWS site, 
controlling where you get your news, and where you post outgoing articles.
Suck/rpost use only standard NNTP commands that are used by your favorite
news reader (suck as tin, xvnews, strn) such as POST and ARTICLE.  If you
can use tin or xvnews against a NNTP site, than you can use Suck/Rpost.  

suck			Pull a small newsfeed from an NNTP server, avoiding the
			NEWNEWS command.

lpost			Gives one article fetched by suck to the local server.

rpost			Posts article(s) to an NNTP server (like inews)
			using the POST command, avoiding nntpsend and innxmit.

testhost        	Check to see what commands your host recognizes or
			get the active or new list.

************************************************************************
THANKS to all the users who have sent me mail, both good and bad.
************************************************************************

************************************************************************
NOTE:
Suck will not work with obsolete NNTP servers that can't handle
the xhdr command. inn-1.4sec has its own NNTP server that can handle xhdr,
cnews.CR-G has no own NNTP server so it depends on which NNTP server you
connect to cnews.

NOTE2:
This code assumes an ANSI-compliant compiler, it will NOT work with old
compilers (Such as Sun's and  Aix) which don't accept function prototypes.

************************************************************************

------------------------------HOW TO USE--------------------------------
1.  Edit config.h - lots of configurable stuff here
2.  Edit Makefile - check the directory/ownership/modes for the install
	and if you use the checkhistory option in config.h, which DB
	scheme your local host uses.
3.  Make it.  (make, make install)
4.  Create a sucknewsrc - which groups to download (see suck man pg)
5.  Take a look at sample/get.news(.innxmit or .rnews)
	These scripts show the whole scheme, from sucking news to
	posting replies to your remote host.  Use .innxmit if you
	are using INND, or .rnews if you are using CNEWS.
	The get.news.innxmit is the script I actually use, since I
	am running INND.
6.  READ THE MAN PAGES
-------------------------------------------------------------------------
**************************************************************************
MAJOR CHANGES 2.6.2 - 2.6.3

1. Fixed two memory allocation bugs in killfile.c
2. Changed Makefile back so that suck would link properly with older
   (<2.7.2) gcc's. 

MAJOR CHANGES 2.6.2 - 2.6.1

1.  Changed the word messages to articles in all docs/comments, etc.
2.  Added support for profiling, so can track down slow portions of code.
3.  Added support for non standard locations of the DBZ library and include
    files.
4.  Separated the flat file history checks and the DB history checks.
5.  Fixed some MAJOR bugs in the DB code, I don't know how this ever worked.
    Fixed the bad ifdefs which didn't have the USE_ in front of them.
6.  Added experimental flat file check history routine, in an attempt to
    speed this up on large files/downloads.  Try this out and let me know
    if it's faster or not.  See config.h.
7.  Added NRGRPS parameter to killfile stuff, so you can nuke spammed articles.
8.  Added -K option to bypass killfiles, and -H option to bypass history
    file checks.

MAJOR CHANGES 2.6.1 - 2.6

1. Minor documentation changes - fixed HIGHLINE in suck.1 to HILINE
2. Minor make bug fixed. type in DBLIB
3. Addition of JMAN (Japanese manuals): These are the responsibility
of Motoharu Kubo (mkubo@st.rim.or.jp).  If any one has other languages
they would like included, zap me mail.
4. Fixed bug in len of hilines and lolines in param struct in killfile.c

MAJOR CHANGES 2.5.1 - 2.6

1. Added -e, -E, -s, and -S options to suck, rpost, and testhost.  The
   -s and -S allow you to send all status messages to a file.  The -e
   and -E allow you to send all error messages to a file.  -e and -s
   use the default files specified in config.h and the -E -and -S allow
   you to specify a different file name.  By combining these options,
   these programs will now work without any messages going to the screen,
   making use in crontabs or background processing much easier.  In suck,
   the old -s option no longer works, in preference for the above new -s
   option.

2. Added options to handle DBM NDBM and DBZ history database schemes.  See
   Makefile to configure this.  NOTE: I can't test this code, since I don't
   have all the necessary libs and databases.  Any bug reports would be
   appreciated.

3. Added options to killfile processing for group delete/keep files.  With
   this you can specify what articles to delete or keep on a group by group
   basis.  Also made changes to the delete/keep files to allow for case
   sensitive or case-insensitive comparisions.  Changed LINES param to 
   HILINES, and added LOWLINES to match any articles under the line count.
   See the man page for details.  Due to these changes, you will need to
   rewrite your killfile.  Sorry, but thought it was best in the long run.

4. Testhost - added option to check remote server for newgroups based on a
   date/time group provided on command line.

5. Added the option for multiple rnews batch files, with a max size for
   each file specified on the command line with the -r option. 

6. Added the capability to handle multiple feeds with the -p (postfix) option.

NOTES ON NEXT VERSION:

	The next version to be released after this one (barring any bug
fix releases), will probably be called 3.0.  Why?  Well the next big change
that I am going to add into suck is the use of autoconf and GNU coding
standards to make this more portable.  It's pretty portable now, but there
are a few problems ( the most notable being bcopy/memmove usage).

IDEAS FOR FUTURE REVISIONS

1.  Streaming commands (send request for multiple articles then get them all).

2.  Add an external program capability to the killfile stuff.  This program
would be fed the headers and tell suck whether or not it wanted that article.

3.  When using INND, throttle the news server, put the article directly
in your spool directory, and update the active file.  This would basically
mean bypassing innxmit.  This feature would be handy on systems with very
little free disk space, since we would not be downloading the articles then
moving them somewhere else.

4.  add support for authinfo command to allow user login and passwords
(see nntp extension ref files)

boby@pixi.com
