ZCTL(1)

NAME
zctl - zephyr control program

SYNOPSIS
zctl [ options ]

DESCRIPTION
Zctl is a general purpose control program for the Zephyr(1) Notification Service. It allows the user to subscribe to specific notice types, to save the subscriptions in a file (default $HOME/.zephyr.subs), to change his location information, and to send control messages to the HostManager, zhm(8), and the WindowGram client, zwgc(1).

The commands may be typed on the command line, or may be entered interactively by just typing zctl and then typing commands to the prompt.
NOTE: For all commands accepting an optional recipient argument, the recipient defaults to your Kerberos principal. You may also subscribe to recipient ``*''. If you specify a recipient, it is silently converted to ``*''.
The commands are as follows:

add class instance [ recipient ]
    Subscribe to class, instance, recipient, and add this triplet to the subscriptions file.

add_unsubscription class instance [ recipient ]
    Unsubscribe to class, instance, recipient, and add this triplet to the subscriptions file as an un-subscription. For an explanation of un-subscriptions, see below.

cancel
    Cancel all subscriptions.

defaults
    Retrieve the default subscription list from the Zephyr server.

delete class instance [ recipient ]
    Unsubscribe to class, instance, recipient, and remove this triplet from the subscriptions file.

delete_unsubscription class instance [ recipient ]
    Unsubscribe to class, instance, recipient, and remove this triplet from the subscriptions file as an un-subscription.

file [ file ]
    Set default subscriptions file to file. If file isn't specified, show what the current subscriptions file is.

flush_locs [ user ]
    Tell the Zephyr servers to flush all location information associated with user, or with the user running the command if none is given. This should only be used to remove any incorrect data that may have been left after a system crash. Note that only Operations staff may flush location information associated with another user.

flush_subs [ recipient ]
    Tell the Zephyr servers to flush all of recipient's subscriptions, This differs from the cancel command in that it affects subscriptions for all of recipient's clients. Note that only Operations staff may flush the subscriptions of another user.

hide
    Hide your location as maintained by the Zephyr server. This does not affect the value of the exposure variable (see below, under set).

hm_flush
    Tell the HostManager, zhm(8), to ask the server to flush all state associated with the current host.

list [ file ]
    List contents of current subscriptions file or file. Any macros in the file (see below) are displayed verbatim and not expanded.

list_requests
    List all available commands. May be abbreviated by '?'.

load [ file ]
    Subscribe to all subscription triplets and unsubscribe to all un-subscription triplets in current subscriptions file or file.

new_server
    Tell the HostManager, zhm(8), to find a new Zephyr server.

quit
    Exit from zctl.

retrieve
    Retrieve all current subscriptions from the Zephyr server. These include subscriptions that might have been made by other programs, such as znol(1).

save [ file ]
    Save all current subscriptions (as returned by the Zephyr server) into current subscriptions file or file. The file will be replaced.

set var [ value ]
    Set the value of Zephyr variable var to value, or null if no value is specified. The variable exposure has special significance, and can only be set to the values none, opstaff, realm-visible, realm-announced, net-visible, and net-announced. Setting this variable immediately updates the information in the Zephyr servers (see below for an explanation of the exposure levels). In addition, setting this variable to none automatically performs the equivalent of a wg_shutdown command, and setting it to one of the other values automatically performs the equivalent of a wg_startup command.
    The variable resolved_addresses determines whether zwgc will, for an IP address indicating the origin of a message, attempt to look up the hostname corresponding to that IP address. The value none indicates that hostnames will never be found, and that the zwgc fromhost variable will thus always contain an IP address (in dotted-decimal form). The value all indicates that there will always be an attempt to look up a hostname. Note that in this case, if you have any subscriptions with recipient ``*'', these subscriptions may be revealed to other Zephyr users who operate their own DNS name servers. Any other value is interpreted as a regular expression; hostname lookup attempts will occur only if the IP address matches this regular expression.
    Any variable settings you make will be stored in $HOME/.zephyr.vars

show var [ var  ... ]
    Show the value of the specified Zephyr variables. If a variable is not defined in the user's own variables file, the system variables file (/etc/zephyr/zephyr.vars) is searched for a default value.

subscribe class instance [ recipient ]
    Subscribe to class, instance, recipient, but don't add this triplet to the subscriptions file.

unhide
    Make your location as maintained by the Zephyr server visible. This does not affect the value of the exposure variable.

