SunTM Internet News ServerTM 1.1 man pages
NAME | DESCRIPTION | EXIT STATUS | ATTRIBUTES | SEE ALSO | NOTES
The man pages offer detailed instruction and examples on options and subcommands for each utility.
Upon termination, each command returns the following exit values:
Successful completion.
An error occurred.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Evolving |
archives Usenet articles. Files are copied to a directory within the archive directory, /var/news/storage/archive.
article-batching backend for the feeder daemon innd(1m). Batcher read uses a list of files to prepare news batches for the specified host.
buffered file-writing backend for News. Buffchan is intended to be called by the feeder daemon as an exploder feed..
creates the links for cross-posted articles. Crosspost is designed to be used by the feeder daemon to create the links as the articles come in.
controls the feeder daemon daemon innd(1m).
convert simple batchfiles that contain just the article name to INN batchfiles that contain additional information about each article.
Usenet article and history expiration program.
expires entries from the news overview database.
remove expired articles.
quickly removes a set of files.
file-writing backend for the feeder daemon. Filechan is intended to be called by the feeder daemon as a channel feed.
checks and verifies inn configuration and database files.
The Sun Internet News Feeder daemon, which handles all NNTP feeds.
The innd program has been split out into the Sun Internet News Reader program snsd(1m) and the Sun Internet News Feeder program innd(1m)
The news Feeder daemon innd(1m) is evolving and should not be executed directly via the command line or in-house scripts.
prints a snapshot of the INN system. It displays the operating mode of the server, as well as disk usage and the status of all log and lock files.
monitors innd. Innwatch is normally started by rc.news. Every (600) seconds it examines the load average, the number of free blocks, and the inodes on the spool partition as described by its control file, innwatch.ctl(4).
sends xbatched Usenet articles to a remote NNTP server.
sends Usenet articles to a remote NNTP server.
configures PAM for LDAP authentication for News service.
recovers Usenet active file.
recovers Usenet history database.
The news-recovery programs and man pages have been split out into separate programs and pages: makeactive(1m), makehistory(1m), and newsrequeue(1m).
performs a number of important Usenet administrative functions. This includes producing a status report, removing old news articles, processing log files, rotating the archived log files, renumbering the active file, removing any old socket files found in the ``firewall'' directory, and collecting the output.
This program and man page have been split out to scanlogs(1m), writelog(1m), nnstat(1m), tally.unwanted(1m), and tally.control(1m).
used to rewrite batchfiles after a system crash.
gets Usenet articles from a remote NNTP server.
invokes innxmit(1m) to send Usenet articles to a remote NNTP site.
updates the news overview database as articles come in.
removes file names from Usenet history file.
reads messages typically queued by a UUCP newsfeed and sends them to the local feeder daemon.
summarizes the information recorded in the INN log files (see newslog(4). By default, it also rotates and cleans out the logs. It is normally invoked by the news.daily(1m) script.
The Sun News Server daemon. It listens on the NNTP port for reader connections, and handles all incoming NNTP connections.
Start and stop the Sun Internet News feeder daemon innd(1m) and the Sun Internet News reader daemon snsd(1m).
The feeder daemon and reader daemon should be started only via snsnews(1m).
keeps track of newsgroup creations and deletions, and updates the cumulative list of newsgroup creations and deletions, control.log.
keeps track of unwanted newsgroups, and updates the cumulative list of articles posted to unwanted newsgroups, unwanted.log.
keeps track of unwanted newsgroups, and updates the cumulative list of articles posted to unwanted newsgroups, unwanted.log.
used to write a log entry or send it as mail.
NAME | DESCRIPTION | EXIT STATUS | ATTRIBUTES | SEE ALSO | NOTES
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | ATTRIBUTES | SEE ALSO
Archive makes copies of files specified on its standard input. It is normally run either as a channel feed under the feeder daemon, or by a script before expire(1m) is run.
Archive reads the named input file, or standard input if no file is given. The input is taken as a set of lines. Blank lines and lines starting with a number sign (``#'') are ignored. All other lines should specify the name of a file to archive. If a filename is not an absolute pathname, it is taken to be relative to /var/news/storage/articles.
Files are copied to a directory within the archive directory, /var/news/storage/archive. The default is to create a hierarchy that mimics the input files; intermediate directories will be created as needed. For example, the input file comp/sources/unix/2211 (article 2211 in the newsgroup comp.sources.unix) will be copied to /var/news/storage/archive/comp/sources/unix/2211.
Specifies the directory in which to archive instead of the default.
Flatten all directory names, replacing the slashes with periods. In this case, the file would be copied to /var/news/storage/archive/comp.sources.unix/2211.
Append one line to the specified index file for each article that it copies. This line will contain the destination name and the Message-ID and Subject headers.
Files are copied by making a link. If that fails a new file is created. If the ``-m'' flag is used, then the file will be copied to the destination, and the input file will be replaced with a symbolic link pointing to the new file. The ``-m'' flag is ignored.
By default, archive sets its standard error to /var/news/logs/errlog. To suppress this redirection, use the ``-r'' flag.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
ctlinnd(1m), newsfeeds(4), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | ATTRIBUTES | SEE ALSO
Batcher read uses a list of files to prepare news batches for the specified host. It is normally invoked by a script run out of cron(1m) that uses shlock(1) to lock the host name, followed by a ctlinnd(1m) command to flush the batch file.
Batcher reads the named input file, or standard input if no file is given. Relative pathnames are interpreted from the /var/news/storage/out.going directory. The input is taken as a set of lines. Blank lines and lines starting with a number sign (``#'') are ignored. All other lines should consist of one or two fields separated by a single space. The first field is the name of a file holding an article; if it is not an an absolute pathname it is taken relative to the news spool directory, /var/news/storage/articles. The second field, if present, specifies the size of the article in bytes.
Specifies an alternate spool directory to use if the article is not found which would normally be an NFS-mounted spool directory of a master server with longer expiration times.
By default, the program sets its standard error to /var/news/logs/errlog. To suppress this redirection, use the ``-r'' flag.
Upon exit, batcher reports statistics via syslog(3). If the ``-v'' flag is used, they will also be printed on the standard output.
Batcher collects the text of the named articles into batches. To limit the size of each batch, use the ``-b'' flag. The default size is 60 kilobytes. Using ``-b0'' allows unlimited batch sizes.
Limits the number of articles in each batch. The default is no limit. A new batch will be started when either the byte count or number of articles written exceeds the specified limits.
Limits the total number of bytes written for all batches.
Limits the total number of articles that can be batched.
Limits the total number of batches that should be created.
In all three cases, the default is zero, which is taken to mean no limit.
A batch starts with an identifying line to specify the unpacking method to be used on the receiving end. When the ``-i'' flag is used, the initial string, string, followed by a newline, will be output at the start of every batch. The default is to have no initial string.
Each article starts with a separator line to indicate the size of the article. To specify the separator use the ``-s'' flag. This is a sprintf(3) format string which can have a single ``%ld'' parameter which will be given the size of the article. If the separator is not empty, then the string and a newline will be output before every article. The default separator is ``#! rnews %ld''.
By default, batches are written to standard output, which is not useful when more than one output batch is created. Use the ``-p'' flag to specify the shell command that should be created (via popen(3)) whenever a new batch is started. The process is a sprintf format string which can have a single ``%s'' parameter which will be given the host name. A common value is:
( echo '#! cunbatch' ; exec compress ) | uux - -r -z %s!rnews |
If the input is exhausted, batcher will exit with a zero status. If any of the limits specified with the ``-B,'' ``-A,'' or ``-N'' flags is reached, or if there is an error writing the batch, then batcher will try to spool the input, copying it to a file. If there was no input filename, the standard input will be copied to /var/news/storage/out.going/host and the program will exit. If an input filename was given, a temporary file named input.bch (if input is an absolute pathname) or /var/news/storage/out.going/input.bch (if the filename does not begin with a slash) is created. Once the input is copied, batcher will try to rename this temporary file to be the name of the input file, and then exit.
Upon receipt of an interrupt or termination signal, batcher will finish sending the current article, close the batch, and then rewrite the batch file according as described in the previous paragraph.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
ctlinnd(1m), newsfeeds(4), shlock(1).
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Buffchan reads lines from standard input and copies certain fields in each line into files named by other fields within the line. Buffchan is intended to be called by the feeder daemon as an exploder feed.
Once buffchan opens a file it keeps it open. The input must therefore never specify more files than the number of available descriptors can keep open. If the ``-b'' flag is used, the program will allocate a buffer and attach it to the file using setbuf(3).
If the ``-c'' flag is used with a number n, then buffchan will close and reopen a file after every n lines are written to a file.
Used to specify that all files should be closed and reopened every n seconds.
Used to specify a directory the program should change to before starting. If this flag is used, then the default for the ``-s'' flag is changed to be a simple ``%s.''
Buffchan input is interpreted as a set of lines. Each line contains a fixed number of initial fields, followed by a variable number of filename fields. All fields in a line are separated by white space. The default number of initial fields is one; the ``-f'' flag may be used to specify a different number of fields. See filechan(1m) for an example.
If the ``-p'' flag is used, the program will write a line containing its process ID (in text) to the specified file.
If the ``-l'' flag is used with a number n, then buffchan will call fflush(3) after every n lines are written to a file.
If the ``-L'' flag is used with a number n, then all files will be flushed every n seconds.
By default, the program sets its standard error to /var/news/logs/errlog. To suppress this redirection, use the ``-r'' flag.
After the initial fields, each remaining field names a file to write. The ``-s'' flag may be used to specify a format string that maps the field to a file name. This is a sprintf(3) format string which should have a single ``%s'' parameter which will be given the field. The default value is /var/news/storage/out.going/%s. See the description of this flag in filechan(1m).
If the ``-u'' flag is used, the program will request unbuffered output.
Buffchan can be invoked as an exploder feed (see newsfeeds(4)). As such, if a line starts with an exclamation point it will be treated as a command. There are three commands, described below:
The ``flush'' command closes and reopens all open files. ``flush xxx'' which flushes only the specified site "xxx". These are analogous to the ctlinnd(1m) ``flush'' command, and can be achieved by doing a ``send "flush xxx"'' command. Applications can tell that the ``flush'' has completed by renaming the file before issuing the command; buffchan has completed the command when the original filename reappears.
Buffchan also changes the access permissions of the file from read-only for everyone to read-write for owner and group as it flushes or closes each output file. It will change the modes back to read-only if it reopens the same file.
The ``drop'' command is similar to the ``flush'' command except that any files are not reopened. If given an argument, then the specified site is dropped, otherwise all sites are dropped. (Note that the site will be restarted if the input stream mentions the site.) When a ctlinnd ``drop site'' command is sent, the feeder daemon will automatically forward the command to buffchan if the site is a funnel that feeds into this exploder. To drop all sites, use the ctlinnd ``send buffchan-site drop'' command.
The map file (specified with the ``-m'' flag) is reloaded.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
snsnews(1m), ctlinnd(1m), filechan(1m), newsfeeds(4).
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
Crosspost reads group and article number data from files or standard input if none are specified. (A single dash in the file list means to read standard input.) It uses this information to create the hard, or symbolic, links for cross-posted articles. Crosspost is designed to be used by InterNetNews to create the links as the articles come in. The feeder daemon normally creates the links but by having crosspost create the links, less time is spent waiting for disk IO.
Crosspost expects input with one line per article in the form:
group.name/123 group2.name/456 group3.name/789
with one line per article. Any dots in the input are translated into "/" to translate the news group into a pathname. The first field is assumed to be the name of an existing copy of the article. Crosspost will attempt to link all the subsequent entries to the first using hard links if possible or symbolic links if that fails.
By default, crosspost processes its input as an INN channel feed written as a ``WR'' entry in the newsfeeds(4) file, for example:
crosspost:*:Tc,Ap,WR:/usr/news/bin/crosspost
To process the history file and recreate all the links for all articles use:
awk <history -F' ' '(NF > 2){print $3}' | crosspost
where the -F is followed by a tab character.
The ``-D'' flag can be used to specify where the article spool is stored. The default directory is /var/news/storage/articles.
By default crosspost will fsync(2) each article after updating the links. The ``-s'' flag can be used to prevent this.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
snsnews(1m), newsfeeds(4),
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | BUGS | ATTRIBUTES | SEE ALSO
Ctlinnd sends a message to the control channel of the Sun Internet News Feeder daemon.
In the normal mode of behavior, the message is sent to the server, which then performs the requested action and sends back a reply with a text message and the exit code for ctlinnd. If the server successfully performed the command, ctlinnd will exit with a status of zero and print the reply on standard output. If the server could not perform the command (for example, it was told to remove a newsgroup that does not exist), it will direct ctlinnd to exit with a status of one. The ``shutdown,'' ``xabort,'' and ``xexec'' commands do not generate a reply; ctlinnd will always exit silently with a status of zero.
No message will be printed if the command was successful.
Specifies how long to wait for the reply from the server. The timeout value specifies the number of seconds to wait. A value of zero waits forever, and a value less than zero indicates that no reply is needed. When waiting for a reply, ctlinnd will try every two minutes to see if the server is still running, so it is unlikely that ``-t0'' will hang. The default is ``-t0.''
To see a command summary, use the ``-h'' flag. If a command is included when ctlinnd is invoked with the ``-h'' flag, then only the usage for that command will be given.
If a large number of groups are going to be created or deleted at once, it may be more efficient to ``pause'' or ``throttle'' the server and edit the active file directly.
The complete list of commands follows. Note that all commands have a fixed number of arguments. If a parameter can be an empty string, then it is necessary to specify it as two adjacent quotes, like "".
Add an entry to the history database. This directs the server to create a history line for Message-ID. The angle brackets are optional. Arr, exp, and post specify when the article arrived, what its expiration date is, and when it was posted. All three values are a number indicating the number of seconds since the epoch. If the article does not have an Expires header, then exp should be zero. Paths is the pathname within the news spool directory where the article is filed. If the article is cross-posted, then the names should be separated by white space and the paths argument should be inside double quotes. If the server is paused or throttled, this command causes it to briefly open the history database.
Remote connections are allowed. The reason must be the same text given with an earlier ``reject'' command, or an empty string.
Begins feeding site. This will cause the server to rescan the newsfeeds(4) file to find the specified site and set up a newsfeed for it. If the site already exists, a ``drop'' is done first. This command is forwarded.
Removes the article with the specified Message-ID from the local system. This does not generate a cancel message. The angle brackets are optional. If the server is paused or throttled, this command causes it to briefly open the history database.
The newsgroup group is changed so that its fourth field in the active file becomes the value specified by the rest parameter. This may be used to make an existing group moderated or unmoderated, for example.
Checks the syntax of the newsfeeds file, and display a message if any errors are found. The details of the errors are reported to syslog(3).
Flushes and drops site from the server's list of active feeds. This command is forwarded.
Prints detailed information about the state of the feed to site or more brief status of all feeds if site is an empty string.
Enables or disables Tcl news filtering. If flag starts with the letter ``y'' then filtering is enabled. If it starts with ``n'', then filtering is disabled.
Prints detailed information about the state of the feed to site or more brief status of all feeds if site is an empty string.
Flushes the buffer for the specified site. The actions taken depend on the type of feed the site receives; see newsfeeds(4). This is useful when the site is fed by a file and batching is going to start. If site is an empty string, then all sites are flushed and the active file and history databases are also written out. This command is forwarded.
Closes the log and error log files and renames them to have a .old extension. The history database and active file are also written out.
Re-opens the history database and starts accepting articles after a ``pause'' or ``throttle'' command. The reason must either be an empty string or match the text that was given in the earlier ``pause'' or ``throttle'' command. If a ``reject'' command was done, this will also do an ``allow'' command if the reason matches the text that was given in the ``reject.'' If a ``reserve'' command was done, this will also clear the reservation if the reason matches the text that was given in the ``reserve.'' Note that if only the history database has changed while the server is paused or throttled, it is not necessary to send it a ``reload'' command before sending it a ``go'' command. If the server throttled itself because it accumulated too many I/O errors, this command will reset the error count. If the server was not started with the ``-ny'' flag, then this command also does a ``readers'' command with ``yes'' as the flag and reason as the text.
Closes the socket on the specified incoming channel. This is useful when an incoming connection appears to be hung.
Prints a command summary for all commands, or just command if specified.
Causes the server to log its current operating mode to syslog.
Prints the server's operating mode as a multi-line summary of the parameters and operating state.
Prints the name of channel number nnn or of all channels if it is an empty string.
Creates the specified newsgroup. The rest parameter should be the fourth field as described in active(4); if it is not an equal sign, only the first letter is used. The creator should be the name of the person creating the group. If the newsgroup already exists, this is equivalent to the ``changegroup'' command. This is the only command that has defaults. The creator can be omitted and will default to the empty string, and the rest parameter can be omitted and will default to ``y''. This command can be done while the server is paused or throttled; it will update its internal state when a ``go'' command is sent. This command updates the active.times (see active(4)) file.
Changes the command-line parameters of the server. The combination of defaults make it possible to use the text of the Control header directly. Letter is the feeder daemon command-line option to set, and value is the new value. For example, ``i 5'' directs the server to allow only five incoming connections. To enable or disable the action of the ``-n'' flag, use the letter ``y'' or ``n'', respectively, for the value.
Pauses the server so that no incoming articles are accepted. No existing connections are closed, but the history database is closed. This command should be used for short-term locks, such as when replacing the history files. If the server was not started with the ``-ny'' flag, then this command also does a ``readers'' command with ``no'' as the flag and reason as the text.
Remote connections (those that would not be handed off to snsd ) are rejected, with reason given as the explanation.
The server updates its in-memory copies of various configuration files. What identifies what should be reloaded. If it is an empty string or the word ``all'' then everything is reloaded; if it is the word ``history'' then the history database is closed and opened, if it is the word ``hosts.nntp'' then the hosts.nntp(4) file is reloaded; if it is the word ``active'' or ``newsfeeds'' then both the active and newsfeeds files are reloaded; if it is the word ``overview.fmt'' then the overview.fmt(4) file is reloaded. If it is the word ``filter.tcl'' then the filter.tcl file is reloaded. If a TCL procedure named ``filter_before_reload'' exists, it will be called prior to rereading filter.tcl. If a TCL procedure named ``filter_after_reload'' exists, it will be called after filter.tcl has been reloaded. Reloading the Tcl filter does not enable filtering if it is disabled; use filter to do this. The reason is reported to syslog. There is no way to reload the data inn.conf(4) file; the server currently only uses the ``pathhost'' parameter, so this restriction should not be a problem. The startup.tcl file cannot be reloaded.
Scans the spool directory for the specified newsgroup and update the low-water mark in the active file. If group is an empty string then all newsgroups are scanned.
The next ``pause'' or ``throttle'' command must use reason as its text. This ``reservation'' is cleared by giving an empty string for the reason. This command is used by programs like expire(1m) that want to avoid running into other instances of each other.
Removes the specified newsgroup. This is done by editing the active file. The spool directory is not touched, and any articles in the group will be expired using the default expiration parameters. Unlike the ``newgroup'' command, this command does not update the active.times file.
The specified text is sent as a control line to the exploder feed.
The server is shut down, with the specified reason recorded in the log and sent to all open connections. It is a good idea to send a ``throttle'' command first.
Signal sig is sent to the specified site, which must be a channel or exploder feed. Sig can be a numeric signal number or the word ``hup,'' ``int,'' or ``term''; case is not significant.
Input is throttled so that all existing connections are closed and new connections are rejected. The history database is closed. This should be used for long-term locks, such as when expire is being run. If the server was not started with the ``-ny'' flag, then this command also does a ``readers'' command with ``no'' as the flag and reason as the text.
The server logs the specified reason and then invokes the abort(3) routine.
The server gets ready to shut itself down, but instead of exiting it executes the specified path with all of its original arguments. If path is ``innd'' then /opt/SUNWsns/lib/innd is invoked; if it is ``inndstart'' then /opt/SUNWsns/lib/inndstart is invoked; if it is an empty string, it will invoke the appropriate program depending on whether or not it was started with the ``-p'' flag; any other value is an error.
In addition to being acted upon within the server, certain commands can be forwarded to the appropriate child process. If the site receiving the command is an exploder (such as buffchan(1m)) or it is a funnel that feeds into an exploder, then the command can be forwarded. In this case, the server will send a command line to the exploder that consists of the ctlinnd command name. If the site funnels into an exploder that has an asterisk (``*'') in its ``W'' flag (see newsfeed(4)) , then the site name will be appended to the command; otherwise no argument is appended.
Ctlinnd is limited to server replies no larger than 4k.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Evolving |
active(4), expire(1m), inn.conf(4), newsfeeds(4), overview.fmt(4), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | BUGS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Cvtbatch reads standard input as a series of lines, converts each line, and writes it to standard output. It is used to convert simple batchfiles that contain just the article name to INN batchfiles that contain additional information about each article.
Each line is taken as the pathname to a Usenet article. If it is not an absolute pathname, it is taken relative to the spool directory, /var/news/storage/articles. (Only the first word of each line is parsed; anything following white space is ignored.)
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
newsfeeds(4).
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Expire scans the history(4) text file /var/news/state/history and uses the information recorded in it to purge old news articles.
Create the new history file and database in the specified directory, dir. This is useful when the file system does not have sufficient space to hold both the old and new history files. When this flag is used, expire leaves the server paused and creates a zero-length file named after the new history file, with an extension of ``.done'' to indicate that it has successfully completed the expiration. The calling script should install the new history file and un-pause the server. The ``-r'' flag should be used with this flag.
If the ``-e'' flag is used, then as soon as the first cross posting of the article expires, all copies of it are removed.
Specifies an alternate history file.
Append a one-line summary equivalent to the output of ``-v1'' and preceeded by the current time to the specified file.
Specifies an alternate input text history file. Expire uses the old database to determine the size of the new one.
Ignore the old database.
Expire normally just unlinks each file if it should be expired. If the ``-l'' flag is used, then all articles after the first one are treated as if they could be symbolic links to the first one. In this case, the first article will not be removed as long as any other cross-posts of the article remain.
If the feeder daemon is not running, use the ``-n'' flag and expire will not send the ``pause'' or ``go'' commands. (For more details on the commands, see ctlinnd(1m)). Note that expire only needs exclusive access for a very short time -- long enough to see if any new articles arrived since it first hit the end of the file, and to rename the new files to the working files.
Expire makes its decisions on the time the article arrived, as found in the history file. Articles are therefore kept a little longer than with other expiration programs that base their decisions on the article's posting date. To use the article's posting date, use the ``-p'' flag.
Expire normally complains about articles that are posted to newsgroups not mentioned in the active file. To suppress this action, use the ``-q'' flag.
Expire normally sends a ``pause'' command to the local feeder daemon when it needs exclusive access to the history file, using the string ``Expiring'' as the reason. To give a different reason, use the ``-r'' flag. The process ID will be appended to the reason. When expire is finished and the new history file is ready, it sends a ``go'' command.
If the ``-s'' flag is used, then expire will print a summary when it exits showing the approximate number of kilobytes used by all deleted articles.
If the ``-t'' flag is used, then expire will generate a list of the files that should be removed on its standard output, and the new history file will be left in history.n and history.n.dir and history.n.pag. This flag is useful for debugging when used with the ``-n'' and ``-s'' flags. Note that if the ``-f'' flag is used, then the name specified with that flag will be used instead of history.
The ``-v'' flag is used to increase the verbosity of the program, generating messages to standard output. The level should be a number, where higher numbers result in more output. Level one will print totals of the various actions done (not valid if a new history file is not written), level two will print a report on each individual file, while level five results in more than one line of output for every line processed.
Use the ``-w'' flag to ``warp'' time so that expire thinks it is running at some time other then the current time. The value should be a signed floating point number of the number of days to use as the offset.
If the ``-x'' flag is used, then expire will not create any new history files. This is most useful when combined with the ``-n'', "-s'', and "-t'' flags to see how different expiration policies would change the amount of disk space used.
If the ``-z'' flag is used, then articles are not removed, but their names are appended to the specified file. See the description of expirerm in news.daily(1m).
If a filename is specified, it is taken as the control file and parsed according to the rules in expire.ctl(4). A single dash (``-'') may be used to read the file from standard input. If no file is specified, the file /var/news/config/expire.ctl is read.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
ctlinnd(1m), expire.ctl(4), history(4), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Expireover expires entries from the news overview database. It reads a list of pathnames (relative to the spool directory, /var/news/storage/articles), from the specified files or standard input if none are specified. (A file name of ``-'' may be used to specify the standard input.) It then removes any mention of those articles from the appropriate overview database.
If the ``-z'' flag is used, then the input is assumed to be sorted such that all entries for a newsgroup appear together so that it can be purged at once. This flag can be useful when used with the sorted output of expire(1m)'s ``-z'' flag.
If the ``-s'' flag is used, then expireover will read the spool directory for all groups mentioned in the active(4) file, and remove the overview entries of any articles that do not appear in the directory.
Specifies an alternate file. A name of ``-'' is taken to mean the standard input.
Reads the spool directory and adds any missing overview entries. It will create files if necessary. This can be used to initialize a database, or to sync up a overview database that may be lacking articles due to a crash. Overchan should be running to ensure that any incoming articles get included. Using this flag implies the ``-s'' flag; the ``-f'' flag may be used to add only a subset of the newsgroups.
List the entries that would be added or deleted.
Do not perform any real updates.
Specifies where the databases are stored. The default directory is /var/news/storage/over.view.
Used to specify an alternate location for the overview.fmt(4) file; this is normally only useful for debugging.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
expire(1m), overview.fmt(4).
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
Expirerm is a script that removes a list of files. The specified file lists the files. It is sorted and then fed into a pipeline responsible for doing the removal, normally fastrm(1m). If there is a problem removing the files, then mail is sent to the news administrator. If there were no problems, then file is renamed to /var/news/logs/expire.list where it is kept for safety until the next day's expiration.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
expire(1m), fastrm(1m)
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | ATTRIBUTES
Fastrm reads a list of files, one per line, from its standard input and removes them. If a file is not an absolute pathname, it is taken relative to the directory specified on the command line. The base_directory parameter must be a simple absolute pathname, that is, it must not contain any ``/./'' or ``/../'' references.
Fastrm is designed to be faster than the typical ``| xargs rm'' pipeline. For example, fastrm will usually chdir(2) into a directory before removing files from it. If the input is sorted, this means that most files to be removed are simple names.
Fastrm assumes that its input is valid and that it is safe to just do an unlink(2) call for each item to be removed. As a safety measure, if fastrm is run by root it will first stat(2) the item to make sure that it is not a directory before unlinking it.
If the ``-d'' flag is used then no files are removed. Instead a list of the files to be removed, in debug form, is printed on the standard output. Each line contains either the current directory of fastrm at the time it would do the unlink, and then the path name it would pass to unlink(2) as two fields separated by white space and a ``/'', or the absolute path name (a single field) of files it would unlink using the absolute path name.
If the ``-e'' flag is used, fastrm will treat an empty input file (stdin) as an error. This is most useful when fastrm is last in a pipeline after a preceding sort(1) as if the sort fails, there will usually be no output to become input of fastrm.
If the ``-u'' flag is used, then fastrm makes further assumptions about its work environment; in particular, that there are no symbolic links in the target tree. This flag also suggests that it is probably faster to reference the path ``../../../'' rather than start from the root and come down. (Note that this probably isn't true on systems that have a namei cache, which usually holds everything except ``..''). The optional N is an integer that specifies the maximum number of ``..'' segments to use -- paths that would use more than this use the absolute path name (from the root) instead. If the ``-u'' flag is given without a value, ``-u1'' is assumed.
If the ``-s'' flag is used, then fastrm will perform the unlinks from one directory, that is when a group of files in one directory appears in the input consecutively in the order that the files appear in the directory from which they are to be removed. The intent of this flag is that on systems that have a per-process directory cache, finding files in the directory should be faster. It can have smaller benefits on other systems. The optional M is an integer that specifies the number of files that must be going to be removed from one directory before the files will be ordered. If the ``-s'' flag is given without a value, ``-s5'' is assumed. When the directory reordering is in use fastrm will avoid attempting to unlink files that it can't see in the directory, which can speed it appreciably when many of the file names have already been removed.
The ``-c'' flag may be given to instruct fastrm when it should chdir(2). If the number of files to be unlinked from a directory is at least I then fastrm will change directory to and unlink the files from the directory. Otherwise it will build a path relative to its current directory. If ``-c'' is given without the optional integer I then ``-c1'' is assumed, which will cause fastrm to always use chdir. If ``-c'' is not used at all, then ``-c3'' is assumed. Use ``-c0'' to prevent fastrm from ever using chdir(2).
The ``-a'' and ``-r'' options do nothing at all, except allow you to say ``fastrm -usa'' ``fastrm -ussr'' or ``fastrm -user''. These happen to often be convenient sets of options to use.
Fastrm exits with a status of zero if there were no problems, or one if something went wrong. Attempting to remove a file that does not exist is not considered a problem. If the program exits with a non-zero status, it is probably a good idea to feed the list of files into an ``xargs rm'' pipeline.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | ATTRIBUTES
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Filechan reads lines from standard input and copies certain fields in each line into files named by other fields within the line. Filechan is intended to be called by the feeder daemon as a channel feed. (It is not a full exploder and does not accept commands; see newsfeeds(4) for a description of the difference and buffchan(1m) for an exploder program.)
Filechan input is interpreted as a set of lines. Each line contains a fixed number of initial fields, followed by a variable number of filename fields. All fields in a line are separated by white space. The default number of initial fields is one.
For each line of input, filechan writes the initial fields, separated by white space and followed by a newline, to each of the files named in the filename fields. When writing to a file, filechan opens it in append mode and tries to lock it and change the ownership to the user and group who owns the directory where the file is being written.
Specifies a different number of fields.
By default, filechan writes its arguments into the directory /var/news/storage/out.going. The ``-d'' flag may be used to specify a directory the program should change to before starting.
If the ``-p'' flag is used, the program will write a line containing its process ID (in text) to the specified file.
If filechan is invoked with ``-f 2'' and given the following input:
news/software/b/132 <1643@munnari.oz.au> foo uunet news/software/b/133 <102060@litchi.foo.com> uunet munnari comp/sources/unix/2002 <999@news.foo.com> foo uunet munnari |
Then the file foo will have these lines:
news/software/b/132 <1643@munnari.oz.au> comp/sources/unix/2002 <999@news.foo.com> |
The file munnari will have these lines:
news/software/b/133 <102060@litchi.foo.com> comp/sources/unix/2002 <999@news.foo.com> |
The file uunet will have these lines:
news/software/b/132 <1643@munnari.oz.au> news/software/b/133 <102060@litchi.foo.com> comp/sources/unix/2002 <999@news.foo.com> |
Because the time window in which a file is open is very small, complicated flushing and locking protocols are not needed; a mv(1) followed by a sleep(1) for a couple of seconds is sufficient.
Specifies a map file by using the ``-m'' flag. Blank lines and lines starting with a number sign (``#'') are ignored. All other lines should have two host names separated by a colon. The first field is the name that may appear in the input stream; the second field names the file to be used when the name in the first field appears. For example, the following map file may be used to map the short names above to the full domain names:
# This is a comment uunet:news.uu.net foo:foo.com munnari:munnari.oz.au |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
buffchan(1m), newsfeeds(4), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | BUGS | ATTRIBUTES | SEE ALSO
Inncheck examines various configuration files and databases and verifies things about them. Things verified depend on the file being checked, but generally are things like permissions, ownership, syntax errors in config files and so on.
Inncheck does not make changes to any files; it just reports what might be wrong. It is up to the operator to fix the problem.
The set of files checked may be restricted by using file or file=value arguments. For example, specifying hosts.nntp causes only the hosts.nntp(4) file to be checked. Using hosts.nntp=/tmp/hosts.nntp.tst on the command line will cause inncheck to only verify the hosts.nntp file, and it will perform the checks on the file /tmp/hosts.nntp file instead of the default one.
Valid values for file are:
active control.ctl expire.ctl hosts.nntp inn.conf moderators newsfeeds overview.fmt nnrp.access nntpsend.ctl passwd.nntp |
If any ``file'' value or ``file=value'' pairs are given, then normally only the files they refer to are checked. Use the ``-a'' flag to specify that all files should be checked regardless. In this case the form file=value will be the more useful.
Use the ``-v'' produce more verbose output.
Use the ``-pedantic" option to get reports on things that are not necessarily wrong, but may indicate a bad configuration -- such as inn.conf(4) missing a key.
Prints the appropriate chown/chgrp/chmod command necessary to fix a problem that it reports. Any other output lines will be prefixed with a ``#'' character to generate valid input for a shell. Note that the ``-perm'' flag must be used as well when using this flag.
Inncheck checks all files for permission problems. If the ``-perm'' flag is used, then only the files specified by the file or file=value command line arguments will be checked for problems other than permission problems.
To avoid doing any checking of file permissions or ownership, use the ``-noperm'' option.
inncheck |
inncheck -perm active hosts.nntp |
inncheck newsfeeds=/var/tmp/newsfeeds.testing |
inncheck -a newsfeeds=/var/tmp/newsfeeds.testing |
If the ``-f'' and ``-perm'' options are used together, along with -a or some ``file'' or ``file=value'' arguments that refer to a file with a syntax problem, then the output will no longer be valid input for a shell.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
active(4), expire.ctl(4), history(4), hosts.nntp(4), inn.conf(4), newsfeeds(4), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | BUGS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
The Sun Internet News Feeder daemon is evolving and should not be executed directly.
Use snsnews(1M) to start and stop news servers.
ctlinnd(1m), snsd(1m), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
The innstat script prints a snapshot of the INN system. It displays the operating mode of the server, as well as disk usage and the status of all log and lock files.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
snsnews(1m), news.daily(1m), newslog(4), snsd(1m)
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Innwatch is normally started by rc.news. Every (600) seconds it examines the load average, the number of free blocks, and the inodes on the spool partition as described by its control file, innwatch.ctl(4).
If the load gets too high or the disk gets too full, it throttles the news reader server. When the condition restores, it unblocks the news reader server. In addition, on each pass through the loop it will check the log file /var/news/logs/news.crit to see if it has been modified and sends mail to the news administrator if so.
Upon receipt of an interrupt signal (SIGINT), innwatch will report its status in the file /var/news/logs/innwatch.status.
Specifies a log file to watch, other than the default of news.crit.
Changes the period between check from the default.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
ctlinnd(1m), innwatch.ctl(4), shlock(1), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
Innxbatch connects to the NNTP server at the specified host and sends it the specified xbatch files, using the XBATCH extension to the NNTP protocol. It is normally invoked by a script run out of cron(1m) that uses shlock(1) to lock the host name, followed by a ctlinnd(1m) command to flush the batchfile.
Innxbatch normally blocks until the connection is made. To specify a timeout on how long to try to make the connection, use the ``-t'' flag. To specify the total amount of time that should be allowed for article transfers, use the ``-T'' flag. The default is to wait until an I/O error occurs, or all the articles have been transferred. If the ``-T'' flag is used, the time is checked just before an article is started; it will not abort a transfer that is in progress. Both values are measured in seconds.
Each file is removed after it has been successfully transferred.
If a communication error such as a write(2) failure, or an unexpected reply from the remote server occurs, innxbatch will stop sending and leave all remaining files untouched for later retry.
Upon exit, innxbatch reports transfer and CPU usage statistics via syslog(3). If the ``-v'' flag is used, they will also be printed on the standard output.
Use the ``-D'' flag to print debugging information on standard error. This will show the protocol transactions between innxbatch and the NNTP server on the remote host.
A sample newsfeeds(4) entry to produce appropriate xbatch files:
nase\ :*\ :Tc,Wnb\ :/var/news/storage/out.going$;/batcher \ -p "(/var/news/storage/out.going$; > \ /var/news/storage/out.going$;/nase.\$\$)" \ nase.do.main |
#!/bin/sh ## SH script to send xbatches for a site, wrapped around innxbatch ## Invocation: ## sendxbatches.sh <sitename> <hostname> <xbatch file name> ... if [ $# -le 3 ] then echo "usage: $0 <sitename> <hostname> <xbatch file name>" exit 1 fi ## =()<. @<_PATH_SHELLVARS>@>()= site="$1"; host="$2"; shift; shift ctlinnd flush "$site" \ && sleep 5 \ && exec $NEWSBIN/innxbatch -v -D "$host" $* |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
innxmit(1m), nntpsend(1m), ctlinnd(1m), newsfeeds(4), shlock(1), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Innxmit connects to the NNTP server at the specified host and sends it the articles specified in the batch file named file. It is normally invoked by a script run out of cron(1m) that uses shlock(1) to lock the host name, followed by a ctlinnd(1m) command to flush the batch file.
If the file is not an absolute pathname, it is taken relative to the /var/news/storage/out.going directory. It is normally written by specifying the ``Wnm'' flags in the newsfeeds(4) file. Each line in the batch file should be in one of the following formats:
filename Message-ID filename |
The filename field names the article to be sent. If it is not an absolute pathname it is taken relative to the news spool directory, /var/news/storage/articles. If the Message-ID field is not specified, it will be obtained by scanning the article. The filename and Message-Id fields are separated by a space.
If a communication error such as a write(2) failure occurs, innxmit will stop sending and rewrite the batch file to contain the current article and any other unsent articles.
Innxmit normally blocks until the connection is made. To specify a timeout on how long to try to make the connection, use the ``-t'' flag.
Specifies the total amount of time that should be allowed for article transfers. The default is to wait until an I/O error occurs, or all the articles have been transferred. If the ``-T'' flag is used, the time is checked just before an article is started; it will not abort a transfer that is in progress. Both values are measured in seconds.
Specifies a port number other than the default.
If the remote server sends an unexpected reply code, innxmit will requeue the article and proceed. Use the ``-r'' flag if the article should not be requeued.
Upon exit, innxmit reports transfer and CPU usage statistics via syslog(3). If the ``-v'' flag is used, they will also be printed on the standard output.
If all articles were sent successfully, innxmit will remove the batch file, otherwise it will rewrite it to contain the list of unsent articles. If no articles were sent or rejected, the file is left untouched. This can cause the batch file to grow excessively large if many articles have been expired and there are communication problems. To always rewrite the batch file, use the ``-a'' flag.
If the ``-p'' flag is given, then no connection is made and the batch file is purged of entries that refer to files that no longer exist. This implies the ``-a'' flag.
If the ``-S'' flag is given, then innxmit will offer articles to the specified host using the ``xreplic'' protocol. The ``-S'' flag implies ``-s'', since streaming is not supported in the xreplic protocol. To use this flag, the input file must contain the history data (commas are transliterated to spaces by the server). In order for this flag to be used, the input must contain the necessary history entries. This is usually done by setting up a ``WnR'' entry in the newsfeeds file.
Use the ``-d'' flag to print debugging information on standard error. This will show the protocol transactions between innxmit and the NNTP server on the remote host.
The ``-l'' flag is used to turn off logging of reasons the remote gives for rejecting an article.
If the ``-M'' flag is used, then innxmit will scan an article's headers before sending it. If the article appears to be a MIME article that is not in seven-bit format, the article will be sent in ``quoted-printable'' form.
The ``-A'' flag may be used to specify an alternate spool directory to use if the article is not found; this would normally be an NFS-mounted spool directory of a master server with longer expiration times.
Innxmit will attempt to negotiate a streaming mode extension of the NNTP protocol with the server at connect time. If successful it will use a slightly different protocol that enhances throughput. If the server does not recognize the streaming mode negotiation innxmit will revert to normal NNTP transfer mode. Use the ``-s'' flag to disable the attempt to negotiate the streaming mode extension.
In streaming mode a check of each message ID is still made to avoid sending articles already on the server. The ``-c'' flag will, if streaming mode is supported, result in sending articles without checking. This results in slightly greater throughput and may be appropriate when it is known that the site could not already have the articles such as in the case of a "leaf" site.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
ctlinnd(1m), newsfeeds(4), shlock(1), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | EXAMPLES | ATTRIBUTES | SEE ALSO
The isppammod command provides an automated procedure for using PAM to authenticate News users through LDAP. The isppammod command creates a domain.name entry in pam.conf that specifies the use of /etc/opt/SUNWisp/lib/pam_ldap.so.1 for authentication. Note that pam.conf can contain only one domain.name for the news service.
Add domain.name entry.
Delete the news domain entry.
Modify domain.name entry to reflect new domain.name.
isppammod -a allnews.com |
isppammod -d |
isppammod -m main.news.com |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
nnrp.access(4)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | EXAMPLES | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | EXAMPLES | ATTRIBUTES | SEE ALSO
Makeactive invokes find(1) to get a list of all directories in the news spool tree, /var/news/storage/articles. It discards directories named lost+found as well as those that have a period in them. It scans all other directories for all-numeric filenames and determines the highest and lowest number. The program's output is a set of active(4) file lines. Because there is no way to know if a group is moderated or disabled, the fourth field of all entries will be y. Also, mid-level directories that aren't newsgroups will also created as newsgroups with no entries (for example, there is a ``comp.sources.unix'' group, but no ``comp.sources'').
Attempts to adjust the highest and lowest article numbers wherever possible. If articles are found in a newsgroup, the numbers will reflect what was found. If no articles are found in a newsgroup, the high number from the old file will be kept, and the low number will be set to one more then the high number. This flag may only be used if the ``-o'' flag is used.
Reads an existing active file for the list of group names and renumbers all groups. It will preserve the fourth field of the active file if one is present. This is analogous to the ctlinnd(1m) ``renumber'' command, except in this case the news feeder daemon should throttled using ctlinnd throttle or stopped using snsnews stop. Do not use this flag with output redirected to the standard active file.
Makeactive exits with non-zero status if any problems occurred.
ctlinnd throttle "Rebuilding active file" TEMP=${TMPDIR-/var/tmp}/act$$ if [ -f /var/news/state/active; ] ; then if makeactive -o >${TEMP} ; then mv ${TEMP} /var/news/state/active; fi else if makeactive >${TEMP} ; then # Edit to restore moderated # and aliased groups. ... mv ${TEMP} /var/news/state/active; fi fi ctlinnd reload active "New active file" ctlinnd go '' |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
active(4), ctlinnd(1m), dbz(3), filechan(1m), history(4), newsfeeds(4), makehistory(1m), newsrequeue(1m), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | EXAMPLES | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | BUGS AND LIMITATIONS | ATTRIBUTES | SEE ALSO
Makehistory rebuilds the history(4) text file and the associated dbz(3) database. The default name of the text file is /var/news/state/history; to specify a different name, use the ``-f'' flag. Makehistory scans the active(4) file to determine which newsgroup directories within the spool directory /var/news/storage/articles should be scanned. (If a group is removed, but its spool directory still exists, makehistory will ignore it.) The program reads each file found and writes a history line for it.
After the text file is written, makehistory will build the dbz database.
Specifies the pathname to the directory that will be used by makehistory to store a copy of the history file as it's being built. Existing data and valid history entries are appended to the history file.
Specifies the active file to use rather than the default one of /var/news/state/active.
Remove any articles that do not have valid Message-ID headers in them.
Specifies the database file name prefix, for example, specifying "-f file" results in the use of database files file.dir and file.pag. If the ``-f'' flag is not used, then a temporary link to the name history.n is made and the database files are written as history.n.pag and history.n.dir.
The link is not made and any existing history files are overwritten. If the old database exists, makehistory will use it to determine the size of the new database.
Ignore the old database. Using the ``-o'' flag implies the ``-i'' flag.
The program will also ignore any old database if the ``-s'' flag is used to specify the approximate number of entries in the new database. Accurately specifying the size is an optimization that will create a more efficient database. (The size should be the estimated eventual size of the file, typically the size of the old file.) For more information, see the discussion of dbzfresh and dbzsize in dbz(3).
Assumes that the feeder daemon is running (see snsnews(1m)), pauses the server while scanning, and then sends ``addhist'' commands (see ctlinnd(1m)) to the server for any article that is not found in the dbz database. The command ``makehistory -bu'' is useful after a system crash to delete any mangled articles and bring the article database back into a more consistent state.
If the ``-v'' flag is used with the ``-u'' flag, then makehistory will put a copy of all added lines on its standard output.
Scans the spool directory without rebuilding the dbz files. If used with ``-u'', the server will not be paused while scanning.
Builds the dbz files from an existing text file. The ``-i'' or ``-s'' flags can be useful if there are no valid dbz files to use.
Makehistory needs to create a temporary file that contains one line for each article it finds, which can become very large. This file is created in the /var/tmp directory. The ``TMPDIR'' environment variable may be used to specify a different directory. Alternatively, the ``-T'' flag may be used to specify a temporary directory. In addition, the sort(1) that is invoked during the build writes large temporary files (often to /var/tmp; see your system man pages). If the ``-T'' flag is used, then the flag and its value will be passed to sort. On most systems this will change the temporary directory that sort uses. if used, this flag and its value will be passed on to the sort(1) command that is invoked during the build.
ctlinnd throttle "Rebuilding history file" cd /var/news/state if makehistory -n -f history.n ; then : else echo Error creating history file! exit 1 fi # The following line can be used to retain expired history # It is not necessary for the history file to be sorted. # awk 'NF==2 { print; }' <history >>history.n # View history file for mistakes. if makehistory -r -s `wc -l <history` -f history.n; then mv history.n history mv history.n.dir history.dir mv history.n.pag history.pag fi ctlinnd go '' |
Makehistory does not handle symbolic links. If the news spool area is split across multiple partitions, the following commands should probably be run before the database is regenerated:
cd /var/news/storage/articles find . -type l -name '[1-9]*' -print | xargs -t rm |
Make sure to run the command on all the appropriate partitions!
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
active(4), ctlinnd(1m), dbz(3), filechan(1m), history(4), newsfeeds(4), makeactive(1m), newsrequeue(1m), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | BUGS AND LIMITATIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | KEYWORDS | ATTRIBUTES | SEE ALSO
News.daily performs a number of important Usenet administrative functions. This includes producing a status report, removing old news articles, processing log files, rotating the archived log files, renumbering the active file, removing any old socket files found in the ``firewall'' directory, and collecting the output. This program should be run under the news administrator's id, not as root.
By default, news.daily performs all of its functions and mails the output to the news administrator, newsmaster. By specifying ``keywords'' on the command line, it is possible to modify the functions performed, as well as change the arguments given to expire(1m) and expireover(1m).
News.daily should be run once a day, typically out of cron(1m). It may be run more often, but such invocations should at least use the ``notdaily'' keyword to prevent the log files from being processed and rotated too fast.
The shlock(1) program is used to prevent simultaneous executions.
The following keywords may be used:
This keyword uses the ``-z'' flag when invoking expire and expireover. The names of articles to be removed are written to a temporary file, and then removed after expiration by calling expirerm(1m).
Specifies the file to use as the expire.ctl(4) file for expire.
By default, expire builds the new history(4) file and database in the same directory as the current files. Using this keyword specifies a different locale to build the new files (by passing the ''-d'' flag to expire), which will then be moved to the right location when finished.
Disables the status report generated by innstat (see newslog(1m)). Without this keyword, the status report is the first function performed, just prior to obtaining the news.daily lock.
By default news.daily expects to be run only once a day. Use this keyword any extra times news.daily is run in the day and the normal logfile processing (and rotation) will not be done.
By default, expire is invoked to remove old news articles. Using this keyword disables this function.
Expire normally appends information to /var/news/logs/expire.log (see newslog(4)). Using this keyword causes the expire output to be handled as part of news.daily's output. It has no effect if the ``noexpire'' keyword is used.
By default, expire is invoked with the an argument of ``-v1''. Using this keyword changes the arguments to those specified. Be careful to use quotes if multiple arguments are needed. This keyword has no effect if the ``noexpire'' keyword is used.
After expiration, scanlogs(1m) is invoked to process the log files. Using this keyword disables all log processing functions.
By default, log processing includes rotating and cleaning out log files. Using this keyword disables the rotating and cleaning aspect of the log processing: the logs files are only scanned for information and no contents are altered.
This keyword has no effect if the ``nologs'' keyword is used. The ``norotate'' keyword is passed on to scanlogs if it is invoked.
Disables the ctlinnd(1m) renumber operation. Normally, the low-water mark for all newsgroups (see active(4)) is reset.
By default, any socket ctlinnd socket that has not been modified for two days will be removed. Using this keyword disables this function.
News.daily normally sends a mail message containing the results to the administrator. Using this keyword causes this message to be sent to stdout and stderr instead. Normally, all utilities invoked by the script have their stdout and stderr redirected into a file. If the file is empty, no message is sent.
The expireover program is called after expiration to purge the overview databases.
If the ``expireover'' keyword is used, this keyword may be used to specify the flags to be passed to expireover. If the ``delayrm'' keyword is used, then the default value is ``-z'' and the list of deleted files; otherwise, the default value is ``-s''.
The program specified by the given path is executed just before any expiration is done. A typical use is to specify an alternate expiration program and use the ``noexpire'' keyword. Multiple programs may be specified; they will be invoked in order.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
active(4), ctlinnd(1m), expire(1m), fastrm(1m), newslog(4), newslog(1m), innwatch.ctl(4), shlock(1).
NAME | SYNOPSIS | DESCRIPTION | KEYWORDS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
none
News log manipulation has been split into the scanlogs, writelog, innstat, tally.control, and tally.unwanted commands. Please refer to those man pages for more information.
innstat(1m), scanlogs(1m), tally.control(1m), tally.unwanted(1m), writelog(1m).
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
This functionality has been split into the commands makeactive, makehistory, and newsrequeue. Please refer to the man pages for those commands for more information.
makehistory(1m), makeactive(1m), newsrequeue(1m)
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Newsrequeue is used to rewrite batchfiles after a system crash. It operates in two modes. In the first mode, it first reads the active(4) and newsfeeds(4) files to determine where the different newsgroups are to be distributed. It then opens the history database. Once the files are opened, newsrequeue reads from the specified input file, or standard input if no file is specified. Each line should have a single Message-ID, surrounded in angle brackets; any other text on the line is ignored. For example, the history file (or trailing subset of it) is acceptable input to the program operating in this mode.
Newsrequeue uses the first two fields of the newsfeed entry -- the site name and the excludes field, and the patterns and distribs field. It ignores all flags in the third field except for the ``N'' field, and also ignores the fourth field altogether.
The output of newsrequeue consists of one line for each article that should be forwarded. Each such line contains the Message-ID, the filename, and the list of sites that should receive the article. The output is suitable for piping into filechan(1m).
The second mode is used if the ``-l'' flag is given. In this mode, it reads from the specified input file, or standard input if no file is specified. Each line should look like an innd 1.5 Sec2 log entry. It parses entries for accepted articles, looks up the Message-ID in the history database to get the filename, and then scans the list of sites.
To specify alternate locations for the active file, use the ``-a'' flag.
Use the ``-n'' flag to specify an alternate location for the newsfeeds(1m) file.
Use the ``-h'' flag to specify a different location for the history database,
If the ``-d'' flag is used, then only articles that were received within the specified number of days will be processed.
Reads innd 1.5 Sec2 type log entries instead of a history-file like entries.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
active(4), ctlinnd(1m), dbz(3), filechan(1m), history(4), innd(1m), newsfeeds(4), makeactive(1m), makehistory(1m).
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Nntpget connects to the NNTP server at the specified host and retrieves articles from it. The Message-ID's of the desired articles are read from standard input. The articles are sent to standard output.
May be used only if the command is executed on the host where the news feeder server is running. If this option is used, nntpget connects to the specified remote host to retrieve articles. Any article not present in the local history database is then fetched from the remote site and offered to the local server.
If the ``-v'' option is used with the ``-o'' option then the Message-ID of each article will be sent to standard output as it is processed.
The list of article Message-ID's is normally read from standard input. If the ``-f'' option is used, then a ``newnews'' command is used to retrieve all articles newer than the modification date of the specified file.
The ``-u'' option is the same as the "-f-" except that if the transfer succeeded, the file will be updated with a statistics line, modifying its timestamp so that it can be used in later invocations.
If the ``-t'' option is used, then the specified timestring is used as the time and date parameter to the ``newnews'' command.
If either the ``-t'' or ``-f'' options are used, then the ``-n'' option may be used to specify a newsgroup list. The default is ``*''.
The ``-d'' option may be used to specify a distribution list when using the ``-t'' or ``-f'' options. The default is no distribution list.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | ATTRIBUTES | SEE ALSO
Nntpsend is a front-end that invokes innxmit(1m) to send Usenet articles to a remote NNTP site.
The sites to be fed may be specified by giving sitename fqdn pairs on the command line. If no such pairs are given, nntpsend defaults to the information given in the nntpsend.ctl(4) config file.
The sitename should be the name of the site as specified in the newsfeeds(4) file. The fqdn should be the hostname or IP address of the remote site.
An innxmit is launched for sites with queued news. All innxmit processes are spawned in the background, and the script waits for them all to finish before returning. Output is sent to the file /var/news/logs/nntpsend.log. In order to keep from overwhelming the local system, nntpsend waits five seconds before spawning each child.
Nntpsend expects that the batchfile for a site is named /var/news/storage/out.going/sitename.
When sitename fqdn pairs are given on the command line, any flags given on the command completely describe how innxmit(1m) operates. When no such pairs are given on the command line, then the information found in nntpsend.ctl(4) becomes the default flags for that site. Any flags given on the command line override the default flags for the site.
Disables message ID checking in streaming mode.
The ``-d'' flag causes nntpsend to send output to stdout rather than the log file /var/news/logs/nntpsend.log. The ``-D'' flag does the same, and it passes ``-d'' to all innxmit invocations which in turn causes innxmit to go into debug mode.
If the ``-l'' (lazy) flag is specified, then the script will be more aggressive about deciding there is nothing to be done. This can be useful when using nntpsend as a backup for a site fed by nntplink.
The ``-a'', ``-p'', ``-P'', ``-r'', ``-S'', ``-t'', and ``-T'' flags are passed on to the child innxmit program. See innxmit(1m) for more details. Note that if the ``-p'' flag is used then no connection is made and no articles are fed to the remote site. It is useful to have cron(1m) invoke nntpsend with this flag in case a site cannot be reached for an extended period of time.
With the following control file:
nsavax:erehwon.nsavax.gov::-S -t60 group70:group70.org:: xyz:xyz.com:4m-1m:-T1800 -t300 kremvax:kremvax.cis:2m: |
The command:
% nntpsend |
will result in the following:
Sitename Truncation Innxmit flags nsavax (none) -a -S -t60 group70 (none) -a -t180 xyz 1m if >4m -a -T1800 -t300 kremvax 2m -a -t180 |
The command:
% nntpsend -d -T1200 |
will result in the following:
Sitename Truncation Innxmit flags nsavax (none) -a -d -S -T1200 -t60 group70 (none) -a -d -T1200 -t180 xyz 1m if >4m -a -d -T1200 -t300 kremvax 2m -a -d -T1200 -t180 |
Remember that ``-a'' is always given, and ``-t'' defaults to 180.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
innxmit(1), newsfeeds(4), nntpsend.ctl(4)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
Overchan reads article data from files or standard input if none are specified. (A single dash in the file list means to read standard input.) It uses this information to update the news overview database. Overchan is designed to be used by InterNetNews or the C News ``mkov'' packages to update the database as the articles come in. The database for each newsgroup is stored in a file named .overview in a newsgroup directory within the overview database tree.
Overchan locks the database file by locking an auxiliary file before appending the new data. To purge data after articles have been expired, see expireover(1m).
By default, overchan processes its input as an INN overview stream written as a ``WO'' entry in the newsfeeds(4) file, for example:
overview:*:Tc,WO:/usr/news/bin/overchan
This data consists of a line of text, separated into two parts by a tab. The first part is a list of all relative pathnames where the article has been written with a single space between entries. The second part is the data to be written into the overview file, except that the initial article number is omitted. The data in the overview files should be expired by running expireover(1m). This is normally done by adding the ``expireover'' flag to the news.daily(1m) invocation.
Processes the output of the mkov(1m) program. This format is described in the ``nov'' distribution.
Specifies where the databases are stored. The default directory is /var/news/storage/over.view.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
expireover(1m), news.daily(1m), newsfeeds(4), newsoverview(4), newsoverview(1m).
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | ATTRIBUTES | SEE ALSO
Prunehistory modifies the history(4) text file to ``remove'' a set of filenames from it. The filenames are removed by overwriting them with spaces, so that the size and position of any following entries does not change.
Prunehistory reads the named input file, or standard input if no file is given. The input is taken as a set of lines. Blank lines and lines starting with a number sign (``#'') are ignored. All other lines are should consist of a Message-ID followed by zero or more filenames.
The Messge-ID is used as the dbz(3) key to get an offset into the text file. If no filenames are mentioned on the input line, then all filenames in the text are ``removed.'' If any filenames are mentioned, they are converted into the history file notation. If they appear in the line for the specified Message-ID then they are removed.
Since the news feeder daemon only appends to the text file, prunehistory does not need to have any interaction with it.
Prunehistory will normally complain about lines that do not follow the correct format. If the ``-p'' flag is used, then the program will silently print any invalid lines on its standard output. (Blank lines and comment lines are also passed through.) This can be useful when prunehistory is used as a filter for other programs such as reap.
The default name of the history file is /var/news/state/history; to specify a different name, use the ``-f'' flag.
ctlinnd throttle "Rebuilding history database" cd /var/news/state awk 'NF > 2 { printf "%s\t%s\t%s", $1, $2, $3; for (i = 4; i <= NF; i++) printf " %s", $i; print "\n"; }' <history >history.n if makehistory -r -f history.n ; then mv history.n history mv history.n.pag history.pag mv history.n.dir history.dir else echo 'Problem rebuilding history; old file not replaced' fi ctlinnd go "Rebuilding history database" |
Note that this keeps no record of expired articles.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
dbz(3), history(4), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | BUGS | ATTRIBUTES | SEE ALSO
Rnews reads messages typically queued by a UUCP newsfeed and sends them to the local InterNetNews server. The message is read from the specified input file, or standard input if no input is named.
When sent over UUCP, Usenet articles are typically joined in a single batch to reduce the UUCP overhead. Batches can also be compressed to reduce the communication time. If a message does not start with a number sign (``#'') and an exclamation point, then the entire input is taken as a single news article. If it does start with with those two characters, then the first line is read and interpreted as a batch command.
If the command is ``#! rnews nnn'' where nnn is a number, then the next nnn bytes (starting with the next line) are read as a news article.
If the command is ``#! cunbatch'' then the rest of input is fed to the compress(1) program with the ``-d'' flag to uncompress it, and the output of this pipe is read as rnews's input. This is for historical compatibility -- there is no program named cunbatch. A compressed batch will start with a ``#! cunbatch'' line, then contain a series of articles separated by ``#! rnews nnn'' lines.
If the command is any other word, then rnews will try to execute a program with that name in the directory /usr/news/bin/rnews.libexec. The batch will be fed into the program's standard input, and the standard output will be read back as input into rnews.
If rnews detects any problems with an article such as a missing header, or an unintelligible reply from the server, it will save a copy of the article in the /var/news/storage/in.coming/bad directory.
If the ``-S'' flag is used, then rnews connects to the specified host. If the flag is not used, it will try to connect to the server by opening a UNIX-domain stream connection. If that fails, it will try to open a TCP connection to the default remote server.
If the server is not available, the message is spooled into a new file created in the /var/news/storage/in.coming directory. The ``-U'' flag may be used to send all spooled messages to the server once it becomes available again, and can be invoked regularly by cron(1m).
Normally, if unpacking the input fails it is respooled to /var/news/storage/in.coming for another attempt later. If the ``-N'' flag is used, then no such respooling is done and rnews exits with status value ``9'' to indicate this.
If the ``-v'' flag is used, it prints a notice of all errors on the standard error, naming the input file (if known) and printing the first few characters of the input. Errors are always logged.
If the ``-h'' flag is given, or failing that, the enviroment variable UU_MACHINE is set, then rnews will log the Message-ID and host for each article offered to the server. Logging will only be done if the value is not an empty string.
Rnews cannot process articles that have embedded \0's in them.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | BUGS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | KEYWORDS | ATTRIBUTES | SEE ALSO
Scanlogs summarizes the information recorded in the INN log files (see newslog(4)) By default, it also rotates and cleans out the logs. It is normally invoked by the news.daily(1m) script.
The following keywords are accepted:
Using this keyword disables the rotating and cleaning aspect of the log processing: the log files are only scanned for information and no contents are altered.
Normally the nn log file is scanned and rotated. Using this keyword disables this function.
If scanlogs is invoked more than once a day, the ``norotate'' keyword should be used to prevent premature log cleaning.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
newslog(4), news.daily(1m), snsd(1m), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | KEYWORDS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
The Sun Internet News Server daemon, snsd, handles all incoming NNTP connections. It listens on the NNTP port (see the "-p" option) for both reader and feeder connections. snsd handles all the reader connections directly. It dispatches all feeder connections to the feeder daemon (see innd(1m) and snsnews(1m)) which has been modified to receive such dispatches.
Specifies the port number to listen on for NNTP connections. The default is the services(4)entry for nntp or port 119 if there is no such entry.
Specifies the remote host to be used as a posting host. This is relevant only when the Sun News Server is installed in the Reader-only configuration. The -port=number portion is optional. If it is not specified, the default is the services(4) entry for nntp or port 119 if there is no such entry.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Evolving |
hosts.nntp(4), sns.conf(4), syslog(1m), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | OPERANDS | EXAMPLES | ATTRIBUTES
Starts or stops the news feeder daemon innd(1m) and the news reader daemon snsd(1m).
If the command is entered on a reader/feeder server, both daemons are started by snsnews. On a feeder server, snsnews starts only the feeder daemon innd; and on a reader server, snsnews starts only the reader daemon snsd.
The feeder daemon and reader daemon should be started only via snsnews(1m).
/etc/init.d/snsnews start/etc/init.d/snsnews stop
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
NAME | SYNOPSIS | DESCRIPTION | OPERANDS | EXAMPLES | ATTRIBUTES
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
tally.control is normally invoked by scanlogs(1m) It reads its standard input, which should be the newsgroup.log and rmgroup.log log files. It updates the cumulative list of newsgroup creations and deletions, control.log.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
news.daily(1m), scanlogs(1m), tally.control(1m), tally.unwanted(1m), writelog(1m).
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
tally.unwanted is normally invoked by scanlogs(1m). It parses the article log file to update the cumulative list of articles posted to unwanted newsgroups, /var/news/logs/unwanted.log.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
news.daily(1m), newslog(4), snsd(1m), scanlogs(1m), snsnews(1m), tally.control(1m), tally.unwanted(1m), writelog(1m).
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
The writelog script is used to write a log entry or send it as mail. The name parameter specifies the name of the log file where the entry should be written. If it is the word ``mail'' then the entry is mailed to the news administrator, newsmaster. The data that is written or sent consists of the text given on the command line, followed by standard input indented by four spaces.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
innstat(1m) news.daily(1m), newslog(4), snsd(1m), scanlogs(1m), snsnews(1m)
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO | NOTES
The man pages offer detailed instruction and examples on keywords and parameters for each configuration file.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Evolving |
The file /var/news/state/active lists the newsgroups that the local site receives.
The file /var/news/config/control.ctl is used to determine what action is taken when a control message is received.
The file /var/news/config/distrib.pats is used to determine the default value of the Distribution header.
The file /var/news/config/expire.ctl is the default control file for the expire(1m) program, which reads it at startup.
The file /var/news/state/history keeps a record of all articles currently stored in the news system, as well as those that have been received but since expired.
The file /var/news/config/hosts.nntp is read by the feeder daemon to get the list of hosts that feed the local site Usenet news using the NNTP protocol.
The file /var/news/config/inn.conf specifies the configuration data for Sun Internet News Server programs.
The file /var/news/config/innwatch.ctl is used to determine what actions are taken during the periodic supervisions by innwatch(1m).
The file /var/news/config/moderators contains the email addresses for moderated Usenet newsgroups.
The file /var/news/config/newsfeeds specifies how incoming articles should be distributed to other sites.
Describes the Sun(TM) Internet News Server(TM) log files. Most log files created by the Sun(TM) Internet News Server(TM) programs reside in the /var/news/logs directory and have a ``.log'' extension. Several versions are usually kept with an additional extension such as ``.1'', ``.2'', etc. - the higher the number, the older the log. The older versions are compressed.
The file /var/news/rconfig/nnrp.access specifies the access control for those NNTP sites that are not handled by the news feeder daemon.
The file /var/news/config/nntpsend.ctl specifies the default list of sites to be fed by nntpsend(1m).
The file /var/news/config/overview.fmt specifies the organization of the news overview database.
The file /var/news/config/passwd.nntp contains host-name-password triplets for use when authenticating client programs to NNTP servers.
The Sun Internet News Server configuration data file /var/news/rconfig/sns.conf specifies the maximum number of threads per NNTP handling process, and the maximum number of NNTP processes for the platform on which the server is running. sns.conf is updated using the News Administration GUI.
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO | NOTES
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/state/active lists the newsgroups that the local site receives. Each newsgroup should be listed only once. Each line specifies one group; their order in the file does not matter. Within each newsgroup, articles are assigned unique names, which are monotonically increasing numbers.
If an article is posted to newsgroups not mentioned in this file, those newsgroups are ignored. If no valid newsgroups are specified, the article is filed into the newsgroup ``junk'' and only propagated to sites that receive the ``junk'' newsgroup.
Each line consists of four fields specified by a space:
name himark lomark flags |
The first field is the name of the newsgroup. Newsgroups that start with the three characters ``to.'' are treated specially; refer to the INN 1.5 specifications. The second field is the highest article number that has been used in that newsgroup. The third field is the lowest article number in the group; this number is not guaranteed to be accurate, and should only be taken to be a hint. Note that because of article cancellations, there may be gaps in the numbering sequence. If the lowest article number is greater then the highest article number, then there are no articles in the newsgroup. In order to make it possible to update an entry in-place without rewriting the entire file, the second and third fields are padded out with leading zeros to make them a fixed width.
The fourth field can contain one of the following flags:
y Local postings are allowed n No local postings are allowed, only remote ones m The group is moderated and all postings must be approved j Articles in this group are not kept, but only passed on x Articles cannot be posted to this newsgroup =foo.bar Articles are locally filed into the ``foo.bar'' group |
If a newsgroup has the ``j'' flag, then no articles will be filed into that newsgroup and local postings to that group should not be generated. If an article for such a newsgroup is received from a remote site, it will be filed into the ``junk'' newsgroup if it is not cross-posted. This is different from not having a newsgroup listed in the file because sites can subscribe to ``j'' newsgroups and the article will be propagated to them.
If the fourth field of a newsgroup starts with an equal sign, then the newsgroup is an alias. Articles can be posted to the group, but will be treated as if they were posted to the group named after the equal sign. The second and third fields are ignored. Note that the Newsgroup header is not modified (Alias groups are typically used during a transition, and are typically created with ctlinnd(1m). An alias newsgroup should not point to another alias.
The file /var/news/state/active.times provides a chronological record of when newsgroups are created. This file is normally updated by the feeder daemon (see innd(1m)) whenever a ctlinnd ``newgroup'' command is done. Each line consist of three fields:
name time creator |
The first field is the name of the newsgroup. The second field is the time it was created, expressed as the number of seconds since the epoch -- that is, a time_t; see gettimeofday(2) The third field is the electronic mail address of the person who created the group.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
ctlinnd(1m), snsnews(1m)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/config/control.ctl is used to determine what action is taken when a control message is received. It is read by the parsecontrol script, which is called by all the control scripts.
The file consists of a series of lines; blank lines and lines beginning with a number sign (``#'') are ignored. All other lines consist of four fields separated by a colon:
message:from:newsgroups:action
The first field is the name of the message for which this line is valid. It should be either the name of the control message, or the word ``all'' to mean that it is valid for all messages.
The second field is a shell-style pattern that matches the email address of the person posting the message. (The poster's address is first converted to lowercase.) The matching is done using the shell's case statement; see sh(1) for details.
If the control message is ``newgroup'' or ``rmgroup'' then the third field specifies the shell-style pattern that must match the group being created or removed. If the control message is of a different type, then this field is ignored.
The fourth field specifies what action to take if this line is selected for the message. The following actions are understood:
The action requested by the control message should be performed. In most cases the control script will also send mail to newsmaster.
If the control message has an argument, this is treated as a ``doit'' action. If no argument was given, it is treated as a ``mail'' entry. This is used in ``sendsys'' entries script so that a site can request its own newsfeeds(4) entry by posting a ``sendsys mysite'' article. On the other hand, sendsys ``bombs'' ask that the entire newsfeeds file be sent to a forged reply-to address; by using ``doifarg'' such messages will not be processed automatically.
The action is performed, but a log entry is written to the specified log file, file. If file is the word ``mail'' then the record is mailed. A null string is equivalent to /dev/null. A pathname that starts with a slash is taken as the absolute filename to use as the log. All other pathnames are written to the /var/news/logs/ file.log. The log is written by writelog (see newslog(1m))
No action is taken; the message is ignored.
A one-line log notice is sent to standard error. The news feeder daemon normally directs this to the file /var/news/logs/errlog.
A log entry is written to the specified log file, file, which is interpreted as previously described.
A mail message is sent to the news administrator.
Lines are matched in order; the last match found in the file is the one that is used. For example, with the following three lines:
newgroup:*:*:drop newgroup:tale@*.uu.net:comp.*|misc.*|news.*|sci.*|soc.*|talk.*:doit newgroup:kre@munnari.oz.au:aus.*:mail |
A newgroup coming from ``tale'' at a UUNET machine will be honored if it is in the mainstream Usenet hierarchy. If ``kre'' posts a newgroup message creating ``aus.foo'', then mail will be sent. All other newgroup messages are ignored.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
newsfeeds(4), scanlogs(1m), snsnews(1m)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES
The file /var/news/config/distrib.pats is used to determine the default value of the Distribution header. It consists of a series of lines; blank lines and lines beginning with a number sign (``#'') are ignored. All other lines consist of three fields separated by a colon:
weight:pattern:value |
The first field is the weight to assign to this match. If a newsgroup matches multiple lines, the line with the heighest weight is used. This should be an arbitrary number greater than zero. Unlike other INN files, the order of lines in this file is not important.
The second field is the name of the newsgroup or a wild card pattern to specify a set of newsgroups. Multiple patterns are not allowed.
The third field is the value that should be used if this line is picked as the best match. It can be an empty string.
Programs that process a user's posting should consult this file. The intent is that all newsgroups to which an article is posted be used to index into this file, and the value with the highest weight should be used as the value of the Distribution header, if none was specified.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
NAME | DESCRIPTION | ATTRIBUTES
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/config/expire.ctl is the default control file for the expire(1m) program, which reads it at startup. Blank lines and lines beginning with a number sign (``#'') are ignored. All other lines should be in one of two formats.
The first format specifies how long to keep a record of fully expired articles. This is useful when a newsfeed intermittently offers older news that is not kept around very long. There should only be one line in this format, which looks like this:
/remember/:days
where days is a floating-point number that specifies the upper limit to remember a Message-ID, even if the article has already expired. (It does not affect article expirations.)
Most of the lines in the file will consist of five colon-separated fields, as follows:
pattern:modflag:keep:default:purge |
The pattern field is a list of character string and/or wild card patterns, separated by commas. This field specifies the newsgroups to which the line is applied. Note that the file is interpreted in order, so that the last line that matches will be used. This means that general patterns (like a single asterisk to set the defaults) should appear before specific group specifications.
The modflag field can be used to further limit newsgroups to which the line applies, and should be chosen from the following set:
M Only moderated groups U Only unmoderated groups A All groups |
The next three fields are used to determine how long an article should be kept. Each field should be either a number of days (fractions like ``8.5'' are allowed) or the word ``never.'' The most common use is to specify the default value for how long an article should be kept. The first and third fields keep and purge specify the boundaries within which an Expires header will be honored. They are ignored if an article has no Expires header. The fields are specified in the file as ``lower-bound default upper-bound,'' and they are explained in this order. Since most articles do not have explicit expiration dates, however, the second field tends to be the most important one.
The keep field specifies how many days an article should be kept before it will be removed. No article in the newsgroup will be removed if it has been filed for less then keep days, regardless of any expiration date. If this field is the word ``never'', then an article cannot have been kept for enough days so it will never be expired.
The default field specifies how long to keep an article if no Expires header is present. If this field is the word ``never'' then articles without explicit expiration dates will never be expired.
The purge field specifies the upper bound on how long an article can be kept. No article will be kept longer then the number of days specified by this field. All articles will be removed after they have been kept for purge days. If purge is the word ``never'' then the article will never be deleted.
It is often useful to honor the expiration headers in articles, especially those in moderated groups. To do this, set keep to zero, default to whatever value you wish, and purge to never. To ignore any Expires header, set all three fields to the same value.
There must be exactly one line with a pattern of ``*'' and a modflags of ``A''. This matches all groups and is used to set the expiration default. It should be the first expiration line.
For example,
## How long to keep expired history /remember/:5 ## Most things stay for two weeks *:A:14:14:14 ## Believe expiration dates in moderated groups, up to six weeks *:M:1:30:42 ## Keep local stuff for a long time foo.*:A:30:30:30 |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
expire(1m)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/state/history keeps a record of all articles currently stored in the news system, as well as those that have been received but since expired. In a typical production environment, this file will be many megabytes.
The file consists of text lines. Each line corresponds to one article. The file is normally kept sorted in the order in which articles are received, although this is not a requirement. The news feeder daemon appends a new line each time it files an article, and expire(1m) builds a new version of the file by removing old articles and purging old entries.
Each line consists of two or three fields separated by a tab:
<Message-ID> \t date <Message-ID> \t date \t files |
The Message-ID field is the value of the article's Message-ID header, including the angle brackets.
The date field consists of three subfields separated by a tilde. All subfields are the text representation of the number of seconds since the epoch -- that is, a time_t; see gettimeofday(2) The first subfield is the article's arrival date. If copies of the article are still present then the second subfield is either the value of the article's Expires header, or a hyphen if no expiration date was specified. If an article has been expired then the second subfield will be a hyphen. The third subfield is the value of the article's Date header, recording when the article was posted.
The files field is a set of entries separated by one or more spaces. Each entry consists of the name of the newsgroup, a slash, and the article number. This field is empty if the article has been expired.
For example, an article cross-posted to comp.sources.unix and comp.sources.d that was posted on February 10, 1991 (and received three minutes later), with an expiration date of May 5, 1991, could have a history line (broken into two lines for display) like the following:
<312@litchi.foo.com> \t 666162000~673329600~666162180 \t comp.sources.unix/1104 comp.sources.d/7056 |
In addition to the text file, there is a dbz(3z) database associated with the file that uses the Message-ID field as a key to determine the offset in the text file where the associated line begins. For historical reasons, the key includes the trailing \0 byte (which is not stored in the text file).
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
dbz(3z), expire(1m), news-recovery(1m), snsnews(1m)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/config/hosts.nntp is read by the news feeder daemon to get the list of hosts that feed the local site Usenet news using the NNTP protocol. The server reads this file at start-up or when directed to by ctlinnd(1m).
When a host connects to the NNTP port of a system on which the news feeder daemon is running, the feeder daemon will do a check to see if the connecting host is named in this file. If the host is found, the daemon will allow it to provide its news feed.
When a host connects to the NNTP port of a system that is configured as a reader/feeder news server, the local server daemon will check to see if the host is listed in hosts.nntp as a feed provider. If so, the reader daemon will hand the feed over to the feeder daemon. If the host is not listed, the connection will be handled by the reader daemon.
Comments begin with a number sign (``#'') and continue through the end of the line. Blank lines and comments are also ignored. All other lines should consist of two or three fields separated by a colon.
The first field should be either an Internet address in dotted-quad format or a full domain name of a system. If a host's entry has multiple addresses, all of them will be added to the access list. The second field, which may be blank, is the password the foreign host is required to use when first connecting. The third field, which may be omitted, is a list of newsgroups to which the host may send articles. This list is parsed as a newsfeeds(4) subscription list; groups not in the list are ignored.
For example:
## FOO has a password, UUNET and VIX do not. ## UUNET cannot post to local groups. ## These are comment lines. news.foo.com:magic uunet.uu.net::!foo.* data.ramona.vix.com: |
The first field may be suffixed by ``/s'' to indicate that streaming commands are specifically permitted to be used by this host. By default streaming commands are available to all hosts. If any entry in hosts.nntp has a ``/s'' suffix, then only those hosts with the ``/s'' suffix will be permitted to use streaming commands.
For example, with the following hosts.nntp file, only the host data.ramona.vix.com is allowed to use the streaming commands.
## As above, but news.foo.com:magic uunet.uu.net::!foo.* data.ramona.vix.com/s: |
Since the news feeder daemon is usually started at system boot time, the local nameserver may not be fully operational when the feeder daemon parses this file. As a work-around, a ctlinnd ``reload'' command can be performed after a delay of an hour or so. It is also possible to provide both a host's name and its dotted-quad address in the file.
If the file contains passwords, it should not be world-readable. The file /var/news/config/hosts.nntp.nolimit, if it exists is read whenever the ``hosts.nntp'' file is read. It has the same format, although only the first field is used. This can be used to allow local hosts or time-sensitive peers to connect regardless of the local conditions.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
ctlinnd(1m), snsd(1m,) snsnews(1m)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO
The file /var/news/config/inn.conf is used to determine various parameters. Blank lines and lines starting with a number sign (``#'') are ignored. All other lines specify parameters that may be read, and should be of the following form:
name : [optional white space] value |
Everything after the white space and up to the end of the line is taken as the value; multi-word values should not be put in quotes. The case of names is significant -- server is not the same as Server or SERVER.
Some parameters specified in the file may be overridden by environment variables, and some file parameters may be used to mask real data, such as when hiding a cluster of hosts behind a single electronic mail hostname. The current set of parameters is as follows:
The name of the host to use when building the From header line. The default is the fully-qualified domain name of the local host. The value of the FROMHOST environment variable, if it exists, overrides this.
The name of the default machine that contains forwarding aliases for all moderated groups. It is only used if the moderators(4) file doesn't exist, or if the group is not matched by that file. The value is interpreted as a pattern match; see moderators(4).
Specifies what to put in the Organization header if it is blank. The value of the ORGANIZATION environment variable, if it exists, overrides this.
Specifies how to name the local site when building the Path header line. The default is the fully-qualified domain name of the local host.
Specifies the name of the NNTP server to which an article should be posted. The value of the NNTPSERVER environment variable, if it exists, overrides this.
The domain name of the local host. It should not have a leading period, and it should not be a full host address, and is used only if the fully qualified domain name cannot be obtained. The check is very simple; if either routine returns a name with a period in it, then it is assumed to have the full domain name.
Three parameters are used only by snsd when accepting postings from clients:
If this parameter is present, then snsd will add the necessary MIME (Multipurpose Internet Mail Extensions) headers to all articles that do not have a Mime-Version header. This parameter specifies the MIME version, and should normally be ``1.0''.
If MIME headers are being added, this parameter specifies the value of the Content-Type header. The default value is ``text/plain; charset=US-ASCII.''
If MIME headers are being added, this parameter specifies the value of the Content-Transfer-Encoding header. The default value is ``7bit.''
Note that this file can be identical on all machines in an organization.
fromhost: foo.com moderatormailer: %s@uunet.uu.net organization: Foo, Incorporated #pathhost -- use FQDN. server: news.foo.com domain: foo.com |
This file is intended to be fairly static; any changes made are typically not reflected until a program restarts.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
moderators(4).
NAME | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | EXAMPLES | BUGS | ATTRIBUTES | SEE ALSO
The file /var/news/config/innwatch.ctl is used to determine what actions are taken during the periodic supervisions by innwatch.
The file consists of a series of lines; blank lines and lines beginning with a number sign (``#'') are ignored. All other lines consist of seven fields, each preceded by a delimiting character:
:label:state:condition:test:limit:command:reason
The delimiter can be any one of several non-alphanumeric characters that does not appear elsewhere in the line; there is no way to quote it to include it in any of the fields. Any of ``!'', ``,'', ``:'', ``@'', ``;'', or ``?'' is a good choice. Each line can have a different delimiter; the first character on each line is the delimiter for that line. Whitespace surrounding delimiters, except before the first, is ignored, and does not form part of the fields, whitespace within fields is permitted. All delimiters must be present.
The first field is a label for the control line. It is used as an internal state indicator and in ctlinnd messages to control the server. If omitted, the line number is used.
The second field specifies when this control line should be used. It consists of a list of labels, and special indicators, separated by whitespace. If the current state matches against any of the labels in this field, this line will be used as described below. Values that can be used are:
This line matches if the current state is the same as the label on this line, or if the current state is ``run,'' the initial state. This is also the default state if this field is empty.
This line matches if the current state is ``run.''
This line always matches.
This line matches if the current state is the specified ``label.''
This line matches if the current state is not the specified ``label.''
The third field specifies a shell command that is invoked if this line matches. Do not use any shell filename expansion characters such as ``*'', ``?'', or ``['' (even quoted, they're not likely to work as intended). If the command succeeds, as indicated by its exit status, it is expected to have printed a single integer to standard output. This gives the value of this control line, to be used below. If the command fails, the line is ignored. The command is executed with its current directory set to the news spool directory, /var/news/storage/articles.
The fourth field specifies the operator to use to test the value returned above. It should be one of the two letter numeric test operators defined in test(1) such as ``eq'', ``lt'' and the like. The leading dash (`'-'') should not be included.
The fifth field specifies a constant with which to compare the value using the operator just defined. This is done by invoking the command
test value -operator constant
The line is said to ``succeed'' if it returns true.
The sixth field specifies what should be done if the line succeeds, and in some cases if it fails. Any of the following words may be used:
Causes innwatch to throttle the server if this line succeeds. It also sets the state to the value of the line's label. If the line fails, and the state was previously equal to the label on this line (that is, this line had previously succeeded), then a go command will be sent to the server, and innwatch will return to the ``run'' state. The ``throttle'' is only performed if the current state is ``run'' or a state other than the label of this line, regardless of whether the command succeeds.
Is identical to ``throttle'' except that the server is paused.
Sends a ``shutdown'' command to the server. For emergency use only.
Sends a ``flush'' command to the server.
Causes innwatch to send a ``go'' command to the server and to set the state to ``run.''
Causes innwatch to exit.
The result of the control file is skipped for the current pass.
The last field specifies the reason that is used in those ctlinnd commands that require one. More strictly, it is part of the reason innwatch appends some information to it. In order to enable other sites to recognize the state of the local innd server, this field should usually be set to one of several standard values. Use ``No space'' if the server is rejecting articles because of a lack of file system resources. Use ``loadav'' if the server is rejecting articles because of a lack of CPU resources.
Once innwatch has taken some action as a consequence of its control line, it skips the rest of the control file for this pass. If the action was to restart the server, (that is, issue a ``go'' command), then the next pass will commence almost immediately, so that innwatch can discover any other condition that may mean that the server should be suspended again.
@@@df .|awk 'NR==2 {print $4}'@lt@10000@throttle@No space @@@df -i .|awk 'NR==2 {print $4}'@lt@1000@throttle@No space (inodes)
The first line causes the server to be throttled if the free space drops below 10000 units (using whatever units df uses), and restarted again when free space increases above the threshold.
The second line does the same for inodes.
The next three lines act as a group and should appear in the following order. It is easier to explain them, however, if they are described from the last up.
!load!load hiload!loadavg!lt!5!go! :hiload:+ load:loadavg:gt:8:throttle:loadav /load/+/loadavg/ge/6/pause/loadav |
The final line causes the server to be paused if innwatch is in the ``run'' state and the load average rises to, or above, six. The state is set to ``load'' when this happens. The previous line causes the server to be throttled when innwatch is in the ``run'' or ``load'' state, and the load average rises above eight. The state is set to ``hiload'' when this happens. Note that innwatch can switch the server from ``paused'' to ``throttled'' if the load average rises from below six to between six and seven, and then to above eight. The first line causes the server to be sent a ``go'' command if innwatch is in the ``load'' or ``hiload'' state, and the load average drops below five.
Note that all three lines assume a mythical command loadavg that is assumed to print the current load average as an integer. In more practical circumstances, a pipe of uptime into awk is more likely to be useful.
This file must be tailored for each individual site, the sample supplied is truly no more than a sample. The file should be ordered so that the more common problems are tested first.
The ``run'' state is not actually identified by the label with that three-letter name, and using it will not work as expected.
Using an ``unusual'' character for the delimiter such as ``('', ``*'', ``&'', ```'', ``á'', and the like, is likely to lead to obscure and hard to locate bugs.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
ctlinnd(1m), news.daily(1m), snsnews(1m)
NAME | DESCRIPTION | EXAMPLES | BUGS | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/config/moderators is used to determine how to reach the moderator of a newsgroup. This is used when an unapproved local posting is made to a moderated newsgroup.
The file is read until a match is found. Blank lines and lines starting with a number sign (``#'') are ignored. All other lines should consist of two fields separated by a colon.
The first field is a wild card-style pattern. If it matches the name of the newsgroup, then the second field is taken to be a format string for sprintf(3) This string should have at most one %s parameter, which will be given the name of the newsgroup with periods transliterated to dashes.
Here is a sample file:
foo.important:announce-request@foo.com foo.*:%s@mailer.foo.com gnu.*:%s@prep.ai.mit.edu *:%s@uunet.uu.net |
Using the above file, postings to the moderated newsgroup in the left column will be sent to the address shown in the right column:
foo.important announce-request@foo.com foo.x.announce foo-x-announce@mailer.foo.com gnu.emacs.sources gnu-emacs-sources@prep.ai.mit.edu comp.sources.unix comp-sources-unix@uunet.uu.net |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
sprintf(3), inn.conf(4)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | SYNOPSIS | DESCRIPTION | EXTENDED DESCRIPTION | EXAMPLES | ATTRIBUTES
/etc/opt/SUNWixsna/admin/state/newsadmconfig
The newsadmconfig file stores configuration settings for the SunTM Internet News ServerTM administration server.
You should not edit this file directly. The settings in this file can be edited using Sun Internet News Server administration through the Sun Internet Administrator console.
Each line in the file is in the form
keyword: value
Lines beginning with a hash mark (#) are ignored.
The following keywords are used to store the Sun Internet News Server administration configuration:
administrator
Defines the e-mail address of the news server administrator. Messages generated by the news server processes on this machine will be sent to the named address.
IsSlave
Defines whether this server is a slave or a peer of the server named
in slaveOf
if the local server is configured as a news feeder or reader/feeder server. Valid values are 0 if this server
is a peer, and 1 if this server is a slave.
slaveOf
Defines the fully-qualified domain name of the host that feeds this
news feeder or reader/feeder server. The host named here may be a master (if IsSlave
is set to 1) or a peer.
StorageLoc
Defines the directory where articles will be stored. The default value is /var/news/storage.
StateLoc
Defines the directory where state information (such as the history and active files) is stored. The default value is /var/news/state.
LogsLoc
Defines the directory where news server logs are stored. The default value is /var/news/logs.
ReaderRhost
Defines the remote server from which this news server gets its news feed, if the local server is a news reader server.
RstorageMount
Defines the location where the remote feed server (ReaderRhost
) storage directory will be mounted locally. The default value is /var/news/storage.
RstateMount
Defines the location where the remote feed server (ReaderRhost
) state directory will be mounted locally. The default value is /var/news/state.
RconfigMount
Defines the location where the remote feed server (ReaderRhost
) configuration directory will be mounted locally. The default value is /var/news/config.
FeedConnections
Defines whether this server will accept connections to feed news, if it is configured as a news feeder server. Valid values are O to deny connections or 1 to accept connections.
## newsadmconfig ## administrator: newsadmin@myISP.net IsSlave: 0 slaveOf: news1.myISP.net StorageLoc: /var/news/storage StateLoc: /var/news/state LogsLoc: /var/news/logs ReaderRhost: RstorageMount: RstateMount: RconfigMount: FeedConnections:
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWixsna |
Interface Stability | Evolving |
NAME | SYNOPSIS | DESCRIPTION | EXTENDED DESCRIPTION | EXAMPLES | ATTRIBUTES
NAME | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO
The file /var/news/config/newsfeeds specifies how incoming articles should be distributed to other sites. It is parsed by the news feeder daemon when it starts up, or when directed to by ctlinnd(1m).
The file is interpreted as a set of lines according to the following rules. If a line ends with a backslash, then the backslash, the newline, and any white space at the start of the next line is deleted. This is repeated until the entire ``logical'' line is collected. If the logical line is blank, or starts with a number sign (``#''), it is ignored.
All other lines are interpreted as feed entries. An entry should consist of four colon-separated fields; two of the fields may have optional subfields, marked off by a slash. Fields or subfields that take multiple parameters should be separated by a comma. Extra white space can cause problems. Except for the site names, case is significant. The format of an entry is:
sitename[/exclude,exclude,...]\ :pattern,pattern...[/distrib,distrib...]\ :flag,flag...\ :param |
Each field is described below.
The sitename is the name of the site to which a news article can be sent. It is used for writing log entries and for determining if an article should be forwarded to a site. If sitename already appears in the article's Path header, then the article will not be sent to the site. The name is usually whatever the remote site uses to identify itself in the Path line, but can be almost any word that makes sense; special local entries (such as archivers or gateways) should probably end with an exclamation point to make sure that they do not have the same name as any real site. For example, ``gateway'' is an obvious name for the local entry that forwards articles out to a mailing list. If a site with the name ``gateway'' posts an article, when the local site receives the article it will see the name in the Path and not send the article to its own ``gateway'' entry. See also the description of the ``Ap'' flag, below. If an entry has an exclusion subfield, then the article will not be sent to that site if any of the names specified as excludes appear in the Path header. The same sitename can be used more than once. The appropriate action will be taken for each entry that should receive the article, regardless of the name, although this is recommended only for program feeds to avoid confusion. Case is not significant in site names.
The patterns specify which groups to send to the site and are interpreted to build a ``subscription list'' for the site. The default subscription is to get all groups. The patterns in the field are wild card-style patterns, and are matched in order against the list of newsgroups that the local site receives. If the first character of a pattern is an exclamation mark, then any groups matching the pattern are removed from the subscription, otherwise any matching groups are added. For example, to receive all ``comp'' groups, but only comp.sources.unix within the sources newsgroups, the following set of patterns can be used:
comp.*,!comp.sources.*,comp.sources.unix |
Three things to note about this example are: The trailing ``.*'' is required. Second, the result of the last match is the most important. Third, ``comp.sources.*'' could be written as ``comp.sources*'' but this would not have the same effect if there were a ``comp.sources-only'' group.
There is also a way to subscribe to a newsgroup negatively. That is to say, do not send this group even if the article is cross-posted to a subscribed newsgroup. If the first character of a pattern is an atsign ``@'', it means that any article posted to a group matching the pattern will not be sent even though the article may be cross-posted to a group which is subscribed. The same rules of precedence apply in that the last match is the one which counts. For example, if you want to prevent all articles posted to any "alt.binaries.warez" group from being propagated even if it is cross-posted to another "alt" group or any other group for that matter, then the following set of patterns can be used:
alt.*,@alt.binaries.warez.*,misc.* |
If you reverse the alt.* and alt.binaries.warez.* patterns, it would nullify the atsign because the result of the last match is the one that counts. Using the above example, if an article is posted to one or more of the alt.binaries.warez.* groups and is cross-posted to misc.test, then the article is not sent.
A subscription can be further modified by specifying ``distributions'' that the site should or should not receive. The default is to send all articles to all sites that subscribe to any of the groups where it has been posted , but if an article has a Distribution header and any distribs are specified, then they are checked according to the following rules:
If the Distribution header matches any of the values in the subfield, then the article is sent.
If a distrib starts with an exclamation point, and it matches the Distribution header, then the article is not sent.
If the Distribution header does not match any distrib in the site's entry, and no negations were used, then the article is not sent.
If the Distribution header does not match any distrib in the site's entry, and any distrib started with an exclamation point, then the article is sent.
If an article has more than one distribution specified, then each one is according to the above rules. If any of the specified distributions indicates that the article should be sent, it is; if none do, it is not sent -- the rules are used as a ``logical or.'' It is a mistake to have a single feed that specifies distributions that start with an exclamation point along with some that don't.
Distributions are text words, not patterns; entries like ``*'' or ``all'' have no special meaning.
The flags parameter specifies miscellaneous parameters. They may be specified in any order; flags that take values should have the value immediately after the flag letter with no white space. The valid flags are:
An article will only be sent to the site if it is less than size bytes long. The default is no limit.
An article will only be sent to the site if it is greater than size bytes long. The default is no limit.
An article will only be sent to the site if it meets the requirements specified in the checks, which should be chosen from the following set:
d Distribution header required p Do not check Path header for the sitename before propagating (the exclusions are still checked). |
If a site is being fed by a file, channel, or exploder (see below), the server will normally start trying to write the information as soon as possible. Providing a buffer may give better system performance and help smooth out overall load if a large batch of news comes in. The value of this flag should be two numbers separated by a slash. The first specifies the point at which the server can start draining the feed's I/O buffer, and the second specifies when to stop writing and begin buffering again. The units are bytes. The default is to do no buffering, sending output as soon as it is possible to do so.
This flag specifies the name of the file that should be used if it is necessary to begin spooling for the site (see below). If name is not an absolute pathname, it is taken to be relative to /var/news/storage/out.going. Then, if the destination is a directory, the file togo in that directory will be used as filename.
If this flag is specified, an article will only be sent to the site if it is posted to no more than count newsgroups.
If this flag is specified, an article will only be sent to the site if it has count or fewer sites in its Path line. This flag should only be used as a rough guide because of the loose interpretation of the Path header; some sites put the poster's name in the header, and some sites that might logically be considered to be one hop become two because they put the posting workstation's name in the header. The default value for count is one.
The flag specifies the size of the internal buffer for a file feed. If there are more file feeds then allowed by the system, they will be buffered internally in least-recently-used order. If the internal buffer grows bigger then size bytes, however, the data will be written out to the appropriate file. The default value is (16 * 1024) bytes.
The newsgroups that a site receives are modified according to the modifiers, which should be chosen from the following set:
m Only moderated groups u Only unmoderated groups |
If the amount of data queued for the site gets to be larger than size bytes, then the server will switch to spooling, appending to a file specified by the ``F'' flag, or /var/news/storage/out.going/ sitename if the ``F'' flag is not specified. Spooling usually happens only for channel or exploder feeds.
This flag specifies the type of feed for the site. Type should be a letter chosen from the following set:
c Channel f File l Log entry only m Funnel (multiple entries feed into one) p Program x Exploder |
If a site is fed by file, channel, or exploder, this flag controls what information is written. If a site is fed by a program, only the asterisk (``*'') has any effect. The items should be chosen from the following set:
b Size of the article in bytes f Article's full pathname g Newsgroup the article is in; if cross-posted, then the first of the groups this site gets m Article's Message-ID n Article's pathname relative to the spool directory p Time the article was posted as seconds since epoch. s Site that fed the article to the server; from the Path header s IP address of the site that sent the article t Time article was received as seconds since epoch * Names of the appropriate funnel entries; or all sites that get the article D Value of the Distribution header; ? if none present H All headers N Value of the Newsgroups header O Overview data R Information needed for replication |
The interpretation of the param field depends on the type of feed, and is explained in more detail below in the section on feed types. It can be omitted.
The site named ME is special. There should only be one such entry, and it should be the first entry in the file. If the ME entry has a subscription list, then that list is automatically prepended to the subscription list of all other entries. For example, ``*,!control,!junk,!foo.*'' can be used to set up the initial subscription list for all feeds so that local postings are not propagated unless ``foo.* explicitly appears in the site's subscription list. Note that most subscriptions should have ``!junk,!control'' in their pattern list. Unlike other news software, it does not affect what groups are received; that is done by the active(4)
If the ME entry has a distribution subfield, then only articles that match the distribution list are accepted; all other articles are rejected. A commercial news server, for example, might have ``/!local'' to reject local postings from other, misconfigured, sites.
The news feeder daemon provides four basic types of feeds: log, file, program, and channel. An exploder is a special type of channel. In addition, several entries can feed into the same feed; these are funnel feeds that refer to an entry that is one of the other types. Note that the term ``feed'' is technically a misnomer, since the server does not transfer articles, but reports that an article should be sent to the site.
The simplest feed is one that is fed by a log entry. Other than a mention in the news logfile, no data is ever written out. This is equivalent to a ``Tf'' entry writing to /dev/null except that no file is opened.
A site fed by a file is the simplest type of feed. When the site should receive an article, one line is written to the file named by the param field. If param is not an absolute pathname, it is taken to be relative to /var/news/storage/out.going. If empty, the filename defaults to /var/news/storage/out.going/ sitename. This name should be unique.
When a site fed by a file is flushed (see ctlinnd(1m)), the following steps are performed. The script doing the flush should have first renamed the file. The server tries to write out any buffered data, and then closes the file. The renamed file is now available for use. The server will then reopen the original file, which will now get created.
A site fed by a program has a process spawned for every article that the site receives. The param field must be a sprintf(3) format string that may have a single %s parameter, which will be given a pathname for the article, relative to the news spool directory. The full path name may be obtained by prefixing the %s in the param field by the news spool directory prefix. Standard input will be set to the article or /dev/null if the article cannot be opened for some reason. Standard output and error will be set to the error log. The process will run with the user and group ID of the /var/news/logs directory. The news feeder daemon will try to avoid spawning a shell if the command has no shell meta-characters; this feature can be defeated by appending a semicolon to the end of the command. The full pathname of the program to be run must be specified; for security, PATH is not searched.
If the entry is the target of a funnel, and if the ``W*'' flag is used, then a single asterisk may be used in the param field where it will be replaced by the names of the sites that fed into the funnel. If the entry is not a funnel, or if the ``W*'' flag is not used, then the asterisk has no special meaning.
Flushing a site fed by a program does not perform any action.
When a site is fed by a channel or exploder, the param field names the process to start. Again, the full pathname of the process must be given. When the site is to receive an article, the process receives a line on its standard input telling it about the article. Standard output and error, the user ID, and group ID of the all subprocess are set as for a program feed, above. If the process exits, it will be restarted. If the process cannot be started, the server will spool input to a file named /var/news/storage/out.going/ sitename. It will then try to start the process some time later.
When a site fed by a channel or exploder is flushed, the server closes down its end of the pipe. Any pending data that has not been written will be spooled; see the description of the ``S'' flag, above. No signal is sent; it is up to the program to notice EOF on its standard input and exit. The server then starts a new process.
Exploders are a superset of channel feeds. In addition to channel behavior, exploders can be sent command lines. These lines start with an exclamation point, and their interpretation is up to the exploder. The following messages are generated automatically by the server:
newgroup group rmgroup group flush flush site |
These messages are sent when the ctlinnd(1m) command of the same name is received by the server. In addition, the ``send'' command can be used to send an arbitrary command line to the exploder child-process. The primary exploder is buffchan(1m).
Funnel feeds provide a way of merging several site entries into a single output stream. For a site feeding into a funnel, the param field names the actual entry that does the feeding.
For more details on setting up different types of news feeds, see the INN installation manual.
## Initial subscription list and our distributions. ME:*,!junk,!foo.*/world,usa,na,ne,foo,ddn,gnu,inet:: ## Feed all moderated source postings to an archiver source-archive!:!*,*sources*,!*wanted*,!*.d\\ :Tc,Wn:/opt/SUNWsns/bin/archive -f -i \\ /usr/spool/news.archive/INDEX ## Watch for big postings watcher!:*\\ :Tc,Wbnm\\ :exec awk '$1 > 1000000 { print "BIG", $2, $3 }' >/dev/console ## A UUCP feed, where we try to keep the "batching" between 4 and 1K. ihnp4:/world,usa,na,ddn,gnu\\ :Tf,Wnb,B4096/1024: ## Usenet as mail; note ! in funnel name to avoid Path conflicts. ## Can't use ! in "fred" since it would like look a UUCP address. fred:!*,comp.sources.unix,comp.sources.bugs\\ :Tm:mailer! |
The last two sets of entries show how funnel feeds can be used. For example, the nntpfanout program would receive lines like the following on its standard input:
<123@litchi.foo.com> comp/sources/unix/888 nic.near.net uunet.uu.net <124@litchi.foo.com> ne/general/1003 nic.near.net |
<qwe#37x@snark.uu.net> comp/society/folklore/3 <123@litchi.foo.com> comp/sources/unix/888 |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
sprintf(3), active(4), buffchan(1m), ctlinnd(1m)
NAME | DESCRIPTION | EXAMPLES | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
Most log files created by Sun(TM) Internet News Server(TM) programs reside in the /var/news/logs directory and have a ``.log'' extension. Several versions are usually kept with an additional extension such as ``.1'', ``.2'', etc. -- the higher the number, the older the log. The older versions are compressed.
The scanlogs script and related utilities (see newslog(1m) are responsible for rotating and compressing these files.
Some log files always have data, others only have data if there is a problem, and others are only created if a particular program is used or configuration parameter is set. The innstat script (see newslog(1m) monitors the size of all log files.
The following files will only accumulate data under the direction of control.ctl(4):
control.log miscctl.log newgroup.log rmgroup.log unwanted.log
In order to create these files, the ``message'' and ``action'' fields of control.ctl should be chosen from the following table:
Message Action Meaning all log=miscctl Log all messages by default. default log=miscctl Log unknown messages. newgroup doit=newgroup Create group and log message. newgroup log=newgroup Log message. rmgroup doit=rmgroup Remove group and log message. rmgroup log=rmgroup Log message. ``other'' doit=miscctl log and process the message. ``other'' log=miscctl Log message. |
Here, ``other'' refers to any other control message such as:
checkgroups ihave sendme sendsys senduuname version
The following is a list of log files.
This file maintains a count of the number of newgroup and rmgroup control messages seen for each newsgroup. The count is of the number of control messages with identical arguments, regardless of whether or not they were actually processed. All control arguments, including invalid ones, are counted. This file is updated by tally.control, which is invoked by scanlogs if either the newgroup or rmgroup logs exist. This file is not rotated.
This file contains the standard output and standard error of any program spawned by the news feeder daemon. The most common programs are the control-message handlers found in /usr/news/bin/control. This file should be empty. scanlogs(1m) will print the entire contents of this log file if it is non-empty.
By default, when news.daily(1m) is going to expire old news articles, it writes the date to this file, followed by any output from expire(1m) and the ending date. All lines but the first are indented four spaces.
When control.ctl(4) is configured as described above, all control messages except newgroup and rmgroup are appended to this file by writelog(1m). A summary line is generated describing the message and the action taken, followed by the article indented by four spaces, and a blank line.
When control.ctl(4) is configured as described above, all newgroup messages are appended to this file using the same format as for miscctl.log.
logs articles received by the feeder daemon. scanlogs(1m) summarizes the rejected articles reported in this file.
All critical error messages issued by the feeder daemon are appended to this file. This log file should be empty. scanlogs(1m) will print the entire contents of this log file if it is non-empty. You should have the following line in your syslog.conf(4) file:
news.crit /var/news/logs/news.crit
All major error messages issued by the feeder daemon are appended to this file via syslog(3). This log file should be empty. scanlogs(1m) will print the entire contents of this log file if it is non-empty. You should have the following line in your syslog.conf(4) file:
news.err /var/news/logs/news.err
All standard error messages and status messages issued by the feeder daemon are appended to this file via syslog(3). scanlogs(1m) uses the awk(1) script innlog.awk to summarize this file. You should have the following line in your syslog.conf file:
news.notice /var/news/logs/news.notice
The nntpsend(1m) program appends all status messages to this file.
When control.ctl(4) is configured as described above, all rmgroup messages are appended to this file using the same format as for miscctl.log.
maintains a count of the number of articles that were rejected because they were posted to newsgroups that do not exist at the local site. This file is updated by tally.unwanted(1m) and maintained in reverse numeric order (the most popular rejected group first). This file is not rotated.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
control.ctl(4), ctlinnd(1m), expire(1m), news.daily(1m), nntpsend(1m), newslog(1m), snsnews(1m)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/rconfig/nnrp.access specifies the access control for those NNTP sites that are not handled by the the news feeder daemon. The snsd(1m) server reads it when first spawned by the feeder daemon. .
Comments begin with a number sign (``#'') and continue through the end of the line. Blank lines and comments are ignored. All other lines should consist of five fields separated by colons.
If you are using standard UNIX authentication:
hosts:perms:username:password:patterns |
You may use the plus symbol (+) in the username field to mean "any valid UNIX user." In this case, the password field is ignored, and the password supplied by the user is matched instead against a system lookup of the password for the supplied user name.
If you are using LDAP authentication, the password field is ignored, and the username field must contain /pam/:
hosts:perms:/pam/:password:patterns |
The first field is a wild card-style pattern specifying the names or Internet address of a set of hosts. Before a match is checked, the client's hostname (or its Internet address) is converted to lowercase. Each line is matched in turn, and the last successful match is taken as the correct one.
The second field is a set of letters specifying the permissions granted to the client. The perms should be chosen from the following set:
R The client can retrieve articles P The client can post articles |
The third and fourth fields specify the username and password that the client must use to authenticate itself before the server will accept any articles.
If you are using UNIX authentication, note that no authentication (other then a matching entry in this file) is required for newsreading. If they are empty, then no password is required. Whitespace in these fields will result in the client being unable to properly authenticate itself, and may be used to disable access. If you are using LDAP authentication, the password field is ignored.
The fifth field is a set of patterns identifying the newsgroups that the client is allowed to access. The patterns are interpreted in the same manner as the newsfeeds(4) file. The default, however, denies access to all groups.
The access file is normally used to provide host-level access control for reading and posting articles. There are times, however, when this is not sufficient and user-level access control is needed. Whenever an NNTP ``authinfo'' command is used, the snsd(1m) server re-reads this file and looks for a matching username and password. If the local newsreaders are modified to send the ``authinfo'' command, then all host entries can have no access and specific users can be granted the appropriate read and post access.
For example:
## host:perm:user:pass:groups ## Default is no access. *:: -no- : -no- :!* ## FOO hosts have no password, can read anything. *.foo.com:Read Post:::* ## A related workstation can't access FOO newsgroups. lenox.foo.net:RP:martha:hiatt:*,!foo.* ## LDAP authentication is to be used for public access public.foo.net:RP:/pam/:: |
If the file contains passwords, it should not be world-readable.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
newsfeeds(4), isppammod(1m), snsd(1m), snsnews(1m)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/config/nntpsend.ctl specifies the default list of sites to be fed by nntpsend(1m).
Comments begin with a number sign (``#'') and continue through the end of the line. Blank lines and comments are ignored. All other lines should consist of four fields separated by a colon.
The first field is the name of the site as specified in the newsfeeds(4) file.
The second field should be the hostname or IP address of the remote site.
The third field, if non-empty, specifies the default tail truncation size of site's batch file. If this field is empty, no truncation is performed. If this field is of the form ``maxsize-truncsize'' then it is passed as ``-m maxsize -s truncsize'', otherwise if it is of the form ``truncsize'' then it is passed as ``-s truncsize''.
The fourth field specifies some default flags passed to innxmit(1m) The flag ``-a'' is always given to innxmit and need not appear here. If no ``-t timeout'' flag is given in this field and on the nntpsend(1m) command line, ``-t 180'' will be given to innxmit.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
innxmit(1m), newsfeeds(4), nntpsend(1m), trunc(1).
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | ATTRIBUTES
The file /var/news/config/overview.fmt specifies the organization of the news overview database. Blank lines and lines beginning with a number sign (``#'') are ignored. The order of lines in this file is important; it determines the order in which the fields will appear in the database.
Most lines will consist of an article header name, optionally followed by a colon. A trailing set of lines can have the word ``full'' appear after the colon; this indicates that the header should appear as well as its value.
If this file is changed, it is usually necessary to rebuild the existing overview database using expireover(1m) after removing all existing overview files.
The default file, shown below, is compatible with Geoff Collyer's ``nov'' package:
Subject: From: Date: Message-ID: References: Bytes: Lines: ## Some newsreaders get better performance if Xref is present #Xref:full |
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
NAME | DESCRIPTION | ATTRIBUTES
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
The file /var/news/config/passwd.nntp contains host-name-password triplets for use when authenticating client programs to NNTP servers. This file is normally interpreted by the NNTPsendpassword routine. Blank lines and lines beginning with a number sign (``#'') are ignored. All other lines should consist of three or four fields separated by colons:
host:name:password host:name:password:style |
The first field is the name of a host, and is matched in a case-insensitive manner. The second field is a user name, and the third is a password. The optional fourth field specifies the type of authentication to use. The default is ``authinfo'' which means that NNTP ``authinfo'' commands are used to authenticate to the remote host. If either the username or password are empty, then the related command will not be sent. (The ``authinfo'' command is a common extension to RFC 977.)
For example:
## UUNET needs a password, MIT doesn't. mit.edu:bbn::authinfo uunet.uu.net:bbn:yoyoma:authinfo |
This file should not be world-readable.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
snsnews(1m)
NAME | DESCRIPTION | ATTRIBUTES | SEE ALSO
NAME | DESCRIPTION | Options | EXAMPLES | ATTRIBUTES | SEE ALSO
/var/news/rconfig/sns.conf enables you to specify the maximum number threads per NNTP handling process, and the maximum number of NNTP processes for the platform on which the server is running.
The maximum number of threads per NNTP handling process. value must be a number greater than 0 or the keyword "system". If you specify keyword system, the server automatically optimizes the number of threads per process for the platform on which it is running.
The maximum number of NNTP handling processes. value must be a number greater than 0 or the keyword "system". If you specify keyword system, the server automatically optimizes the number of NNTP handling processes for the platform on which it is running.
## After making any changes to this file, send a SIGHUP to the ## main snsd process for it to recognize the changes. ## kill -HUP `cat /var/news/rstate/snsd.pid` ## ## Allow the server to optimize threads per process and ## processes per platform. ## numthreads: system numprocs: system
## After making any changes to this file, send a SIGHUP to the ## main snsd process for it to recognize the changes. ## kill -HUP `cat /var/news/rstate/snsd.pid` ## ## Allow no greater than 20 threads per process and ## 50 processes per platform. ## numthreads: 20 numprocs: 50
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Availability | SUNWsns |
Interface Stability | Unstable |
snsd(1)
NAME | DESCRIPTION | Options | EXAMPLES | ATTRIBUTES | SEE ALSO
This section provides the procedures for the SunTM Internet News ServerTM command line tasks:.
Solaris ISP Services installation has been completed
NEWS has been registered with the Sun Internet Admistrator (see the online help for the Sun Internet Administrator Register Services Screen)
Sun Internet News Server is installed, and has been configured using the News Administration GUI.
The directories /opt/SUNWsns/sbin and /opt/SUNWsns/bin are in your root $PATH.
The following procedures explain Sun Internet News Server maintenance tasks.
The snsnews(1m) command is used to start and stop the News reader and feeder daemons, for example:
# /etc/init.d/snsnews start # /etc/init.d/snsnews stop |
Newsgroup article expiration is controlled by the configuration file /var/news/config/expire.ctl (see expire.ctl(4) for an extensive description). The file expire.ctl contains two types of entries; one for history retention, and one for newgroup article retention.
The format for newsgroup article retention is:
newsgroup:newsgroup-type:mindays:maxdays:purgerafter
For example, the entries
*:A:5:10:15 alt.binaries.pictures.animals.*:U:2:3:5
Set the default expiration parameters for all newsgroups to be "keep articles for a minimum of five days, expire articles after ten days, and purge articles after fifteen days."
Set the expiration parameters on alt.binaries.pictures.animals.*
, an unmoderated group, to be "keep articles for a minimum of two days, expire articles after three days, and purge articles after five days."
You should expire and purge articles more frequently in groups that are likely to use a lot of storage space, such as groups where binaries are posted.
After you make changes to /var/news/config/expire.ctl, you must stop then start the news server using snsnews.
Blocking news groups from being fed to downstream servers is controlled by the configuration file /var/news/config/newsfeeds (see newsfeeds(4) for an extensive description).
The format for newsgroup blocking is:
server-name:sendgroup,!blockgroup1,!blockgroup2...::
For example, the entries
ME:*,!control,!junk,!local.*:: news.otherplace.com:*,!alt.binaries.*,!local.*::
Send all news groups except control
, junk
, and any group beginning local.
to all servers by default.
Send all groups except groups begining with alt.binaries.
or local.
to the server named news.otherplace.com
.
After you make changes to /var/news/config/newsfeeds, you must stop then start the news server using snsnews.