137 lines
4.2 KiB
Plaintext
137 lines
4.2 KiB
Plaintext
# Copyright 1989, 1990 Massachusetts Institute of Technology
|
|
#
|
|
# For copying and distribution information, see the file
|
|
# "mit-copyright.h".
|
|
#
|
|
# $Id$
|
|
#
|
|
#
|
|
# Default WindowGram description file
|
|
#
|
|
|
|
# Opcode "ping" is used by sender programs to see if the message would
|
|
# really get sent, or if the recipient has logged out. No useful
|
|
# information is normally contained in these messages, so we discard them.
|
|
if (upcase($opcode) == "PING") then exit endif
|
|
|
|
#
|
|
# AUTHENTICATION information
|
|
#
|
|
# $auth can be either Yes, No, or Forged
|
|
#
|
|
# "Yes" means that the sender field present in the notice was verified by
|
|
# Kerberos authentication
|
|
#
|
|
# "No" means that either the sender did not include any authentication
|
|
# information, or the authentication information was not verified by the
|
|
# Zephyr Server before the notice was sent to you.
|
|
#
|
|
# "Forged" means that the Server claims that the sender of the notice
|
|
# was verified by Kerberos authentication, but your WindowGram client
|
|
# could not verify this. This stage of verification is done by a cryptographic
|
|
# checksum. The most probable cause of the failure of the checksum
|
|
# provided by the Server to match the checksum generated by your
|
|
# WindowGram client is that you changed Kerberos tickets, and the Server
|
|
# was using an old value to compute the cryptographic checksum. You can
|
|
# update the Server's value by typing 'zctl load' to your prompt.
|
|
#
|
|
# By default, notices which appear forged are labeled as 'UNAUTHENTIC'
|
|
# to avoid confusion as to what 'Forged' really means.
|
|
# To change this display, change the last word in the line following
|
|
# 'match "forged" to something other than "UNAUTHENTIC".
|
|
case $auth
|
|
match "yes"
|
|
set aval = "Authentic"
|
|
match "no","forged"
|
|
set aval = "@b(@large(UNAUTHENTIC))"
|
|
endcase
|
|
|
|
case $class
|
|
match "WG_CTL_CLASS"
|
|
exit
|
|
match "message"
|
|
if (downcase($recipient) == downcase($user)) then
|
|
case $instance
|
|
match "PERSONAL"
|
|
set type = "Personal"
|
|
match "URGENT"
|
|
set type = "Urgent"
|
|
default
|
|
set type = $instance
|
|
endcase
|
|
else
|
|
set type = "Instance "+$instance
|
|
endif
|
|
|
|
if ($number_of_fields == "1") then
|
|
fields body
|
|
set signature = ""
|
|
else
|
|
fields signature body
|
|
endif
|
|
if ($signature =~ "^[Ff]rom: .*") then
|
|
set dummy = lany($signature,"From: ")
|
|
endif
|
|
if ($signature =~ "\n$") then
|
|
set dummy = rany($signature,"\n")
|
|
endif
|
|
if ($signature == "") then
|
|
set ftext = "From: @bold("+protect($sender)+")"
|
|
else
|
|
set ftext = "From: @bold(@{"+protect($signature)+"} <"+
|
|
protect($sender)+">)"
|
|
endif
|
|
|
|
print "@center(@bold("+$aval+") "+$type+" message at "+$time+
|
|
" on "+$date+"\n"+$ftext+" on "+$fromhost+"\nTo: "+
|
|
$recipient+")\n\n"
|
|
print $body
|
|
put
|
|
exit
|
|
|
|
match "login"
|
|
case $opcode
|
|
match "USER_LOGIN"
|
|
set log = "logged in"
|
|
match "USER_LOGOUT"
|
|
set log = "logged out"
|
|
default
|
|
set log = "unknown opcode"
|
|
endcase
|
|
|
|
fields host when tty
|
|
print "@center(@bold("+$sender+") "+$log+")\n"
|
|
print "@center(on @bold("+$host+") on "+$tty+")\n"
|
|
print "@center(at "+$when+")"
|
|
put
|
|
exit
|
|
|
|
default
|
|
if (downcase($class) == "filsys" and downcase($opcode) == "shutdown") then
|
|
set format = "From $sender:\n@bold(Shutdown message from $1 at $time)\n"+
|
|
"@center(System going down, message is:)\n\n$2\n\n@center(@bold($3))"
|
|
elseif (downcase($class) == "filsys") then
|
|
set format = "@bold(Filesystem Operation Message for $instance:)\n"+
|
|
"From: @bold($sender) at $time $date\n$message"
|
|
elseif (downcase($class) == "mail" and downcase($instance) == "popret") then
|
|
set format = "You have new mail:\n\nFrom: $1\nTo: $2\nSubject: $3"
|
|
elseif (downcase($class) == "mail") then
|
|
set format = "From Post Office $1:\n$2"
|
|
elseif (downcase($class) == "syslog") then
|
|
set format = "From $sender:\nSyslog message from $instance, level "+
|
|
"$opcode:\n$message"
|
|
elseif ($number_of_fields == "1") then
|
|
set format = "Class $class, Instance $instance:\nTo: @bold($recipient) "+
|
|
"at $time $date\nFrom: @bold($sender)\n\n$message"
|
|
else
|
|
set format = "Class $class, Instance $instance:\nTo: @bold($recipient) "+
|
|
"at $time $date\nFrom: @bold($1) <$sender>\n\n$2"
|
|
endif
|
|
|
|
print "(Authentication: @bold("+$aval+") from host: "+$fromhost+")\n"
|
|
print substitute($format)
|
|
put
|
|
exit
|
|
|
|
endcase
|