]> jfr.im git - irc/ircd-hybrid/hopm.git/commitdiff
- Recreate parser files
authormichael <redacted>
Sun, 5 Jul 2020 05:43:25 +0000 (05:43 +0000)
committermichael <redacted>
Sun, 5 Jul 2020 05:43:25 +0000 (05:43 +0000)
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/hopm/branches/1.1.x@9503 82007160-df01-0410-b94d-b575c5fd34c7

src/config-lexer.c
src/config-parser.c
src/config-parser.h
src/config-parser.y

index ef70a2a82b505c70f5ec115c8ff6e6390b07af67..7ede5712e01f21cabbd0b857e99684b9b92e0360 100644 (file)
@@ -355,8 +355,8 @@ static void yynoreturn yy_fatal_error ( const char* msg  );
        (yy_hold_char) = *yy_cp; \
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 109
-#define YY_END_OF_BUFFER 110
+#define YY_NUM_RULES 110
+#define YY_END_OF_BUFFER 111
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -364,59 +364,63 @@ struct yy_trans_info
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static const flex_int16_t yy_accept[471] =
+static const flex_int16_t yy_accept[493] =
     {   0,
-        7,    7,    0,    0,  110,  108,    7,    6,  108,    8,
-      108,  108,    9,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  108,    3,    4,    3,    7,    6,    0,   10,
+        7,    7,    0,    0,  111,  109,    7,    6,  109,    8,
+      109,  109,    9,  109,  109,  109,  109,  109,  109,  109,
+      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
+      109,  109,  109,    3,    4,    3,    7,    6,    0,   10,
         8,    0,    1,    8,    9,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,   25,    0,    0,
-        0,    0,    0,   86,    0,    0,    0,    0,   91,    0,
-        0,    0,    0,    0,    0,  106,    0,  104,    0,    0,
+        0,    0,    0,   87,    0,    0,    0,    0,   92,    0,
+        0,    0,    0,    0,    0,  107,    0,  105,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
 
         2,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       73,    0,    0,    0,    0,    0,    0,    0,    0,   29,
+       74,    0,    0,    0,    0,    0,    0,    0,    0,   29,
         0,   31,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  107,    0,   42,    0,    0,
+        0,    0,    0,    0,    0,  108,    0,   42,    0,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  101,    0,    0,   61,    0,    0,    0,
-        0,    0,    0,    0,  103,    0,    0,   12,    0,    0,
-       81,    0,    0,    0,   72,    0,    0,    0,    0,    0,
-       75,   92,    0,   27,   28,    0,    0,    0,   32,    0,
+        0,    0,    0,  102,    0,    0,   61,    0,    0,    0,
+        0,    0,    0,    0,  104,    0,    0,   12,    0,    0,
+       82,    0,    0,    0,   73,    0,    0,    0,    0,    0,
+       76,   93,    0,   27,   28,    0,    0,    0,   32,    0,
         0,    0,    0,   34,    0,   35,    0,   38,    0,   41,
 
         0,    0,    0,    0,   47,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  102,   62,
-       63,    0,   71,    0,   67,    0,    0,    0,    0,   80,
-        0,    0,    0,    0,    0,    0,    0,    0,  105,   74,
-        0,   94,    0,   85,    0,   30,    0,   90,    0,    0,
-       69,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   52,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   65,   70,    0,   66,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   24,    0,
-        0,   26,   84,    0,    0,   89,    0,   77,   68,    0,
-
-        0,   40,    0,    0,    0,    0,    0,    0,    0,    0,
-       99,    0,    0,   79,    0,   56,   96,   97,    0,    0,
-        0,    0,    0,    0,    0,    0,   15,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   76,
-        0,    0,   43,    0,   45,   46,    0,    0,    0,    0,
-       53,   54,   78,    0,    0,   60,    0,   98,    0,    0,
-        0,    0,    0,    0,    0,   23,    0,    0,  100,   93,
-        0,   83,   33,   88,   36,   39,   44,   48,    0,   50,
-        0,   55,    0,    0,    0,   64,    0,    0,    0,    0,
-        0,   14,    0,    0,    0,   19,    0,    0,    0,   95,
-
-       82,   87,    0,    0,    0,   57,    0,    0,    0,    5,
-        0,    5,    0,    0,    0,    0,    0,   22,    0,    0,
-        0,    0,    0,    0,    0,    0,   13,    0,    0,    0,
-       20,   21,    0,   49,    0,   58,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
+       63,   64,    0,   72,    0,   68,    0,    0,    0,    0,
+       81,    0,    0,    0,    0,    0,    0,    0,    0,  106,
+       75,    0,   95,    0,   86,    0,   30,    0,   91,    0,
+        0,   70,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,   52,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,   66,   71,    0,   67,    0,
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       59,   11,    0,    0,    0,    0,    0,    0,    0,   18,
-        0,    0,   16,    0,   37,    0,    0,   51,   17,    0
+       24,    0,    0,   26,   85,    0,    0,   90,    0,   78,
+
+       69,    0,    0,   40,    0,    0,    0,    0,    0,    0,
+        0,    0,  100,    0,    0,   80,    0,   56,   97,   98,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   15,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,   77,    0,    0,   43,    0,   45,   46,    0,
+        0,    0,    0,   53,   54,   79,    0,    0,   60,    0,
+        0,   99,    0,    0,    0,    0,    0,    0,    0,   23,
+        0,    0,  101,   94,    0,   84,   33,   89,   36,   39,
+       44,   48,    0,   50,    0,   55,    0,    0,    0,    0,
+       65,    0,    0,    0,    0,    0,   14,    0,    0,    0,
+
+       19,    0,    0,    0,   96,   83,   88,    0,    0,    0,
+       57,    0,    0,    0,    0,    5,    0,    5,    0,    0,
+        0,    0,    0,   22,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,   13,    0,    0,    0,   20,   21,    0,
+       49,    0,   58,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,   59,
+        0,   11,    0,    0,    0,    0,    0,    0,    0,    0,
+       18,    0,    0,    0,   16,    0,   37,    0,    0,    0,
+       51,    0,   17,    0,    0,    0,    0,    0,    0,    0,
+       62,    0
+
     } ;
 
 static const YY_CHAR yy_ec[256] =
@@ -462,119 +466,125 @@ static const YY_CHAR yy_meta[66] =
         1,    1,    1,    1,    1
     } ;
 
-static const flex_int16_t yy_base[477] =
+static const flex_int16_t yy_base[499] =
     {   0,
-        0,    0,   63,   64,  923,  934,  920,    0,   68,    0,
+        0,    0,   63,   64,  963,  972,  957,    0,   68,    0,
        45,   67,   67,   56,   65,   59,   68,   45,   70,   56,
        93,  107,  144,  112,  116,  184,   74,  151,  227,   54,
-       69,  128,  119,  934,  934,  912,  917,    0,   93,  934,
-        0,  112,  934,    0,  207,  136,  140,  147,  160,  143,
-      163,  161,  144,  152,  176,  178,  181,  934,  177,  187,
+       69,  128,  119,  972,  972,  950,  954,    0,   93,  972,
+        0,  112,  972,    0,  207,  136,  140,  147,  160,  143,
+      163,  161,  144,  152,  176,  178,  181,  972,  177,  187,
       187,  192,  211,  192,  193,  209,  212,  208,  198,  222,
-      217,  237,  221,  228,  234,  226,  243,  934,  253,  235,
+      217,  237,  221,  228,  234,  226,  243,  972,  253,  235,
       243,  262,  251,  255,  282,  253,  273,  290,  275,  272,
       265,  275,  270,  269,  275,  291,  287,  297,  292,  316,
 
-      934,  307,  295,  294,  878,  317,  316,  311,  313,  313,
-      312,  333,  331,  325,  321,  323,  326,  333,  132,  934,
-      326,  934,  334,  336,  343,  876,  335,  354,  337,  357,
-      345,  364,  367,  362,  364,  934,  359,  934,  368,  360,
+      972,  307,  295,  294,  915,  317,  316,  311,  313,  313,
+      312,  333,  331,  325,  321,  323,  326,  333,  132,  972,
+      326,  972,  334,  336,  343,  911,  335,  354,  337,  357,
+      345,  364,  367,  362,  364,  972,  359,  972,  368,  360,
       376,  378,  366,  367,  383,  375,  380,  373,  380,  383,
-      396,  380,  395,  934,  399,  402,  934,  404,  409,  399,
-      403,  412,  417,  408,  934,  417,  424,  934,  410,  424,
-      418,  424,  437,  422,  934,  430,  438,  431,  430,  441,
-      431,  443,  433,  934,  934,  448,  457,  461,  934,  451,
-      468,  472,  457,  934,  469,  934,  479,  463,  479,  934,
-
-      472,  466,  475,  481,  934,  477,  474,  482,  483,  473,
-      493,  498,  488,  492,  500,  492,  508,  504,  934,  934,
-      507,  506,  508,  527,  511,  512,  515,  521,  527,  934,
-      535,  528,  537,  871,  539,  536,  545,  529,  934,  934,
-      535,  535,  548,  538,  533,  934,  556,  544,  539,  560,
-      552,  569,  572,  573,  567,  567,  567,  574,  583,  581,
-      591,  580,  934,  577,  581,  592,  595,  599,  584,   94,
-      583,  585,  607,  934,  934,  590,  934,  609,  596,  605,
-      608,  611,  620,  622,  626,  619,  621,  622,  934,  619,
-      624,  934,  934,  623,  643,  934,  627,  629,  934,  641,
-
-      634,  934,  634,  636,  642,  652,  646,  649,  653,  661,
-      934,  660,  652,  656,  667,  934,  934,  934,  866,  662,
-      670,  679,  680,  864,  675,  671,  934,  255,  685,  677,
-      682,  688,  693,  676,  682,  685,  699,  701,  701,  934,
-      704,  691,  934,  709,  934,  934,  706,  713,  714,  718,
-      934,  934,  934,  715,  719,  934,  728,  934,  752,  730,
-      727,  727,  739,  726,  736,  934,  741,  742,  934,  934,
-      738,  743,  934,  746,  199,  934,  934,  934,  751,  934,
-      747,  934,  753,  755,  751,  934,  790,  222,  210,  770,
-      751,  934,  764,  765,  777,  934,  776,  784,  778,  934,
-
-      934,  934,  783,  781,  793,  934,  787,  788,  188,  187,
-      176,  127,  794,  794,  789,  804,  798,  934,  794,  796,
-      811,  798,  805,  801,  812,  813,  934,  818,  805,  824,
-      934,  934,  835,  934,  819,  934,  827,  834,  833,  847,
-      839,  834,  851,  850,  834,  838,   97,  840,  852,  845,
-      934,  934,  864,  849,  849,  858,  849,  861,  864,  934,
-      870,  874,  934,  852,  934,  870,  884,  934,  934,  934,
-      929,  133,  931,  132,  100,   97
+      396,  380,  395,  972,  399,  402,  910,  404,  409,  399,
+      403,  412,  417,  408,  972,  417,  424,  972,  410,  424,
+      418,  424,  437,  422,  972,  430,  438,  431,  430,  441,
+      431,  443,  433,  972,  972,  448,  457,  461,  972,  451,
+      468,  472,  457,  972,  469,  972,  479,  463,  479,  972,
+
+      472,  466,  475,  481,  972,  477,  474,  482,  483,  473,
+      493,  498,  488,  492,  500,  492,  508,  504,  512,  972,
+      972,  512,  507,  510,  528,  514,  513,  516,  525,  529,
+      972,  536,  529,  538,  909,  541,  538,  546,  530,  972,
+      972,  536,  538,  551,  539,  537,  972,  557,  545,  541,
+      565,  554,  574,  573,  575,  568,  570,  568,  575,  587,
+      583,  592,  581,  972,  578,  583,  594,  596,  600,  585,
+       94,  586,  588,  595,  612,  972,  972,  595,  972,  611,
+      599,  612,  615,  618,  626,  625,  627,  625,  625,  624,
+      972,  624,  630,  972,  972,  626,  646,  972,  630,  633,
+
+      972,  644,  636,  972,  636,  640,  648,  656,  651,  654,
+      655,  664,  972,  667,  659,  663,  673,  972,  972,  972,
+      908,  665,  667,  676,  684,  685,  905,  681,  678,  972,
+      903,  692,  681,  685,  692,  698,  681,  686,  688,  704,
+      708,  708,  972,  712,  697,  972,  715,  972,  972,  710,
+      721,  723,  730,  972,  972,  972,  723,  731,  972,  717,
+      732,  972,  765,  735,  728,  729,  742,  727,  742,  972,
+      745,  751,  972,  972,  750,  752,  972,  753,  255,  972,
+      972,  972,  759,  972,  759,  972,  764,  766,  762,  772,
+      972,  802,  235,  212,  785,  766,  972,  776,  773,  785,
+
+      972,  786,  791,  782,  972,  972,  972,  786,  788,  800,
+      972,  793,  796,  815,  220,  188,  177,  176,  805,  805,
+      802,  817,  811,  972,  806,  808,  825,  812,  819,  814,
+      828,  826,  831,  972,  836,  825,  841,  972,  972,  848,
+      972,  833,  972,  841,  850,  849,  844,  857,  851,  848,
+      864,  863,  101,  849,  853,   97,  855,  868,  862,  972,
+      861,  972,  882,  866,  866,  878,  869,  887,  882,  888,
+      972,  894,  901,  887,  972,  881,  972,  896,  903,  908,
+      972,  908,  972,  908,  917,  920,  903,  916,  912,  914,
+      972,  972,  967,  133,  969,  132,  100,   97
+
     } ;
 
