]> asedeno.scripts.mit.edu Git - 1ts-debian.git/blob - zephyr/zwgc/zwgc.desc
finalize -3
[1ts-debian.git] / zephyr / zwgc / zwgc.desc
1 #       Copyright 1989, 1990 Massachusetts Institute of Technology
2 #
3 #       For copying and distribution information, see the file
4 #       "mit-copyright.h".
5
6 #       $Id$
7 #
8 #
9 # Default WindowGram description file
10 #
11
12 # Opcode "ping" is used by sender programs to see if the message would
13 # really get sent, or if the recipient has logged out.  No useful
14 # information is normally contained in these messages, so we discard them.
15 if (upcase($opcode) == "PING") then exit endif
16
17 #
18 # AUTHENTICATION information
19 #
20 # $auth can be either Yes, No, or Forged
21 #
22 # "Yes" means that the sender field present in the notice was verified by
23 # Kerberos authentication
24 #
25 # "No" means that either the sender did not include any authentication
26 # information, or the authentication information was not verified by the
27 # Zephyr Server before the notice was sent to you.
28 #
29 # "Forged" means that the Server claims that the sender of the notice
30 # was verified by Kerberos authentication, but your WindowGram client
31 # could not verify this.  This stage of verification is done by a cryptographic
32 # checksum.  The most probable cause of the failure of the checksum
33 # provided by the Server to match the checksum generated by your
34 # WindowGram client is that you changed Kerberos tickets, and the Server
35 # was using an old value to compute the cryptographic checksum.  You can
36 # update the Server's value by typing 'zctl load' to your prompt.
37 #
38 # By default, notices which appear forged are labeled as 'UNAUTHENTIC'
39 # to avoid confusion as to what 'Forged' really means.
40 # To change this display, change the last word in the line following
41 # 'match "forged" to something other than "UNAUTHENTIC".
42 case $auth
43 match "yes"
44   set aval = "Authentic"
45 match "no","forged"
46   set aval = "@b(@large(UNAUTHENTIC))"
47 endcase
48
49 case $class
50 match "WG_CTL_CLASS"
51   exit
52 match "message"
53   if (downcase($recipient) == downcase($user)) then
54     case $instance
55     match "PERSONAL"
56       set type = "Personal"
57     match "URGENT"
58       set type = "Urgent"
59     default
60       set type = $instance
61     endcase
62   else
63     set type = "Instance "+$instance
64   endif
65
66   if ($number_of_fields == "1") then
67     fields body
68     set signature = ""
69   else
70     fields signature body
71   endif
72   if ($signature =~ "^[Ff]rom: .*") then
73     set dummy = lany($signature,"From: ")
74   endif
75   if ($signature =~ "\n$") then
76     set dummy = rany($signature,"\n")
77   endif
78   if ($signature == "") then
79     set ftext = "From: @bold("+protect($sender)+")"
80   else
81     set ftext = "From: @bold(@{"+protect($signature)+"} <"+
82       protect($sender)+">)"
83   endif
84
85   print "@center(@bold("+$aval+") "+$type+" message at "+$time+
86     " on "+$date+"\n"+$ftext+" on "+$fromhost+"\nTo: "+
87     $recipient+")\n\n"
88   print $body
89   put
90   exit
91
92 match "login"
93   case $opcode  
94   match "USER_LOGIN"
95     set log = "logged in"
96   match "USER_LOGOUT"
97     set log = "logged out"
98   default
99     set log = "unknown opcode"
100   endcase
101
102   fields host when tty
103   print "@center(@bold("+$sender+") "+$log+")\n"
104   print "@center(on @bold("+$host+") on "+$tty+")\n"
105   print "@center(at "+$when+")"
106   put
107   exit
108
109 default
110   if (downcase($class) == "filsys" and downcase($opcode) == "shutdown") then
111     set format = "From $sender:\n@bold(Shutdown message from $1 at $time)\n"+
112       "@center(System going down, message is:)\n\n$2\n\n@center(@bold($3))"
113   elseif (downcase($class) == "filsys") then
114     set format = "@bold(Filesystem Operation Message for $instance:)\n"+
115       "From: @bold($sender) at $time $date\n$message"
116   elseif (downcase($class) == "mail" and downcase($instance) == "popret") then
117     set format = "You have new mail:\n\nFrom: $1\nTo: $2\nSubject: $3"
118   elseif (downcase($class) == "mail") then
119     set format = "From Post Office $1:\n$2"
120   elseif (downcase($class) == "syslog") then
121     set format = "From $sender:\nSyslog message from $instance, level "+
122       "$opcode:\n$message"
123   elseif ($number_of_fields == "1") then
124     set format = "Class $class, Instance $instance:\nTo: @bold($recipient) "+
125       "at $time $date\nFrom: @bold($sender)\n\n$message"
126   else
127     set format = "Class $class, Instance $instance:\nTo: @bold($recipient) "+
128       "at $time $date\nFrom: @bold($1) <$sender>\n\n$2"
129   endif
130
131   print "(Authentication: @bold("+$aval+") from host: "+$fromhost+")\n"
132   print substitute($format)
133   put
134   exit
135
136 endcase