1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# 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
|