-static const flex_int16_t yy_def[477] =
+static const flex_int16_t yy_def[499] =
     {   0,
-      470,    1,  471,  471,  470,  470,  470,  472,  473,  474,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  472,  473,  470,
-      474,  470,  470,  474,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  475,  476,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-
-      470,  470,  470,  470,  470,  470,  470,  470,  475,  475,
-      476,  476,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,    0,
-      470,  470,  470,  470,  470,  470
+      492,    1,  493,  493,  492,  492,  492,  494,  495,  496,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  494,  495,  492,
+      496,  492,  492,  496,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  497,  498,  492,  492,  492,  492,  492,  492,
+
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  497,  497,  498,  498,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,    0,  492,  492,  492,  492,  492,  492
+
     } ;
 
-static const flex_int16_t yy_nxt[1000] =
+static const flex_int16_t yy_nxt[1038] =
     {   0,
         6,    7,    8,    9,   10,    6,   11,   12,   13,   13,
        13,   13,    6,    6,   14,   15,   16,   17,   18,   19,
@@ -585,29 +595,29 @@ static const flex_int16_t yy_nxt[1000] =
        31,   32,    6,   33,    6,   35,   35,   42,   36,   36,
        40,   40,   43,   46,   44,   45,   45,   45,   45,   48,
        51,   56,   53,   59,   57,   96,   52,   58,   60,   49,
-       97,   47,   85,   42,   54,   40,   40,  411,   55,   46,
+       97,   47,   85,   42,   54,   40,   40,  417,   55,   46,
 
-      409,   86,   50,  317,  318,   48,   51,   56,   53,   59,
+      415,   86,   50,  319,  320,   48,   51,   56,   53,   59,
        57,   96,   52,   58,   60,   49,   97,   47,   85,   61,
        54,   62,   64,   63,   55,   65,   73,   86,   50,   66,
-       74,   67,   41,   38,   75,   77,  454,  100,  102,   76,
-      412,  184,   78,  185,   79,   61,   98,   62,   64,   63,
+       74,   67,   41,   38,   75,   77,  464,  100,  102,   76,
+      461,  184,   78,  185,   79,   61,   98,   62,   64,   63,
        99,   65,   73,  103,  104,   66,   74,   67,   68,   69,
        75,   77,   70,  100,  102,   76,   71,   87,   78,   88,
        79,   72,   98,  105,  106,  107,   99,  108,   89,  103,
-      104,  111,   90,  112,   68,   69,  109,  110,   70,  412,
-      410,  410,   71,   87,  113,   88,  114,   72,   80,  105,
+      104,  111,   90,  112,   68,   69,  109,  110,   70,  418,
+      418,  416,   71,   87,  113,   88,  114,   72,   80,  105,
 
       106,  107,   81,  108,   89,  115,   82,  111,   90,  112,
       116,   83,  109,  110,   84,   45,   45,   45,   45,  117,
-      113,  118,  114,  412,   80,  410,  119,  120,   81,  121,
-      122,  115,   82,  123,  124,  127,  116,   83,  403,  125,
+      113,  118,  114,  416,   80,  418,  119,  120,   81,  121,
+      122,  115,   82,  123,  124,  127,  116,   83,  416,  125,
        84,   91,  128,  129,  126,  117,  132,  118,  133,   92,
       134,   93,  119,  120,  130,  121,  122,   94,  135,  123,
       124,  127,  136,  131,   95,  125,  140,   91,  128,  129,
       126,  137,  132,  141,  133,   92,  134,   93,  138,  142,
       130,  143,  144,   94,  135,  139,  148,  149,  136,  131,
-       95,  153,  140,  154,  363,  155,  145,  137,  146,  141,
+       95,  153,  140,  154,  408,  155,  145,  137,  146,  141,
 
       156,  157,  158,  159,  138,  142,  150,  143,  144,  160,
       147,  139,  148,  149,  161,  162,  151,  153,  163,  154,
@@ -622,73 +632,77 @@ static const flex_int16_t yy_nxt[1000] =
 
       207,  194,  209,  195,  210,  211,  212,  208,  196,  197,
       213,  198,  199,  214,  215,  200,  201,  202,  216,  217,
-      218,  203,  219,  204,  205,  206,  207,  220,  209,  221,
-      210,  211,  212,  208,  222,  223,  213,  224,  225,  214,
-      215,  226,  227,  228,  216,  217,  218,  229,  219,  230,
-      231,  232,  233,  220,  234,  221,  237,  235,  238,  239,
-      222,  223,  240,  224,  225,  243,  244,  226,  227,  228,
-      236,  241,  245,  229,  242,  230,  231,  232,  233,  246,
-      234,  247,  237,  235,  238,  239,  248,  249,  240,  250,
-      251,  243,  244,  252,  253,  254,  236,  241,  245,  255,
-
-      242,  256,  257,  258,  259,  246,  260,  247,  261,  262,
-      263,  264,  248,  249,  267,  250,  251,  268,  269,  252,
-      253,  254,  265,  270,  266,  255,  271,  256,  257,  258,
-      259,  272,  260,  273,  261,  262,  263,  264,  274,  275,
-      267,  276,  277,  268,  269,  278,  279,  280,  265,  270,
-      266,  281,  271,  282,  283,  284,  286,  272,  287,  273,
-      288,  289,  290,  291,  274,  275,  292,  276,  277,  293,
-      294,  278,  279,  280,  295,  296,  297,  281,  298,  282,
-      283,  284,  286,  299,  287,  300,  288,  289,  290,  291,
-      301,  302,  292,  303,  304,  293,  294,  305,  306,  307,
-
-      295,  296,  297,  308,  298,  309,  310,  311,  312,  299,
-      313,  300,  314,  315,  316,  319,  301,  302,  320,  303,
-      304,  321,  322,  305,  306,  307,  323,  324,  325,  308,
-      326,  309,  310,  311,  312,  327,  313,  328,  314,  315,
-      316,  319,  329,  332,  320,  330,  333,  321,  322,  334,
-      335,  336,  323,  324,  325,  337,  326,  338,  331,  339,
-      340,  327,  341,  328,  342,  343,  344,  345,  329,  332,
-      346,  330,  333,  347,  348,  334,  335,  336,  349,  350,
-      351,  337,  352,  338,  331,  339,  340,  353,  341,  354,
-      342,  343,  344,  345,  356,  357,  346,  358,  359,  347,
-
-      348,  361,  362,  364,  349,  350,  351,  365,  352,  366,
-      367,  368,  369,  353,  370,  354,  371,  372,  373,  374,
-      356,  357,  375,  358,  359,  376,  377,  361,  362,  364,
-      378,  379,  380,  365,  381,  366,  367,  368,  369,  382,
-      370,  383,  371,  372,  373,  374,  386,  384,  375,  390,
-      385,  376,  377,  387,  391,  388,  378,  379,  380,  392,
-      381,  393,  396,  397,  389,  382,  398,  383,  394,  399,
-      400,  395,  386,  384,  401,  390,  385,  402,  404,  405,
-      391,  406,  407,  408,  413,  392,  414,  393,  396,  397,
-      415,  387,  398,  388,  394,  399,  400,  395,  416,  417,
-
-      401,  418,  389,  402,  404,  405,  419,  406,  407,  408,
-      413,  420,  414,  421,  422,  423,  415,  424,  425,  426,
-      427,  428,  429,  430,  416,  417,  431,  418,  432,  433,
-      434,  435,  419,  436,  437,  438,  439,  420,  440,  421,
-      422,  423,  441,  424,  425,  426,  427,  428,  429,  430,
-      442,  443,  431,  444,  432,  433,  434,  435,  445,  436,
-      437,  438,  439,  446,  440,  447,  448,  449,  441,  450,
-      451,  452,  453,  455,  456,  457,  442,  443,  458,  444,
-      459,  460,  461,  462,  445,  463,  464,  465,  466,  446,
-      467,  447,  448,  449,  468,  450,  451,  452,  453,  455,
-
-      456,  457,  469,  360,  458,  355,  459,  460,  461,  462,
-      285,  463,  464,  465,  466,  190,  467,  169,   37,  101,
-      468,   37,  470,  470,  470,  470,  470,  470,  469,   34,
-       34,   39,   39,    5,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470
-
+      218,  203,  220,  204,  205,  206,  207,  221,  209,  222,
+      210,  211,  212,  208,  223,  224,  213,  225,  226,  214,
+      215,  227,  228,  229,  216,  217,  218,  230,  220,  231,
+      232,  233,  234,  221,  235,  222,  238,  236,  239,  240,
+      223,  224,  241,  225,  226,  244,  245,  227,  228,  229,
+      237,  242,  246,  230,  243,  231,  232,  233,  234,  247,
+      235,  248,  238,  236,  239,  240,  249,  250,  241,  251,
+      252,  244,  245,  253,  254,  255,  237,  242,  246,  256,
+
+      243,  257,  258,  259,  260,  247,  261,  248,  262,  263,
+      264,  265,  249,  250,  268,  251,  252,  269,  270,  253,
+      254,  255,  266,  271,  267,  256,  272,  257,  258,  259,
+      260,  273,  261,  274,  262,  263,  264,  265,  275,  276,
+      268,  277,  278,  269,  270,  279,  280,  281,  266,  271,
+      267,  282,  272,  283,  284,  285,  286,  273,  288,  274,
+      289,  290,  291,  292,  275,  276,  293,  277,  278,  294,
+      295,  279,  280,  281,  296,  297,  298,  282,  299,  283,
+      284,  285,  286,  300,  288,  301,  289,  290,  291,  292,
+      302,  303,  293,  304,  305,  294,  295,  306,  307,  308,
+
+      296,  297,  298,  309,  299,  310,  311,  312,  313,  300,
+      314,  301,  315,  316,  317,  318,  302,  303,  321,  304,
+      305,  322,  323,  306,  307,  308,  324,  325,  326,  309,
+      327,  310,  311,  312,  313,  328,  314,  329,  315,  316,
+      317,  318,  330,  331,  321,  332,  333,  322,  323,  335,
+      336,  337,  324,  325,  326,  338,  327,  339,  340,  334,
+      341,  328,  342,  329,  343,  344,  345,  346,  330,  331,
+      347,  332,  333,  348,  349,  335,  336,  337,  350,  351,
+      352,  338,  353,  339,  340,  334,  341,  354,  342,  355,
+      343,  344,  345,  346,  356,  357,  347,  359,  360,  348,
+
+      349,  361,  362,  363,  350,  351,  352,  365,  353,  366,
+      368,  369,  370,  354,  371,  355,  372,  373,  374,  375,
+      356,  357,  376,  359,  360,  377,  378,  361,  362,  363,
+      379,  380,  381,  365,  382,  366,  368,  369,  370,  383,
+      371,  384,  372,  373,  374,  375,  385,  386,  376,  390,
+      391,  377,  378,  387,  395,  396,  379,  380,  381,  388,
+      382,  397,  389,  401,  398,  383,  392,  384,  393,  402,
+      403,  399,  385,  386,  400,  390,  391,  394,  404,  387,
+      395,  396,  405,  406,  407,  388,  409,  397,  389,  401,
+      398,  410,  411,  412,  413,  402,  403,  399,  414,  419,
+
+      400,  420,  421,  392,  404,  393,  422,  423,  405,  406,
+      407,  424,  409,  425,  394,  426,  427,  410,  411,  412,
+      413,  428,  429,  430,  414,  419,  431,  420,  421,  432,
+      433,  434,  422,  423,  435,  436,  437,  424,  438,  425,
+      439,  426,  427,  440,  441,  442,  443,  428,  429,  430,
+      444,  445,  431,  446,  447,  432,  433,  434,  448,  449,
+      435,  436,  437,  450,  438,  451,  439,  452,  453,  440,
+      441,  442,  443,  454,  455,  456,  444,  445,  457,  446,
+      447,  458,  459,  460,  448,  449,  462,  463,  465,  450,
+      466,  451,  467,  452,  453,  468,  469,  470,  471,  454,
+
+      455,  456,  472,  473,  457,  474,  475,  458,  459,  460,
+      476,  477,  462,  463,  465,  478,  466,  479,  467,  480,
+      481,  468,  469,  470,  471,  482,  483,  484,  472,  473,
+      485,  474,  475,  486,  487,  488,  476,  477,  489,  490,
+      491,  478,  367,  479,  364,  480,  481,  358,  287,  219,
+      190,  482,  483,  484,  169,   37,  485,  101,   37,  486,
+      487,  488,  492,  492,  489,  490,  491,   34,   34,   39,
+       39,    5,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492
     } ;
 
-static const flex_int16_t yy_chk[1000] =
+static const flex_int16_t yy_chk[1038] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -699,29 +713,29 @@ static const flex_int16_t yy_chk[1000] =
         1,    1,    1,    1,    1,    3,    4,   11,    3,    4,
         9,    9,   12,   14,   12,   13,   13,   13,   13,   15,
        16,   18,   17,   20,   19,   30,   16,   19,   20,   15,
-       31,   14,   27,   11,   17,   39,   39,  476,   17,   14,
+       31,   14,   27,   11,   17,   39,   39,  498,   17,   14,
 
-      475,   27,   15,  270,  270,   15,   16,   18,   17,   20,
+      497,   27,   15,  271,  271,   15,   16,   18,   17,   20,
        19,   30,   16,   19,   20,   15,   31,   14,   27,   21,
        17,   21,   22,   21,   17,   22,   24,   27,   15,   22,
-       24,   22,  474,  472,   24,   25,  447,   33,   42,   24,
-      412,  119,   25,  119,   25,   21,   32,   21,   22,   21,
+       24,   22,  496,  494,   24,   25,  456,   33,   42,   24,
+      453,  119,   25,  119,   25,   21,   32,   21,   22,   21,
        32,   22,   24,   46,   47,   22,   24,   22,   23,   23,
        24,   25,   23,   33,   42,   24,   23,   28,   25,   28,
        25,   23,   32,   48,   49,   50,   32,   51,   28,   46,
