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