unload [ file ]
    Unsubscribe to all subscription triplets in current subscriptions file or file. Un-subscriptions in the file are ignored.

unset var [ var  ... ]
    Delete the definitions of the specified Zephyr variables.

unsubscribe class instance [ recipient ]
    Unsubscribe to class, instance, recipient, but don't remove this triplet from the subscriptions file.

wg_exit
    Tell the WindowGram client, zwgc(1), to exit.

wg_read
    Tell the WindowGram client, zwgc(1), to reread its description file.

wg_shutdown
    Tell the WindowGram client to shutdown; this causes it to ignore all notices until a wg_startup command is issued.

wg_startup
    Tell the WindowGram client to start accepting notices again; useful after a wg_shutdown command has been issued.

MACROS and SUBSCRIPTION FILES
There are three macros, %host%, %canon%, and %me%. %host% is converted to the current hostname, %canon% is converted to the official hostname as returned by gethostbyname(3), and %me% is converted to your Kerberos principal. These macros can be used in your $HOME/.zephyr.subs file or as arguments to commands to specify the class or instance fields. A sample $HOME/.zephyr.subs file might contain the following:

	message,urgent,%me%
	syslog,%host%,*
	mail,pop,%me%

Zctl reads the environment variable WGFILE, to find the name of the file where the windowgram port resides. If WGFILE is not set, the file name defaults to /tmp/wg.uid, where uid is the user's UNIX uid.

UN-SUBSCRIPTIONS
The zephyr server, zephyrd(8), maintains default subscriptions which are automatically added to all users' subscriptions at the time of their first subscription during a login session. If you wish to automatically remove some of these default subscriptions, you use un-subscriptions. When you load a subscription file containing un-subscriptions, the un-subscriptions are automatically sent to the server as if you had used the unsubscribe command.

EXPOSURE LEVELS
The different exposure levels affect the operation of zephyr and its interaction with the user, as follows:

none
    This completely disables Zephyr for the user. The user is not registered with Zephyr. No user location information is retained by Zephyr. No login or logout announcements will be sent. No subscriptions will be entered for the user, and no notices will be displayed by zwgc(1).

opstaff
    The user is registered with Zephyr. No login or logout announcements will be sent, and location information will only be visible to Operations staff. Default subscriptions and any additional personal subscriptions will be entered for the user.

realm-visible
    The user is registered with Zephyr. User location information is retained by Zephyr and made available only to users within the user's Kerberos realm. No login or logout announcements will be sent. This is the system default. Default subscriptions and any additional personal subscriptions will be entered for the user.

realm-announced
    The user is registered with Zephyr. User location information is retained by Zephyr and made available only to users authenticated within the user's Kerberos realm. Login and logout announcements will be sent, but only to users within the user's Kerberos realm who have explicitly requested such via subscriptions. Default subscriptions and any additional personal subscriptions will be entered for the user.

net-visible
    The user is registered with Zephyr. User location information is retained by Zephyr and made available to any authenticated user who requests such. Login and logout announcements will be sent only to users within the user's Kerberos realm who have explicitly requested such via subscriptions. Default subscriptions and any additional personal subscriptions will be entered for the user.

net-announced
    The user is registered with Zephyr. User location information is retained by Zephyr and made available to any authenticated user who requests such. Login and logout announcements will be sent to any user has requested such. Default subscriptions and any additional personal subscriptions will be entered for the user.

EXAMPLES

zctl
    Runs zctl in interactive mode.

zctl load
    Load subscriptions and un-subscriptions from $HOME/.zephyr.subs file.

zctl sub message personal
    Subscribe to personal messages, but don't add this to the subscriptions file.

zctl save
    Save all current subscriptions to the default subscriptions file.

zctl set exposure none
    Set your exposure level to `none', effectively turning off Zephyr.

SEE ALSO
zephyr(1), zwgc(1), zhm(8), zephyrd(8) gethostbyname(3)
Project Athena Technical Plan Section E.4.1, `Zephyr Notification Service'

FILES
/tmp/wg.*
$HOME/.zephyr.subs
$ZEPHYR_VARS or $HOME/.zephyr.vars
/etc/zephyr/zephyr.vars

AUTHOR

Robert S. French (MIT-Project Athena)

RESTRICTIONS
Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. All Rights Reserved.
zephyr(1) specifies the terms and conditions for redistribution.