#	Copyright 1989, 1990 Massachusetts Institute of Technology
#
#	For copying and distribution information, see the file
#	"mit-copyright.h".
# 
#	$Source: /afs/stacken.kth.se/src/SourceRepository/stacken-zephyr/clients/zwgc/zwgc.desc,v $
#	$Id: zwgc.desc,v 1.5 2002/01/23 04:58:55 lha Exp $
#
#
# 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
#  
# MAIL NOTIFICATION
#
# To receive mail notifications, you need to do several things:
# 1) subscribe to MAIL,POP messages.  You do this by typing:
#	zctl add mail pop
# to your prompt.  By doing this, you will get a simple notice every
# time you are logged in and more mail arrives for you at your post office.
#
# 2) If you wish to be notified of the sender, recipient and subject of the
# new mail, remove the pound-signs from the beginning of the 10 lines below
# between 'match "MAIL"' and 'exit', inclusive, and type the command
#	zctl add mail popret
# to your prompt.
#
# Note: The use of the following lines is NOT necessary to receive
# notifications of new mail.  The only effect of uncommenting these
# lines is to display on your screen the sender, recipient and subject
# of the mail (In addition, uncommenting these lines will add extra load
# to the post office servers, making them run slower.).
# If you do not wish this information to be displayed where other users
# might possibly read it, or you wish to avoid loading down the post
# office servers, you need not uncomment these lines.  Just follow step
# 1 above. 
#
#match "MAIL"
#	case $instance
#	match "pop"
#		exec "zmailnotify"
#		exit
#	endcase
#	print "(Authentication: @bold("+$aval+"))\n"
#	print substitute($default)
#	put
#	exit
match "message"

	fields signature body

	#
	# Example how to messages to file
	#

	#appendport "log" "/my/home/dir/Private/zlog"
	#
	#print "From: " + protect($sender) + "@" + $fromhost + "\n"
	#print "Date: "+ $date+" " $time + "\n"
	#print "To: "+$recipient + "/" + $instance + "/" + $destrealm + "\n\n"
	#print $body + "\n\n"
	#
	#put "log"
	#
	#closeport "log"
	#clearbuf

	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 ($body == "") then
		set body = $signature
		set signature = ""
	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

	if ($destrealm == "") then
		set viarealm = ""
	else
		set viarealm = "via "+protect($destrealm)
	endif

	print "@center(@bold("+$aval+") "+$type+" message at "+$time+
		" on "+$date+"\n"+$ftext+" on "+$fromhost+"\nTo: "+
		$recipient+" "+$viarealm+")\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
	print "(Authentication: @bold("+$aval+") from host: "+$fromhost+")\n"
	print substitute($default)
	put
	exit

endcase