-       47,   53,   28,   54,   23,   23,   52,   52,   23,  411,
-      410,  409,   23,   28,   55,   28,   56,   23,   26,   48,
+       47,   53,   28,   54,   23,   23,   52,   52,   23,  418,
+      417,  416,   23,   28,   55,   28,   56,   23,   26,   48,
 
        49,   50,   26,   51,   28,   57,   26,   53,   28,   54,
        59,   26,   52,   52,   26,   45,   45,   45,   45,   60,
-       55,   61,   56,  389,   26,  388,   62,   63,   26,   64,
-       65,   57,   26,   66,   67,   69,   59,   26,  375,   68,
+       55,   61,   56,  415,   26,  394,   62,   63,   26,   64,
+       65,   57,   26,   66,   67,   69,   59,   26,  393,   68,
        26,   29,   70,   71,   68,   60,   73,   61,   74,   29,
        75,   29,   62,   63,   72,   64,   65,   29,   76,   66,
        67,   69,   77,   72,   29,   68,   80,   29,   70,   71,
        68,   79,   73,   81,   74,   29,   75,   29,   79,   82,
        72,   83,   84,   29,   76,   79,   86,   87,   77,   72,
-       29,   89,   80,   90,  328,   91,   85,   79,   85,   81,
+       29,   89,   80,   90,  379,   91,   85,   79,   85,   81,
 
        92,   93,   94,   95,   79,   82,   88,   83,   84,   96,
        85,   79,   86,   87,   97,   98,   88,   89,   99,   90,
@@ -748,58 +762,62 @@ static const flex_int16_t yy_chk[1000] =
       182,  202,  203,  204,  206,  188,  207,  190,  208,  209,
       210,  211,  191,  192,  213,  193,  195,  214,  215,  197,
       198,  199,  212,  216,  212,  201,  217,  202,  203,  204,
-      206,  218,  207,  221,  208,  209,  210,  211,  222,  223,
+      206,  218,  207,  219,  208,  209,  210,  211,  222,  223,
       213,  224,  225,  214,  215,  226,  227,  228,  212,  216,
-      212,  229,  217,  231,  232,  233,  235,  218,  236,  221,
-      237,  238,  241,  242,  222,  223,  243,  224,  225,  244,
-      245,  226,  227,  228,  247,  248,  249,  229,  250,  231,
-      232,  233,  235,  251,  236,  252,  237,  238,  241,  242,
+      212,  229,  217,  230,  232,  233,  234,  218,  236,  219,
+      237,  238,  239,  242,  222,  223,  243,  224,  225,  244,
+      245,  226,  227,  228,  246,  248,  249,  229,  250,  230,
+      232,  233,  234,  251,  236,  252,  237,  238,  239,  242,
       253,  254,  243,  255,  256,  244,  245,  257,  258,  259,
 
-      247,  248,  249,  260,  250,  261,  262,  264,  265,  251,
-      266,  252,  267,  268,  269,  271,  253,  254,  272,  255,
-      256,  273,  276,  257,  258,  259,  278,  279,  280,  260,
-      281,  261,  262,  264,  265,  282,  266,  283,  267,  268,
-      269,  271,  284,  286,  272,  285,  287,  273,  276,  288,
-      290,  291,  278,  279,  280,  294,  281,  295,  285,  297,
-      298,  282,  300,  283,  301,  303,  304,  305,  284,  286,
-      306,  285,  287,  307,  308,  288,  290,  291,  309,  310,
-      312,  294,  313,  295,  285,  297,  298,  314,  300,  315,
-      301,  303,  304,  305,  320,  321,  306,  322,  323,  307,
-
-      308,  325,  326,  329,  309,  310,  312,  330,  313,  331,
+      246,  248,  249,  260,  250,  261,  262,  263,  265,  251,
+      266,  252,  267,  268,  269,  270,  253,  254,  272,  255,
+      256,  273,  274,  257,  258,  259,  275,  278,  280,  260,
+      281,  261,  262,  263,  265,  282,  266,  283,  267,  268,
+      269,  270,  284,  285,  272,  286,  287,  273,  274,  288,
+      289,  290,  275,  278,  280,  292,  281,  293,  296,  287,
+      297,  282,  299,  283,  300,  302,  303,  305,  284,  285,
+      306,  286,  287,  307,  308,  288,  289,  290,  309,  310,
+      311,  292,  312,  293,  296,  287,  297,  314,  299,  315,
+      300,  302,  303,  305,  316,  317,  306,  322,  323,  307,
+
+      308,  324,  325,  326,  309,  310,  311,  328,  312,  329,
       332,  333,  334,  314,  335,  315,  336,  337,  338,  339,
-      320,  321,  341,  322,  323,  342,  344,  325,  326,  329,
-      347,  348,  349,  330,  350,  331,  332,  333,  334,  354,
-      335,  355,  336,  337,  338,  339,  357,  355,  341,  360,
-      355,  342,  344,  359,  361,  359,  347,  348,  349,  362,
-      350,  363,  364,  365,  359,  354,  367,  355,  363,  368,
-      371,  363,  357,  355,  372,  360,  355,  374,  379,  381,
-      361,  383,  384,  385,  390,  362,  391,  363,  364,  365,
-      393,  387,  367,  387,  363,  368,  371,  363,  394,  395,
-
-      372,  397,  387,  374,  379,  381,  398,  383,  384,  385,
-      390,  399,  391,  403,  404,  405,  393,  407,  408,  413,
-      414,  415,  416,  417,  394,  395,  419,  397,  420,  421,
-      422,  423,  398,  424,  425,  426,  428,  399,  429,  403,
-      404,  405,  430,  407,  408,  413,  414,  415,  416,  417,
-      433,  435,  419,  437,  420,  421,  422,  423,  438,  424,
-      425,  426,  428,  439,  429,  440,  441,  442,  430,  443,
-      444,  445,  446,  448,  449,  450,  433,  435,  453,  437,
-      454,  455,  456,  457,  438,  458,  459,  461,  462,  439,
-      464,  440,  441,  442,  466,  443,  444,  445,  446,  448,
-
-      449,  450,  467,  324,  453,  319,  454,  455,  456,  457,
-      234,  458,  459,  461,  462,  126,  464,  105,   37,   36,
-      466,    7,    5,    0,    0,    0,    0,    0,  467,  471,
-      471,  473,  473,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470
-
+      316,  317,  340,  322,  323,  341,  342,  324,  325,  326,
+      344,  345,  347,  328,  350,  329,  332,  333,  334,  351,
+      335,  352,  336,  337,  338,  339,  353,  357,  340,  360,
+      361,  341,  342,  358,  364,  365,  344,  345,  347,  358,
+      350,  366,  358,  368,  367,  351,  363,  352,  363,  369,
+      371,  367,  353,  357,  367,  360,  361,  363,  372,  358,
+      364,  365,  375,  376,  378,  358,  383,  366,  358,  368,
+      367,  385,  387,  388,  389,  369,  371,  367,  390,  395,
+
+      367,  396,  398,  392,  372,  392,  399,  400,  375,  376,
+      378,  402,  383,  403,  392,  404,  408,  385,  387,  388,
+      389,  409,  410,  412,  390,  395,  413,  396,  398,  414,
+      419,  420,  399,  400,  421,  422,  423,  402,  425,  403,
+      426,  404,  408,  427,  428,  429,  430,  409,  410,  412,
+      431,  432,  413,  433,  435,  414,  419,  420,  436,  437,
+      421,  422,  423,  440,  425,  442,  426,  444,  445,  427,
+      428,  429,  430,  446,  447,  448,  431,  432,  449,  433,
+      435,  450,  451,  452,  436,  437,  454,  455,  457,  440,
+      458,  442,  459,  444,  445,  461,  463,  464,  465,  446,
+
+      447,  448,  466,  467,  449,  468,  469,  450,  451,  452,
+      470,  472,  454,  455,  457,  473,  458,  474,  459,  476,
+      478,  461,  463,  464,  465,  479,  480,  482,  466,  467,
+      484,  468,  469,  485,  486,  487,  470,  472,  488,  489,
+      490,  473,  331,  474,  327,  476,  478,  321,  235,  157,
+      126,  479,  480,  482,  105,   37,  484,   36,    7,  485,
+      486,  487,    5,    0,  488,  489,  490,  493,  493,  495,
+      495,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492,  492,  492,  492,
+      492,  492,  492,  492,  492,  492,  492
     } ;
 
 static yy_state_type yy_last_accepting_state;
@@ -891,8 +909,8 @@ conf_yy_fatal_error(const char *msg)
 {
   return 0;
 }
-#line 895 "config-lexer.c"
-#line 896 "config-lexer.c"
+#line 913 "config-lexer.c"
+#line 914 "config-lexer.c"
 
 #define INITIAL 0
 #define IN_COMMENT 1
@@ -1111,7 +1129,7 @@ YY_DECL
 #line 88 "config-lexer.l"
 
 
-#line 1115 "config-lexer.c"
+#line 1133 "config-lexer.c"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -1144,13 +1162,13 @@ yy_match:
                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                                {
                                yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 471 )
+                               if ( yy_current_state >= 493 )
                                        yy_c = yy_meta[yy_c];
                                }
                        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
                        ++yy_cp;
                        }
-               while ( yy_current_state != 470 );
+               while ( yy_current_state != 492 );
                yy_cp = (yy_last_accepting_cpos);
                yy_current_state = (yy_last_accepting_state);
 
@@ -1524,27 +1542,27 @@ YY_RULE_SETUP
 case 62:
 YY_RULE_SETUP
 #line 193 "config-lexer.l"
-{ return TYPE;         }
+{ return TLS_HOSTNAME_VERIFICATION; }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
 #line 194 "config-lexer.l"
-{ return USER;         }
+{ return TYPE;         }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
 #line 195 "config-lexer.l"
-{ return USERNAME;     }
+{ return USER;         }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
 #line 196 "config-lexer.l"
-{ return VHOST;        }
+{ return USERNAME;     }
        YY_BREAK
 case 66:
 YY_RULE_SETUP
-#line 198 "config-lexer.l"
-{ return YEARS; }
+#line 197 "config-lexer.l"
+{ return VHOST;        }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
@@ -1554,7 +1572,7 @@ YY_RULE_SETUP
 case 68:
 YY_RULE_SETUP
 #line 200 "config-lexer.l"
-{ return MONTHS; }
+{ return YEARS; }
        YY_BREAK
 case 69:
 YY_RULE_SETUP
@@ -1564,7 +1582,7 @@ YY_RULE_SETUP
 case 70:
 YY_RULE_SETUP
 #line 202 "config-lexer.l"
-{ return WEEKS; }
+{ return MONTHS; }
        YY_BREAK
 case 71:
 YY_RULE_SETUP
@@ -1574,7 +1592,7 @@ YY_RULE_SETUP
 case 72:
 YY_RULE_SETUP
 #line 204 "config-lexer.l"
-{ return DAYS; }
+{ return WEEKS; }
        YY_BREAK
 case 73:
 YY_RULE_SETUP
@@ -1584,7 +1602,7 @@ YY_RULE_SETUP
 case 74:
 YY_RULE_SETUP
 #line 206 "config-lexer.l"
-{ return HOURS; }
+{ return DAYS; }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
@@ -1594,7 +1612,7 @@ YY_RULE_SETUP
 case 76:
 YY_RULE_SETUP
 #line 208 "config-lexer.l"
-{ return MINUTES; }
+{ return HOURS; }
        YY_BREAK
 case 77:
 YY_RULE_SETUP
@@ -1604,7 +1622,7 @@ YY_RULE_SETUP
 case 78:
 YY_RULE_SETUP
 #line 210 "config-lexer.l"
-{ return SECONDS; }
+{ return MINUTES; }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
@@ -1613,8 +1631,8 @@ YY_RULE_SETUP
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 213 "config-lexer.l"
-{ return BYTES; }
+#line 212 "config-lexer.l"
+{ return SECONDS; }
        YY_BREAK
 case 81:
 YY_RULE_SETUP
@@ -1624,7 +1642,7 @@ YY_RULE_SETUP
 case 82:
 YY_RULE_SETUP
 #line 215 "config-lexer.l"
-{ return KBYTES; }
+{ return BYTES; }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
@@ -1649,7 +1667,7 @@ YY_RULE_SETUP
 case 87:
 YY_RULE_SETUP
 #line 220 "config-lexer.l"
-{ return MBYTES; }
+{ return KBYTES; }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
@@ -1673,147 +1691,152 @@ YY_RULE_SETUP
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 226 "config-lexer.l"
+#line 225 "config-lexer.l"
+{ return MBYTES; }
+       YY_BREAK
+case 93:
+YY_RULE_SETUP
+#line 227 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_HTTP;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 93:
+case 94:
 YY_RULE_SETUP
-#line 231 "config-lexer.l"
+#line 232 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_HTTPPOST;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 94:
+case 95:
 YY_RULE_SETUP
-#line 236 "config-lexer.l"
+#line 237 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_HTTPS;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 95:
+case 96:
 YY_RULE_SETUP
-#line 241 "config-lexer.l"
+#line 242 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_HTTPSPOST;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 96:
+case 97:
 YY_RULE_SETUP
-#line 246 "config-lexer.l"
+#line 247 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_SOCKS4;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 97:
+case 98:
 YY_RULE_SETUP
-#line 251 "config-lexer.l"
+#line 252 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_SOCKS5;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 98:
+case 99:
 YY_RULE_SETUP
