Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
inn
inn-2.4.2.dif
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File inn-2.4.2.dif of Package inn
--- Makefile.global.in +++ Makefile.global.in @@ -33,7 +33,7 @@ ## libraries built as part of INN. Using relative paths confuses libtool ## when linking the test suite. -builddir = @builddir@ +builddir = @abs_builddir@ ## Basic compiler settings. COPT is the variable to override on the make ## command line to change the optimization or add warning flags (such as --- README.linux +++ README.linux @@ -0,0 +1,95 @@ +Installing a news system: Florian La Roche +========================= + +The INN news system is installed under the directories /etc/news, +/usr/lib/news, /var/lib/news, /var/spool/news and /var/log/news. +/usr/lib/news contains only binaries and files that normally do not need +changes. All config files are in /etc/news, the database files in +/var/lib/news and the log files in /var/log/news. + +Inn supports multiple storage methods, if you use the "tradspool" +method all news articles will get stored in /var/spool/news/articles, +"tradindexed" overview goes into /var/spool/news/overview. + +rnews is in /usr/bin/rnews and inews is in /usr/bin/inews and +/usr/lib/news/inews (deprecated). + +Many things have to be done as user "news". So you should give the "news" +user a normal password and work on that account. + +Here are some hints on how to get a running INN: +- "/var/lib/news/active" is the list of all newsgroups and + "/var/lib/news/newsgroups" contains a description of these newsgroups. + You should copy these two files from your upstream news server. Maybe + look at "man getlist" to find out how to do this without an account + on that machine. + You can also get these files on ftp://ftp.isc.org/pub/usenet/CONFIG/. +- the minimal set of files in /etc/news you probably have to configure: + inn.conf: main config file for many INN programs + incoming.conf: to accept news from the upstream servers + newsfeeds: to send new news-postings to the upstream news server + expire.ctl: tell INN how long to keep news articles +- please look at /etc/news/crontab.sample for things that you might want + to start from cron +- Important further files in /etc/news (could be changed later on...): + readers.conf: who is allowd to read and/or post news + control.ctl: what to do with control messages (add/delete/check newsgroups) + subscriptions: the default list of newsgroups for people reading the first + time news + storage.conf/cycbuff.conf: if you don't use the traditional storing method +- You can use "rcinn start" and "rcinn stop" to start/stop your news system. + (You can do this either as user "news" or as user "root".) + If there are no errors in the syslog-files, you can enable inn in your + startup scripts. + + +Upgrading from inn-2.2 to inn-2.3 +================================= + +Whereas old versions of inn allowed you to turn of the storage +API, inn-2.3 uses it exclusively to store articles. Because of +this, + 1) the history file has a different format, + 2) the overview database has a different layout, + 3) articles are stored in /var/spool/news/articles instead of + /var/spool/news. + +You have two options for the upgrade: + +a) delete all the old articles and start over with a fresh spool, or +b) convert all articles to the new format. + +First of all you have to check your configuration files: + +inn.conf: + lots of things are new, please copy the new version of the + file (inn.conf.rpmnew) to inn.conf and change it to your + needs. + +nnrp.access: + no longer exists. It is now called "readers.conf" and uses + a different syntax. + +storage.conf: + here you can decide which storage format should be used. The + shipped version is configured for "tradspool", which is the + same format the old inn used. Another interesting method is + "cnfs", which uses raw partitions or big buffer files to + store the articles. If you use it, you have to configure + the cycbuff.conf file as well. You may also want to switch + to the "buffindexed" overview method if you use cnfs. + +newsfeeds: + overchan is no longer needed as innd itself now writes the + overview entries. You also have to add an entry for the + controlchan channel: + controlchan!:!*,control,control.*,!control.cancel\ + :Tc,Wnsm:/usr/lib/news/bin/controlchan + +After that you have to decide what to do with your old articles. +We have provided an upgrade script for your convenience: convertspool. +You can use it to create a new history database and to feed all +articles into innd. If you want to start over with an empty spool +(recomended if you have lots of articles and little time), use +the "--fresh" option to just create a new history database. + --- backends/actsyncd.in +++ backends/actsyncd.in @@ -53,23 +53,23 @@ # parse config_file # -host="`sed -n -e 's/^host=[ ]*//p' $cfg | tail -1`" +host="`sed -n -e 's/^host=[ ]*//p' $cfg | tail -n 1`" if [ -z "$host" ]; then echo "$0: no host specified in $cfg" 1>&2 exit 3 fi -flags="`sed -n -e 's/^flags=[ ]*//p' $cfg | tail -1`" +flags="`sed -n -e 's/^flags=[ ]*//p' $cfg | tail -n 1`" if [ -z "$flags" ]; then echo "$0: no flags specified in $cfg" 1>&2 exit 4 fi -ign="`sed -n -e 's/^ignore_file=[ ]*//p' $cfg | tail -1`" +ign="`sed -n -e 's/^ignore_file=[ ]*//p' $cfg | tail -n 1`" if [ -z "$ign" ]; then echo "$0: no ignore file specified in $cfg" 1>&2 exit 5 fi -ftp="`sed -n -e 's/^ftppath=[ ]*//p' $cfg | tail -1`" -spool="`sed -n -e 's/^spool=[ ]*//p' $cfg | tail -1`" +ftp="`sed -n -e 's/^ftppath=[ ]*//p' $cfg | tail -n 1`" +spool="`sed -n -e 's/^spool=[ ]*//p' $cfg | tail -n 1`" if [ -z "$spool" ]; then spool=$SPOOL #echo "$0: no spool directory specified in $cfg" 1>&2 --- backends/send-uucp.in +++ backends/send-uucp.in @@ -21,6 +21,10 @@ use strict; use Sys::Syslog; +if ($inn::compress eq 'compress') { + $inn::compress = $inn::gzip if system('compress </dev/null >/dev/null 2>&1') && $? >> 8 != 2; +} + # for compatibility with INN 1.x $inn::pathetc ||= '/etc/news'; $inn::syslog_facility ||= 'news'; --- configure.in +++ configure.in @@ -108,6 +108,7 @@ AC_AIX AC_ISC_POSIX INN_PROG_CC_C_O +AC_CANONICAL_HOST dnl Check to see if the user wants to use libtool. We only invoke the libtool dnl setup macros if they do. Keep this call together with the libtool setup @@ -127,7 +128,6 @@ LIBTOOLLD='$(top)/libtool --mode=link' CCOUTPUT='-c -o $@ $<' else - AC_CANONICAL_HOST EXTLIB='a' EXTOBJ='o' LIBTOOL='' @@ -759,7 +759,7 @@ AC_SEARCH_LIBS(setproctitle, util, [AC_DEFINE(HAVE_SETPROCTITLE, 1, [Define if you have the setproctitle function.])], - [LIBOBJS="$LIBOBJS setproctitle.o" + [AC_LIBOBJ(setproctitle) AC_CHECK_FUNCS(pstat)]) dnl The rat's nest of networking libraries. The common cases are not to @@ -833,7 +833,7 @@ AC_MSG_CHECKING(for Perl linkage) inn_perl_core_path=`$_PATH_PERL -MConfig -e 'print $Config{archlibexp}'` inn_perl_core_flags=`$_PATH_PERL -MExtUtils::Embed -e ccopts` - inn_perl_core_libs=`$_PATH_PERL -MExtUtils::Embed -e ldopts 2>&1 | tail -1` + inn_perl_core_libs=`$_PATH_PERL -MExtUtils::Embed -e ldopts 2>&1 | tail -n 1` inn_perl_core_libs=" $inn_perl_core_libs " inn_perl_core_libs=`echo "$inn_perl_core_libs" | sed 's/ -lc / /'` for i in $LIBS ; do @@ -1310,12 +1310,12 @@ ])dnl AC_MSG_RESULT($AC_CV_NAME) if test x"$AC_CV_NAME" = x"$3" ; then + undefine([AC_TYPE_NAME])dnl + undefine([AC_CV_NAME])dnl ifelse([$4], , :, [$4]) else ifelse([$5], , :, [$5]) fi -undefine([AC_TYPE_NAME])dnl -undefine([AC_CV_NAME])dnl ]) dnl Find a 32 bit type, by trying likely candidates. First, check for the C9X @@ -1377,7 +1377,7 @@ AC_DEFINE([HAVE_INET_NTOA], 1, [Define if your system has a working inet_ntoa function.]) else - LIBOBJS="$LIBOBJS inet_ntoa.${ac_objext}" + AC_LIBOBJ(inet_ntoa) fi]) INN_FUNC_INET_NTOA @@ -1525,7 +1525,7 @@ AC_DEFINE([HAVE_SNPRINTF], 1, [Define if your system has a working snprintf function.]) else - LIBOBJS="$LIBOBJS snprintf.${ac_objext}" + AC_LIBOBJ(snprintf) fi]) INN_FUNC_SNPRINTF @@ -1569,14 +1569,15 @@ dnl emulated usint fgetpos and fsetpos. AC_DEFUN([INN_TYPE_FPOS_T_LARGE], [AC_CACHE_CHECK(for off_t-compatible fpos_t, inn_cv_type_fpos_t_large, -[AC_TRY_RUN(_INN_TYPE_FPOS_T_LARGE_SOURCE(), +AC_TRY_RUN(_INN_TYPE_FPOS_T_LARGE_SOURCE(), [inn_cv_type_fpos_t_large=yes], [inn_cv_type_fpos_t_large=no], - [inn_cv_type_fpos_t_large=no]) + [inn_cv_type_fpos_t_large=no])) if test "$inn_cv_type_fpos_t_large" = yes ; then AC_DEFINE([HAVE_LARGE_FPOS_T], 1, [Define if fpos_t is at least 64 bits and compatible with off_t.]) -fi])]) +fi +]) dnl If replacing fseeko or ftello, see if we can use fsetpos/fgetpos. if test "$ac_cv_func_fseeko" = no || test "$ac_cv_func_ftello" = no ; then --- convertspool +++ convertspool @@ -0,0 +1,141 @@ +#!/bin/sh +. /usr/lib/news/lib/innshellvars + +test "x$UID" = x0 && { + echo "Please run me as user 'news'!" + exit 1 +} + +fresh= +if test X--fresh = "X$1"; then + fresh=true + shift +fi + +if test -n "$1"; then + echo "usage: convertspool [--fresh]" 1>&2 + exit 1 +fi + +cd ${PATHSPOOL} || exit 1 +m="moving old spool directory to /var/spool/news/oldspool" +mkdir -p oldspool +for i in *; do + case $i in + *.*) ;; + archive|articles|incoming|innfeed|outgoing|overview|tmp|oldspool) ;; + *) + test -n "$m" && echo "$m" + m= + mv $i oldspool + ;; + esac +done + +m="deleting old directories" +for i in *; do + case $i in + tradspool.map) ;; + *.*) + test -n "$m" && echo "$m" + m= + echo " - $i" + rm -rf $i + ;; + esac +done + +histhead=`head -n 1 $HISTORY 2>/dev/null` +case X"$histhead" in +X\<*) + echo "creating new history database" + test -f $HISTORY.convertspool || mv $HISTORY $HISTORY.convertspool + :> $HISTORY + rm -f $HISTORY.dir $HISTORY.pag $HISTORY.index $HISTORY.hash + if test -f $HISTORY.convertspool ; then + makedbz -f history -i -s `wc -l <$HISTORY.convertspool` + else + makedbz -f history -i + fi + ;; +esac + +if test -n "$fresh"; then + rmdir --ignore-fail-on-non-empty oldspool + test -d oldspool && echo "you can now delete $PATHSPOOL/oldspool" + echo "done." + exit 0 +fi + +#it's not easy to feed innd another config file... +mkdir -p $PATHSPOOL/oldspool/inn.conf +cat >$PATHSPOOL/oldspool/inn.conf/inn.conf <<EOF +xrefslave: true +artcutoff: 0 +EOF +cat ${NEWSETC}/inn.conf >> $PATHSPOOL/oldspool/inn.conf/inn.conf +echo "pathbin: $PATHSPOOL/oldspool/inn.conf" > $PATHSPOOL/oldspool/inn.conf/inn.conf2 +cat ${NEWSETC}/inn.conf >> $PATHSPOOL/oldspool/inn.conf/inn.conf2 +cat > $PATHSPOOL/oldspool/inn.conf/innd <<EOF +#! /bin/sh +export INNCONF=$PATHSPOOL/oldspool/inn.conf/inn.conf +exec $PATHBIN/innd "\$@" +EOF +chmod 755 $PATHSPOOL/oldspool/inn.conf/innd + +echo "starting news server" +INNCONF="$PATHSPOOL/oldspool/inn.conf/inn.conf2" INND_BIND_ADDRESS=127.0.0.1 rc.news || { + echo "Couldn't start server. Fix the problem and run me again!" + exit 1; +} +sleep 1 + +mode=`ctlinnd mode` +case $mode in +*running*) ;; +*) + echo "$mode" + echo "Server is not running. Fix the problem and run me again!" + exit 1; +esac + +echo "building article list" +cd $PATHSPOOL/oldspool || exit 1 +rm -rf spool.batch +mkdir spool.batch +find $PATHSPOOL/oldspool -name spool.batch -prune -o -name inn.conf -prune -o -type f -print > spool.batch/all +cd spool.batch || exit 1 +if test -s all ; then + count=`wc -l <all` + echo "feeding" $count "articles into the server..." + n=0 + split -a 5 -l 1000 all + for b in x*; do + cp $b y$b + $PATHBIN/innxmit -s -c 127.0.0.1 $PATHSPOOL/oldspool/spool.batch/y$b || { + echo "innxmit error. goodbye." + echo "stopping news server" + rc.news stop + exit 1 + } + touch y$b + cat $b y$b | sort | uniq -u > z$b + cat z$b | xargs rm + t=`wc -l <z$b` + count=`expr $count - $t` + echo "transmitted" $t "articles," $count "to go" + rm -f $b + test -s y$b && mv y$b $b + rm -f y$b z$b + done +fi +echo "stopping news server" +rc.news stop +echo "deleting empty directories" +cd $PATHSPOOL/oldspool || exit 1 +find $PATHSPOOL/oldspool -depth -type d -print | xargs rmdir --ignore-fail-on-non-empty +echo "cleaning up" +rm -rf spool.batch inn.conf +cd $PATHSPOOL +rmdir --ignore-fail-on-non-empty oldspool +echo "done." --- crontab.sample +++ crontab.sample @@ -0,0 +1,38 @@ +# Here are sample entries that could be added to /etc/crontab for +# your INN News-System. + + +# to expire old news-artikel +#15 4 * * * news /usr/lib/news/bin/news.daily expireover delayrm lowmark + +# canceled articles are not removed from the overview database. so we just +# rnews stores news-artikel in /var/spool/news/in.coming, if INN ist +# not running. the next "rnews -U" will feed those news-artikel into +# inn. +#10 * * * * news /usr/bin/rnews -U + +# if you want to fetch some news-groups with suck +#59 */4 * * * news cd /local/spool/suck && suck news.server.foo.bar -c \ +# -br sucknews -r 1000000 -q && find . -name "sucknews*" \ +# -exec rnews -S localhost \{\} \; -exec rm -f \{\} \; + +# feed news via innxmit to multiple hosts, configured with nntpsend.ctl +#*/5 * * * * news /usr/lib/news/bin/nntpsend + +# feed news for directly connected sites (if you don't use nntpsend) +#15 * * * * news /usr/lib/news/bin/send-nntp news.server.com + +# feed news to a uucp-connected machine +#15 * * * * news /usr/lib/news/bin/sendbatch -c wg >/dev/null +# the configuration file for this alternate perl-script is +# /etc/news/send-uucp.cf. +#15 * * * * news /usr/lib/news/bin/send-uucp.pl + +# crontab-entry for uucp: +#20 */2 * * * uucp /usr/sbin/uucico -S wg +#20 4,6 * * * root /usr/sbin/sendmail -q +# once a month delete all news-batches that are older than 100 days +#0 6 10 * * uucp /usr/sbin/uustat --command rnews --older-than 2400 --kill-all --no-list +# generate a uucp transmission statistic +#0 6 10 * * nobody /usr/bin/tua -U + --- distributions +++ distributions @@ -0,0 +1,4 @@ +world Use no distribution rather than world +na North America +usa United States +local This site only --- include/clibrary.h +++ include/clibrary.h @@ -24,6 +24,17 @@ /* Make sure we have our configuration information. */ #include "config.h" +/* Define needed glibc features */ +#ifndef _XOPEN_SOURCE +# define _XOPEN_SOURCE 500 +#endif +#ifndef _BSD_SOURCE +# define _BSD_SOURCE 1 +#endif +#ifndef _SVID_SOURCE +# define _SVID_SOURCE 1 +#endif + /* Assume stdarg is available; don't bother with varargs support any more. We need this to be able to declare vsnprintf. */ #include <stdarg.h> --- include/config.h.in +++ include/config.h.in @@ -47,7 +47,7 @@ #define DEFAULT_TIMEOUT 300 /* Define if inews should put hostnames into the Path header itself. */ -#define DO_INEWS_PATH +#undef DO_INEWS_PATH /* Define if inews should munge the GECOS entry of the passwd file when attempting to determine a poster's real name. Use this if your GECOS --- innd/nc.c +++ innd/nc.c @@ -56,6 +56,7 @@ COMMAND("ihave", NCihave), COMMAND("list", NClist), COMMAND("mode", NCmode), + COMMAND("xmode", NCmode), COMMAND("quit", NCquit), COMMAND("stat", NCstat), COMMAND("takethis", NCtakethis), @@ -638,7 +639,11 @@ HANDOFF h; /* Skip the first word, get the argument. */ - for (p = cp->In.data + cp->Start + strlen("mode"); ISWHITE(*p); p++) + p = cp->In.data + cp->Start; + if (*p == 'x') + p++; + p += strlen("mode"); + for (; ISWHITE(*p); p++) continue; cp->Start = cp->Next; @@ -840,7 +845,7 @@ } if (cp->State == CSgetauth) { - if (strncasecmp(q, "mode", 4) == 0) + if (strncasecmp(q, "mode", 4) == 0 || strncasecmp(q, "xmode", 5) == 0) NCmode(cp); else NCauthinfo(cp); @@ -901,7 +906,7 @@ } if (cp->State == CSgotlargearticle) { - syslog(L_NOTICE, "%s internal rejecting huge article (%d > %ld)", + syslog(L_NOTICE, "%s internal rejecting huge article (%ld > %ld)", CHANname(cp), cp->Next - cp->Start, innconf->maxartsize); if (cp->Sendid.size) NCwritereply(cp, cp->Sendid.data); @@ -1252,6 +1257,7 @@ i = 24 * 1024; if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&i, sizeof i) < 0) syslog(L_ERROR, "%s cant setsockopt(SNDBUF) %m", CHANname(cp)); + i = 48 * 1024; if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, (char *)&i, sizeof i) < 0) syslog(L_ERROR, "%s cant setsockopt(RCVBUF) %m", CHANname(cp)); } --- innd/status.c +++ innd/status.c @@ -11,7 +11,7 @@ #include "innperl.h" #define MIN_REFRESH 60 /* 1 min */ -#define HTML_STATUS +#undef HTML_STATUS #if defined(HTML_STATUS) #define STATUS_FILE "inn_status.html" /* will be in pathhttp */ #else --- innfeed/imap_connection.c +++ innfeed/imap_connection.c @@ -2447,7 +2447,7 @@ static conn_ret imap_sendAuthenticate(connection_t *cxn) { - const char *mechusing; + const char *mechusing = NULL; int result; char *p; --- lib/date.c +++ lib/date.c @@ -544,7 +544,7 @@ int zone_sign; long zone_offset; struct tm tm; - int values[7]; + int values[8]; time_t result; /* The basic rules. Note that we don't bother to check whether the day of --- lib/perl.c +++ lib/perl.c @@ -30,12 +30,12 @@ #include "innperl.h" /* Provided by DynaLoader but not declared in Perl's header files. */ -extern void boot_DynaLoader(CV *cv); +extern void boot_DynaLoader(pTHX_ CV *cv); /* Forward declarations. */ void PerlSilence(void); void PerlUnSilence(void); -void xs_init(void); +void xs_init(pTHX); /* Whether Perl filtering is currently active. */ bool PerlFilterActive = false; @@ -340,7 +340,7 @@ } extern void -xs_init() +xs_init(pTHX) { dXSUB_SYS; newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, "perl.c"); --- newsgroups +++ newsgroups @@ -0,0 +1,4 @@ +control Usenet control messages - DO NOT REMOVE +control.cancel Usenet control messages - DO NOT REMOVE +junk Articles for missing newsgroups - DO NOT REMOVE +test A place for test posts --- nnrpd/nnrpd.c +++ nnrpd/nnrpd.c @@ -767,6 +767,11 @@ Reply("%d NNTP server unavailable. Try later.\r\n", NNTP_TEMPERR_VAL); ExitWithStats(1, true); } + { + int value = 1, length = sizeof(value); + if (setsockopt(STDIN_FILENO, SOL_SOCKET, SO_KEEPALIVE, &value, length)) + syslog(L_ERROR, "cannot enable keepalives: %m"); + } } /* --- profile +++ profile @@ -0,0 +1,3 @@ +PATH=/usr/lib/news/bin:/usr/lib/news/bin/control:$PATH +PATH=/usr/lib/news/lib:/usr/sbin:$PATH +export PATH --- rc +++ rc @@ -0,0 +1,68 @@ +#! /bin/sh +# +# Copyright (c) 1998 Florian La Roche +# +### BEGIN INIT INFO +# Provides: inn +# Required-Start: $network $named +# Required-Stop: $network $named +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Inter Net News Server (INN) +# Description: Inter Net News Server (INN) +### END INIT INFO + +. /etc/rc.status + +function run_as_news () +{ + if test "x$UID" = x0 ; then + su news -c "$*" + else + $* + fi +} + +NEWSCONF=/etc/news/inn.conf + +test -f $NEWSCONF || exit 5 +PATHRUN=`sed -ne 's/^pathrun: *//p' < $NEWSCONF` +PATHBIN=`sed -ne 's/^pathbin: *//p' < $NEWSCONF` + +WATCH=${PATHRUN}/innwatch.pid +ACTIVED=${PATHRUN}/actived.pid +PID=${PATHRUN}/innd.pid + + +# The echo return value for success (defined in /etc/rc.config). +rc_reset +case "$1" in + start) echo -n "Starting News-Server INN" + run_as_news "$PATHBIN/rc.news" + rc_status -v + ;; + stop) echo -n "Shutting down News-Server INN" + run_as_news "$PATHBIN/rc.news stop" + rc_status -v + ;; + restart) + $0 stop + $0 start + rc_status + ;; + reload) + echo -n "News-Server INN reload configuration files" + run_as_news "$PATHBIN/ctlinnd" reload all "by rcinn reload" >/dev/null + rc_status -v + ;; + status) + test -f "$PID" && run_as_news "$PATHBIN/ctlinnd" mode + echo -n "News-Server INN: " + checkproc -p "$PID" "$PATHBIN/innd" + rc_status -v + ;; + *) + echo "Usage: $0 {start|stop|restart|reload|status}" + exit 1 +esac +rc_exit --- samples/cycbuff.conf +++ samples/cycbuff.conf @@ -10,9 +10,9 @@ # "cycbuff" (literally) : symbolic buffer name : path to buffer file : # length of symbolic buffer in kilobytes in decimal (1KB = 1024 bytes) -cycbuff:ONE:/export/cycbuffs/one:512000 -cycbuff:TWO:/export/cycbuffs/two:512000 -cycbuff:THREE:/export/cycbuffs/three:512000 +cycbuff:ONE:/var/spool/news/cycbuffs/one:512000 +cycbuff:TWO:/var/spool/news/cycbuffs/two:512000 +cycbuff:THREE:/var/spool/news/cycbuffs/three:512000 # 2. Meta-cyclic buffers # Format: --- samples/inn.conf.in +++ samples/inn.conf.in @@ -21,7 +21,7 @@ organization: "A poorly-installed InterNetNews site" ovmethod: tradindexed hismethod: hisv6 -pathhost: @HOSTNAME@ +#pathhost: localhost pathnews: @prefix@ # General Settings @@ -37,14 +37,14 @@ #bindaddress: #bindaddress6: dontrejectfiltered: false -hiscachesize: 0 +hiscachesize: 512 ignorenewsgroups: false immediatecancel: false linecountfuzz: 0 -maxartsize: 1000000 +maxartsize: 5000000 maxconnections: 50 #pathalias: -pgpverify: @pgpverify@ +pgpverify: true port: 119 refusecybercancels: false remembertrash: true @@ -71,9 +71,9 @@ # Reading -allownewnews: true +allownewnews: false articlemmap: false -clienttimeout: 600 +clienttimeout: 3600 initialtimeout: 10 msgidcachesize: 10000 nnrpdcheckart: true @@ -103,7 +103,7 @@ checkincludedtext: false #complaints: #fromhost: -localmaxartsize: 1000000 +localmaxartsize: 5000000 #moderatormailer: nnrpdauthsender: false #nnrpdposthost: @@ -122,7 +122,7 @@ # Monitoring -doinnwatch: true +doinnwatch: false innwatchbatchspace: 800 innwatchlibspace: 25000 innwatchloload: 1000 @@ -136,15 +136,15 @@ docnfsstat: false logartsize: true -logcancelcomm: false -logcycles: 3 +logcancelcomm: true +logcycles: 7 logipaddr: true logsitename: true nnrpdoverstats: false nntpactsync: 200 nntplinklog: false -status: 0 -timer: 0 +status: 300 +timer: 300 # System Tuning @@ -161,7 +161,7 @@ nicenewnews: 0 nicennrpd: 0 pauseretrytime: 300 -peertimeout: 3600 +peertimeout: 1200 rlimitnofile: -1 # Paths @@ -173,7 +173,7 @@ pathdb: @DBDIR@ pathetc: @ETCDIR@ pathfilter: @FILTERDIR@ -pathhttp: @LOGDIR@ +pathhttp: @LOGDIR@/http pathincoming: @SPOOLDIR@/incoming pathlog: @LOGDIR@ pathoutgoing: @SPOOLDIR@/outgoing --- samples/moderators +++ samples/moderators @@ -21,12 +21,27 @@ ## The first matching entry is used. ## Public hierarchies with exceptions. +bionet.*:%s@net.bio.net +bln.*:%s@fu-berlin.de +cz.*:%s@moderator.vslib.cz +de.*:%s@moderators.dana.de fido7.*:%s@fido7.ru ffm.*:%s@moderators.arcornews.de fj.*:%s@moderators.fj-news.org +gnu.*:%s@prep.ai.mit.edu +han.*:%s@usenet.or.kr +hun.*:%s@sztaki.hu +linux.act.*:linux-submit@yggdrasil.com +linux.*:submit-%s@yggdrasil.com medlux.*:%s@news.medlux.ru nl.*:%s@nl.net +nz.*:%s@usenet.net.nz +phil.*:%s@news.phil.uni-sb.de +pl.*:%s@usenet.pl relcom.*:%s@moderators.relcom.ru +saar.*:%s@news.phil.uni-sb.de +sk.*:%s@news.ke.sanet.sk +tnn.*:%s@news.iij.ad.jp ukr.*:%s@sita.kiev.ua ## Direct all other public hierarchies to the master moderator database. --- samples/send-uucp.cf +++ samples/send-uucp.cf @@ -0,0 +1,22 @@ +# send-uucp.cf +# Configuration file for send-uucp +# +# Format is: +# sitename<Space>compressor<Space>maxsize<Space>batchtime +# +# compressor, maxsize and batchtime can be left out and will then use the +# default values. You can't leave out the second field (compressor) and still +# use the third (maxsize) etc.! So if you want to set a maxsize, you HAVE to +# add a compression methode. +# compress keywords are: compress gzip none +# You can use flags with your compressor, just add them. like compress -b13 for +# 13 bits compression. +# Remember that the size you set is the size *before* compression! +# +#zoetermeer gzip 1048576 5,18,22 +#hoofddorp gzip 1048576 5,18,22 +#pa3ebv gzip 1048576 5,18,22 +#drinkel gzip 1048576 5,6,18,20,22,0,2 +#manhole compress 1048576 5,18,22 +#owl compress 1048576 5,18,22 +#able compress 1048576 5,18,22 --- samples/storage.conf +++ samples/storage.conf @@ -21,7 +21,7 @@ # By default, store everything in tradspool. method tradspool { newsgroups: * - class: 0 + class: 1 } ## Here are some samples for a CNFS configuration. This assumes that you --- scripts/rc.news.in +++ scripts/rc.news.in @@ -15,11 +15,11 @@ while [ $i -gt 0 ]; do kill -0 $1 2>/dev/null || break - sleep 5 - printf "." + sleep 1 + #printf "." i=`expr $i - 1` done - printf "\n" + #printf "\n" } case X"$1" in @@ -36,7 +36,7 @@ rm -f $WATCHPID fi - printf "Stopping innd: " + #printf "Stopping innd: " ${PATHBIN}/ctlinnd shutdown 'rc.news stop' # wait for innd to exit (up to 60 sec) @@ -51,7 +51,7 @@ if [ "$OVMETHOD" = "ovdb" -a -f ${PATHRUN}/ovdb_server.pid ]; then pid=`cat ${PATHRUN}/ovdb_server.pid 2>/dev/null` if [ "$pid" != "" ]; then - printf "Stopping ovdb_server: " + #printf "Stopping ovdb_server: " kill $pid waitforpid $pid fi @@ -59,7 +59,7 @@ if [ "$OVMETHOD" = "ovdb" -a -f ${PATHRUN}/ovdb_monitor.pid ]; then pid=`cat ${PATHRUN}/ovdb_monitor.pid 2>/dev/null` if [ "$pid" != "" ]; then - printf "Stopping ovdb_monitor: " + #printf "Stopping ovdb_monitor: " kill $pid waitforpid $pid fi @@ -78,6 +78,20 @@ ;; esac +histhead=`head -n 1 $HISTORY 2>/dev/null` +case X"$histhead" in +X\<*) + cat <<EOM + +!!! Your history file format is no longer supported by innd. !!! +!!! Please read /usr/share/doc/packages/inn/README.linux for !!! +!!! information on how to proceed. !!! + +EOM + exit 1 + ;; +esac + ## Pick ${INND} or ${INNDSTART} WHAT=${INNDSTART} @@ -143,7 +157,7 @@ ## Initialize ovdb. Must be done before starting innd. if [ "$OVMETHOD" = "ovdb" ]; then - echo 'Starting ovdb.' + #echo 'Starting ovdb.' ovdb_init || { echo "Can't initialize ovdb (check news.err for OVDB messages)" exit 1 @@ -152,18 +166,20 @@ fi ## Start the show. -echo 'Starting innd.' +#echo 'Starting innd.' eval ${WHAT} ${RFLAG} ${INNFLAGS} # Gee, looks like lisp, doesn't it? ${DOINNWATCH} && { - echo "Scheduled start of ${INNWATCH}." - ( sleep 60 ; ${INNWATCH} ) > /dev/null & + #echo "Scheduled start of ${INNWATCH}." + #( sleep 60 ; ${INNWATCH} ) > /dev/null & + ( ${INNWATCH} ) > /dev/null & } ${DOCNFSSTAT} && { - echo "Scheduled start of cnfsstat." - ( sleep 60 ; ${PATHBIN}/cnfsstat -s -l -P ) > /dev/null & + #echo "Scheduled start of cnfsstat." + #( sleep 60 ; ${PATHBIN}/cnfsstat -s -l -P ) > /dev/null & + ( ${PATHBIN}/cnfsstat -s -l -P ) > /dev/null & } RMFILE=${MOST_LOGS}/expire.rm --- site/Makefile +++ site/Makefile @@ -132,12 +132,12 @@ $D$(PATH_NEWSGROUPS): ; $(CP_DATA) newsgroups.minimal $@ $D$(PATH_ACTIVE_TIMES): touch $@ - chown $(NEWSUSER) $@ - chgrp $(NEWSGROUP) $@ + -chown $(NEWSUSER) $@ + -chgrp $(NEWSGROUP) $@ chmod $(FILEMODE) $@ $D$(PATH_HISTORY): touch $@ - $(PATHBIN)/makedbz -i -o + #$(PATHBIN)/makedbz -i -o ## Remove files that are unchanged from the release version. clean: --- subscriptions +++ subscriptions @@ -0,0 +1 @@ +news.announce.newusers --- support/fixscript.in +++ support/fixscript.in @@ -51,7 +51,7 @@ exit 1 fi -interpretor=`head -1 "$input"` +interpretor=`head -n 1 "$input"` case "$interpretor" in */sh|*SH*) path="$SHPATH"
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor