5 Setting Up News as a Local Reader/Server
5.5 Setting up the News logical name environment
In order to provide site-specific information to News, the following logical
names need to be defined. You will probably want to put these definitions into
a DCL procedure to be executed manually now, and as part of system startup in
the future. Several of these logical names are considered 'secure' by News,
that is, News will use only translations obtained in accordance with the rules
specified in NewsSite.H for secure logical name translation. (As distributed,
News requires that these logical names be defined in the system logical name
table in executive mode.) The section describing a particular logical name
indicates whether News considers it 'secure'.
5.5.1 News_Address
The translation of this logical name is used as the name of the local host when
constructing mail addresses, and when checking whether the current user is
allowed access to or moderator privileges for a newsgroup. The rules for
translating secure logical names are followed when attempting to translate
News_Address. If this is not successful, the translation obtained for
News_Node as specified above is used.
5.5.2 News_Cache (optional)
If this logical name is defined, News and the NNTP server will attempt to use
message ID caching. If you choose to use message ID caching, you must first set
up the cache file as described above. This logical name must be defined in
executive mode in the system logical name table. If you wish to change this,
you must edit the file Cache.C directly; the rules for secure logical names set
in NewsSite.H are not respected here. (This is because the cache routines are
linked into some support programs which do not contain the News logical name
translation code.)
5.5.3 News_Device
This logical name must translate to a rooted directory specification, under
which News will create directories in which it stores the actual text of items
in the local database. It should point to an area with adequate space (a full
Usenet/alt.*/vmsnet.* feed can take up ~2 Gbytes), where performance will not
be adversely affected by frequent I/O and by the fragmentation which results
from creation and deletion of many small, short-lived files as items are added
and expired. Many sites choose to dedicate an entire disk to news items, or to
use a virtual disk in a large container file in order to preserve the rest of
the disk from fragmentation. In addition, you may need to extend IndexF.Sys on
this disk to allow for the large number of small item files which will exist at
any given time. You will probably need about 25000 file headers per day for a
full feed including alt groups. This number will increase as the volume of news
increases. It has been customary for News_Device to be the rooted form of the
directory to which News_Root points, but this often adversely affects
performance, since all News I/O is then concentrated on one disk, and the
large index files often become fragmented amongst the item text files. For best
performance, then, you should place News_Root on one spindle and News_Device
on another. You must create the root directory manually; News will create and
delete subdirectories as necessary. When attempting to translate this logical
name, the rules for translation of secure logical names are used.
5.5.4 News_GMT_Offset
This logical name specifies the offset of your local time from GMT (UTC), as a
string with the format hh:mm:ss, and its translation is used in converting
between GMT in headers and local time. The string may begin with '+' or '-',
indicating whether the offset should be added to or subtracted from UTC to
obtain the local time; if the sign is absent, '+' is assumed. This logical name
is normally defined in the system logical name table, although translation is
via the normal lookup process, so definitions in the process, job, or group
logical name table are used in preference to the system-wide value.
5.5.5 News_GroupFile_BufferCount (optional)
If this logical name is defined, its translation should be a decimal number,
which is used as the number of buffers RMS should use when the newsgroup index
file is opened by News.Exe or the NNTP server (rab$b_mbf), up to a maximum of
127. This logical name is used principally to obtain better efficiency during
Add File and Skim processing, and, since it operates on a per-process basis,
can be defined in the process logical name table of processes performing these
tasks.
5.5.6 News_GroupFile_DFW (optional)
If this logical name is defined, News.Exe and the NNTP server turn on the
deferred write option when opening the newsgroup index file (fab$m_dfw bit in
fab$l_fop). By default, RMS uses a very conservative buffering strategy,
writing any changed buffer to disk immediately. Deferred write changes that
behavior and defers the writing of a buffer until that buffer is needed for
other blocks. However, if the process should terminate after the buffer has
been changed, but before it is written to disk, the changes are lost, possibly
leaving the disk file in an inconsistent state. Therefore, you should use this
option ONLY if you are prepared to rebuild your newsgroup index file. If you
don't know what this means, don't do it. The performance gains are not worth
the pain of learning how to rebuild these files. This logical name is used
principally to obtain better efficiency during Add File and Skim processing,
and, since it operates on a per-process basis, can be defined in the process
logical name table of processes performing these tasks.
5.5.7 News_GroupFile_FastDelete (optional)
If this logical name is defined, the RMS fast delete option is turned on when
News.Exe or the NNTP server opens the newsgroup index file. This capability is
provided for testing future revisions of newsgroup index file processing. Its
use is discouraged at present, as it has not been tested on the current version
of News. This logical name is used principally to obtain better efficiency
during Add File and Skim processing, and, since it operates on a per-process
basis, can be defined in the process logical name table of processes performing
these tasks.
5.5.8 News_GroupFile_Global_BufferCount (optional)
If this logical name is defined, its translation should be a decimal number,
which is used as the number of global buffers RMS should use when the newsgroup
index file is opened by News.Exe or the NNTP server (fab$w_gbc). If the file
has a global buffer count alrady associated with it (e.g. via Set File), News
uses the greater of this value and the value specified by
News_GroupFile_Global_BufferCount. This logical name is used principally to
obtain better efficiency during Add File and Skim processing. However, when a
file is shared by multiple processes, the global buffer count used for a file
is determined by the first stream to connect to the file, so this logical name
should be defined in a way that is available to all processes which might be
running News.Exe or the NNTP server when you wish to turn this optimization
on.
5.5.9 News_GroupFile_RTV (optional)
If this logical name is defined, when News.Exe or the NNTP server opens the
newsgroup index file, all retrieval pointers are mapped to the window buffer
(fab$b_rtv = 255). This technique, sometimes called using 'cathedral windows',
eliminating the 'window turns' which may occur if the file is fragmented. This
logical name is used principally to obtain better efficiency during Add File
and Skim processing, and, since it operates on a per-process basis, can be
defined in the process logical name table of processes performing these tasks.
5.5.10 News_HelpLib (optional)
If this logical name is defined, it must translate to the file specification of
the help library for News commands. When looking for its help library, News
first tries to open the library specified by News_HelpLib. If this fails, it
then looks for a library named News.Hlb, first in News_Root, then in
Sys$Help, and finally in the same directory as News.Exe. This logical name is
normally defined in the system logical name table, although translation is via
the normal lookup process, so definitions in the process, job, or group logical
name table are used in preference to the system-wide value.
5.5.11 News_HistoryFile_BufferCount (optional)
This logical name is similar to News_GroupFile_BufferCount (q.v.), except
that its translation is used when the history file is opened.
5.5.12 News_HistoryFile_DFW (optional)
This logical name is similar to News_GroupFile_DFW (q.v.), except that its
translation is used when the history file is opened. Before using this
logical name, see the cautionary notes under the description of
News_GroupFile_DFW.
5.5.13 News_HistoryFile_FastDelete (optional)
This logical name is similar to News_GroupFile_FastDelete (q.v.), except that
its translation is used when the history file is opened.
5.5.14 News_HistoryFile_RTV (optional)
This logical name is similar to News_GroupFile_RTV (q.v.), except that its
translation is used when the history file is opened.
5.5.15 News_ItemFile_BufferCount (optional)
This logical name is similar to News_GroupFile_BufferCount (q.v.), except that
its translation is used when the item index file is opened.
5.5.16 News_ItemFile_DFW (optional)
This logical name is similar to News_GroupFile_DFW (q.v.), except that its
translation is used when the item index file is opened. Before using this
logical name, see the cautionary notes under the description of
News_GroupFile_DFW.
5.5.17 News_ItemFile_FastDelete (optional)
This logical name is similar to News_GroupFile_FastDelete (q.v.), except that
its translation is used when the item index file is opened.
5.5.18 News_ItemFile_Global_BufferCount (optional)
This logical name is similar to News_GroupFile_Global_BufferCount (q.v.),
except that its translation is used when the item index file is opened.
5.5.19 News_ItemFile_RTV (optional)
This logical name is similar to News_GroupFile_RTV (q.v.), except that its
translation is used when the item index file is opened.
5.5.20 News_Locked_Command
When you run NewsShutdown.Exe, if it successfully obtains an exclusive lock on
the News resource, it spawns a subprocess and passes the translation of this
logical name to the subprocess to be executed as a DCL command. Translation of
this logical name is via the normal lookup process, and it usually defined in
the process table just before executing NewsShutDown.Exe.
5.5.21 News_Locked_Wait_Minutes
After NewsShutDown.Exe enqueues the request for an exclusive lock on the News
database, it will wait for the number of minutes specified by the translation
of this logical name before giving up and exiting with the status SS$_CANCEL,
without executing News_Locked_Command. If this logical name is not defined,
then NewsShutDown.Exe will wait one minute before giving up. Translation of
this logical name is via the normal lookup process, and it usually defined in
the process table just before executing NewsShutDown.Exe.
5.5.22 News_Manager
This logical name should translate to the name of the directory in which most
News configuration and support files (and, by convention, News.Exe) reside.
It is customary, though not absolutely necessary, to make this directory the
login directory for the NewsMgr account. When attempting to translate this
logical name, the rules for translation of secure logical names are used.
5.5.23 News_Manager_Dev
This logical name should translate to a rooted directory specification, under
which the spool directories for outgoing news feeds are customarily created (as
specified in the spool-file field of entries in the News.Sys file). Unless
you follow this convention in your News.Sys entries, this logical is not used
by any image distributed with News, except the multithreaded NNTP server which
runs under UCX TCP. Sites often use the directory specified by News_Manager as
the root of this tree, but this is not strictly necessary. You must create the
root directory and any subdirectories manually; News will not automatically
create directories in response to News.Sys entries. This logical name is
normally defined in the system logical name table, although translation is via
the normal lookup process, so definitions in the process, job, or group logical
name table are used in preference to the system-wide value.
This logical name should translate to the name of the rights identifier granted
to News managers to allow them management privileges. When attempting to
translate this logical name, the rules for translation of secure logical names
are used.
5.5.25 News_NetPost (optional)
If this logical name is defined, its translation is used as the name of a
rights identifier which must be held by a user in order for them to post to any
network newsgroup (i.e. any neswsgroup not marked as local by using the /Local
qualifier with the Create Newsgroup or Set Newsgroup command). Note that a user
holding this identifier will be permitted to post, regardless of whether that
user also holds the identifier specified by News_NoNetPost. Conversely, a user
who does not hold this identifier will not be permitted to post, even if that
user does not hold the identifier specified by News_NoNetPost. When attempting
to translate this logical name, the rules for translation of secure logical
names are used.
5.5.26 News_NNTP_Log (optional)
If this logical name is defined, its translation is used to specify a file to
which a summary of each NNTP server session will be written. This summary
contains the remote site's name, the newsgroups accessed, and the total number
of items read, posted, accepted, and rejected in each newsgroup. When
attempting to translate this logical name, the rules for translation of secure
logical names are used.
5.5.27 News_NNTP_Protocol (optional)
This logical name should be defined only under the circumstances mentioned
below for News_NNTP_Server. It should translate to the name of the transport
protocol you specified when compiling News. The syntax for transport names is
identical to that used with the /NetProtocol qualifier to the News command.
When choosing the transport protocol to use for a given session, News uses the
following order of precedence:
-
protocol supplied as a value to the /NetProtocol qualifier on the command
line
-
protocol stored in the NewsRC file from a previous session
-
protocol obtained by translating the logical name News_NNTP_Protocol
This logical name is normally defined in the system logical name table,
although translation is via the normal lookup process, so definitions in the
process, job, or group logical name table are used in preference to the
system-wide value.
5.5.28 News_NNTP_Server (optional)
This logical name should be defined only if you plan to run News with a local
database in some sessions, and as an NNTP client *in separate sessions*. (This
is distinct from the mechanism for creating served newsgroups in a local
database, which is described elsewhere in this manual.) It should translate to
the name of the NNTP server you plan to use as your default server. If you're
using DECnet as the transport protocol, then this should be the DECnet
nodename, or the node number in the format area*1024+node
(area*1024 is optional if the server is in the same area as your system).
If you're using TCP, then this should be the host name of the server, or its IP
address in dotted decomal form. When choosing the server to which to connect
for a given session, News uses the following order of precedence:
-
server name supplied as a value to the /NetServer qualifier on the command
line
-
server name stored in the NewsRC file from a previous session
-
server name obtained by translating the logical name News_NNTP_Server
This logical name is normally defined in the system logical name table,
although translation is via the normal lookup process, so definitions in the
process, job, or group logical name table are used in preference to the
system-wide value.
5.5.29 News_NNTP_Server_Always_Spool (optional)
By default, the NNTP server adds items received from remote clients via POST
transactions directly to the local database, rather than spooling them in
incoming batch files, unless the item contains a Control: header. If this
logical name is defined, all items received via POST transactions are spooled
to batch files, and local processing is deferred until the batch file is read
using the Add File command. This logical name is used only by the NNTP server,
so it can be defined in any way in which it is available to the process running
the NNTP server.
5.5.30 News_NNTP_Server_Batch_Flush_Disable (optional)
By default, when the NNTP server flushes data added to incoming batch files to
disk, it uses the fflush() and fsync() C RTL routines. If this logical name is
defined, and its translation is an odd decimal number, or a string whose first
character is one of TtYy, then the batch file is closed instead of being
flushed, and is reopened when the next item arrives. If it translates to any
other value, it has no effect. This logical name is used only by the NNTP
server, so it can be defined in any way in which it is available to the process
running the NNTP server.
5.5.31 News_NNTP_Server_Batch_Size (optional)
If this logical name is defined, its translation should be a decimal number
specifying the maximum size (in bytes) of incoming news batch files. The
minimum, maximum, and default values for this size are specified by the
compile-time constants NEWS_BATCH_SIZE_LOWLIM, NEWS_BATCH_SIZE_HIGHLIM,
and NEWS_BATCH_SIZE, respectively, in NewsSite.H. This logical name is used
only by the NNTP server, so it can be defined in any way in which it is
available to the process running the NNTP server. It affects the process of
item transfer only; posting of items by remote clients uses
NEWS_BATCH_SIZE_LOWLIM at all times.
5.5.32 News_NNTP_Server_Leave_Spool_Open (optional)
By default, the NNTP server leaves incoming batch files open until the maximum
size is reached, or until 2 minutes have elapsed since the last item was
received. If this logical name is defined, and its translation is an even
decimal number, or a string whose first chracter is not one of TtYy, then the
batch file is closed after each item is received. If its translation is an odd
decimal number, or a string whose first character is one of TtYy, then the
default behavior is unchanged. This logical name is used only by the NNTP
server, so it can be defined in any way in which it is available to the process
running the NNTP server.
This logical name specifies the Usenet name for the local node, and is used to
identify it in Usenet headers (e.g. Relay-Version:, X-News:). In addition, it
serves as a default value for the name of the local host in Path: headers if
News_Pathname is not defined, and in mail addresses if News_Address is not
defined. If this logical name is undefined, another logical name may be used,
depending on the NNTP transport you specified when building News:
-
NNTP transport:
-
Logical Names (in order checked):
-
Multinet
-
Multinet_SMTP_Host_Name
-
-
Multinet_Host_Name
-
TCPware
-
TCPware_SMTP_From_Domain
-
-
TCPware_DomainName
-
UCX
-
UCX$Inet_Host
-
Wollongong
-
ARPANet_Host_Name
-
All
-
Internet_Host_Name
-
-
Sys$Cluster_Node
-
-
Sys$Node
Attempts to obtain a translation for this logical name and any of its fallbacks
follow the rules for secure logical names. Finally, if no logical name is
found, News prints an error message and exits.
5.5.34 News_NoNetPost (optional)
If this logical name is defined, its translation is used as the name of a
rights identifier which, when held by a user, indicates that the user is not
allowed to post items to network newsgroups. When attempting to translate this
logical name, the rules for translation of secure logical names are used.
5.5.35 News_Organisation (or News_Organization) (optional)
If this logical name is defined, its translation is used in constructing the
Organization: header of outgoing items. This logical name is normally defined
in the system logical name table, although translation is via the normal lookup
process, so definitions in the process, job, or group logical name table are
used in preference to the system-wide value.
5.5.36 News_Pathname (optional)
If this logical name is defined, its translation is used as the name for this
site in Path: headers, and when looking for the local site's entry in
News.Sys, instead of the translation of News_Node. When attempting to
translate this logical name, the rules for translation of secure logical names
are used.
5.5.37 News_Post_CC (optional)
News_Post_CC is an alternative method for specifying a file to perform the
function of News_Manager:News_Post.CC (see description of this file above).
It should translate to the file specification of a file in the format specified
in the description of News_Post.CC. The file to which News_Post_CC points
is used in addition to News_Manager:News_Post.CC, but supersedes the user's
private file Sys$Login:News_Post.CC, if it exists. Note also that
News_Post_CC is translated using the normal sequence of logical name tables
and access modes, so a process-private definition will supersede a system-wide
one.
This logical name must translate to the directory in which the index files
News uses to keep track of items in the local database will reside. These are
large RMS indexed files which are frequently accessed, so it is a good idea to
put them on a disk with adequate space and I/O bandwidth. You must create this
directory manually. When attempting to translate this logical name, the rules
for translation of secure logical names are used.
5.5.39 News_remhost_Task (optional)
When attempting to establish a DECnet connection to node remhost, News
will try to translate the logical name News_remhost_Task (e.g. when
connecting to node VIRGIL, News will try to translate News_VIRGIL_Task),
and, if successful, will use this translation as the name of the DECnet task to
which to connect. This logical name is normally defined in the system logical
name table, although translation is via the normal lookup process, so
definitions in the process, job, or group logical name table are used in
preference to the system-wide value.
5.5.40 News_Stop (optional)
If this logical name is defined in the system logical name table in executive
mode, then each currently active News and NNTP server session will exit when
it
finishes executing the current command (or after 30 minutes in any case),
releasing any locks they may have held in the News index files. (Exception:
Multithreaded NNTP servers will not respond to this logical name while
hibernating between connections, so the server process may have to be stopped
explicitly by the process which requires exclusive access to the News
database.) This is an older method of obtaining exclusive access to the News
database, and NewsShutDown.Exe is the preferred method of accomplishing this in
the current release of News. For more information and an example of performing
a task requiring exclusive access to the News database, see the section in
this manual on optimizing News index files.
5.5.41 News_Timezone
This logical name specifies the time zone notation to be added to Date: headers
of outgoing items. It should translate to a standard time zone abbreviation
(e.g. EST, PDT) acceptable according to RFC822. If this logical name is
undefined, depending on the NNTP transport you specified when you built News,
the translation of the following logical name is used:
-
NNTP Transport:
-
Logical Names:
-
All
-
PMDF_Timezone
-
Multinet
-
Multinet_Timezone
-
TCPware
-
TCPware_Timezone
-
Wollongong
-
WIN$Time_Zone
These logical names are searched in the order given, and the search stops at
the first match. If no appropriate logical name is defined, "GMT" is used as
the time zone. This logical name is normally defined in the system logical name
table, although translation is via the normal lookup process, so definitions in
the process, job, or group logical name table are used in preference to the
system-wide value.
5.5.42 News_Usage_Anonymous (optional)
If this logical name is defined, then all entries written to the usage log (see
News_Usage_Log logical name below) do not contain the username. Instead, the
value of the Account field of the SysUAF record for that username is used. When
attempting to translate this logical name, the rules for translation of secure
logical names are used.
5.5.43 News_Usage_Log (optional)
If this logical name is defined, its translation specifies a file to which a
summary of each News session will be written. (News.Exe must have write
access to the file, of course.) The summary contains the username (if
News_Usage_Anonymous (q.v.) is not defined), the newsgroups accessed, and
the number of items read and posted in each newsgroup. When attempting to
translate this logical name, the rules for translation of secure logical names
are used.
5.5.44 NNTP_Disk_Danger and NNTP_Disk (optional)
If NNTP_Disk_Danger is defined, it should translate to the number of free
blocks which must be present on the devices to whose names the logical name
NNTP_Disk translates, in order for the NNTP server to accept incoming items.
(NNTP_Disk may translate to a single device name or a comma-separated list of
device names.) If the available free space on any device listed in NNTP_Disk
falls below this level, items are rejected and remote sites are asked to try
again later. In attempting to translate NNTP_Disk_Danger, the rules for
secure logical names are used. NNTP_Disk is translated according to the usual
order of access modes and logical name tables.
5.5.45 NNTP_More_To_Offer
When NNTP_Xmit reaches the maximum number of message IDs you have allowed it
to offer to a remote system, if there are more message IDs remaining in that
system's spool file, NNTP_Xmit defines this logical name in the system logical
name table in executive mode, with a translation of "YES". You can check for
the presence of this logical name in the DCL procedure which invoked
NNTP_Xmit, if you need to determine whether more items need to be offered to
the remote system. You are responsible for deassigning this logical name once
you have no more use for it.
5.5.46 NNTP_Scratch (optional)
If this logical name is defined, the NNTP server will use its translation as a
scratch area for temporary files created while processing incoming items. The
normal order of access modes and logical name tables is used for translating
this logical name. If it is undefined, Sys$Scratch is used instead.
previous: 5.4 Creating the News manager account and identifier
next: 5.6 Setting up required mail addresses
Table of Contents