[1414] in linux-announce channel archive

home help back first fref pref prev next nref lref last post

suck-2.5 (news transfer program)

daemon@ATHENA.MIT.EDU (Lars Wirzenius)
Fri Dec 8 02:28:24 1995

Date: Thu, 7 Dec 1995 21:24:24 +0200
From: Lars Wirzenius <wirzeniu@cc.helsinki.fi>
To: linux-announce@vger.rutgers.edu

From: "Robert A. Yetman" <boby@pixi.com>
Subject: suck-2.5 (news transfer program)
Approved: linux-announce@news.ornl.gov (Lars Wirzenius)
Newsgroups: comp.os.linux.announce
Followup-to: comp.os.linux.development.apps
Organization: ?
Keywords: suck nntp inn rnews

-----BEGIN PGP SIGNED MESSAGE-----

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

This is to announce the release of suck-2.5

Lots of Changes, both internally and user-visable.
See README below for more information.

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

Current Maintainer - boby@pixi.com

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

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

INTRODUCTION
============
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.

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).

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

get.news.innxmit	A script tieing this all together using innxmit.

get.news.rnews		A script tieing this all together using rnews.

put.news		a script that can be called by rpost.

************************************************************************
THANKS to all the users who have sent me mail, both good and bad.
I have tried to incorporate as many suggestions as possible in this
version.
************************************************************************

************************************************************************
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.
************************************************************************

************************************************************************
LOOK AT config.h BEFORE COMPILING!  Lots of user-definable stuff in there.
ALSO LOOK AT Makefile for the directoy to install the executables and
the man pages to.

I no longer include executables in the tar, since they only take a 
minute to make, and to avoid probs with a.out/ELF/non-linux systems.
************************************************************************

MAJOR CHANGES 2.4.1 - 2.5

1. * Major internal changes! *
   Previously, suck used to read suck.sorted between each article to get the
   the message id for the next article.  This resulted in a lot of disk activity.
   I changed it to use an in-memory linked list of articles.  The only disk
   activity now is the writing to the suck.restart file, and the write of the
   messages.  This dictated a change to the format of the suck.restart file,
   but it still does the same thing.
  
   Fixed handling of stderr/stdout if in multifile mode or stdout mode.

   Changed way I create the batch file.  Now I just batch up whatever messages
   are in the directory, vice complaining if a message wasn't there.

   Minor bug squashes along the way.

2. User Visable Changes
 
   * WARNING FOR NON-LINUX systems * - I used a couple of functions and techniques
   in the signal and lockfile routines that may or may not be portable across all
   systems.  I would be very interested if this works or not across various systems.
   I used gcc-2.7.1 and libc 5.0.9, so it should be fairly portable.

   Added a signal handler.  IF you define MYSIGNAL in config.h, sending that signal
   to suck will cause suck to finish downloading the current message, then batch
   up whatever is present and end.

   -a option to suck.  If you specify this on the command line, suck will always
   batch up any articles it downloaded, even if we died on some type of error.
   Default behavior is to only batch up on success or on reciept of signal.

   Suck now creates a lockfile to keep people from running two sucks at one time.

   Minor changes to sucknewsrc.  If the message number for the group is < 0, don't 
   download any messages, just find out current highest message number and update.
   This is one way to start a new group.  Just specify -1 and suck will automatically
   get the current message number available.   Also added comment.  If you start
   the line with #, the entire line is ignored.

   Properly handle double dots IAW RFC 977 2.4.1.  If we are stdout mode, leave them
   alone, since follow on process will need them, else filter them properly.

   Added check history option.  If defined in config.h, after downloading the message-ids,
   suck will compare them to what is in /usr/lib/news/history, and not download any that
   already exist on the current system.  I don't know the format of the history for CNEWS
   so I don't know if this will work or not for CNEWS.

   Various minor cosmetic screen messages changed.

   Added a #define memmove() to config.h if your system doesn't have a bcopy().  A few
   people have had trouble if their system doesn't have bcopy, and they just change
   bcopy to memmove without switching arguments around.  If your system doesn't have bcopy,
   just uncomment this.

   Added options to killfile to kill based on path, subject, and from 
lines in header.

   Man pages created, hence the elimination of README.NEWS.  Its information is now
   contained in this file.  Also, changed the scripts.  Now there is one for CNEWS
   (rnews) and one for INND (innxmit).  It was getting messing mixing the two in
   the same script.

IDEAS FOR FUTURE REVISIONS

1.  Use autoconf so that it will work on various systems.
  * ANYONE got any experience with this?  I could use some help 
  * getting started on this one.

2.  Expand the killfile option stuff to allow for killing by Message-ID 
  * This would take some type of mechanism to delete after some length
  * of time.

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

Any others?

boby@pixi.com


CONCLUSION
==========
The primary use for suck is to feed a local INN or CNEWS server, without
the remote NNTP feeding you articles.  The suck package is also useful
 if you have a dialup connection to a shell or slip account and want to
reduce the expenses for your phonebill/online time. Rumors say that some
dudes use suck for other reasons like archiving, extra newsfeed or
sending articles by mail.  With all these little tools together you
 almost have the functionality of a newsreader, but without the
advantage of comfortability and the disadvantage of online time.


boby@pixi.com


-----BEGIN PGP SIGNATURE-----
Version: 2.6.2i

iQCVAwUBMMc7EIQRll5MupLRAQGJbgP+L0B+ANgTHo4W0tNj6HeRobEuMAZhyYRp
I1IoJrFXokPbL0nFY4EHiN1L8G1tXt/RUN4uL8EFR4cOPrkKPvSS3XVkgM3ec8wL
6ygTD/TO7N2gsh0vOit+IcRkP/LK5FWejVGms1vt0RWO8goJZQYkw3PvCVfvWlVw
Tla7KHL27VQ=
=cYWW
-----END PGP SIGNATURE-----

-- 
This article has been digitally signed by the moderator, using PGP.
Finger wirzeniu@kruuna.helsinki.fi for PGP key needed for validating signature.
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software and the LOCATION.


home help back first fref pref prev next nref lref last post