-#line 256 "config-lexer.l"
+#line 257 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_WINGATE;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 99:
+case 100:
 YY_RULE_SETUP
-#line 261 "config-lexer.l"
+#line 262 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_ROUTER;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 100:
+case 101:
 YY_RULE_SETUP
-#line 266 "config-lexer.l"
+#line 267 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_DREAMBOX;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 101:
+case 102:
 YY_RULE_SETUP
-#line 272 "config-lexer.l"
+#line 273 "config-lexer.l"
 {
                           yylval.number = OPM_TYPE_SSH;
                           return PROTOCOLTYPE;
                         }
        YY_BREAK
-case 102:
+case 103:
 YY_RULE_SETUP
-#line 277 "config-lexer.l"
+#line 278 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
                          }
        YY_BREAK
-case 103:
+case 104:
 YY_RULE_SETUP
-#line 281 "config-lexer.l"
+#line 282 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
                          }
        YY_BREAK
-case 104:
+case 105:
 YY_RULE_SETUP
-#line 285 "config-lexer.l"
+#line 286 "config-lexer.l"
 {
                            yylval.number=1;
                            return NUMBER;
                          }
        YY_BREAK
-case 105:
+case 106:
 YY_RULE_SETUP
-#line 292 "config-lexer.l"
+#line 293 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
                          }
        YY_BREAK
-case 106:
+case 107:
 YY_RULE_SETUP
-#line 297 "config-lexer.l"
+#line 298 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
                          }
        YY_BREAK
-case 107:
+case 108:
 YY_RULE_SETUP
-#line 302 "config-lexer.l"
+#line 303 "config-lexer.l"
 {
                            yylval.number=0;
                            return NUMBER;
                          }
        YY_BREAK
-case 108:
+case 109:
 YY_RULE_SETUP
-#line 307 "config-lexer.l"
+#line 308 "config-lexer.l"
 { return yytext[0]; }
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 308 "config-lexer.l"
+#line 309 "config-lexer.l"
 { if (conf_eof()) yyterminate(); }
        YY_BREAK
-case 109:
+case 110:
 YY_RULE_SETUP
-#line 310 "config-lexer.l"
+#line 311 "config-lexer.l"
 ECHO;
        YY_BREAK
-#line 1817 "config-lexer.c"
+#line 1840 "config-lexer.c"
 
        case YY_END_OF_BUFFER:
                {
@@ -2109,7 +2132,7 @@ static int yy_get_next_buffer (void)
                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                        {
                        yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 471 )
+                       if ( yy_current_state >= 493 )
                                yy_c = yy_meta[yy_c];
                        }
                yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
@@ -2137,11 +2160,11 @@ static int yy_get_next_buffer (void)
        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                {
                yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 471 )
+               if ( yy_current_state >= 493 )
                        yy_c = yy_meta[yy_c];
                }
        yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
-       yy_is_jam = (yy_current_state == 470);
+       yy_is_jam = (yy_current_state == 492);
 
                return yy_is_jam ? 0 : yy_current_state;
 }
@@ -2780,7 +2803,7 @@ void yyfree (void * ptr )
 
 #define YYTABLES_NAME "yytables"
 
-#line 310 "config-lexer.l"
+#line 311 "config-lexer.l"
 
 
 static void
index ca711a55f5b2389fdcb564a7656505c0719eb74b..221da4b872bb59db35f364ebe09815160223898c 100644 (file)
@@ -177,13 +177,14 @@ extern int yydebug;
     TARGET_STRING = 316,
     TIMEOUT = 317,
     TLS = 318,
-    TYPE = 319,
-    USERNAME = 320,
-    USER = 321,
-    VHOST = 322,
-    NUMBER = 323,
-    STRING = 324,
-    PROTOCOLTYPE = 325
+    TLS_HOSTNAME_VERIFICATION = 319,
+    TYPE = 320,
+    USERNAME = 321,
+    USER = 322,
+    VHOST = 323,
+    NUMBER = 324,
+    STRING = 325,
+    PROTOCOLTYPE = 326
   };
 #endif
 /* Tokens.  */
@@ -248,25 +249,26 @@ extern int yydebug;
 #define TARGET_STRING 316
 #define TIMEOUT 317
 #define TLS 318
-#define TYPE 319
-#define USERNAME 320
-#define USER 321
-#define VHOST 322
-#define NUMBER 323
-#define STRING 324
-#define PROTOCOLTYPE 325
+#define TLS_HOSTNAME_VERIFICATION 319
+#define TYPE 320
+#define USERNAME 321
+#define USER 322
+#define VHOST 323
+#define NUMBER 324
+#define STRING 325
+#define PROTOCOLTYPE 326
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 
 union YYSTYPE
 {
-#line 92 "config-parser.y" /* yacc.c:352  */
+#line 93 "config-parser.y" /* yacc.c:352  */
 
   int number;
   char *string;
 
-#line 270 "config-parser.c" /* yacc.c:352  */
+#line 272 "config-parser.c" /* yacc.c:352  */
 };
 
 typedef union YYSTYPE YYSTYPE;
@@ -517,16 +519,16 @@ union yyalloc
 #define YYLAST   355
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  77
+#define YYNTOKENS  78
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  91
+#define YYNNTS  92
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  172
+#define YYNRULES  174
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  375
+#define YYNSTATES  380
 
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   325
+#define YYMAXUTOK   326
 
 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
    as returned by yylex, with out-of-bounds checking.  */
@@ -541,15 +543,15 @@ static const yytype_uint8 yytranslate[] =
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,    76,     2,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    75,    73,
-       2,    74,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,    77,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    76,    74,
+       2,    75,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    71,     2,    72,     2,     2,     2,     2,
+       2,     2,     2,    72,     2,    73,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -569,31 +571,31 @@ static const yytype_uint8 yytranslate[] =
       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
+      65,    66,    67,    68,    69,    70,    71
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   107,   107,   108,   111,   112,   113,   114,   115,   116,
-     118,   118,   119,   120,   121,   122,   123,   124,   125,   126,
-     129,   129,   130,   131,   132,   133,   138,   140,   141,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   154,
-     159,   164,   170,   175,   180,   186,   191,   196,   203,   205,
-     206,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   229,   235,   241,   247,   253,   259,   265,   271,   276,
-     281,   286,   291,   296,   301,   307,   313,   319,   325,   334,
-     334,   347,   348,   350,   351,   352,   354,   362,   370,   381,
-     381,   391,   392,   394,   395,   396,   398,   405,   415,   415,
-     450,   451,   453,   454,   455,   456,   457,   458,   459,   460,
-     461,   462,   464,   472,   480,   488,   501,   508,   515,   522,
-     529,   545,   547,   548,   550,   551,   552,   553,   554,   556,
-     562,   568,   577,   577,   593,   594,   596,   597,   598,   599,
-     600,   601,   602,   604,   613,   612,   620,   620,   621,   626,
-     633,   641,   653,   660,   662,   663,   665,   679,   681,   682,
-     684,   685,   687
+       0,   108,   108,   109,   112,   113,   114,   115,   116,   117,
+     119,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     130,   130,   131,   132,   133,   134,   139,   141,   142,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   155,
+     160,   165,   171,   176,   181,   187,   192,   197,   204,   206,
+     207,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   231,   237,   243,   249,   255,   261,   267,   273,
+     278,   283,   288,   293,   298,   303,   308,   314,   320,   326,
+     332,   341,   341,   354,   355,   357,   358,   359,   361,   369,
+     377,   388,   388,   398,   399,   401,   402,   403,   405,   412,
+     422,   422,   457,   458,   460,   461,   462,   463,   464,   465,
+     466,   467,   468,   469,   471,   479,   487,   495,   508,   515,
+     522,   529,   536,   552,   554,   555,   557,   558,   559,   560,
+     561,   563,   569,   575,   584,   584,   600,   601,   603,   604,
+     605,   606,   607,   608,   609,   611,   620,   619,   627,   627,
+     628,   633,   640,   648,   660,   667,   669,   670,   672,   686,
+     688,   689,   691,   692,   694
 };
 #endif
 
@@ -612,32 +614,32 @@ static const char *const yytname[] =
   "PROTOCOL", "READTIMEOUT", "REALNAME", "RECONNECTINTERVAL", "REPLY",
   "SCANLOG", "SCANNER", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
   "MONTHS", "YEARS", "SENDMAIL", "SERVER", "TARGET_IP", "TARGET_PORT",
-  "TARGET_STRING", "TIMEOUT", "TLS", "TYPE", "USERNAME", "USER", "VHOST",
-  "NUMBER", "STRING", "PROTOCOLTYPE", "'{'", "'}'", "';'", "'='", "':'",
-  "','", "$accept", "config", "config_items", "timespec_", "timespec",
-  "sizespec_", "sizespec", "options_entry", "options_items",
-  "options_item", "options_negcache", "options_negcache_rebuild",
-  "options_pidfile", "options_dns_fdlimit", "options_dns_timeout",
-  "options_scanlog", "options_command_queue_size",
+  "TARGET_STRING", "TIMEOUT", "TLS", "TLS_HOSTNAME_VERIFICATION", "TYPE",
+  "USERNAME", "USER", "VHOST", "NUMBER", "STRING", "PROTOCOLTYPE", "'{'",
+  "'}'", "';'", "'='", "':'", "','", "$accept", "config", "config_items",
+  "timespec_", "timespec", "sizespec_", "sizespec", "options_entry",
+  "options_items", "options_item", "options_negcache",
+  "options_negcache_rebuild", "options_pidfile", "options_dns_fdlimit",
+  "options_dns_timeout", "options_scanlog", "options_command_queue_size",
   "options_command_interval", "options_command_timeout", "irc_entry",
   "irc_items", "irc_item", "irc_away", "irc_kline", "irc_mode", "irc_nick",
   "irc_nickserv", "irc_oper", "irc_password", "irc_perform", "irc_notice",
-  "irc_port", "irc_tls", "irc_readtimeout", "irc_reconnectinterval",
-  "irc_realname", "irc_server", "irc_username", "irc_vhost",
-  "irc_connregex", "channel_entry", "$@1", "channel_items", "channel_item",
-  "channel_name", "channel_key", "channel_invite", "user_entry", "$@2",
-  "user_items", "user_item", "user_mask", "user_scanner", "scanner_entry",
-  "$@3", "scanner_items", "scanner_item", "scanner_name", "scanner_vhost",
-  "scanner_target_ip", "scanner_target_string", "scanner_fd",
-  "scanner_target_port", "scanner_timeout", "scanner_max_read",
-  "scanner_protocol", "opm_entry", "opm_items", "opm_item",
-  "opm_dnsbl_from", "opm_dnsbl_to", "opm_sendmail", "opm_blacklist_entry",
-  "$@4", "blacklist_items", "blacklist_item", "blacklist_name",
-  "blacklist_address_family", "$@5", "blacklist_address_family_items",
-  "blacklist_address_family_item", "blacklist_kline", "blacklist_type",
-  "blacklist_ban_unknown", "blacklist_reply", "blacklist_reply_items",
-  "blacklist_reply_item", "exempt_entry", "exempt_items", "exempt_item",
-  "exempt_mask", YY_NULLPTR
+  "irc_port", "irc_tls", "irc_tls_hostname_verification",
+  "irc_readtimeout", "irc_reconnectinterval", "irc_realname", "irc_server",
+  "irc_username", "irc_vhost", "irc_connregex", "channel_entry", "$@1",
+  "channel_items", "channel_item", "channel_name", "channel_key",
+  "channel_invite", "user_entry", "$@2", "user_items", "user_item",
+  "user_mask", "user_scanner", "scanner_entry", "$@3", "scanner_items",
+  "scanner_item", "scanner_name", "scanner_vhost", "scanner_target_ip",
+  "scanner_target_string", "scanner_fd", "scanner_target_port",
+  "scanner_timeout", "scanner_max_read", "scanner_protocol", "opm_entry",
+  "opm_items", "opm_item", "opm_dnsbl_from", "opm_dnsbl_to",
+  "opm_sendmail", "opm_blacklist_entry", "$@4", "blacklist_items",
+  "blacklist_item", "blacklist_name", "blacklist_address_family", "$@5",
+  "blacklist_address_family_items", "blacklist_address_family_item",
+  "blacklist_kline", "blacklist_type", "blacklist_ban_unknown",
+  "blacklist_reply", "blacklist_reply_items", "blacklist_reply_item",
+  "exempt_entry", "exempt_items", "exempt_item", "exempt_mask", YY_NULLPTR
 };
 #endif
 
@@ -653,16 +655,16 @@ static const yytype_uint16 yytoknum[] =
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
-     325,   123,   125,    59,    61,    58,    44
+     325,   326,   123,   125,    59,    61,    58,    44
 };
 # endif
 
-#define YYPACT_NINF -244
+#define YYPACT_NINF -304
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-244)))
+  (!!((Yystate) == (-304)))
 
-#define YYTABLE_NINF -143
+#define YYTABLE_NINF -145
 
 #define yytable_value_is_error(Yytable_value) \
   0
