xref: /netbsd-src/external/bsd/ntp/dist/html/decode.html (revision 6a493d6bc668897c91594964a732d38505b70cbb)
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html>
3<head>
4<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
5<meta name="generator" content="HTML Tidy, see www.w3.org">
6<title>Event Messages and Status Words</title>
7<link href="scripts/style.css" type="text/css" rel="stylesheet">
8</head>
9<body>
10<h3>Event Messages and Status Words</h3>
11<img src="pic/alice47.gif" alt="gif" align="left"><a href="http://www.eecis.udel.edu/%7emills/pictures.html">from <i>Alice's Adventures in Wonderland</i>, Lewis Carroll</a>
12<p>Caterpillar knows all the error codes, which is more than most of us do.</p>
13<p>Last update:
14  <!-- #BeginDate format:En2m -->29-Nov-2012  16:40<!-- #EndDate -->
15  UTC</p>
16<br clear="left">
17<h4>Related Links</h4>
18<p>
19  <script type="text/javascript" language="javascript" src="scripts/install.txt"></script>
20</p>
21<h4>Table of Contents</h4>
22<ul>
23  <li class="inline"><a href="#intro">Introduction</a></li>
24  <li class="inline"><a href="#sys">System Status Word</a></li>
25  <li class="inline"><a href="#peer">Peer Status Word</a></li>
26  <li class="inline"><a href="#clock">Clock Status Word</a></li>
27  <li class="inline"><a href="#flash">Flash Status Word</a></li>
28  <li class="inline"><a href="#kiss">Kiss Codes</a></li>
29  <li class="inline"><a href="#crypto">Crypto Messages</a></li>
30</ul>
31<hr>
32<h4 id="intro">Introduction</h4>
33<p>This page lists the status words, event messages and error codes used for <tt>ntpd</tt> reporting and monitoring. Status words are used to display the current status of the running program. There is one system status word and a peer status word for each association. There is a clock status word for each association that supports a reference clock. There is a flash code for each association which shows errors found in the last packet received (pkt) and during protocol processing (peer). These are commonly viewed using the <tt>ntpq</tt> program.</p>
34<p>Significant changes in program state are reported as events. There is one
35  set of system events and a set of peer events for each association. In addition,
36  there is a set of clock events for each association that supports a reference
37  clock. Events are normally reported to the <tt>protostats</tt> monitoring file
38  and optionally to the system log. In addition, if the trap facility is configured,
39  events can be reported to a remote program that can page an administrator.</p>
40<p>This page also includes a description of the error messages produced by the Autokey protocol. These messages are normally sent to the <tt>cryptostats</tt> monitoring file.</p>
41<p>In the following tables the Event Field is the status or event code assigned and the Message Field a short string used for display and event reporting. The Description field contains a longer explanation of the status or event. Some messages include additional information useful for error diagnosis and performance assessment.</p>
42<h4 id="sys">System Status Word</h4>
43<p>The system status word consists of four fields LI (0-1), Source (2-7), Count (8-11) and Event (12-15). It is reported in the first line of the <tt>rv</tt> display produced by the <tt>ntpq</tt> program.</p>
44<table width="50%" border="1" cellspacing="2" cellpadding="2">
45  <tr>
46    <td><div align="center">Leap</div></td>
47    <td><div align="center">Source</div></td>
48    <td><div align="center">Count</div></td>
49    <td><div align="center">Event</div></td>
50  </tr>
51</table>
52<p>The Leap Field displays the system leap indicator bits coded as follows:</p>
53<table width="100%" border="1" cellspacing="2" cellpadding="2">
54  <tr>
55    <td>Code</td>
56    <td>Message</td>
57    <td>Description</td>
58  </tr>
59  <tr>
60    <td><tt>0</tt></td>
61    <td><tt>leap_none</tt></td>
62    <td>normal synchronized state</td>
63  </tr>
64  <tr>
65    <td><tt>1</tt></td>
66    <td><tt>leap_add_sec</tt></td>
67    <td>insert second after 23:59:59 of the current day</td>
68  </tr>
69  <tr>
70    <td><tt>2</tt></td>
71    <td><tt>leap_del_sec</tt></td>
72    <td>delete second 23:59:59 of the current day</td>
73  </tr>
74  <tr>
75    <td><tt>3</tt></td>
76    <td><tt>leap_alarm</tt></td>
77    <td>never synchronized</td>
78  </tr>
79</table>
80<p>The Source Field displays the current synchronization source coded as follows:</p>
81<table width="100%" border="1" cellspacing="2" cellpadding="2">
82  <tr>
83    <td>Code</td>
84    <td>Message</td>
85    <td>Description</td>
86  </tr>
87  <tr>
88    <td><tt>0</tt></td>
89    <td><tt>sync_unspec</tt></td>
90    <td>not yet synchronized</td>
91  </tr>
92  <tr>
93    <td><tt>1</tt></td>
94    <td><tt>sync_pps</tt></td>
95    <td>pulse-per-second signal (Cs, Ru, GPS, etc.)</td>
96  </tr>
97  <tr>
98    <td><tt>2</tt></td>
99    <td><tt>sync_lf_radio</tt></td>
100    <td>VLF/LF radio (WWVB, DCF77, etc.)</td>
101  </tr>
102  <tr>
103    <td><tt>3</tt></td>
104    <td><tt>sync_hf_radio</tt></td>
105    <td>MF/HF radio (WWV, etc.)</td>
106  </tr>
107  <tr>
108    <td><tt>4</tt></td>
109    <td><tt>sync_uhf_radio</tt></td>
110    <td>VHF/UHF radio/satellite (GPS, Galileo, etc.)</td>
111  </tr>
112  <tr>
113    <td><tt>5</tt></td>
114    <td><tt>sync_local</tt></td>
115    <td>local timecode (IRIG, LOCAL driver, etc.)</td>
116  </tr>
117  <tr>
118    <td><tt>6</tt></td>
119    <td><tt>sync_ntp</tt></td>
120    <td>NTP</td>
121  </tr>
122  <tr>
123    <td><tt>7</tt></td>
124    <td><tt>sync_other</tt></td>
125    <td>other (IEEE 1588, openntp, crony, etc.)</td>
126  </tr>
127  <tr>
128    <td><tt>8</tt></td>
129    <td><tt>sync_wristwatch</tt></td>
130    <td>eyeball and wristwatch</td>
131  </tr>
132  <tr>
133    <td><tt>9</tt></td>
134    <td><tt>sync_telephone</tt></td>
135    <td>telephone modem (ACTS, PTB, etc.)</td>
136  </tr>
137</table>
138<p>The Count Field displays the number of events since the last time the code changed. Upon reaching 15, subsequent events with the same code are ignored.</p>
139<p>The Event Field displays the most recent event message coded as follows:</p>
140<table width="100%" border="1" cellspacing="2" cellpadding="2">
141  <tr>
142    <td>Code</td>
143    <td>Message</td>
144    <td>Description</td>
145  </tr>
146  <tr>
147    <td><tt>00</tt></td>
148    <td><tt>unspecified</tt></td>
149    <td>unspecified</td>
150  </tr>
151  <tr>
152    <td><tt>01</tt></td>
153    <td><tt>freq_not_set</tt></td>
154    <td>frequency file not available</td>
155  </tr>
156  <tr>
157    <td><tt>02</tt></td>
158    <td><tt>freq_set</tt></td>
159    <td>frequency set from frequency file</td>
160  </tr>
161  <tr>
162    <td><tt>03</tt></td>
163    <td><tt>spike_detect</tt></td>
164    <td>spike detected</td>
165  </tr>
166  <tr>
167    <td><tt>04</tt></td>
168    <td><tt>freq_mode</tt></td>
169    <td>initial frequency training mode</td>
170  </tr>
171  <tr>
172    <td><tt>05</tt></td>
173    <td><tt>clock_sync</tt></td>
174    <td>clock synchronized</td>
175  </tr>
176  <tr>
177    <td><tt>06</tt></td>
178    <td><tt>restart</tt></td>
179    <td>program restart</td>
180  </tr>
181  <tr>
182    <td><tt>07</tt></td>
183    <td><tt>panic_stop</tt></td>
184    <td>clock error more than 600 s</td>
185  </tr>
186  <tr>
187    <td><tt>08</tt></td>
188    <td><tt>no_system_peer</tt></td>
189    <td>no system peer</td>
190  </tr>
191  <tr>
192    <td><tt>09</tt></td>
193    <td><tt>leap_armed</tt></td>
194    <td>leap second armed from file or Autokey</td>
195  </tr>
196  <tr>
197    <td><tt>0a</tt></td>
198    <td><tt>leap_disarmed</tt></td>
199    <td>leap second disarmed</td>
200  </tr>
201  <tr>
202    <td><tt>0b</tt></td>
203    <td><tt>leap_event</tt></td>
204    <td>leap event</td>
205  </tr>
206  <tr>
207    <td><tt>0c</tt></td>
208    <td><tt>clock_step</tt></td>
209    <td>clock stepped</td>
210  </tr>
211  <tr>
212    <td><tt>0d</tt></td>
213    <td><tt>kern</tt></td>
214    <td>kernel information message</td>
215  </tr>
216  <tr>
217    <td><tt>0e</tt></td>
218    <td><tt>TAI...</tt></td>
219    <td>leapsecond values update from file</td>
220  </tr>
221  <tr>
222    <td><tt>0f</tt></td>
223    <td><tt>stale leapsecond values</tt></td>
224    <td>new NIST leapseconds file needed</td>
225  </tr>
226</table>
227<h4 id="peer">Peer Status Word</h4>
228<p>The peer status word consists of four fields: Status (0-4), Select (5-7), Count (8-11) and Code (12-15). It is reported in the first line of the <tt>rv <i>associd</i></tt> display produced by the <tt>ntpq</tt> program.</p>
229<table width="50%" border="1" cellspacing="2" cellpadding="2">
230  <tr>
231    <td><div align="center">Status</div></td>
232    <td><div align="center">Select</div></td>
233    <td><div align="center">Count</div></td>
234    <td><div align="center">Code</div></td>
235  </tr>
236</table>
237<p>The Status Field displays the peer status code bits in hexadecimal; each bit is an independent flag.  (Note this field is 5 bits wide, and combines with the the 3-bit-wide Select Field to create the first full byte of the peer status word.)  The meaning of each bit in the Status Field is listed in the following table:</p>
238<table width="100%" border="1" cellspacing="2" cellpadding="2">
239  <tr>
240    <td>Code</td>
241    <td>Message</td>
242    <td>Description</td>
243  </tr>
244  <tr>
245    <td><tt>08</tt></td>
246    <td><tt>bcst</tt></td>
247    <td>broadcast association</td>
248  </tr>
249  <tr>
250    <td><tt>10</tt></td>
251    <td><tt>reach</tt></td>
252    <td>host reachable</td>
253  </tr>
254  <tr>
255    <td><tt>20</tt></td>
256    <td><tt>auth</tt></td>
257    <td>authentication ok</td>
258  </tr>
259  <tr>
260    <td><tt>40</tt></td>
261    <td><tt>authenb</tt></td>
262    <td>authentication enabled</td>
263  </tr>
264  <tr>
265    <td><tt>80</tt></td>
266    <td><tt>config</tt></td>
267    <td>persistent association</td>
268  </tr>
269</table>
270<p>The Select Field displays the current selection status. (The T Field in the following table gives the corresponding tally codes used in the <tt>ntpq peers</tt> display.) The values are coded as follows:</p>
271<table width="100%" border="1" cellspacing="2" cellpadding="2">
272  <tr>
273    <td>Code</td>
274    <td>Message</td>
275    <td>T</td>
276    <td>Description</td>
277  </tr>
278  <tr>
279    <td><tt>0</tt></td>
280    <td><tt>sel_reject</tt></td>
281    <td>&nbsp;</td>
282    <td>discarded as not valid (TEST10-TEST13)</td>
283  </tr>
284  <tr>
285    <td><tt>1</tt></td>
286    <td><tt>sel_falsetick</tt></td>
287    <td><tt>x</tt></td>
288    <td>discarded by intersection algorithm</td>
289  </tr>
290  <tr>
291    <td><tt>2</tt></td>
292    <td><tt>sel_excess</tt></td>
293    <td><tt>.</tt></td>
294    <td>discarded by table overflow (not used)</td>
295  </tr>
296  <tr>
297    <td><tt>3</tt></td>
298    <td><tt>sel_outlyer</tt></td>
299    <td><tt>-</tt></td>
300    <td>discarded by the cluster algorithm</td>
301  </tr>
302  <tr>
303    <td><tt>4</tt></td>
304    <td><tt>sel_candidate</tt></td>
305    <td><tt>+</tt></td>
306    <td>included by the combine algorithm</td>
307  </tr>
308  <tr>
309    <td><tt>5</tt></td>
310    <td><tt>sel_backup</tt></td>
311    <td><tt>#</tt></td>
312    <td>backup (more than <tt>tos maxclock</tt> sources)</td>
313  </tr>
314  <tr>
315    <td><tt>6</tt></td>
316    <td><tt>sel_sys.peer</tt></td>
317    <td><tt>*</tt></td>
318    <td>system peer</td>
319  </tr>
320  <tr>
321    <td><tt>7</tt></td>
322    <td><tt>sel_pps.peer</tt></td>
323    <td><tt>o</tt></td>
324    <td>PPS peer (when the prefer peer is valid)</td>
325  </tr>
326</table>
327<p>The Count Field displays the number of events since the last time the code changed. Upon reaching 15, subsequent events with the same code are ignored. </p>
328<p>The Event Field displays the most recent event message coded as follows:</p>
329<table width="100%" border="1" cellspacing="2" cellpadding="2">
330  <tr>
331    <td>Code</td>
332    <td>Message</td>
333    <td>Description</td>
334  </tr>
335  <tr>
336    <td><tt>01</tt></td>
337    <td><tt>mobilize</tt></td>
338    <td>association mobilized</td>
339  </tr>
340  <tr>
341    <td><tt>02</tt></td>
342    <td><tt>demobilize</tt></td>
343    <td>association demobilized</td>
344  </tr>
345  <tr>
346    <td><tt>03</tt></td>
347    <td><tt>unreachable</tt></td>
348    <td>server unreachable</td>
349  </tr>
350  <tr>
351    <td><tt>04</tt></td>
352    <td><tt>reachable</tt></td>
353    <td>server reachable</td>
354  </tr>
355  <tr>
356    <td><tt>05</tt></td>
357    <td><tt>restart</tt></td>
358    <td>association restart</td>
359  </tr>
360  <tr>
361    <td><tt>06</tt></td>
362    <td><tt>no_reply</tt></td>
363    <td>no server found (<tt>ntpdate</tt> mode)</td>
364  </tr>
365  <tr>
366    <td><tt>07</tt></td>
367    <td><tt>rate_exceeded</tt></td>
368    <td>rate exceeded (kiss code <tt>RATE</tt>)</td>
369  </tr>
370  <tr>
371    <td><tt>08</tt></td>
372    <td><tt>access_denied</tt></td>
373    <td>access denied (kiss code <tt>DENY</tt>)</td>
374  </tr>
375  <tr>
376    <td><tt>09</tt></td>
377    <td><tt>leap_armed</tt></td>
378    <td>leap armed from server LI code</td>
379  </tr>
380  <tr>
381    <td><tt>0a</tt></td>
382    <td><tt>sys_peer</tt></td>
383    <td>become system peer</td>
384  </tr>
385  <tr>
386    <td><tt>0b</tt></td>
387    <td><tt>clock_event</tt></td>
388    <td>see clock status word</td>
389  </tr>
390  <tr>
391    <td><tt>0c</tt></td>
392    <td><tt>bad_auth</tt></td>
393    <td>authentication failure</td>
394  </tr>
395  <tr>
396    <td><tt>0d</tt></td>
397    <td><tt>popcorn</tt></td>
398    <td>popcorn spike suppressor</td>
399  </tr>
400  <tr>
401    <td><tt>0e</tt></td>
402    <td><tt>interleave_mode</tt></td>
403    <td>entering interleave mode</td>
404  </tr>
405  <tr>
406    <td><tt>0f</tt></td>
407    <td><tt>interleave_error</tt></td>
408    <td>interleave error (recovered)</td>
409  </tr>
410</table>
411<h4 id="clock">Clock Status Word</h4>
412<p>The clock status word consists of four fields: Unused (0-7), Count (8-11) and Code (12-15). It is reported in the first line of the <tt>clockvar <i>associd</i></tt> display produced by the <tt>ntpq</tt> program.</p>
413<table width="50%" border="1" cellspacing="2" cellpadding="2">
414  <tr>
415    <td><div align="center">Unused</div></td>
416    <td><div align="center">Count</div></td>
417    <td><div align="center">Code</div></td>
418  </tr>
419</table>
420<p>The Count Field displays the number of events since the last <tt>lockvar</tt> command, while the Event Field displays the most recent event message coded as follows:</p>
421<table width="100%" border="1" cellspacing="2" cellpadding="2">
422  <tr>
423    <td>Code</td>
424    <td>Message</td>
425    <td>Description</td>
426  </tr>
427  <tr>
428    <td><tt>00</tt></td>
429    <td><tt>clk_unspe</tt></td>
430    <td>nominal</td>
431  </tr>
432  <tr>
433    <td><tt>01</tt></td>
434    <td><tt>clk_noreply</tt></td>
435    <td>no reply to poll</td>
436  </tr>
437  <tr>
438    <td><tt>02</tt></td>
439    <td><tt>clk_badformat</tt></td>
440    <td>bad timecode format</td>
441  </tr>
442  <tr>
443    <td><tt>03</tt></td>
444    <td><tt>clk_fault</tt></td>
445    <td>hardware or software fault</td>
446  </tr>
447  <tr>
448    <td><tt>04</tt></td>
449    <td><tt>clk_bad_signal</tt></td>
450    <td>signal loss</td>
451  </tr>
452  <tr>
453    <td><tt>05</tt></td>
454    <td><tt>clk_bad_date</tt></td>
455    <td>bad date format</td>
456  </tr>
457  <tr>
458    <td><tt>06</tt></td>
459    <td><tt>clk_bad_time</tt></td>
460    <td>bad time format</td>
461  </tr>
462</table>
463<p>When the clock driver sets the code to a new value, a <tt>clock_alarm</tt> (11) peer event is reported.</p>
464<h4 id="flash">Flash Status Word</h4>
465<p>The flash status word is displayed by the <tt>ntpq</tt> program <tt>rv</tt> command. It consists of a number of bits coded in hexadecimal as follows:</p>
466<table width="100%" border="1" cellspacing="2" cellpadding="2">
467  <tr>
468    <td width="10%">Code</td>
469    <td width="15%">Tag</td>
470    <td width="20%">Message</td>
471    <td width="55%">Description</td>
472  </tr>
473  <tr>
474    <td><tt>0001</tt></td>
475    <td>TEST1</td>
476    <td><tt>pkt_dup</tt></td>
477    <td>duplicate packet</td>
478  </tr>
479  <tr>
480    <td><tt>0002</tt></td>
481    <td>TEST2</td>
482    <td><tt>pkt_bogus</tt></td>
483    <td>bogus packet</td>
484  </tr>
485  <tr>
486    <td><tt>0004</tt></td>
487    <td>TEST3</td>
488    <td><tt>pkt_unsync</tt></td>
489    <td>server not synchronized</td>
490  </tr>
491  <tr>
492    <td><tt>0008</tt></td>
493    <td>TEST4</td>
494    <td><tt>pkt_denied</tt></td>
495    <td>access denied</td>
496  </tr>
497  <tr>
498    <td><tt>0010</tt></td>
499    <td>TEST5</td>
500    <td><tt>pkt_auth</tt></td>
501    <td> authentication failure</td>
502  </tr>
503  <tr>
504    <td><tt>0020</tt></td>
505    <td>TEST6</td>
506    <td><tt>pkt_stratum</tt></td>
507    <td>invalid  leap or stratum</td>
508  </tr>
509  <tr>
510    <td><tt>0040</tt></td>
511    <td>TEST7</td>
512    <td><tt>pkt_header</tt></td>
513    <td> header distance exceeded</td>
514  </tr>
515  <tr>
516    <td><tt>0080</tt></td>
517    <td>TEST8</td>
518    <td><tt>pkt_autokey</tt></td>
519    <td>Autokey sequence error</td>
520  </tr>
521  <tr>
522    <td><tt>0100</tt></td>
523    <td>TEST9</td>
524    <td><tt>pkt_crypto</tt></td>
525    <td>Autokey protocol error</td>
526  </tr>
527  <tr>
528    <td><tt>0200</tt></td>
529    <td>TEST10</td>
530    <td><tt>peer_stratum</tt></td>
531    <td> invalid header or stratum</td>
532  </tr>
533  <tr>
534    <td><tt>0400</tt></td>
535    <td>TEST11</td>
536    <td><tt>peer_dist</tt></td>
537    <td> distance threshold exceeded</td>
538  </tr>
539  <tr>
540    <td><tt>0800</tt></td>
541    <td>TEST12</td>
542    <td><tt>peer_loop</tt></td>
543    <td> synchronization loop</td>
544  </tr>
545  <tr>
546    <td><tt>1000</tt></td>
547    <td>TEST13</td>
548    <td><tt>peer_unreach</tt></td>
549    <td> unreachable or nonselect</td>
550  </tr>
551</table>
552<h4 id="kiss">Kiss Codes</h4>
553<p>Kiss codes are used in kiss-o'-death (koD) packets, billboard displays and log messages. They consist of a string of four zero-padded ASCII charactes. In practice they are informal and tend to change with time and implementation. Some of these codes can appear in the reference identifier field in <tt>ntpq</tt> billboards. Following is the current list:</p>
554<table width="100%" border="1" cellspacing="2" cellpadding="2">
555  <tr>
556    <td>Code</td>
557    <td>Description</td>
558  </tr>
559  <tr>
560    <td><tt>ACST</tt></td>
561    <td>manycast server</td>
562  </tr>
563  <tr>
564    <td><tt>AUTH</tt></td>
565    <td>authentication error</td>
566  </tr>
567  <tr>
568    <td><tt>AUTO</tt></td>
569    <td>Autokey sequence error</td>
570  </tr>
571  <tr>
572    <td><tt>BCST</tt></td>
573    <td>broadcast server</td>
574  </tr>
575  <tr>
576    <td><tt>CRYPT</tt></td>
577    <td>Autokey protocol error</td>
578  </tr>
579  <tr>
580    <td><tt>DENY</tt></td>
581    <td>access denied by server</td>
582  </tr>
583  <tr>
584    <td><tt>INIT</tt></td>
585    <td>association initialized</td>
586  </tr>
587  <tr>
588    <td><tt>MCST</tt></td>
589    <td>multicast server</td>
590  </tr>
591  <tr>
592    <td><tt>RATE</tt></td>
593    <td>rate exceeded</td>
594  </tr>
595  <tr>
596    <td><tt>TIME</tt></td>
597    <td>association timeout</td>
598  </tr>
599  <tr>
600    <td><tt>STEP</tt></td>
601    <td>step time change</td>
602  </tr>
603</table>
604<h4 id="crypto">Crypto Messages</h4>
605<p>These messages are sent to the <tt>cryptostats</tt> file when an error is detected in the Autokey protocol.</p>
606<table width="100%" border="1" cellspacing="2" cellpadding="2">
607  <tr>
608    <td>Code</td>
609    <td>Message</td>
610    <td>Description</td>
611  </tr>
612  <tr>
613    <td><tt>01</tt></td>
614    <td><tt>bad_format</tt></td>
615    <td>bad extension field format or length</td>
616  </tr>
617  <tr>
618    <td><tt>02</tt></td>
619    <td><tt>bad_timestamp</tt></td>
620    <td>bad timestamp</td>
621  </tr>
622  <tr>
623    <td><tt>03</tt></td>
624    <td><tt>bad_filestamp</tt></td>
625    <td>bad filestamp</td>
626  </tr>
627  <tr>
628    <td><tt>04</tt></td>
629    <td><tt>bad_public_key</tt></td>
630    <td>bad or missing public key</td>
631  </tr>
632  <tr>
633    <td><tt>05</tt></td>
634    <td><tt>bad_digest</tt></td>
635    <td>unsupported digest type</td>
636  </tr>
637  <tr>
638    <td><tt>06</tt></td>
639    <td><tt>bad_identity</tt></td>
640    <td>unsupported identity type</td>
641  </tr>
642  <tr>
643    <td><tt>07</tt></td>
644    <td><tt>bad_siglength</tt></td>
645    <td>bad signature length</td>
646  </tr>
647  <tr>
648    <td><tt>08</tt></td>
649    <td><tt>bad signature</tt></td>
650    <td>extension field signature not verified</td>
651  </tr>
652  <tr>
653    <td><tt>09</tt></td>
654    <td><tt>cert_not_verified</tt></td>
655    <td>certificate signature not verified</td>
656  </tr>
657  <tr>
658    <td><tt>0a</tt></td>
659    <td><tt>cert_expired</tt></td>
660    <td>host certificate expired</td>
661  </tr>
662  <tr>
663    <td><tt>0b</tt></td>
664    <td><tt>bad_cookie</tt></td>
665    <td>bad or missing cookie</td>
666  </tr>
667  <tr>
668    <td><tt>0c</tt></td>
669    <td><tt>bad_leapseconds</tt></td>
670    <td>bad or missing leapseconds values</td>
671  </tr>
672  <tr>
673    <td><tt>0d</tt></td>
674    <td><tt>cert_missing</tt></td>
675    <td>bad or missing certificate</td>
676  </tr>
677  <tr>
678    <td><tt>0e</tt></td>
679    <td><tt>bad_group_key</tt></td>
680    <td>bad or missing group key</td>
681  </tr>
682  <tr>
683    <td><tt>0f</tt></td>
684    <td><tt>proto_error</tt></td>
685    <td>protocol error</td>
686  </tr>
687</table>
688<hr>
689<script type="text/javascript" language="javascript" src="scripts/footer.txt"></script>
690</body>
691</html>
692