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