NAME
zwrite - write to another user via Zephyr
SYNOPSIS
zwrite [ -a ] [ -d ] [ -v ] [ -q ] [ -t ] [ -u ] [ -o ] [ -n ] [ -l ] [
-C ] [ -O opcode ] [ -s signature ] [ -c class ] [ -i instance ] [ -r
realm ] [ -f arg ] [ user ... ] [ -m message ]
DESCRIPTION
Zwrite sends a message from you to another user through the zephyr(1)
notification service. The user must have subscribed to messages of the
appropriate class and instance using the zctl(1) program.
Zwrite understands the following options.
-a Causes zwrite to send the message authenticated, using
Kerberos to perform the authentication. This is the
default.
-d Causes zwrite to send the message unauthenticated.
-v Causes zwrite to print what type of message it is sending,
and whether or not it was successful.
-q Forces zwrite to suppress information about whether or not
the message was sent.
-t Prevents zwrite from expanding tabs in the message into
appropriate spaces. Normally zwrite will expand any tabs
it finds into the appropriate number of spaces to maintain
separation based on 8-character tab stops.
-l Causes zwrite to ignore ‘.’ on a line by itself in the
input and only end a typed message when the user types the
end-of-file character (usually control-D). When the input
is not a terminal, this is the default action.
-u Sends an urgent message. This changes the zephyr instance
of the message to ‘‘URGENT’’.
-o Causes zwrite to ignore the Zephyr variables zwrite-class,
zwrite-inst, and zwrite-opcode when picking a default
class, instance, and opcode.
-n prevents zwrite from sending a PING message to verify the
recipient is subscribing to messages. By default, zwrite
will send a notice to the destination class, instance, and
recipient, with opcode ‘‘PING’’ before sending the message.
If the PING is sent, and the server response indicates
there are no recipients subscribed to your message, zwrite
exits without sending a message. When the -m option is
used, no PING is sent.
-C prepends a "CC:" line to the body of the message indicating
the recipients of the message. This is strictly a
convenience: the presence of a "CC:" line at the top of a
zephyr body does not necessarily indicate that this option
was used, or that the message really was sent to the listed
users, and its lack doesn’t indicate that the message was
not sent to multiple users.
-s signature
sets the signature to be included in the message. This
overrides both the user’s name (as found in the password
file) and any setting of the Zephyr variable zwrite-
signature. signature must be a single argument, hence when
using a shell it should be quoted with double quotes. A
signature argument of "" leaves the signature in the
message empty.
-c class Allows a user to specify a different class for the message.
This allows a message to be sent to a large group of people
with some degree of security. See zephyr(1) and zephyrd(8)
for a description of how to restrict access to classes.
When this option is specified, the message is sent to
recipient "*" unless an additional list of recipients is
specified.
This argument may not be used in conjunction with the -f
option.
-i instance Allows a user to specify a different instance than the
default. When this option is used, the message is sent to
recipient "*" unless an additional list of recipients is
specified. This allows a message to be sent to a large
group of people (e.g. a development group) just by having
the members subscribe to messages of class "MESSAGE", the
specified instance, and recipient "*".
This argument may not be used in conjunction with the -f
option.
-r realm Allows a user to specify a different realm for the message,
if the server supports interrealm Zephyr.
-F format Allows a user to specify a different default format for the
message.
-O opcode Allows a user to specify a different opcode for the
message. Some Zephyr notice display programs may use the
opcode to decide how to display a notice.
-f arg Allows a user to specify an argument to be interpreted as a
filesystem specification. The class is set to FILSRV. he
instance is set to arg as modified: If arg contains no
colons (‘:’), it is assumed to be a host name, and it is
converted into an official host name via gethostbyname(3).
If arg contains a colon, the portion preceding the colon is
treated as a host name, and the colon and any trailing
characters are appended to the offical host name returned
by gethostbyname. If the name fails to resolve into an
official host name, the instance is set to arg unmodified.
This option may not be used in conjunction with the -c or
-i option.
-m Zwrite sends the remaining arguments on the command line as
the message.
If the -m option is not specified, the user is prompted for the message
to be sent. The message may be terminated by typing ^D or ‘‘.’’ on a
line by itself.
The default class for messages is ‘‘MESSAGE’’, the default instance is
‘‘PERSONAL’’, andthe default opcode is ‘‘’’ (an empty string). These
defaults can be overridden by setting the Zephyr variables zwrite-
class, zwrite-inst, and zwrite-opcode, respectively. Command-line
options can override the defaults.
If the class is ‘‘MESSAGE’’ and the instance is either ‘‘PERSONAL’’ or
‘‘URGENT’’, a recipient must be specified. These comparisons are case-
sensitive.
Unless the -s option is used, the contents of the Zephyr variable
zwrite-signature are used to augment the user’s username in the
message. If zwrite-signature is not set and the -s option is not
specified, the user’s full name (as specified in the password file) is
used instead.
BUGS
Tab expansion should really be done by the receiver of the message.
The -u option is provided for compatibility with old versions of zwrite
and is not necessarily useful for sending messages to users who do not
have old subscription files.
SEE ALSO
kerberosintro(1), zctl(1), zephyr(1), zwgc(1), zhm(8), zephyrd(8),
gethostbyname(3)
Project Athena Technical Plan Section E.4.1, ‘Zephyr Notification
Service’
FILES
/etc/passwd
$ZEPHYR_VARS or $HOME/.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.