@@ -671,44 +673,44 @@ static const yytype_uint16 yytoknum[] =
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-    -244,   157,  -244,   -56,   -52,   -45,   -44,  -244,  -244,  -244,
-    -244,   -36,  -244,    -6,  -244,  -244,    10,   104,   109,   176,
-     -30,   -20,  -244,   -18,     4,  -244,  -244,  -244,   -10,    22,
-      24,    28,    29,    33,    39,    42,    45,    49,    50,    51,
-      57,    58,    62,    67,    81,    87,     0,  -244,  -244,  -244,
-    -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-    -244,  -244,  -244,  -244,  -244,  -244,  -244,    56,  -244,    89,
-      90,    91,    73,  -244,  -244,  -244,  -244,  -244,    78,  -244,
-      94,    96,    98,    99,   100,   101,   105,   108,   110,    37,
-    -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-      79,    92,   114,    38,  -244,   117,   121,   124,   127,   128,
-     129,   130,   131,   132,   134,   136,   137,   147,   137,   149,
-     152,   153,   154,    74,  -244,   107,   156,   166,   167,   148,
-    -244,   168,   137,   158,   137,   169,   137,   137,   137,   171,
-     172,   165,  -244,  -244,   170,   173,     5,  -244,  -244,  -244,
-    -244,   174,   175,   177,   178,   179,   180,   181,   182,   183,
-      27,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-    -244,   185,  -244,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   196,   159,   197,   198,   199,   200,   201,
-     202,   203,  -244,    71,   204,   205,   206,  -244,   155,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,  -244,   220,
-     221,   218,  -244,   224,   225,   226,   227,   229,   228,   230,
-     137,   231,   232,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-    -244,  -244,  -244,  -244,  -244,  -244,   137,   137,   137,   137,
-     137,   137,   137,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-    -244,  -244,   233,   234,   235,   -13,  -244,  -244,  -244,  -244,
-    -244,  -244,  -244,  -244,  -244,   236,   237,   238,   223,   239,
-      70,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-    -244,  -244,  -244,  -244,  -244,  -244,  -244,   241,   242,  -244,
-     243,    53,   244,   245,   246,   247,   249,   250,   251,   252,
-    -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,   257,   258,
-     259,   256,  -244,   260,   262,   263,   264,   267,   268,   265,
-    -244,  -244,  -244,  -244,   225,   225,   225,  -244,  -244,  -244,
-    -244,   271,  -244,  -244,  -244,  -244,  -244,   269,   270,   272,
-    -244,     1,   273,   274,   275,   266,   -65,  -244,   276,  -244,
-    -244,  -244,  -244,   277,  -244,  -244,  -244,  -244,  -244,   -64,
-    -244,  -244,  -244,  -244,   282,   279,  -244,  -244,  -244,  -244,
-       1,   280,  -244,  -244,  -244
+    -304,   164,  -304,   -65,   -56,   -52,   -48,  -304,  -304,  -304,
+    -304,   -37,  -304,    -6,  -304,  -304,    10,   123,    83,   183,
+     -23,   -22,  -304,   -13,     4,  -304,  -304,  -304,    -5,     1,
+       7,    11,    17,    18,    20,    27,    28,    29,    33,    34,
+      36,    39,    41,    43,    47,    50,    51,     0,  -304,  -304,
+    -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
+    -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,    59,
+    -304,    56,    60,    61,    73,  -304,  -304,  -304,  -304,  -304,
+      69,  -304,    63,    66,    68,    70,    74,    75,    78,    79,
+      85,    40,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
+    -304,  -304,    93,   150,    64,    92,  -304,   101,   103,   104,
+     106,   107,   112,   115,   120,   122,   127,   131,   134,   135,
+     134,   136,   138,   139,   146,   147,    98,  -304,   132,   149,
+     151,   152,   153,  -304,   148,   134,   154,   134,   156,   134,
+     134,   134,   158,   159,   172,  -304,  -304,   155,   173,     5,
+    -304,  -304,  -304,  -304,   174,   175,   177,   178,   179,   180,
+     181,   184,   185,    37,  -304,  -304,  -304,  -304,  -304,  -304,
+    -304,  -304,  -304,  -304,   187,  -304,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   182,   199,   200,
+     201,   202,   203,   204,   205,   206,  -304,   -18,   207,   208,
+     209,  -304,   114,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,  -304,   223,   224,   221,  -304,   157,   227,   228,
+     176,   229,   231,   232,   134,   233,   230,  -304,  -304,  -304,
+    -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
+     134,   134,   134,   134,   134,   134,   134,  -304,  -304,  -304,
+    -304,  -304,  -304,  -304,  -304,  -304,  -304,   222,   226,   234,
+     102,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
+     235,   236,   237,   186,   238,    82,  -304,  -304,  -304,  -304,
+    -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
+    -304,  -304,   240,   241,  -304,   242,    52,   243,   244,   245,
+     246,   248,   249,   250,   251,  -304,  -304,  -304,  -304,  -304,
+    -304,  -304,  -304,   256,   257,   258,   255,  -304,   259,   239,
+     260,   261,   263,   265,   262,  -304,  -304,  -304,  -304,   227,
+     227,   227,  -304,  -304,  -304,  -304,   264,  -304,  -304,  -304,
+    -304,  -304,   266,   267,   268,  -304,    25,   269,   270,   271,
+     272,   -60,  -304,   274,  -304,  -304,  -304,  -304,   275,  -304,
+    -304,  -304,  -304,  -304,   -59,  -304,  -304,  -304,  -304,   276,
+     277,  -304,  -304,  -304,  -304,    25,   278,  -304,  -304,  -304
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -716,74 +718,74 @@ static const yytype_int16 yypact[] =
      means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       2,    99,     1,     0,     0,     0,     0,     3,     5,     4,
+       2,   101,     1,     0,     0,     0,     0,     3,     5,     4,
        7,     0,     8,     0,     6,     9,     0,     0,     0,     0,
