--- innfeed-0.10.1.7.orig/misc.c +++ innfeed-0.10.1.7/misc.c @@ -207,7 +207,7 @@ { char buffer [512] ; /* gag me */ - vsprintf (buffer,fmt,ap) ; + vsnprintf (buffer,sizeof buffer,fmt,ap) ; syslog (level,buffer) ; } va_end (ap) ; --- innfeed-0.10.1.7.orig/debian/compat +++ innfeed-0.10.1.7/debian/compat @@ -0,0 +1 @@ +4 --- innfeed-0.10.1.7.orig/debian/preinst +++ innfeed-0.10.1.7/debian/preinst @@ -0,0 +1,12 @@ +#!/bin/sh -e + +case "$2" in + 0.9.*) + echo "Upgrade from innfeed 0.9.x is not supported." + echo "Please write to md@linux.it" + exit 1 + ;; +esac + +#DEBHELPER# + --- innfeed-0.10.1.7.orig/debian/copyright +++ innfeed-0.10.1.7/debian/copyright @@ -0,0 +1,23 @@ +This package was put together by Miquel van Smoorenburg +from sources obtained from ftp://ftp.isc.org/isc/inn/innfeed/ + +The copyright as found in the sources reads: + + * Copyright: Copyright (c) 1996 by Internet Software Consortium + * + * Permission to use, copy, modify, and distribute this + * software for any purpose with or without fee is hereby + * granted, provided that the above copyright notice and this + * permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE + * CONSORTIUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + * SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET + * SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE + * USE OR PERFORMANCE OF THIS SOFTWARE. + * --- innfeed-0.10.1.7.orig/debian/innfeed.conf +++ innfeed-0.10.1.7/debian/innfeed.conf @@ -0,0 +1,76 @@ +# +# innfeed.conf Configuration file for the ``innfeed'' program. +# See innfeed.conf(5) for the format of this file, and +# /usr/share/doc/innfeed/examples/innfeed.conf for a +# fully commented sample file. +# + +## +## Global values. Not specific to any peer. These +## are optional, but if used will override the +## compiled in values. +## + +news-spool: /var/spool/news +pid-file: /var/run/innd/innfeed.pid +debug-level: 0 +use-mmap: false +log-file: /var/log/news/innfeed.log +stdio-fdmax: 0 + +backlog-directory: /var/spool/news/out.going/innfeed +backlog-rotate-period: 60 +backlog-ckpt-period: 30 +backlog-newfile-period: 600 + +dns-retry: 900 +dns-expire: 86400 +close-period: 3600 +gen-html: false +status-file: innfeed.status +connection-stats: false +host-queue-highwater: 10 +stats-period: 600 +stats-reset: 43200 + +max-reconnect-time: 3600 +initial-reconnect-time: 30 + +no-check-filter: 50.0 +dynamic-method: 3 +dynamic-backlog-filter: 0.7 +dynamic-backlog-low: 25.0 +dynamic-backlog-high: 50.0 + +## +## Defaults for all peers. These must all exist at +## global scope. Any of them can be redefined +## inside a peer or group definition. +## + +article-timeout: 600 +response-timeout: 300 +initial-connections: 1 +max-connections: 5 +max-queue-size: 25 +streaming: true +no-check-high: 95.0 +no-check-low: 90.0 +port-number: 119 +backlog-limit: 0 +backlog-factor: 1.10 +backlog-limit-highwater: 0 + + +## +## Peers. +## +#peer decwrl { +# ip-name: news1.pa.dec.com +#} + +#peer uunet { +# ip-name: news.uunet.uu.net +# max-connections: 10 +#} + --- innfeed-0.10.1.7.orig/debian/startinnfeed.8 +++ innfeed-0.10.1.7/debian/startinnfeed.8 @@ -0,0 +1,14 @@ +.TH STARTINNFEED 8 "Nov 7, 1997" "" "Linux User's Manual" +.SH NAME +startinnfeed \- setuid root program to start innfeed +.SH SYNOPSIS +.B startinnfeed +.RB innfeed-options +.SH DESCRIPTION +.B Startinnfeed +sets all resources (files opened, memory usage) to unlimited. It then executes +innfeed(8) with the options specified. +.SH AUTHOR +James Brister +.SH "SEE ALSO" +.BR innfeed (8) --- innfeed-0.10.1.7.orig/debian/rules +++ innfeed-0.10.1.7/debian/rules @@ -0,0 +1,41 @@ +#!/usr/bin/make -f + +SHELL+= -e +#export DH_VERBOSE=1 + +build: + dh_testdir + make + touch build + +clean: checkroot + dh_testdir + rm -f build + make realclean + dh_clean + +binary-arch: build checkroot + dh_testdir + dh_clean + dh_installdirs etc/news usr/sbin + dh_installman innfeed.1 debian/startinnfeed.8 + dh_installdocs debian/INSTALL innfeed-undrop + dh_installchangelogs + dh_installexamples innfeed.conf convertconfig procbatch testListener.pl + cp debian/innfeed.conf debian/innfeed/etc/news/ + cp innfeed debian/innfeed/usr/sbin/ + install -o root -g news -m 4750 startinnfeed debian/innfeed/usr/sbin/ + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_builddeb + +binary: binary-arch + +checkroot: + test root = "`whoami`" + +.PHONY: binary binary-arch binary-indep clean checkroot --- innfeed-0.10.1.7.orig/debian/postrm +++ innfeed-0.10.1.7/debian/postrm @@ -0,0 +1,18 @@ +#!/bin/sh -e + +case "$1" in + remove) + ;; + purge) + echo "Removing log and data files..." + rm -rf /var/spool/news/out.going/innfeed + rm -f /var/log/news/innfeed.log + ;; + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + *) + ;; +esac + +#DEBHELPER# + --- innfeed-0.10.1.7.orig/debian/README.Debian +++ innfeed-0.10.1.7/debian/README.Debian @@ -0,0 +1,17 @@ +The following patches were applied: + +1. extra check on !writeIsPending before cxnIdle() in + processResponse436() and processResponse437(), just like + processResponse439 does to prevent ASSERT(cxn->writeBlockedTimerId == 0) + as suggested by Don.Lewis@tsc.tdk.com on 15 Jan 1998 on the + innfeed users list + +2. Change the severity of the ARTICLE_TIMEOUT_MSG syslog message to + LOG_NOTICE (it isn't a warning, just a notice). + +3. Changed SIGEMT (doesn't exist on linux) to SIGTTIN + +4. Rename dprintf to debugprintf for glibc + +5. Add linux-libc6 config to sysconfig.h + --- innfeed-0.10.1.7.orig/debian/changelog +++ innfeed-0.10.1.7/debian/changelog @@ -0,0 +1,84 @@ +innfeed (0.10.1.7-8) unstable; urgency=medium + + * Added Build-Depends field. (Closes: #189896) + + -- Marco d'Itri Thu, 3 Jul 2003 19:37:38 +0200 + +innfeed (0.10.1.7-7) frozen unstable; urgency=high + + * Removed dh_suidregister call (closes: #83859). + * Fixed buffer overflow. Harmless unless you put users in the news + group, which is insecure anyway. + + -- Marco d'Itri Thu, 19 Apr 2001 19:42:59 +0200 + +innfeed (0.10.1.7-6) frozen unstable; urgency=low + + * Fixed Build-Depends (closes: #58294). + + -- Marco d'Itri Sun, 20 Feb 2000 15:44:16 +0100 + +innfeed (0.10.1.7-5) frozen unstable; urgency=low + + * New maintainer. + * Minor fixes to installation scripts. + * Added some missing lines to innfeed.conf. + * Updated for new policy. + + -- Marco d'Itri Mon, 24 Jan 2000 13:25:40 +0100 + +innfeed (0.10.1.7-4) unstable; urgency=low + + * fix maintainership in control file + * make /usr/sbin/startinnfeed readable, closes: #25613 + +-- Bdale Garbee Sat, 27 Nov 1999 09:31:30 -0700 + +innfeed (0.10.1.7-3) unstable; urgency=low + + * moved to cvs, new .orig.tar.gz to clean out upstream CVS directory remnants + +-- Bdale Garbee Mon, 21 Jun 1999 11:00:00 -0600 + +innfeed (0.10.1.7-2) unstable; urgency=low + + * new maintainer + * fix innfeed man page, closes 20828 + * compress man pages, closes 25614 + * fix innfeed.conf man page, closes 27032 + * clean up most of the lintian whines + +-- Bdale Garbee Wed, 26 May 1999 16:31:40 -0600 + +innfeed (0.10.1.7-1) unstable; urgency=low + + * New (well, new .. ) upstream version. + * Applied unofficial !writeIsPending(cxn->myEp) patch + * Fixes: + #15300: innfeed: automatic conversion does not work + #15301: innfeed: postinst syntax error + + -- Miquel van Smoorenburg Wed, 4 Feb 1998 17:53:48 +0100 + +innfeed (0.10.1-1) unstable; urgency=low + + * New upstream version + * Added manpage for startinnfeed + * Fixes bugs: + #8584: innfeed: tearing down idle connections is not an warning/err + #14326: innfeed: innfeed times out when it shouldn't + #14558: innfeed postrm syntax error + + -- Miquel van Smoorenburg Wed, 26 Nov 1997 20:25:59 +0100 + +innfeed (0.9.2-2) unstable; urgency=low + + * libc6 version. + + -- Miquel van Smoorenburg Thu, 30 Oct 1997 16:56:35 +0100 + +innfeed (0.9.2-1) unstable; urgency=low + + * First debian version. Works together with inn_1.5-1 + + -- Miquel van Smoorenburg Fri, 13 Dec 1996 15:02:03 +0100 --- innfeed-0.10.1.7.orig/debian/INSTALL +++ innfeed-0.10.1.7/debian/INSTALL @@ -0,0 +1,38 @@ +[1..8 deleted, as they tell you how to compile the package -- miquels ] + +9. Edit the new innfeed.conf as approriate. + +10. Validate the new config file with: + + /usr/sbin/innfeed -C + + Once you're happy with the new config then... + +11. For each peer, add an entry to the INN newsfeeds file that looks something + like this: + + peername:groups+distributions\ + :Tm:innfeed! + + e.g. + + nic.near.net\ + :!junk/!local\ + :Tm:innfeed! + +12. Add an entry like this too for the above entries to feed into. + + innfeed!:!*\ + :Tc,Wnm*\ + :/usr/sbin/startinnfeed -y + + As mentioned above, startinnfeed is used here if you have innfeed + configured to handle more peers and connections than the system will + normally let it. Normally using just ``innfeed'' is fine too. + +13. Get innd to start it up (e.g. reload the newsfeeds file). + +14. If innd writes a file called innfeed! in the out.going area of your + spool, then the program procbatch included here can be used to + process it. Run 'probatch -h' to get instructions. + --- innfeed-0.10.1.7.orig/debian/postinst +++ innfeed-0.10.1.7/debian/postinst @@ -0,0 +1,10 @@ +#!/bin/sh -e + +if [ "$1" = configure -a ! -d /var/spool/news/out.going/innfeed ]; then + mkdir -p /var/spool/news/out.going/innfeed + chown news:news /var/spool/news/out.going \ + /var/spool/news/out.going/innfeed +fi + +#DEBHELPER# + --- innfeed-0.10.1.7.orig/debian/control +++ innfeed-0.10.1.7/debian/control @@ -0,0 +1,16 @@ +Source: innfeed +Section: news +Priority: optional +Maintainer: Marco d'Itri +Standards-Version: 3.5.10 +Build-Depends: debhelper (>= 4), bison, flex + +Package: innfeed +Architecture: any +Depends: ${shlibs:Depends}, inn +Conflicts: inn2, suidmanager (<< 0.50) +Description: This is the INN feeder program `innfeed.' + This is a program that sends a newsfeed to one or more remote hosts + through NNTP. It can handle multiple connections to multiple remote + hosts. It is an alternative to `nntplink' (of which there is no + Debian package) or the inn-provided `send-nntp' (which is slow). --- innfeed-0.10.1.7.orig/main.c +++ innfeed-0.10.1.7/main.c @@ -113,7 +113,7 @@ static char *logFile ; static char *newsspool ; -static void sigemt (int sig) ; +static void sigttin (int sig) ; static void sigalrm (int sig) ; static void sigchld (int sig) ; static void sigint (int sig) ; @@ -522,7 +522,7 @@ setSigHandler (SIGALRM,sigalrm) ; /* handle signal to flush all the backlog files */ - setSigHandler (SIGEMT,sigemt) ; + setSigHandler (SIGTTIN,sigttin) ; /* we can increment and decrement logging levels by sending SIGUSR{1,2} */ setSigHandler (SIGUSR1,sigusr) ; @@ -637,7 +637,7 @@ configHosts (talkToSelf) ; } -static void sigemt (int sig) +static void sigttin (int sig) { (void) sig ; --- innfeed-0.10.1.7.orig/misc.h +++ innfeed-0.10.1.7/misc.h @@ -83,6 +83,9 @@ int maxFds (void) ; /* if level <= loggingLevel then print */ +#if defined (__GLIBC__) +# define dprintf debugprintf +#endif void dprintf (u_int level, const char *fmt, ...) __attribute__ ((__format__ (printf, 2, 3))); /* for the gethostbyname() error code */ --- innfeed-0.10.1.7.orig/sysconfig.h +++ innfeed-0.10.1.7/sysconfig.h @@ -75,10 +75,10 @@ /* -** LINUX +** LINUX libc5 */ -#if defined (linux) +#if defined (__linux__) && !defined(__GLIBC__) /* Note: If you are running version 5.4.3 or better of libc, then 16 is the number to use. Lower than that, and you should use 1. */ @@ -89,6 +89,18 @@ #define USE_SIGACTION #endif +/* +** LINUX libc6 +*/ + +#if defined (__linux__) && defined(__GLIBC__) +#define MAX_WRITEV_VEC 16 +#define DO_NEED_SYS_SELECT +#define HAVE_MMAP 1 +#define NBIO_FCNTL 1 +#define USE_SIGACTION +#endif + /* ** DEC Unix --- innfeed-0.10.1.7.orig/procbatch.pl +++ innfeed-0.10.1.7/procbatch.pl @@ -33,7 +33,7 @@ # If you have inn 1.5 or higher, then set $innshellvars to point at the # installed innshellvars.pl file. -$innshellvars = "/var/news/etc/innshellvars.pl" ; +$innshellvars = "/etc/news/innshellvars.pl" ; if ( -f $innshellvars ) { require $innshellvars ; @@ -43,7 +43,7 @@ # if $inn'batch is /var/news/spool/out.going then set tapeDir to # /var/news/spool/innfeed $tapeDir = $inn'batch ; #' - $tapeDir =~ s!(.*)/.*!$1! ; + #$tapeDir =~ s!(.*)/.*!$1! ; $tapeDir .= "/innfeed" ; $destDir = $inn'spooltemp ; #' --- innfeed-0.10.1.7.orig/innfeed.conf.5 +++ innfeed-0.10.1.7/innfeed.conf.5 @@ -613,21 +613,21 @@ # (``#''), then the whole string must be quoted # with double quotes. Inside the quotes, you may # use the standard c-escape sequence -# (\t,\n,\r,\f,\v,\",\'). +# (\\t,\\n,\\r,\\f,\\v,\\",\\'). # # Examples: -# eg-string: "New\tConfig\tfile\n" +# eg-string: "New\\tConfig\\tfile\\n" # eg-long-string: "A long string that goes # over multiple lines. The # newline is kept in the # string except when quoted -# with a backslash \ +# with a backslash \\ # as here." # eg-simple-string: A-no-quote-string # eg-integer: 10 # eg-boolean: true # eg-char: 'a' -# eg-ctrl-g: '\007' +# eg-ctrl-g: '\\007' .fi .RE --- innfeed-0.10.1.7.orig/convertconfig.pl +++ innfeed-0.10.1.7/convertconfig.pl @@ -49,13 +49,13 @@ ); %procDefaults = ( -'news-spool', '/var/news/spool/articles', +'news-spool', '/var/spool/news', 'pid-file', 'innfeed.pid', 'debug-level', '0', 'use-mmap', 'false', 'log-file', 'innfeed.log', 'stdio-fdmax', '0', -'backlog-directory', '/var/news/spool/innfeed', +'backlog-directory', '/var/spool/news/out.going/innfeed', 'backlog-rotate-period', '60', 'backlog-ckpt-period', '30', 'backlog-newfile-period', '600', --- innfeed-0.10.1.7.orig/innfeed-undrop +++ innfeed-0.10.1.7/innfeed-undrop @@ -0,0 +1,150 @@ +From rra@stanford.edu Sat Feb 24 21:34:58 2001 +Path: wonderland.linux.it!bofh.it!excite.it!feed.textport.net!newsfeed.stanford.edu!nntp.stanford.edu!not-for-mail +From: Russ Allbery +Newsgroups: news.software.nntp +Subject: Re: Accumulating innfeed cruft +Date: 24 Feb 2001 11:48:51 -0800 +Organization: The Eyrie +Lines: 85 +Message-ID: +References: <978v65$eao$1@marduk.litech.org> <9790d7$kji$1@allhats.xcski.com> +NNTP-Posting-Host: windlord.stanford.edu +Mime-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +X-Trace: news.Stanford.EDU 983044132 1192 171.64.13.23 (24 Feb 2001 19:48:52 GMT) +X-Complaints-To: news@news.stanford.edu +User-Agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Channel Islands) +Xref: wonderland.linux.it news.software.nntp:38395 + +Paul Tomblin writes: +> In a previous article, jeff@litech.org (Jeffrey M. Vinocur) said: + +>> I've been running a small INN setup for a while, and I happenned to +>> notice some buildup of Stuff. In particular, a couple dozen +>> spool/innfeed/innfeed-dropped.* files. The manpage seems to imply that +>> these are from misconfiguring (like adding a peer to newsfeeds but +>> forgetting about innfeed.conf), and thus I should be able to delete the +>> old ones without doing any harm. + +Nope, they happen all the time, usually whenever a lot of control messages +are acted on in a short period or you issue a whole bunch of ctlinnd +commands. You want to pick them up and process them. + +> I seem to get those when a site goes off the air for a while, even after +> it comes back on. I wish I knew what they are, but I just blow them +> away. + +Here's the internal document I wrote here at Stanford saying how to deal +with them: + + Author: Russ Allbery + Subject: Processing dropped articles from innfeed +Revision: $Id: innfeed-dropped,v 1.1 1999/12/15 23:58:57 eagle Exp $ + +innfeed is the process on newsfeed.stanford.edu that sends outgoing +articles to our peers (including to nntp.stanford.edu). It will sometimes +drop articles; this happens when innfeed can't initialize a remote site +for whatever reason, or when INN feeds it articles for a site that isn't +in innfeed.conf (a misconfiguration). The most common cause of this is +the problems that innfeed has with being stopped and restarted a bunch of +times in active succession. INN stops and restarts innfeed whenever it +acts on a control message, so this can happen when a flurry of control +messages come in; when it does, innfeed will sometimes be unable to lock a +site for a while, and articles for that site will get dropped. + +Dropped articles are noted in files named innfeed-dropped. where +is a unique ID for a given innfeed process. These files should normally +always be zero length. If they're non-zero length, innfeed has dropped +some articles, and those dropped article files have to be manually +processed or those articles will never be correctly sent to peers. A cron +job checks every hour for such non-zero dropped article files and will +notify news@news if they show up. + +To process one of these dropped article files, first make sure that the +dropped article file doesn't correspond to a currently running innfeed. +The easiest way of checking this is to notice that every running innfeed +process has a dropped article file, and there are always three copies of +innfeed running on newsfeed.stanford.edu. If there are only three dropped +article files, they all correspond to running innfeed processes. You can +also note that the digits at the end of the file name are the PID of +innfeed and see if that process is running. + +If the file is owned by a running innfeed, stop and restart that instance +of innfeed. The easy way to do that is the command ctlinnd reload +newsfeeds 'restart innfeed' -- the bit between single quotes is just the +log message and is arbitrary. The better way, which only restarts the +innfeed you need to restart, is to use ps to determine whether the +corresponding innfeed is the innfeed-sm instance, the innfeed-lg instance, +or the innfeed instance (the one that doesn't take a configuration file on +the command line), and then flush the corresponding pseudosite. For +example, if ps reveals that that innfeed is using the innfeed-sm.conf +file, type ctlinnd flush innfeed-sm\!. (All pseudosite names end in !, +which has to be protected from the shell.) + +After the dropped article file is safely unowned by any running process, +run procbatch -vm . That will generate innfeed backlog +files for each site mentioned in the dropped article file and put them +somewhere where innfeed will pick them up a while later. procbatch doesn't +delete the dropped article files itself, so after running procbatch you +should rm the files. + +If the dropped articles were due to a misconfiguration, the generated +backlog file won't correspond to any configured innfeed peer. The best +way of detecting this is to see if there's a .lock file for whatever +backlog file procbatch generated (it will tell you what files it's +generating). If there's no .lock file, innfeed doesn't have that site +configured as a peer, and some more tweaking and fixes to innfeed.conf +will probably be needed to correct whatever's going wrong. + +-- +Russ Allbery (rra@stanford.edu) + + Please post questions rather than mailing me directly. + explains why. + +From W1986@inka.de Mon Feb 26 11:44:13 2001 +Path: wonderland.linux.it!bofh.it!excite.it!newsfeed01.sul.t-online.de!t-online.de!blackbush.xlink.net!rz.uni-karlsruhe.de!schlund.de!inka.de!not-for-mail +From: Sven Paulus +Newsgroups: news.software.nntp +Subject: Re: Accumulating innfeed cruft +Date: 26 Feb 2001 09:57:57 GMT +Organization: (Posted via) INKA e.V. http://www.inka.de/ +Lines: 28 +Message-ID: <97d9b5$c3r$1@sapa.inka.de> +References: <978v65$eao$1@marduk.litech.org> <9790d7$kji$1@allhats.xcski.com> <7wYl6lLmw-B@khms.westfalen.de> +NNTP-Posting-Host: puric.inka.de +X-Trace: sapa.inka.de 983181477 12411 212.227.14.17 (26 Feb 2001 09:57:57 GMT) +X-Complaints-To: newsmaster@inka.de +NNTP-Posting-Date: 26 Feb 2001 09:57:57 GMT +User-Agent: tin/1.5.7-20001104 ("Paradise Regained") (UNIX) (Linux/2.0.36 (i686)) +Xref: wonderland.linux.it news.software.nntp:38417 + +Kai Henningsen wrote: +> There really should be a standard distributed way of coping with them. + +I run the following script every hour. It relies on the presence of fuser on +the system. Of course this doesn't help if your sending articles to a site +(in newsfeeds) which isn't configured in innfeed.conf. + +#! /bin/sh + +# innfeed-undrop - requeues dropped articles +# +# 1-Apr-'99 sven +# + +INNFEEDDIR=/news/spool/innfeed + +cd $INNFEEDDIR || exit 1 + +# check, if innfeed-dropped files exist +ls innfeed-dropped.* > /dev/null 2> /dev/null || exit 0 +for a in innfeed-dropped.*; do + # still in use? + if /bin/fuser $a > /dev/null; then + continue + fi + # distribute to the feeds + /news/bin/filechan -d $INNFEEDDIR -f 2 < $a && rm -f $a +done + --- innfeed-0.10.1.7.orig/Makefile +++ innfeed-0.10.1.7/Makefile @@ -9,21 +9,21 @@ # # Where the programs get installed. -BINDIR = /usr/news/local +BINDIR = /usr/sbin # Where your man pages live. MANDIR = /usr/local/man # The compiler you want. NOTE... AIX 3.2.5 users do NOT use CC. See the # comment in sysconfig.h -CC = gcc +CC = cc # How to run lex and yacc. Innfeed requires Flex (but you shouldn't need it). LEX = lex -d YACC = yacc -t -d # Debug option for compiler -g or -O (or both if using gcc). -DBFLAGS = -g +DBFLAGS = -g -O2 # Add any architecture specific defines, flags etc. you need OSFLAGS = @@ -143,7 +143,7 @@ LOADLIBES = $(DMALLOC_LIB) $(LIBRARIES) -VERSION = 0.10.1 +VERSION = 0.10.1.7-debian COMPRESS = gzip COMPRESS_EXT = gz TARSRC = $(SRC) $(INCS) Makefile README INSTALL innfeed.conf \ --- innfeed-0.10.1.7.orig/config.h +++ innfeed-0.10.1.7/config.h @@ -43,7 +43,7 @@ /* the path to the run-time config file. If relative, then relative to TAPE_DIRECTORY (or the value of the ``-b'' option). Overridden by ``-c'' option. */ -#define CONFIG_FILE "/var/news/etc/innfeed.conf" +#define CONFIG_FILE "/etc/news/innfeed.conf" /* @@ -54,7 +54,7 @@ */ /* in tape.c */ -#define TAPE_DIRECTORY "/var/news/spool/innfeed" /* backlog-directory */ +#define TAPE_DIRECTORY "/var/spool/news/out.going/innfeed" /* backlog-directory */ #define TAPE_HIGHWATER 5 /* backlog-highwater */ #define TAPE_ROTATE_PERIOD 60 /* backlog-rotate-period */ #define TAPE_CHECKPOINT_PERIOD 30 /* backlog-ckpt-period */ @@ -62,8 +62,8 @@ #define TAPE_DISABLE 0 /* no-backlog */ /* in main.c */ -#define NEWSSPOOL "/var/news/spool/articles" /* news-spool */ -#define PID_FILE "innfeed.pid" /* pid-file */ +#define NEWSSPOOL "/var/spool/news" /* news-spool */ +#define PID_FILE "/var/run/innd/innfeed.pid" /* pid-file */ #define LOG_FILE "/var/log/news/innfeed.log" /* log-file */ /* in host.c */ @@ -71,7 +71,7 @@ #define DNS_EXPIRE_PERIOD 86400 /* dns-expire */ #define CLOSE_PERIOD (60 * 60) /* close-period */ #define GEN_HTML 0 /* gen-html */ -#define INNFEED_STATUS "innfeed.status" /* status-file */ +#define INNFEED_STATUS "/var/log/news/innfeed.status" /* status-file */ #define LOG_CONNECTION_STATS 0 /* connection-stats */ #define HOST_HIGHWATER 10 /* host-highwater */ #define STATS_PERIOD (60 * 10) /* stats-period */ --- innfeed-0.10.1.7.orig/innfeed.1 +++ innfeed-0.10.1.7/innfeed.1 @@ -14,7 +14,7 @@ innfeed.conf .. .de -.TH INNFEED 1 +.TH INNFEED 8 "" .\" .\" .\" @@ -208,7 +208,7 @@ Innfeed will catch SIGHUP and will reload the config file. See innfeed.conf(5) for more details. .PP -Innfeed will catch SIGEMT and will close and reopen all backlog files. +Innfeed will catch SIGTTIN and will close and reopen all backlog files. .PP Innfeed will catch SIGTERM and will do an orderly shutdown. .PP @@ -259,7 +259,7 @@ by it. .TP refused -The number of articles offered to the host that it it indicated it +The number of articles offered to the host that it indicated it didn't want because it had already seen the Message-ID. The remote host indicates this by sending a 435 response to an IHAVE command or a 438 response to a CHECK command. --- innfeed-0.10.1.7.orig/connection.c +++ innfeed-0.10.1.7/connection.c @@ -2257,7 +2257,7 @@ } else { - syslog (LOG_WARNING, ARTICLE_TIMEOUT_MSG, peerName, cxn->ident) ; + syslog (LOG_NOTICE, ARTICLE_TIMEOUT_MSG, peerName, cxn->ident) ; cxn->state = cxnIdleTimeoutS ; cxnFlush (cxn) ; } @@ -2983,7 +2983,9 @@ cxn->checkRespHead = NULL ; } - if (cxn->articleQTotal == 0) + /* Some(?) hosts return the 436 response even before we're done + sending */ + if (cxn->articleQTotal == 0 && !writeIsPending(cxn->myEp)) cxnIdle (cxn) ; hostArticleDeferred (cxn->myHost, cxn, artHolder->article) ; @@ -3032,7 +3034,9 @@ artHolder = cxn->takeRespHead ; cxn->takeRespHead = NULL ; - if (cxn->articleQTotal == 0) + /* Some(?) hosts return the 437 response even before we're done + sending */ + if (cxn->articleQTotal == 0 && !writeIsPending(cxn->myEp)) cxnIdle (cxn) ; hostArticleRejected (cxn->myHost, cxn, artHolder->article) ;