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.

5.5.24 News_Mgr_ID

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

5.5.33 News_Node

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.

5.5.38 News_Root

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