-       0,     0,   171,     0,     0,   169,   170,    70,     0,     0,
+       0,     0,   173,     0,     0,   171,   172,    71,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    50,    51,    53,
-      56,    54,    55,    57,    58,    67,    68,    59,    60,    61,
-      62,    63,    64,    65,    66,    52,    69,     0,   138,     0,
-       0,     0,     0,   133,   134,   135,   136,   137,     0,    38,
+       0,     0,     0,     0,     0,     0,     0,     0,    50,    51,
+      53,    56,    54,    55,    57,    58,    68,    69,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    52,    70,     0,
+     140,     0,     0,     0,     0,   135,   136,   137,   138,   139,
+       0,    38,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,     0,     0,     0,     0,   170,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-       0,     0,     0,     0,   168,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    49,     0,     0,     0,     0,     0,
-     132,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    27,   105,     0,     0,     0,   102,   103,   104,
-     121,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   111,   112,   113,   115,   117,   114,   116,   119,   120,
-     118,     0,   167,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    10,     0,     0,     0,     0,     0,
-       0,     0,    48,     0,     0,     0,     0,   131,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    26,     0,
-       0,     0,   101,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   110,   172,    71,    88,    72,    73,    74,
-      75,    79,    76,    77,    78,    80,    10,    10,    10,    10,
-      10,    10,    10,    12,    11,    82,    84,    83,    85,    81,
-      86,    87,     0,     0,     0,     0,    92,    93,    94,    95,
-     139,   140,   141,   152,   154,     0,     0,     0,     0,     0,
-       0,   145,   146,   147,   149,   148,   150,   151,    46,    45,
-      47,    42,    43,    39,    40,    41,    44,     0,     0,   100,
-       0,    20,     0,     0,     0,     0,     0,     0,     0,     0,
-     109,    13,    14,    15,    16,    17,    18,    19,     0,     0,
-       0,     0,    91,     0,     0,     0,     0,     0,     0,     0,
-     144,   106,   107,   126,    20,    20,    20,    22,    21,   129,
-     122,     0,   124,   127,   125,   128,   123,     0,     0,     0,
-      90,     0,     0,     0,     0,     0,     0,   165,     0,   143,
-      23,    24,    25,     0,    98,    97,    96,   158,   159,     0,
-     157,   162,   160,   153,     0,     0,   164,   161,   130,   155,
-       0,     0,   163,   156,   166
+       0,     0,     0,     0,     0,     0,     0,    49,     0,     0,
+       0,     0,     0,   134,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    27,   107,     0,     0,     0,
+     104,   105,   106,   123,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   113,   114,   115,   117,   119,   116,
+     118,   121,   122,   120,     0,   169,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    10,     0,     0,
+       0,     0,     0,     0,     0,     0,    48,     0,     0,     0,
+       0,   133,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    26,     0,     0,     0,   103,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   112,   174,    72,
+      90,    73,    74,    75,    76,    80,    77,    78,    79,    81,
+      10,    10,    10,    10,    10,    10,    10,    12,    11,    84,
+      86,    85,    87,    82,    83,    88,    89,     0,     0,     0,
+       0,    94,    95,    96,    97,   141,   142,   143,   154,   156,
+       0,     0,     0,     0,     0,     0,   147,   148,   149,   151,
+     150,   152,   153,    46,    45,    47,    42,    43,    39,    40,
+      41,    44,     0,     0,   102,     0,    20,     0,     0,     0,
+       0,     0,     0,     0,     0,   111,    13,    14,    15,    16,
+      17,    18,    19,     0,     0,     0,     0,    93,     0,     0,
+       0,     0,     0,     0,     0,   146,   108,   109,   128,    20,
+      20,    20,    22,    21,   131,   124,     0,   126,   129,   127,
+     130,   125,     0,     0,     0,    92,     0,     0,     0,     0,
+       0,     0,   167,     0,   145,    23,    24,    25,     0,   100,
+      99,    98,   160,   161,     0,   159,   164,   162,   155,     0,
+       0,   166,   163,   132,   157,     0,     0,   165,   158,   168
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -244,  -244,  -244,    -8,  -116,  -243,    31,  -244,  -244,   161,
-    -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-    -244,   255,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-    -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,
-    -244,  -244,  -244,   -12,  -244,  -244,  -244,  -244,  -244,  -244,
-     160,  -244,  -244,  -244,  -244,  -244,    82,  -244,  -244,  -244,
-    -244,  -244,  -244,  -244,  -244,  -244,  -244,  -244,   283,  -244,
-    -244,  -244,  -244,  -244,  -244,   -24,  -244,  -244,  -244,  -244,
-     -68,  -244,  -244,  -244,  -244,  -244,   -43,  -244,  -244,   295,
-    -244
+    -304,  -304,  -304,    -1,  -118,  -303,    87,  -304,  -304,   166,
+    -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
+    -304,   290,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
+    -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,
+    -304,  -304,  -304,  -304,    46,  -304,  -304,  -304,  -304,  -304,
+    -304,   170,  -304,  -304,  -304,  -304,  -304,   144,  -304,  -304,
+    -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,  -304,   279,
+    -304,  -304,  -304,  -304,  -304,  -304,    80,  -304,  -304,  -304,
+    -304,   -36,  -304,  -304,  -304,  -304,  -304,     3,  -304,  -304,
+     314,  -304
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,     7,   243,   244,   327,   328,     8,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,     9,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,   255,   256,   257,   258,   259,    10,    11,   146,
-     147,   148,   149,    12,    13,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,   170,    14,    72,    73,    74,
-      75,    76,    77,    78,   270,   271,   272,   273,   313,   359,
-     360,   274,   275,   276,   277,   346,   347,    15,    24,    25,
-      26
+      -1,     1,     7,   247,   248,   332,   333,     8,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,     9,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,   260,   261,   262,   263,   264,    10,    11,
+     149,   150,   151,   152,    12,    13,   163,   164,   165,   166,
+     167,   168,   169,   170,   171,   172,   173,    14,    74,    75,
+      76,    77,    78,    79,    80,   275,   276,   277,   278,   318,
+     364,   365,   279,   280,   281,   282,   351,   352,    15,    24,
+      25,    26
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -791,149 +793,149 @@ static const yytype_int16 yydefgoto[] =
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     185,    27,   187,   345,    28,    22,   143,   365,   252,   369,
-     -89,    22,   370,   253,    29,    16,   199,   254,   201,    17,
-     203,   204,   205,   357,   358,    30,    18,    19,   150,    31,
-      20,    23,   144,    32,    33,    34,    35,    23,    79,    36,
-      37,   100,    38,    21,    39,    40,    41,   151,    80,    81,
-      82,   101,    83,    84,   145,   152,   102,   153,    42,   311,
-     324,   325,   326,    43,   105,    44,   125,    45,    85,    86,
-     154,   263,   123,   264,    68,   265,   103,   211,    87,  -142,
-     143,   350,   351,   352,   131,    88,   155,   156,   157,   158,
-      69,    70,   252,   150,   159,   266,   106,   253,   107,   222,
-     267,   254,   108,   109,   298,    27,   144,   110,    28,   141,
-      68,   172,   151,   111,   -89,  -142,   112,   268,    29,   113,
-     152,   291,   153,   114,   115,   116,    69,    70,   145,    30,
-      71,   117,   118,    31,   269,   154,   119,    32,    33,    34,
-      35,   120,   319,    36,    37,   129,    38,   192,    39,    40,
-      41,   155,   156,   157,   158,   121,   263,     2,   264,   159,
-     265,   122,    42,   126,   127,   128,    71,    43,   132,    44,
-     133,    45,   134,   135,   136,   137,     3,    79,   193,   138,
-     266,     4,   139,   171,   140,   267,   173,    80,    81,    82,
-     174,    83,    84,   175,     5,     6,   176,   177,   178,   179,
-     180,   181,   268,   182,   183,   184,  -108,    85,    86,   236,
-     237,   238,   239,   240,   241,   242,   186,    87,   188,   269,
-     189,   197,   190,   191,    88,   194,   200,   184,   301,   302,
-     303,   304,   305,   306,   307,   195,   196,   202,   208,   198,
-     206,   207,   223,   312,   209,   292,   320,   210,   213,   214,
-     142,   215,   216,   217,   218,   219,   220,   221,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     245,   246,   247,   248,   249,   250,   251,   260,   261,   262,
-     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
-     288,   289,   290,   291,   317,   293,   296,   294,   295,   297,
-     299,   124,   373,   366,     0,   300,   212,   308,   309,   310,
-     314,   315,   316,   318,   321,   322,   323,   329,   330,   104,
-     332,   331,   333,   334,   335,   336,   337,   338,   339,   340,
-     342,     0,   343,   344,   341,   345,     0,   348,   349,   353,
-     364,     0,   354,   355,     0,   356,   361,   362,   363,   367,
-     368,   371,   372,   374,     0,   130
+     188,    27,   190,   257,    28,    22,   146,    16,   258,   350,
+     -91,    22,   259,   370,    29,   374,    17,   203,   375,   205,
+      18,   207,   208,   209,    19,    30,   355,   356,   357,    31,
+      20,    23,   147,    32,    33,    34,    35,    23,   153,    36,
+      37,    81,    38,    21,    39,    40,    41,   362,   363,   102,
+     103,    82,    83,    84,   148,    85,    86,   154,    42,   329,
+     330,   331,   104,    43,    44,   155,    45,   156,    46,   128,
+     107,    87,    88,   126,    70,   134,   108,   105,   215,  -144,
+     157,    89,   109,   268,    70,   269,   110,   270,    90,  -144,
+      71,    72,   111,   112,   146,   113,   158,   159,   160,   161,
+      71,    72,   114,   115,   116,   162,   303,   271,   117,   118,
+     226,   119,   272,   144,   120,   268,   121,   269,   122,   270,
+     147,   296,   123,   257,    27,   124,   125,    28,   258,   273,
+      73,   129,   259,   -91,   174,   130,   131,    29,   135,   271,
+      73,   136,   148,   137,   272,   138,   132,   274,    30,   139,
+     140,   153,    31,   141,   142,   324,    32,    33,    34,    35,
+     143,   273,    36,    37,     2,    38,   175,    39,    40,    41,
+     154,   176,   196,   177,   178,   316,   179,   180,   155,   274,
+     156,    42,   181,     3,    81,   182,    43,    44,     4,    45,
+     183,    46,   184,   157,    82,    83,    84,   185,    85,    86,
+     186,     5,     6,   187,   197,   189,   191,   192,   193,   158,
+     159,   160,   161,  -110,    87,    88,   194,   195,   162,   198,
+     202,   199,   200,   204,    89,   206,   295,   201,   210,   211,
+     213,    90,   240,   241,   242,   243,   244,   245,   246,   306,
+     307,   308,   309,   310,   311,   312,   212,   299,   214,   217,
+     218,   187,   219,   220,   221,   222,   223,   145,   322,   224,
+     225,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   249,   250,   251,   252,   253,   254,   255,
+     256,   265,   266,   267,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   296,   313,   298,   300,
+     301,   314,   302,   304,   305,   297,   317,   227,   347,   315,
+     319,   320,   321,   323,   326,   327,   328,   334,   335,   216,
+     337,   336,   338,   339,   340,   341,   342,   343,   344,   345,
+     348,   349,   350,   358,   346,   353,   354,   127,   106,   378,
+     359,   360,   361,   366,   367,   368,   376,   369,   372,   373,
+       0,   377,   379,   133,   371,   325
 };
 
 static const yytype_int16 yycheck[] =
 {
-     116,     1,   118,    68,     4,     1,     1,    72,    21,    73,
-      10,     1,    76,    26,    14,    71,   132,    30,   134,    71,
-     136,   137,   138,    22,    23,    25,    71,    71,     1,    29,
-      66,    27,    27,    33,    34,    35,    36,    27,     1,    39,
-      40,    71,    42,    49,    44,    45,    46,    20,    11,    12,
-      13,    71,    15,    16,    49,    28,    74,    30,    58,    72,
-       7,     8,     9,    63,    74,    65,    10,    67,    31,    32,
-      43,     1,    72,     3,     1,     5,    72,    72,    41,     6,
-       1,   324,   325,   326,     6,    48,    59,    60,    61,    62,
-      17,    18,    21,     1,    67,    25,    74,    26,    74,    72,
-      30,    30,    74,    74,   220,     1,    27,    74,     4,    72,
-       1,    73,    20,    74,    10,     6,    74,    47,    14,    74,
-      28,    68,    30,    74,    74,    74,    17,    18,    49,    25,
-      57,    74,    74,    29,    64,    43,    74,    33,    34,    35,
-      36,    74,    72,    39,    40,    72,    42,    73,    44,    45,
-      46,    59,    60,    61,    62,    74,     1,     0,     3,    67,
-       5,    74,    58,    74,    74,    74,    57,    63,    74,    65,
-      74,    67,    74,    74,    74,    74,    19,     1,    71,    74,
-      25,    24,    74,    69,    74,    30,    69,    11,    12,    13,
-      69,    15,    16,    69,    37,    38,    69,    69,    69,    69,
-      69,    69,    47,    69,    68,    68,    49,    31,    32,    50,
-      51,    52,    53,    54,    55,    56,    69,    41,    69,    64,
-      68,    73,    69,    69,    48,    69,    68,    68,   236,   237,
-     238,   239,   240,   241,   242,    69,    69,    68,    73,    71,
-      69,    69,   160,   255,    74,   214,   270,    74,    74,    74,
-      89,    74,    74,    74,    74,    74,    74,    74,    73,    73,
-      73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
-      73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
-      73,    73,    73,    73,    73,    73,    73,    73,    73,    69,
-      69,    73,    68,    68,    71,    69,    68,    70,    69,    69,
-      69,    46,   370,   346,    -1,    73,   146,    74,    74,    74,
-      74,    74,    74,    74,    73,    73,    73,    73,    73,    24,
-      73,    75,    73,    73,    73,    73,    69,    69,    69,    73,
-      68,    -1,    69,    69,    74,    68,    -1,    69,    73,    68,
-      74,    -1,    73,    73,    -1,    73,    73,    73,    73,    73,
-      73,    69,    73,    73,    -1,    72
+     118,     1,   120,    21,     4,     1,     1,    72,    26,    69,
+      10,     1,    30,    73,    14,    74,    72,   135,    77,   137,
+      72,   139,   140,   141,    72,    25,   329,   330,   331,    29,
+      67,    27,    27,    33,    34,    35,    36,    27,     1,    39,
+      40,     1,    42,    49,    44,    45,    46,    22,    23,    72,
+      72,    11,    12,    13,    49,    15,    16,    20,    58,     7,
+       8,     9,    75,    63,    64,    28,    66,    30,    68,    10,
+      75,    31,    32,    73,     1,     6,    75,    73,    73,     6,
+      43,    41,    75,     1,     1,     3,    75,     5,    48,     6,
+      17,    18,    75,    75,     1,    75,    59,    60,    61,    62,
+      17,    18,    75,    75,    75,    68,   224,    25,    75,    75,
+      73,    75,    30,    73,    75,     1,    75,     3,    75,     5,
+      27,    69,    75,    21,     1,    75,    75,     4,    26,    47,
+      57,    75,    30,    10,    70,    75,    75,    14,    75,    25,
+      57,    75,    49,    75,    30,    75,    73,    65,    25,    75,
+      75,     1,    29,    75,    75,    73,    33,    34,    35,    36,
+      75,    47,    39,    40,     0,    42,    74,    44,    45,    46,
+      20,    70,    74,    70,    70,    73,    70,    70,    28,    65,
+      30,    58,    70,    19,     1,    70,    63,    64,    24,    66,
+      70,    68,    70,    43,    11,    12,    13,    70,    15,    16,
+      69,    37,    38,    69,    72,    70,    70,    69,    69,    59,
+      60,    61,    62,    49,    31,    32,    70,    70,    68,    70,
+      72,    70,    70,    69,    41,    69,    69,    74,    70,    70,
+      75,    48,    50,    51,    52,    53,    54,    55,    56,   240,
+     241,   242,   243,   244,   245,   246,    74,    71,    75,    75,
+      75,    69,    75,    75,    75,    75,    75,    91,    72,    75,
+      75,    74,    74,    74,    74,    74,    74,    74,    74,    74,
+      74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
+      74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
+      74,    74,    74,    70,    70,    74,    69,    75,    70,    70,
+      69,    75,    70,    70,    74,   218,   260,   163,    69,    75,
+      75,    75,    75,    75,    74,    74,    74,    74,    74,   149,
+      74,    76,    74,    74,    74,    74,    70,    70,    70,    74,
+      70,    70,    69,    69,    75,    70,    74,    47,    24,   375,
+      74,    74,    74,    74,    74,    74,    70,    75,    74,    74,
+      -1,    74,    74,    74,   351,   275
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
      symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,    78,     0,    19,    24,    37,    38,    79,    84,    96,
-     124,   125,   130,   131,   143,   164,    71,    71,    71,    71,
-      66,    49,     1,    27,   165,   166,   167,     1,     4,    14,
+       0,    79,     0,    19,    24,    37,    38,    80,    85,    97,
+     126,   127,   132,   133,   145,   166,    72,    72,    72,    72,
+      67,    49,     1,    27,   167,   168,   169,     1,     4,    14,
       25,    29,    33,    34,    35,    36,    39,    40,    42,    44,
-      45,    46,    58,    63,    65,    67,    97,    98,    99,   100,
+      45,    46,    58,    63,    64,    66,    68,    98,    99,   100,
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,     1,    17,
-      18,    57,   144,   145,   146,   147,   148,   149,   150,     1,
-      11,    12,    13,    15,    16,    31,    32,    41,    48,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      71,    71,    74,    72,   166,    74,    74,    74,    74,    74,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+       1,    17,    18,    57,   146,   147,   148,   149,   150,   151,
+     152,     1,    11,    12,    13,    15,    16,    31,    32,    41,
+      48,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    72,    72,    75,    73,   168,    75,    75,    75,
+      75,    75,    75,    75,    75,    75,    75,    75,    75,    75,
+      75,    75,    75,    75,    75,    75,    73,    99,    10,    75,
+      75,    75,    73,   147,     6,    75,    75,    75,    75,    75,
+      75,    75,    75,    75,    73,    87,     1,    27,    49,   128,
+     129,   130,   131,     1,    20,    28,    30,    43,    59,    60,
+      61,    62,    68,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,    70,    74,    70,    70,    70,    70,
+      70,    70,    70,    70,    70,    70,    69,    69,    82,    70,
+      82,    70,    69,    69,    70,    70,    74,    72,    70,    70,
+      70,    74,    72,    82,    69,    82,    69,    82,    82,    82,
+      70,    70,    74,    75,    75,    73,   129,    75,    75,    75,
+      75,    75,    75,    75,    75,    75,    73,   135,    74,    74,
       74,    74,    74,    74,    74,    74,    74,    74,    74,    74,
-      74,    74,    74,    72,    98,    10,    74,    74,    74,    72,
-     145,     6,    74,    74,    74,    74,    74,    74,    74,    74,
-      74,    72,    86,     1,    27,    49,   126,   127,   128,   129,
-       1,    20,    28,    30,    43,    59,    60,    61,    62,    67,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,    69,    73,    69,    69,    69,    69,    69,    69,    69,
-      69,    69,    69,    68,    68,    81,    69,    81,    69,    68,
-      69,    69,    73,    71,    69,    69,    69,    73,    71,    81,
-      68,    81,    68,    81,    81,    81,    69,    69,    73,    74,
-      74,    72,   127,    74,    74,    74,    74,    74,    74,    74,
-      74,    74,    72,   133,    73,    73,    73,    73,    73,    73,
-      73,    73,    73,    73,    73,    73,    50,    51,    52,    53,
-      54,    55,    56,    80,    81,    73,    73,    73,    73,    73,
-      73,    73,    21,    26,    30,   119,   120,   121,   122,   123,
-      73,    73,    73,     1,     3,     5,    25,    30,    47,    64,
-     151,   152,   153,   154,   158,   159,   160,   161,    73,    73,
-      73,    73,    73,    73,    73,    73,    73,    69,    69,    73,
-      68,    68,    83,    69,    70,    69,    68,    69,    81,    69,
-      73,    80,    80,    80,    80,    80,    80,    80,    74,    74,
-      74,    72,   120,   155,    74,    74,    74,    71,    74,    72,
-     152,    73,    73,    73,     7,     8,     9,    82,    83,    73,
-      73,    75,    73,    73,    73,    73,    73,    69,    69,    69,
-      73,    74,    68,    69,    69,    68,   162,   163,    69,    73,
-      82,    82,    82,    68,    73,    73,    73,    22,    23,   156,
-     157,    73,    73,    73,    74,    72,   163,    73,    73,    73,
-      76,    69,    73,   157,    73
+      50,    51,    52,    53,    54,    55,    56,    81,    82,    74,
+      74,    74,    74,    74,    74,    74,    74,    21,    26,    30,
+     121,   122,   123,   124,   125,    74,    74,    74,     1,     3,
+       5,    25,    30,    47,    65,   153,   154,   155,   156,   160,
+     161,   162,   163,    74,    74,    74,    74,    74,    74,    74,
+      74,    74,    70,    70,    74,    69,    69,    84,    70,    71,
+      70,    69,    70,    82,    70,    74,    81,    81,    81,    81,
+      81,    81,    81,    75,    75,    75,    73,   122,   157,    75,
+      75,    75,    72,    75,    73,   154,    74,    74,    74,     7,
+       8,     9,    83,    84,    74,    74,    76,    74,    74,    74,
+      74,    74,    70,    70,    70,    74,    75,    69,    70,    70,
+      69,   164,   165,    70,    74,    83,    83,    83,    69,    74,
+      74,    74,    22,    23,   158,   159,    74,    74,    74,    75,
+      73,   165,    74,    74,    74,    77,    70,    74,   159,    74
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,    77,    78,    78,    79,    79,    79,    79,    79,    79,
-      80,    80,    81,    81,    81,    81,    81,    81,    81,    81,
-      82,    82,    83,    83,    83,    83,    84,    85,    85,    86,
-      86,    86,    86,    86,    86,    86,    86,    86,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      97,    98,    98,    98,    98,    98,    98,    98,    98,    98,
-      98,    98,    98,    98,    98,    98,    98,    98,    98,    98,
-      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   114,   115,   116,   118,
-     117,   119,   119,   120,   120,   120,   121,   122,   123,   125,
-     124,   126,   126,   127,   127,   127,   128,   129,   131,   130,
-     132,   132,   133,   133,   133,   133,   133,   133,   133,   133,
-     133,   133,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,   143,   144,   144,   145,   145,   145,   145,   145,   146,
-     147,   148,   150,   149,   151,   151,   152,   152,   152,   152,
-     152,   152,   152,   153,   155,   154,   156,   156,   157,   157,
-     158,   159,   160,   161,   162,   162,   163,   164,   165,   165,
-     166,   166,   167
+       0,    78,    79,    79,    80,    80,    80,    80,    80,    80,
+      81,    81,    82,    82,    82,    82,    82,    82,    82,    82,
+      83,    83,    84,    84,    84,    84,    85,    86,    86,    87,
+      87,    87,    87,    87,    87,    87,    87,    87,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      98,    99,    99,    99,    99,    99,    99,    99,    99,    99,
+      99,    99,    99,    99,    99,    99,    99,    99,    99,    99,
+      99,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   120,   119,   121,   121,   122,   122,   122,   123,   124,
+     125,   127,   126,   128,   128,   129,   129,   129,   130,   131,
+     133,   132,   134,   134,   135,   135,   135,   135,   135,   135,
+     135,   135,   135,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   146,   147,   147,   147,   147,
+     147,   148,   149,   150,   152,   151,   153,   153,   154,   154,
+     154,   154,   154,   154,   154,   155,   157,   156,   158,   158,
+     159,   159,   160,   161,   162,   163,   164,   164,   165,   166,
+     167,   167,   168,   168,   169
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -946,17 +948,17 @@ static const yytype_uint8 yyr2[] =
        4,     4,     4,     4,     4,     4,     4,     4,     5,     2,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
-       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
-       6,     2,     1,     1,     1,     1,     4,     4,     4,     0,
-       6,     2,     1,     1,     1,     1,     4,     4,     0,     6,
-       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
-       6,     5,     2,     1,     1,     1,     1,     1,     1,     4,
-       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
-       1,     1,     1,     4,     0,     5,     3,     1,     1,     1,
-       4,     4,     4,     5,     2,     1,     4,     5,     2,     1,
-       1,     1,     4
+       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
+       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
+       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
+       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
+       4,     4,     6,     5,     2,     1,     1,     1,     1,     1,
+       1,     4,     4,     4,     0,     6,     2,     1,     1,     1,
+       1,     1,     1,     1,     1,     4,     0,     5,     3,     1,
+       1,     1,     4,     4,     4,     5,     2,     1,     4,     5,
+       2,     1,     1,     1,     4
 };
 
 
