changesys - Automated newsgroup subscription service
changesys is a news subscription manager that allows you to easily add and remove newsgroups sent to your system from your news source. Interaction with changesys is done completely through electronic mail.
Requests are sent to the host’s changesys mailbox (e.g. firstname.lastname@example.org). Sites are assigned special passwords to verify requests to changesys. (NOTE: Only ProLine systems with mdss accounts on a news host are eligible to use the changesys service. Downstream ProLine sites should request newsgroups from their upstream ProLine neighbors.)
The message’s subject field contains the name of the function to be executed (these functions are listed later). The body of the message contains lines identifying your system by name and password. The body can also include additional information if needed by the function specified in the subject field.
Here is the format of a changesys message:
system: my_site passwd: my_password (additional information follows)
Any additional information required by the command begins after the “passwd:” line.
The changesys functions are used to modify the news host’s sys file: a file, like ProLine’s newsys, that includes information about how newsgroups are distributed to neighboring connections. Unlike newsys, a UNIX hosts’s sys file includes entries based on sites rather than newsgroups. Each entry in the sys file is specific to a particular site and lists all the newsgroups or newsgroup hierarchies that the site receives.
changesys recognizes the following functions:
Sends a list of changesys functions to you via mail.
Returns your current sys file entry via mail. This gives you the current listing of groups your site subscribes to.
Returns your current sys file entry plus a list of the all newsgroups you receive based on your site’s entry.
Requests the current list of available newsgroups, sent to you via mail. This can be quite lengthy.
Adds groups to your site’s sys file entry, instructing the host to begin sending those groups to you. This command requires additional information in the body of the message (see below).
Deletes groups from your site’s sys file entry, instructing the host to cease distribution of those groups into your system. This command requires additional information in the body of the message (see below).
Effectively deletes your sys file entry, saving it for later retrieval with the “restoresys” command. Use this when you wish the host to temporarily cease all distribution of news to your system. While your sys entry is suspended, no news is stored for your site.
Restores your previously suspended sys file entry.
Deletes your sys file entry completely, thus permanently halting news distribution to your site.
Some changesys functions require lists of newsgroup names. The subscription list format used on UNIX news systems follows the general syntax:
It is a comma-separated list, containing no spaces. A newsgroup pattern is a newsgroup name, or an initial portion of a newsgroup name specifying all newsgroups beginning with that pattern. A pattern may have ‘!’ as the first character, which causes newsgroups matching that pattern to be excluded.
soc,rec,news.software.b # all newsgroups in the "soc" and
# "rec" hierarchies, and the group
rec.pets,!rec.pets.cats,fl # all newsgroups in the "rec.pets" # hierarchy except "rec.pets.cats". # All groups in the "fl" hierarchy.
The “addgroups” and “delgroups” functions require additional information in the body of the message immediately following the “passwd:” line. The line begins with the function name, a colon, and a newsgroup subscription list as defined above.
Here’s an example using “addgroups”:
system: my_site passwd: my_password addgroups: ca.test,comp.sys.unix,sdnet
This adds two groups and one whole distribution (“sdnet”). To receive an entire branch of the news tree you need only to give the group’s base name (e.g. “sdnet”). In the above example, everything in and under “sdnet” would be sent to your system. If you wanted to receive all of “sdnet”, but not “sdnet.test”, the “addgroups” line would be:
To cease reception of sdnet and its subgroups, your message would use the subject “delgroups”, and the line following your password would be:
It is important to understand that changesys simply adds and deletes the items you specify — it’s like text editing via remote control. It isn’t smart enough to know that if you removed only “sdnet” that you meant “sdnet.test”, too. You have to include all group items you wish to remove.
You can add and delete groups in the same message by including both an “addgroups:” and a “delgroups:” line (the subject of the message can be either “addgroups” or “delgroups”). Example:
system: my_site passwd: my_password delgroups: alt.barney.dinosaur.die.die.die,\ alt.fan.alfred-e-neuman addgroups: alt.bbs,!alt.bbs.internet,\ rec.arts.comics
Long group lists can be continued on multiple lines by ending them with a backslash character, as shown above.
Use caution when changing your sys file entry. An erroneous entry may result in a dramatic increase in the news your site receives. Or it may result in your receiving no news at all. Using a “getall” command after adding or deleting groups is always a good idea.
The function names, including the “system:” and “passwd:” lines, must be spelled correctly. At least one space is needed between the colon and the parameter.
The version of changesys described here is currently unique to CTSNET. Other versions do not have “addgroups”, “delgroups” or any error checking for existence of groups.