@@ -1642,321 +1644,329 @@ yyreduce:
   switch (yyn)
     {
         case 10:
-#line 118 "config-parser.y" /* yacc.c:1652  */
+#line 119 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = 0; }
-#line 1648 "config-parser.c" /* yacc.c:1652  */
+#line 1650 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 12:
-#line 119 "config-parser.y" /* yacc.c:1652  */
+#line 120 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
-#line 1654 "config-parser.c" /* yacc.c:1652  */
+#line 1656 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 13:
-#line 120 "config-parser.y" /* yacc.c:1652  */
+#line 121 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
-#line 1660 "config-parser.c" /* yacc.c:1652  */
+#line 1662 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 14:
-#line 121 "config-parser.y" /* yacc.c:1652  */
+#line 122 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
-#line 1666 "config-parser.c" /* yacc.c:1652  */
+#line 1668 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 15:
-#line 122 "config-parser.y" /* yacc.c:1652  */
+#line 123 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
-#line 1672 "config-parser.c" /* yacc.c:1652  */
+#line 1674 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 16:
-#line 123 "config-parser.y" /* yacc.c:1652  */
+#line 124 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
-#line 1678 "config-parser.c" /* yacc.c:1652  */
+#line 1680 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 17:
-#line 124 "config-parser.y" /* yacc.c:1652  */
+#line 125 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
-#line 1684 "config-parser.c" /* yacc.c:1652  */
+#line 1686 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 18:
-#line 125 "config-parser.y" /* yacc.c:1652  */
+#line 126 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
-#line 1690 "config-parser.c" /* yacc.c:1652  */
+#line 1692 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 19:
-#line 126 "config-parser.y" /* yacc.c:1652  */
+#line 127 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
-#line 1696 "config-parser.c" /* yacc.c:1652  */
+#line 1698 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 20:
-#line 129 "config-parser.y" /* yacc.c:1652  */
+#line 130 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = 0; }
-#line 1702 "config-parser.c" /* yacc.c:1652  */
+#line 1704 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 22:
-#line 130 "config-parser.y" /* yacc.c:1652  */
+#line 131 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
-#line 1708 "config-parser.c" /* yacc.c:1652  */
+#line 1710 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 23:
-#line 131 "config-parser.y" /* yacc.c:1652  */
+#line 132 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
-#line 1714 "config-parser.c" /* yacc.c:1652  */
+#line 1716 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 24:
-#line 132 "config-parser.y" /* yacc.c:1652  */
+#line 133 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
-#line 1720 "config-parser.c" /* yacc.c:1652  */
+#line 1722 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 25:
-#line 133 "config-parser.y" /* yacc.c:1652  */
+#line 134 "config-parser.y" /* yacc.c:1652  */
     { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
-#line 1726 "config-parser.c" /* yacc.c:1652  */
+#line 1728 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 39:
-#line 155 "config-parser.y" /* yacc.c:1652  */
+#line 156 "config-parser.y" /* yacc.c:1652  */
     {
   OptionsItem.negcache = (yyvsp[-1].number);
 }
-#line 1734 "config-parser.c" /* yacc.c:1652  */
+#line 1736 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 40:
-#line 160 "config-parser.y" /* yacc.c:1652  */
+#line 161 "config-parser.y" /* yacc.c:1652  */
     {
   OptionsItem.negcache_rebuild = (yyvsp[-1].number);
 }
-#line 1742 "config-parser.c" /* yacc.c:1652  */
+#line 1744 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 41:
-#line 165 "config-parser.y" /* yacc.c:1652  */
+#line 166 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(OptionsItem.pidfile);
   OptionsItem.pidfile = xstrdup((yyvsp[-1].string));
 }
-#line 1751 "config-parser.c" /* yacc.c:1652  */
+#line 1753 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 42:
-#line 171 "config-parser.y" /* yacc.c:1652  */
+#line 172 "config-parser.y" /* yacc.c:1652  */
     {
   OptionsItem.dns_fdlimit = (yyvsp[-1].number);
 }
-#line 1759 "config-parser.c" /* yacc.c:1652  */
+#line 1761 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 43:
-#line 176 "config-parser.y" /* yacc.c:1652  */
+#line 177 "config-parser.y" /* yacc.c:1652  */
     {
   OptionsItem.dns_timeout = (yyvsp[-1].number);
 }
-#line 1767 "config-parser.c" /* yacc.c:1652  */
+#line 1769 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 44:
-#line 181 "config-parser.y" /* yacc.c:1652  */
+#line 182 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(OptionsItem.scanlog);
   OptionsItem.scanlog = xstrdup((yyvsp[-1].string));
 }
-#line 1776 "config-parser.c" /* yacc.c:1652  */
+#line 1778 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 45:
-#line 187 "config-parser.y" /* yacc.c:1652  */
+#line 188 "config-parser.y" /* yacc.c:1652  */
     {
   OptionsItem.command_queue_size = (yyvsp[-1].number);
 }
-#line 1784 "config-parser.c" /* yacc.c:1652  */
+#line 1786 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 46:
-#line 192 "config-parser.y" /* yacc.c:1652  */
+#line 193 "config-parser.y" /* yacc.c:1652  */
     {
   OptionsItem.command_interval = (yyvsp[-1].number);
 }
-#line 1792 "config-parser.c" /* yacc.c:1652  */
+#line 1794 "config-parser.c" /* yacc.c:1652  */
     break;
 
   case 47:
-#line 197 "config-parser.y" /* yacc.c:1652  */
+#line 198 "config-parser.y" /* yacc.c:1652  */
     {
   OptionsItem.command_timeout = (yyvsp[-1].number);
 }
-#line 1800 "config-parser.c" /* yacc.c:1652  */
+#line 1802 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 71:
-#line 230 "config-parser.y" /* yacc.c:1652  */
+  case 72:
+#line 232 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.away);
   IRCItem.away = xstrdup((yyvsp[-1].string));
 }
-#line 1809 "config-parser.c" /* yacc.c:1652  */
+#line 1811 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 72:
-#line 236 "config-parser.y" /* yacc.c:1652  */
+  case 73:
+#line 238 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.kline);
   IRCItem.kline = xstrdup((yyvsp[-1].string));
 }
-#line 1818 "config-parser.c" /* yacc.c:1652  */
+#line 1820 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 73:
-#line 242 "config-parser.y" /* yacc.c:1652  */
+  case 74:
+#line 244 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.mode);
   IRCItem.mode = xstrdup((yyvsp[-1].string));
 }
-#line 1827 "config-parser.c" /* yacc.c:1652  */
+#line 1829 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 74:
-#line 248 "config-parser.y" /* yacc.c:1652  */
+  case 75:
+#line 250 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.nick);
   IRCItem.nick = xstrdup((yyvsp[-1].string));
 }
-#line 1836 "config-parser.c" /* yacc.c:1652  */
+#line 1838 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 75:
-#line 254 "config-parser.y" /* yacc.c:1652  */
+  case 76:
+#line 256 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.nickserv);
   IRCItem.nickserv = xstrdup((yyvsp[-1].string));
 }
-#line 1845 "config-parser.c" /* yacc.c:1652  */
+#line 1847 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 76:
-#line 260 "config-parser.y" /* yacc.c:1652  */
+  case 77:
+#line 262 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.oper);
   IRCItem.oper = xstrdup((yyvsp[-1].string));
 }
-#line 1854 "config-parser.c" /* yacc.c:1652  */
+#line 1856 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 77:
-#line 266 "config-parser.y" /* yacc.c:1652  */
+  case 78:
+#line 268 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.password);
   IRCItem.password = xstrdup((yyvsp[-1].string));
 }
-#line 1863 "config-parser.c" /* yacc.c:1652  */
+#line 1865 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 78:
-#line 272 "config-parser.y" /* yacc.c:1652  */
+  case 79:
+#line 274 "config-parser.y" /* yacc.c:1652  */
     {
   list_add(xstrdup((yyvsp[-1].string)), node_create(), &IRCItem.performs);
 }
-#line 1871 "config-parser.c" /* yacc.c:1652  */
+#line 1873 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 79:
-#line 277 "config-parser.y" /* yacc.c:1652  */
+  case 80:
+#line 279 "config-parser.y" /* yacc.c:1652  */
     {
   list_add(xstrdup((yyvsp[-1].string)), node_create(), &IRCItem.notices);
 }
-#line 1879 "config-parser.c" /* yacc.c:1652  */
+#line 1881 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 80:
-#line 282 "config-parser.y" /* yacc.c:1652  */
+  case 81:
+#line 284 "config-parser.y" /* yacc.c:1652  */
     {
   IRCItem.port = (yyvsp[-1].number);
 }
-#line 1887 "config-parser.c" /* yacc.c:1652  */
+#line 1889 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 81:
-#line 287 "config-parser.y" /* yacc.c:1652  */
+  case 82:
+#line 289 "config-parser.y" /* yacc.c:1652  */
     {
   IRCItem.tls = (yyvsp[-1].number);
 }
-#line 1895 "config-parser.c" /* yacc.c:1652  */
+#line 1897 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 82:
-#line 292 "config-parser.y" /* yacc.c:1652  */
+  case 83:
+#line 294 "config-parser.y" /* yacc.c:1652  */
+    {
+  IRCItem.tls_hostname_verification = (yyvsp[-1].number);
+}
+#line 1905 "config-parser.c" /* yacc.c:1652  */
+    break;
+
+  case 84:
+#line 299 "config-parser.y" /* yacc.c:1652  */
     {
   IRCItem.readtimeout = (yyvsp[-1].number);
 }
-#line 1903 "config-parser.c" /* yacc.c:1652  */
+#line 1913 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 83:
-#line 297 "config-parser.y" /* yacc.c:1652  */
+  case 85:
+#line 304 "config-parser.y" /* yacc.c:1652  */
     {
   IRCItem.reconnectinterval = (yyvsp[-1].number);
 }
-#line 1911 "config-parser.c" /* yacc.c:1652  */
+#line 1921 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 84:
-#line 302 "config-parser.y" /* yacc.c:1652  */
+  case 86:
+#line 309 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.realname);
   IRCItem.realname = xstrdup((yyvsp[-1].string));
 }
-#line 1920 "config-parser.c" /* yacc.c:1652  */
+#line 1930 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 85:
-#line 308 "config-parser.y" /* yacc.c:1652  */
+  case 87:
+#line 315 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.server);
   IRCItem.server = xstrdup((yyvsp[-1].string));
 }
-#line 1929 "config-parser.c" /* yacc.c:1652  */
+#line 1939 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 86:
-#line 314 "config-parser.y" /* yacc.c:1652  */
+  case 88:
+#line 321 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.username);
   IRCItem.username = xstrdup((yyvsp[-1].string));
 }
-#line 1938 "config-parser.c" /* yacc.c:1652  */
+#line 1948 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 87:
-#line 320 "config-parser.y" /* yacc.c:1652  */
+  case 89:
+#line 327 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.vhost);
   IRCItem.vhost = xstrdup((yyvsp[-1].string));
 }
-#line 1947 "config-parser.c" /* yacc.c:1652  */
+#line 1957 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 88:
-#line 326 "config-parser.y" /* yacc.c:1652  */
+  case 90:
+#line 333 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(IRCItem.connregex);
   IRCItem.connregex = xstrdup((yyvsp[-1].string));
 }
-#line 1956 "config-parser.c" /* yacc.c:1652  */
+#line 1966 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 89:
-#line 334 "config-parser.y" /* yacc.c:1652  */
+  case 91:
+#line 341 "config-parser.y" /* yacc.c:1652  */
     {
   struct ChannelConf *item;
 
@@ -1968,44 +1978,44 @@ yyreduce:
   list_add(item, &item->node, &IRCItem.channels);
   tmp = item;
 }
-#line 1972 "config-parser.c" /* yacc.c:1652  */
+#line 1982 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 96:
-#line 355 "config-parser.y" /* yacc.c:1652  */
+  case 98:
+#line 362 "config-parser.y" /* yacc.c:1652  */
     {
   struct ChannelConf *item = tmp;
 
   xfree(item->name);
   item->name = xstrdup((yyvsp[-1].string));
 }
-#line 1983 "config-parser.c" /* yacc.c:1652  */
+#line 1993 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 97:
-#line 363 "config-parser.y" /* yacc.c:1652  */
+  case 99:
+#line 370 "config-parser.y" /* yacc.c:1652  */
     {
   struct ChannelConf *item = tmp;
 
   xfree(item->key);
   item->key = xstrdup((yyvsp[-1].string));
 }
-#line 1994 "config-parser.c" /* yacc.c:1652  */
+#line 2004 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 98:
-#line 371 "config-parser.y" /* yacc.c:1652  */
+  case 100:
+#line 378 "config-parser.y" /* yacc.c:1652  */
     {
   struct ChannelConf *item = tmp;
 
   xfree(item->invite);
   item->invite = xstrdup((yyvsp[-1].string));
 }
-#line 2005 "config-parser.c" /* yacc.c:1652  */
+#line 2015 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 99:
-#line 381 "config-parser.y" /* yacc.c:1652  */
+  case 101:
+#line 388 "config-parser.y" /* yacc.c:1652  */
     {
   struct UserConf *item;
 
@@ -2014,31 +2024,31 @@ yyreduce:
   list_add(item, &item->node, &UserItemList);
   tmp = item;
 }
-#line 2018 "config-parser.c" /* yacc.c:1652  */
+#line 2028 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 106:
-#line 399 "config-parser.y" /* yacc.c:1652  */
+  case 108:
+#line 406 "config-parser.y" /* yacc.c:1652  */
     {
   struct UserConf *item = tmp;
 
   list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->masks);
 }
-#line 2028 "config-parser.c" /* yacc.c:1652  */
+#line 2038 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 107:
-#line 406 "config-parser.y" /* yacc.c:1652  */
+  case 109:
+#line 413 "config-parser.y" /* yacc.c:1652  */
     {
   struct UserConf *item = tmp;
 
   list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->scanners);
 }
-#line 2038 "config-parser.c" /* yacc.c:1652  */
+#line 2048 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 108:
-#line 415 "config-parser.y" /* yacc.c:1652  */
+  case 110:
+#line 422 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item, *olditem;
 
@@ -2072,44 +2082,44 @@ yyreduce:
   list_add(item, &item->node, &ScannerItemList);
   tmp = item;
 }
-#line 2076 "config-parser.c" /* yacc.c:1652  */
+#line 2086 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 122:
-#line 465 "config-parser.y" /* yacc.c:1652  */
+  case 124:
+#line 472 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item = tmp;
 
   xfree(item->name);
   item->name = xstrdup((yyvsp[-1].string));
 }
-#line 2087 "config-parser.c" /* yacc.c:1652  */
+#line 2097 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 123:
-#line 473 "config-parser.y" /* yacc.c:1652  */
+  case 125:
+#line 480 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item = tmp;
 
   xfree(item->vhost);
   item->vhost = xstrdup((yyvsp[-1].string));
 }
-#line 2098 "config-parser.c" /* yacc.c:1652  */
+#line 2108 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 124:
-#line 481 "config-parser.y" /* yacc.c:1652  */
+  case 126:
+#line 488 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item = tmp;
 
   xfree(item->target_ip);
   item->target_ip = xstrdup((yyvsp[-1].string));
 }
-#line 2109 "config-parser.c" /* yacc.c:1652  */
+#line 2119 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 125:
-#line 489 "config-parser.y" /* yacc.c:1652  */
+  case 127:
+#line 496 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item = tmp;
 
@@ -2121,51 +2131,51 @@ yyreduce:
 
   list_add(xstrdup((yyvsp[-1].string)), node_create(), &item->target_string);
 }
-#line 2125 "config-parser.c" /* yacc.c:1652  */
+#line 2135 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 126:
-#line 502 "config-parser.y" /* yacc.c:1652  */
+  case 128:
+#line 509 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item = tmp;
 
   item->fd = (yyvsp[-1].number);
 }
-#line 2135 "config-parser.c" /* yacc.c:1652  */
+#line 2145 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 127:
-#line 509 "config-parser.y" /* yacc.c:1652  */
+  case 129:
+#line 516 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item = tmp;
 
   item->target_port = (yyvsp[-1].number);
 }
-#line 2145 "config-parser.c" /* yacc.c:1652  */
+#line 2155 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 128:
-#line 516 "config-parser.y" /* yacc.c:1652  */
+  case 130:
+#line 523 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item = tmp;
 
   item->timeout = (yyvsp[-1].number);
 }
-#line 2155 "config-parser.c" /* yacc.c:1652  */
+#line 2165 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 129:
-#line 523 "config-parser.y" /* yacc.c:1652  */
+  case 131:
+#line 530 "config-parser.y" /* yacc.c:1652  */
     {
   struct ScannerConf *item = tmp;
 
   item->max_read = (yyvsp[-1].number);
 }
-#line 2165 "config-parser.c" /* yacc.c:1652  */
+#line 2175 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 130:
-#line 530 "config-parser.y" /* yacc.c:1652  */
+  case 132:
+#line 537 "config-parser.y" /* yacc.c:1652  */
     {
   struct ProtocolConf *item;
   struct ScannerConf *item2;
@@ -2178,38 +2188,38 @@ yyreduce:
 
   list_add(item, node_create(), &item2->protocols);
 }
-#line 2182 "config-parser.c" /* yacc.c:1652  */
+#line 2192 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 139:
-#line 557 "config-parser.y" /* yacc.c:1652  */
+  case 141:
+#line 564 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(OpmItem.dnsbl_from);
   OpmItem.dnsbl_from = xstrdup((yyvsp[-1].string));
 }
-#line 2191 "config-parser.c" /* yacc.c:1652  */
+#line 2201 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 140:
-#line 563 "config-parser.y" /* yacc.c:1652  */
+  case 142:
+#line 570 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(OpmItem.dnsbl_to);
   OpmItem.dnsbl_to = xstrdup((yyvsp[-1].string));
 }
-#line 2200 "config-parser.c" /* yacc.c:1652  */
+#line 2210 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 141:
-#line 569 "config-parser.y" /* yacc.c:1652  */
+  case 143:
+#line 576 "config-parser.y" /* yacc.c:1652  */
     {
   xfree(OpmItem.sendmail);
   OpmItem.sendmail = xstrdup((yyvsp[-1].string));
 }
-#line 2209 "config-parser.c" /* yacc.c:1652  */
+#line 2219 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 142:
-#line 577 "config-parser.y" /* yacc.c:1652  */
+  case 144:
+#line 584 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistConf *item;
 
@@ -2224,64 +2234,64 @@ yyreduce:
 
   tmp = item;
 }
-#line 2228 "config-parser.c" /* yacc.c:1652  */
+#line 2238 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 153:
-#line 605 "config-parser.y" /* yacc.c:1652  */
+  case 155:
+#line 612 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistConf *item = tmp;
 
   xfree(item->name);
   item->name = xstrdup((yyvsp[-1].string));
 }
-#line 2239 "config-parser.c" /* yacc.c:1652  */
+#line 2249 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 154:
-#line 613 "config-parser.y" /* yacc.c:1652  */
+  case 156:
+#line 620 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistConf *item = tmp;
 
   item->ipv4 = 0;
   item->ipv6 = 0;
 }
-#line 2250 "config-parser.c" /* yacc.c:1652  */
+#line 2260 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 158:
-#line 622 "config-parser.y" /* yacc.c:1652  */
+  case 160:
+#line 629 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistConf *item = tmp;
 
   item->ipv4 = 1;
 }
-#line 2260 "config-parser.c" /* yacc.c:1652  */
+#line 2270 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 159:
-#line 627 "config-parser.y" /* yacc.c:1652  */
+  case 161:
+#line 634 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistConf *item = tmp;
 
   item->ipv6 = 1;
 }
-#line 2270 "config-parser.c" /* yacc.c:1652  */
+#line 2280 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 160:
-#line 634 "config-parser.y" /* yacc.c:1652  */
+  case 162:
+#line 641 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistConf *item = tmp;
 
   xfree(item->kline);
   item->kline = xstrdup((yyvsp[-1].string));
 }
-#line 2281 "config-parser.c" /* yacc.c:1652  */
+#line 2291 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 161:
-#line 642 "config-parser.y" /* yacc.c:1652  */
+  case 163:
+#line 649 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistConf *item = tmp;
 
@@ -2292,21 +2302,21 @@ yyreduce:
   else
     yyerror("Unknown blacklist type defined");
 }
-#line 2296 "config-parser.c" /* yacc.c:1652  */
+#line 2306 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 162:
-#line 654 "config-parser.y" /* yacc.c:1652  */
+  case 164:
+#line 661 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistConf *item = tmp;
 
   item->ban_unknown = (yyvsp[-1].number);
 }
-#line 2306 "config-parser.c" /* yacc.c:1652  */
+#line 2316 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 166:
-#line 666 "config-parser.y" /* yacc.c:1652  */
+  case 168:
+#line 673 "config-parser.y" /* yacc.c:1652  */
     {
   struct BlacklistReplyConf *item;
   struct BlacklistConf *blacklist = tmp;
@@ -2317,19 +2327,19 @@ yyreduce:
 
   list_add(item, node_create(), &blacklist->reply);
 }
-#line 2321 "config-parser.c" /* yacc.c:1652  */
+#line 2331 "config-parser.c" /* yacc.c:1652  */
     break;
 
-  case 172:
-#line 688 "config-parser.y" /* yacc.c:1652  */
+  case 174:
+#line 695 "config-parser.y" /* yacc.c:1652  */
     {
   list_add(xstrdup((yyvsp[-1].string)), node_create(), &ExemptItem.masks);
 }
-#line 2329 "config-parser.c" /* yacc.c:1652  */
+#line 2339 "config-parser.c" /* yacc.c:1652  */
     break;
 
 
-#line 2333 "config-parser.c" /* yacc.c:1652  */
+#line 2343 "config-parser.c" /* yacc.c:1652  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -2560,5 +2570,5 @@ yyreturn:
 #endif
   return yyresult;
 }
-#line 692 "config-parser.y" /* yacc.c:1918  */
+#line 699 "config-parser.y" /* yacc.c:1918  */
 
index 1612357461a44cd558a4f967288fe370d093d695..3ccde31e49e192d99a27291d9de28d148ae57665 100644 (file)
@@ -110,13 +110,14 @@ extern int yydebug;
     TARGET_STRING = 316,
     TIMEOUT = 317,
     TLS = 318,
-    TYPE = 319,
-    USERNAME = 320,
-    USER = 321,
-    VHOST = 322,
-    NUMBER = 323,
-    STRING = 324,
-    PROTOCOLTYPE = 325
+    TLS_HOSTNAME_VERIFICATION = 319,
+    TYPE = 320,
+    USERNAME = 321,
+    USER = 322,
+    VHOST = 323,
+    NUMBER = 324,
+    STRING = 325,
+    PROTOCOLTYPE = 326
   };
 #endif
 /* Tokens.  */
@@ -181,25 +182,26 @@ extern int yydebug;
 #define TARGET_STRING 316
 #define TIMEOUT 317
 #define TLS 318
-#define TYPE 319
-#define USERNAME 320
-#define USER 321
-#define VHOST 322
-#define NUMBER 323
-#define STRING 324
-#define PROTOCOLTYPE 325
+#define TLS_HOSTNAME_VERIFICATION 319
+#define TYPE 320
+#define USERNAME 321
+#define USER 322
+#define VHOST 323
+#define NUMBER 324
+#define STRING 325
+#define PROTOCOLTYPE 326
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 
 union YYSTYPE
 {
-#line 92 "config-parser.y" /* yacc.c:1921  */
+#line 93 "config-parser.y" /* yacc.c:1921  */
 
   int number;
   char *string;
 
-#line 203 "config-parser.h" /* yacc.c:1921  */
+#line 205 "config-parser.h" /* yacc.c:1921  */
 };
 
 typedef union YYSTYPE YYSTYPE;
index 820015cf5149586fbdf70478e55147d349f3ca97..f66513b1cf03946e0acfcdd728142a321b55ce12 100644 (file)
@@ -83,7 +83,7 @@ static void *tmp;  /* Variable to temporarily hold nodes before insertion to lis
 %token TARGET_STRING
 %token TIMEOUT
 %token TLS
-%token TLS_HOSTNAME_VALIDATION
+%token TLS_HOSTNAME_VERIFICATION
 %token TYPE
 %token USERNAME
 %token USER