ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_parser.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 4545 by michael, Fri Aug 22 08:46:13 2014 UTC vs.
Revision 4624 by michael, Sun Sep 21 08:41:22 2014 UTC

# Line 1039 | Line 1039 | static const yytype_uint16 yyrline[] =
1039       432,   433,   434,   435,   442,   445,   445,   446,   446,   446,
1040       448,   454,   461,   463,   463,   464,   465,   466,   467,   468,
1041       469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
1042 <     479,   480,   481,   484,   526,   584,   613,   621,   635,   663,
1043 <     678,   693,   703,   717,   726,   754,   782,   807,   829,   851,
1044 <     860,   862,   862,   863,   864,   865,   866,   868,   877,   886,
1045 <     899,   898,   916,   916,   917,   917,   917,   919,   925,   935,
1046 <     934,   953,   953,   954,   954,   954,   954,   954,   956,   962,
1047 <     968,   974,   997,   998,   998,  1000,  1000,  1001,  1003,  1010,
1048 <    1010,  1023,  1024,  1026,  1026,  1027,  1027,  1029,  1037,  1040,
1049 <    1046,  1045,  1051,  1051,  1052,  1056,  1060,  1064,  1068,  1072,
1050 <    1076,  1080,  1084,  1095,  1094,  1180,  1180,  1181,  1182,  1183,
1051 <    1184,  1185,  1186,  1187,  1188,  1189,  1190,  1191,  1193,  1199,
1052 <    1205,  1211,  1222,  1228,  1234,  1245,  1252,  1251,  1257,  1257,
1053 <    1258,  1262,  1266,  1270,  1274,  1278,  1282,  1286,  1290,  1294,
1054 <    1298,  1302,  1306,  1310,  1314,  1318,  1322,  1326,  1330,  1334,
1055 <    1338,  1342,  1349,  1348,  1354,  1354,  1355,  1359,  1363,  1367,
1056 <    1371,  1375,  1379,  1383,  1387,  1391,  1395,  1399,  1403,  1407,
1057 <    1411,  1415,  1419,  1423,  1427,  1431,  1435,  1439,  1443,  1454,
1058 <    1453,  1515,  1515,  1516,  1517,  1518,  1519,  1520,  1521,  1522,
1059 <    1523,  1524,  1525,  1526,  1527,  1528,  1528,  1529,  1530,  1531,
1060 <    1532,  1534,  1540,  1546,  1552,  1558,  1564,  1570,  1576,  1582,
1061 <    1588,  1594,  1601,  1607,  1613,  1619,  1628,  1638,  1637,  1643,
1062 <    1643,  1644,  1648,  1659,  1658,  1665,  1664,  1669,  1669,  1670,
1063 <    1674,  1678,  1684,  1684,  1685,  1685,  1685,  1685,  1685,  1687,
1064 <    1687,  1689,  1689,  1691,  1704,  1721,  1727,  1737,  1736,  1778,
1065 <    1778,  1779,  1780,  1781,  1782,  1783,  1784,  1785,  1786,  1787,
1066 <    1789,  1795,  1801,  1807,  1819,  1818,  1824,  1824,  1825,  1829,
1067 <    1833,  1837,  1841,  1845,  1849,  1853,  1857,  1861,  1867,  1881,
1068 <    1890,  1904,  1903,  1918,  1918,  1919,  1919,  1919,  1919,  1921,
1069 <    1927,  1933,  1943,  1945,  1945,  1946,  1946,  1948,  1964,  1963,
1070 <    1988,  1988,  1989,  1989,  1989,  1989,  1991,  1997,  2017,  2016,
1071 <    2022,  2022,  2023,  2027,  2031,  2035,  2039,  2043,  2047,  2051,
1072 <    2055,  2059,  2069,  2068,  2089,  2089,  2090,  2090,  2090,  2092,
1073 <    2099,  2098,  2104,  2104,  2105,  2109,  2113,  2117,  2121,  2125,
1074 <    2129,  2133,  2137,  2141,  2151,  2150,  2222,  2222,  2223,  2224,
1075 <    2225,  2226,  2227,  2228,  2229,  2230,  2231,  2232,  2233,  2234,
1076 <    2235,  2236,  2237,  2239,  2245,  2251,  2257,  2270,  2283,  2289,
1077 <    2295,  2299,  2306,  2305,  2310,  2310,  2311,  2315,  2321,  2332,
1078 <    2338,  2344,  2350,  2366,  2365,  2391,  2391,  2392,  2392,  2392,
1079 <    2394,  2414,  2424,  2423,  2450,  2450,  2451,  2451,  2451,  2453,
1080 <    2459,  2468,  2470,  2470,  2471,  2471,  2473,  2491,  2490,  2513,
1081 <    2513,  2514,  2514,  2514,  2516,  2522,  2531,  2534,  2534,  2535,
1082 <    2536,  2537,  2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,
1083 <    2546,  2547,  2548,  2549,  2550,  2551,  2552,  2553,  2554,  2555,
1084 <    2556,  2557,  2558,  2559,  2560,  2561,  2562,  2563,  2564,  2565,
1085 <    2566,  2567,  2568,  2569,  2570,  2571,  2572,  2573,  2574,  2575,
1086 <    2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,  2584,  2587,
1087 <    2592,  2597,  2602,  2608,  2614,  2620,  2626,  2631,  2636,  2641,
1088 <    2646,  2651,  2656,  2661,  2666,  2671,  2676,  2681,  2686,  2691,
1089 <    2697,  2708,  2713,  2718,  2723,  2728,  2733,  2738,  2741,  2746,
1090 <    2749,  2754,  2759,  2764,  2769,  2774,  2779,  2784,  2789,  2794,
1091 <    2799,  2804,  2809,  2814,  2819,  2825,  2824,  2829,  2829,  2830,
1092 <    2833,  2836,  2839,  2842,  2845,  2848,  2851,  2854,  2857,  2860,
1093 <    2863,  2866,  2869,  2872,  2875,  2878,  2881,  2884,  2887,  2890,
1094 <    2893,  2899,  2898,  2903,  2903,  2904,  2907,  2910,  2913,  2916,
1095 <    2919,  2922,  2925,  2928,  2931,  2934,  2937,  2940,  2943,  2946,
1096 <    2949,  2952,  2955,  2958,  2961,  2966,  2971,  2976,  2985,  2988,
1097 <    2988,  2989,  2990,  2991,  2992,  2993,  2994,  2995,  2996,  2997,
1098 <    2998,  2999,  3000,  3001,  3002,  3003,  3005,  3010,  3015,  3020,
1099 <    3025,  3030,  3035,  3040,  3045,  3050,  3055,  3060,  3065,  3070,
1100 <    3078,  3081,  3081,  3082,  3083,  3084,  3085,  3086,  3087,  3088,
1101 <    3089,  3090,  3092,  3098,  3104,  3110,  3116,  3125,  3140,  3146
1042 >     479,   480,   481,   484,   524,   582,   611,   619,   633,   661,
1043 >     676,   691,   701,   715,   724,   752,   780,   805,   827,   849,
1044 >     858,   860,   860,   861,   862,   863,   864,   866,   875,   884,
1045 >     897,   896,   914,   914,   915,   915,   915,   917,   923,   933,
1046 >     932,   951,   951,   952,   952,   952,   952,   952,   954,   960,
1047 >     966,   972,   995,   996,   996,   998,   998,   999,  1001,  1008,
1048 >    1008,  1021,  1022,  1024,  1024,  1025,  1025,  1027,  1035,  1038,
1049 >    1044,  1043,  1049,  1049,  1050,  1054,  1058,  1062,  1066,  1070,
1050 >    1074,  1078,  1082,  1093,  1092,  1178,  1178,  1179,  1180,  1181,
1051 >    1182,  1183,  1184,  1185,  1186,  1187,  1188,  1189,  1191,  1197,
1052 >    1203,  1209,  1220,  1226,  1232,  1243,  1250,  1249,  1255,  1255,
1053 >    1256,  1260,  1264,  1268,  1272,  1276,  1280,  1284,  1288,  1292,
1054 >    1296,  1300,  1304,  1308,  1312,  1316,  1320,  1324,  1328,  1332,
1055 >    1336,  1340,  1347,  1346,  1352,  1352,  1353,  1357,  1361,  1365,
1056 >    1369,  1373,  1377,  1381,  1385,  1389,  1393,  1397,  1401,  1405,
1057 >    1409,  1413,  1417,  1421,  1425,  1429,  1433,  1437,  1441,  1452,
1058 >    1451,  1513,  1513,  1514,  1515,  1516,  1517,  1518,  1519,  1520,
1059 >    1521,  1522,  1523,  1524,  1525,  1526,  1526,  1527,  1528,  1529,
1060 >    1530,  1532,  1538,  1544,  1550,  1556,  1562,  1568,  1574,  1580,
1061 >    1586,  1592,  1599,  1605,  1611,  1617,  1626,  1636,  1635,  1641,
1062 >    1641,  1642,  1646,  1657,  1656,  1663,  1662,  1667,  1667,  1668,
1063 >    1672,  1676,  1682,  1682,  1683,  1683,  1683,  1683,  1683,  1685,
1064 >    1685,  1687,  1687,  1689,  1702,  1719,  1725,  1735,  1734,  1776,
1065 >    1776,  1777,  1778,  1779,  1780,  1781,  1782,  1783,  1784,  1785,
1066 >    1787,  1793,  1799,  1805,  1817,  1816,  1822,  1822,  1823,  1827,
1067 >    1831,  1835,  1839,  1843,  1847,  1851,  1855,  1859,  1865,  1879,
1068 >    1888,  1902,  1901,  1916,  1916,  1917,  1917,  1917,  1917,  1919,
1069 >    1925,  1931,  1941,  1943,  1943,  1944,  1944,  1946,  1962,  1961,
1070 >    1986,  1986,  1987,  1987,  1987,  1987,  1989,  1995,  2015,  2014,
1071 >    2020,  2020,  2021,  2025,  2029,  2033,  2037,  2041,  2045,  2049,
1072 >    2053,  2057,  2067,  2066,  2087,  2087,  2088,  2088,  2088,  2090,
1073 >    2097,  2096,  2102,  2102,  2103,  2107,  2111,  2115,  2119,  2123,
1074 >    2127,  2131,  2135,  2139,  2149,  2148,  2220,  2220,  2221,  2222,
1075 >    2223,  2224,  2225,  2226,  2227,  2228,  2229,  2230,  2231,  2232,
1076 >    2233,  2234,  2235,  2237,  2243,  2249,  2255,  2268,  2281,  2287,
1077 >    2293,  2297,  2304,  2303,  2308,  2308,  2309,  2313,  2319,  2330,
1078 >    2336,  2342,  2348,  2364,  2363,  2389,  2389,  2390,  2390,  2390,
1079 >    2392,  2412,  2422,  2421,  2448,  2448,  2449,  2449,  2449,  2451,
1080 >    2457,  2466,  2468,  2468,  2469,  2469,  2471,  2489,  2488,  2511,
1081 >    2511,  2512,  2512,  2512,  2514,  2520,  2529,  2532,  2532,  2533,
1082 >    2534,  2535,  2536,  2537,  2538,  2539,  2540,  2541,  2542,  2543,
1083 >    2544,  2545,  2546,  2547,  2548,  2549,  2550,  2551,  2552,  2553,
1084 >    2554,  2555,  2556,  2557,  2558,  2559,  2560,  2561,  2562,  2563,
1085 >    2564,  2565,  2566,  2567,  2568,  2569,  2570,  2571,  2572,  2573,
1086 >    2574,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2585,
1087 >    2590,  2595,  2600,  2606,  2612,  2618,  2624,  2629,  2634,  2639,
1088 >    2644,  2649,  2654,  2659,  2664,  2669,  2674,  2679,  2684,  2689,
1089 >    2695,  2706,  2711,  2716,  2721,  2726,  2731,  2736,  2739,  2744,
1090 >    2747,  2752,  2757,  2762,  2767,  2772,  2777,  2782,  2787,  2792,
1091 >    2797,  2802,  2807,  2812,  2817,  2823,  2822,  2827,  2827,  2828,
1092 >    2831,  2834,  2837,  2840,  2843,  2846,  2849,  2852,  2855,  2858,
1093 >    2861,  2864,  2867,  2870,  2873,  2876,  2879,  2882,  2885,  2888,
1094 >    2891,  2897,  2896,  2901,  2901,  2902,  2905,  2908,  2911,  2914,
1095 >    2917,  2920,  2923,  2926,  2929,  2932,  2935,  2938,  2941,  2944,
1096 >    2947,  2950,  2953,  2956,  2959,  2964,  2969,  2974,  2983,  2986,
1097 >    2986,  2987,  2988,  2989,  2990,  2991,  2992,  2993,  2994,  2995,
1098 >    2996,  2997,  2998,  2999,  3000,  3001,  3003,  3008,  3013,  3018,
1099 >    3023,  3028,  3033,  3038,  3043,  3048,  3053,  3058,  3063,  3068,
1100 >    3076,  3079,  3079,  3080,  3081,  3082,  3083,  3084,  3085,  3086,
1101 >    3087,  3088,  3090,  3096,  3102,  3108,  3114,  3123,  3138,  3144
1102   };
1103   #endif
1104  
# Line 2983 | Line 2983 | yyreduce:
2983        break;
2984      }
2985  
2986 <    if (SSL_CTX_use_certificate_file(ConfigServerInfo.server_ctx, yylval.string,
2987 <                                     SSL_FILETYPE_PEM) <= 0 ||
2988 <        SSL_CTX_use_certificate_file(ConfigServerInfo.client_ctx, yylval.string,
2989 <                                     SSL_FILETYPE_PEM) <= 0)
2986 >    if (SSL_CTX_use_certificate_chain_file(ConfigServerInfo.server_ctx, yylval.string) <= 0 ||
2987 >        SSL_CTX_use_certificate_chain_file(ConfigServerInfo.client_ctx, yylval.string) <= 0)
2988      {
2989        report_crypto_errors();
2990        conf_error_report("Could not open/read certificate file");
# Line 3013 | Line 3011 | yyreduce:
3011    }
3012   #endif
3013   }
3014 < #line 3017 "conf_parser.c" /* yacc.c:1646  */
3014 > #line 3015 "conf_parser.c" /* yacc.c:1646  */
3015      break;
3016  
3017    case 74:
3018 < #line 527 "conf_parser.y" /* yacc.c:1646  */
3018 > #line 525 "conf_parser.y" /* yacc.c:1646  */
3019      {
3020   #ifdef HAVE_LIBCRYPTO
3021    BIO *file = NULL;
# Line 3074 | Line 3072 | yyreduce:
3072    }
3073   #endif
3074   }
3075 < #line 3078 "conf_parser.c" /* yacc.c:1646  */
3075 > #line 3076 "conf_parser.c" /* yacc.c:1646  */
3076      break;
3077  
3078    case 75:
3079 < #line 585 "conf_parser.y" /* yacc.c:1646  */
3079 > #line 583 "conf_parser.y" /* yacc.c:1646  */
3080      {
3081   #ifdef HAVE_LIBCRYPTO
3082    if (conf_parser_ctx.pass == 2)
# Line 3106 | Line 3104 | yyreduce:
3104    }
3105   #endif
3106   }
3107 < #line 3110 "conf_parser.c" /* yacc.c:1646  */
3107 > #line 3108 "conf_parser.c" /* yacc.c:1646  */
3108      break;
3109  
3110    case 76:
3111 < #line 614 "conf_parser.y" /* yacc.c:1646  */
3111 > #line 612 "conf_parser.y" /* yacc.c:1646  */
3112      {
3113   #ifdef HAVE_LIBCRYPTO
3114    if (conf_parser_ctx.pass == 2)
3115      SSL_CTX_set_cipher_list(ConfigServerInfo.server_ctx, yylval.string);
3116   #endif
3117   }
3118 < #line 3121 "conf_parser.c" /* yacc.c:1646  */
3118 > #line 3119 "conf_parser.c" /* yacc.c:1646  */
3119      break;
3120  
3121    case 77:
3122 < #line 622 "conf_parser.y" /* yacc.c:1646  */
3122 > #line 620 "conf_parser.y" /* yacc.c:1646  */
3123      {
3124   #ifdef HAVE_LIBCRYPTO
3125    if (conf_parser_ctx.pass == 2)
# Line 3134 | Line 3132 | yyreduce:
3132    }
3133   #endif
3134   }
3135 < #line 3138 "conf_parser.c" /* yacc.c:1646  */
3135 > #line 3136 "conf_parser.c" /* yacc.c:1646  */
3136      break;
3137  
3138    case 78:
3139 < #line 636 "conf_parser.y" /* yacc.c:1646  */
3139 > #line 634 "conf_parser.y" /* yacc.c:1646  */
3140      {
3141   #ifdef HAVE_LIBCRYPTO
3142   #if OPENSSL_VERSION_NUMBER >= 0x1000005FL && !defined(OPENSSL_NO_ECDH)
# Line 3165 | Line 3163 | yyreduce:
3163   #endif
3164   #endif
3165   }
3166 < #line 3169 "conf_parser.c" /* yacc.c:1646  */
3166 > #line 3167 "conf_parser.c" /* yacc.c:1646  */
3167      break;
3168  
3169    case 79:
3170 < #line 664 "conf_parser.y" /* yacc.c:1646  */
3170 > #line 662 "conf_parser.y" /* yacc.c:1646  */
3171      {
3172    /* this isn't rehashable */
3173    if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
# Line 3183 | Line 3181 | yyreduce:
3181      }
3182    }
3183   }
3184 < #line 3187 "conf_parser.c" /* yacc.c:1646  */
3184 > #line 3185 "conf_parser.c" /* yacc.c:1646  */
3185      break;
3186  
3187    case 80:
3188 < #line 679 "conf_parser.y" /* yacc.c:1646  */
3188 > #line 677 "conf_parser.y" /* yacc.c:1646  */
3189      {
3190    /* this isn't rehashable */
3191    if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
# Line 3201 | Line 3199 | yyreduce:
3199      }
3200    }
3201   }
3202 < #line 3205 "conf_parser.c" /* yacc.c:1646  */
3202 > #line 3203 "conf_parser.c" /* yacc.c:1646  */
3203      break;
3204  
3205    case 81:
3206 < #line 694 "conf_parser.y" /* yacc.c:1646  */
3206 > #line 692 "conf_parser.y" /* yacc.c:1646  */
3207      {
3208    if (conf_parser_ctx.pass == 2)
3209    {
# Line 3214 | Line 3212 | yyreduce:
3212      strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3213    }
3214   }
3215 < #line 3218 "conf_parser.c" /* yacc.c:1646  */
3215 > #line 3216 "conf_parser.c" /* yacc.c:1646  */
3216      break;
3217  
3218    case 82:
3219 < #line 704 "conf_parser.y" /* yacc.c:1646  */
3219 > #line 702 "conf_parser.y" /* yacc.c:1646  */
3220      {
3221    if (conf_parser_ctx.pass == 2)
3222    {
# Line 3231 | Line 3229 | yyreduce:
3229      ConfigServerInfo.network_name = xstrdup(yylval.string);
3230    }
3231   }
3232 < #line 3235 "conf_parser.c" /* yacc.c:1646  */
3232 > #line 3233 "conf_parser.c" /* yacc.c:1646  */
3233      break;
3234  
3235    case 83:
3236 < #line 718 "conf_parser.y" /* yacc.c:1646  */
3236 > #line 716 "conf_parser.y" /* yacc.c:1646  */
3237      {
3238    if (conf_parser_ctx.pass != 2)
3239      break;
# Line 3243 | Line 3241 | yyreduce:
3241    MyFree(ConfigServerInfo.network_desc);
3242    ConfigServerInfo.network_desc = xstrdup(yylval.string);
3243   }
3244 < #line 3247 "conf_parser.c" /* yacc.c:1646  */
3244 > #line 3245 "conf_parser.c" /* yacc.c:1646  */
3245      break;
3246  
3247    case 84:
3248 < #line 727 "conf_parser.y" /* yacc.c:1646  */
3248 > #line 725 "conf_parser.y" /* yacc.c:1646  */
3249      {
3250    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3251    {
# Line 3274 | Line 3272 | yyreduce:
3272      }
3273    }
3274   }
3275 < #line 3278 "conf_parser.c" /* yacc.c:1646  */
3275 > #line 3276 "conf_parser.c" /* yacc.c:1646  */
3276      break;
3277  
3278    case 85:
3279 < #line 755 "conf_parser.y" /* yacc.c:1646  */
3279 > #line 753 "conf_parser.y" /* yacc.c:1646  */
3280      {
3281    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3282    {
# Line 3305 | Line 3303 | yyreduce:
3303      }
3304    }
3305   }
3306 < #line 3309 "conf_parser.c" /* yacc.c:1646  */
3306 > #line 3307 "conf_parser.c" /* yacc.c:1646  */
3307      break;
3308  
3309    case 86:
3310 < #line 783 "conf_parser.y" /* yacc.c:1646  */
3310 > #line 781 "conf_parser.y" /* yacc.c:1646  */
3311      {
3312    if (conf_parser_ctx.pass != 2)
3313      break;
# Line 3333 | Line 3331 | yyreduce:
3331    else
3332      ConfigServerInfo.max_clients = (yyvsp[-1].number);
3333   }
3334 < #line 3337 "conf_parser.c" /* yacc.c:1646  */
3334 > #line 3335 "conf_parser.c" /* yacc.c:1646  */
3335      break;
3336  
3337    case 87:
3338 < #line 808 "conf_parser.y" /* yacc.c:1646  */
3338 > #line 806 "conf_parser.y" /* yacc.c:1646  */
3339      {
3340    if (conf_parser_ctx.pass != 2)
3341      break;
# Line 3358 | Line 3356 | yyreduce:
3356    else
3357      ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3358   }
3359 < #line 3362 "conf_parser.c" /* yacc.c:1646  */
3359 > #line 3360 "conf_parser.c" /* yacc.c:1646  */
3360      break;
3361  
3362    case 88:
3363 < #line 830 "conf_parser.y" /* yacc.c:1646  */
3363 > #line 828 "conf_parser.y" /* yacc.c:1646  */
3364      {
3365    if (conf_parser_ctx.pass != 2)
3366      break;
# Line 3383 | Line 3381 | yyreduce:
3381    else
3382      ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3383   }
3384 < #line 3387 "conf_parser.c" /* yacc.c:1646  */
3384 > #line 3385 "conf_parser.c" /* yacc.c:1646  */
3385      break;
3386  
3387    case 89:
3388 < #line 852 "conf_parser.y" /* yacc.c:1646  */
3388 > #line 850 "conf_parser.y" /* yacc.c:1646  */
3389      {
3390    if (conf_parser_ctx.pass == 2)
3391      ConfigServerInfo.hub = yylval.number;
3392   }
3393 < #line 3396 "conf_parser.c" /* yacc.c:1646  */
3393 > #line 3394 "conf_parser.c" /* yacc.c:1646  */
3394      break;
3395  
3396    case 97:
3397 < #line 869 "conf_parser.y" /* yacc.c:1646  */
3397 > #line 867 "conf_parser.y" /* yacc.c:1646  */
3398      {
3399    if (conf_parser_ctx.pass != 2)
3400      break;
# Line 3404 | Line 3402 | yyreduce:
3402    MyFree(ConfigAdminInfo.name);
3403    ConfigAdminInfo.name = xstrdup(yylval.string);
3404   }
3405 < #line 3408 "conf_parser.c" /* yacc.c:1646  */
3405 > #line 3406 "conf_parser.c" /* yacc.c:1646  */
3406      break;
3407  
3408    case 98:
3409 < #line 878 "conf_parser.y" /* yacc.c:1646  */
3409 > #line 876 "conf_parser.y" /* yacc.c:1646  */
3410      {
3411    if (conf_parser_ctx.pass != 2)
3412      break;
# Line 3416 | Line 3414 | yyreduce:
3414    MyFree(ConfigAdminInfo.email);
3415    ConfigAdminInfo.email = xstrdup(yylval.string);
3416   }
3417 < #line 3420 "conf_parser.c" /* yacc.c:1646  */
3417 > #line 3418 "conf_parser.c" /* yacc.c:1646  */
3418      break;
3419  
3420    case 99:
3421 < #line 887 "conf_parser.y" /* yacc.c:1646  */
3421 > #line 885 "conf_parser.y" /* yacc.c:1646  */
3422      {
3423    if (conf_parser_ctx.pass != 2)
3424      break;
# Line 3428 | Line 3426 | yyreduce:
3426    MyFree(ConfigAdminInfo.description);
3427    ConfigAdminInfo.description = xstrdup(yylval.string);
3428   }
3429 < #line 3432 "conf_parser.c" /* yacc.c:1646  */
3429 > #line 3430 "conf_parser.c" /* yacc.c:1646  */
3430      break;
3431  
3432    case 100:
3433 < #line 899 "conf_parser.y" /* yacc.c:1646  */
3433 > #line 897 "conf_parser.y" /* yacc.c:1646  */
3434      {
3435    if (conf_parser_ctx.pass == 2)
3436      reset_block_state();
3437   }
3438 < #line 3441 "conf_parser.c" /* yacc.c:1646  */
3438 > #line 3439 "conf_parser.c" /* yacc.c:1646  */
3439      break;
3440  
3441    case 101:
3442 < #line 903 "conf_parser.y" /* yacc.c:1646  */
3442 > #line 901 "conf_parser.y" /* yacc.c:1646  */
3443      {
3444    dlink_node *ptr = NULL;
3445  
# Line 3454 | Line 3452 | yyreduce:
3452    DLINK_FOREACH(ptr, block_state.mask.list.head)
3453      motd_add(ptr->data, block_state.file.buf);
3454   }
3455 < #line 3458 "conf_parser.c" /* yacc.c:1646  */
3455 > #line 3456 "conf_parser.c" /* yacc.c:1646  */
3456      break;
3457  
3458    case 107:
3459 < #line 920 "conf_parser.y" /* yacc.c:1646  */
3459 > #line 918 "conf_parser.y" /* yacc.c:1646  */
3460      {
3461    if (conf_parser_ctx.pass == 2)
3462      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3463   }
3464 < #line 3467 "conf_parser.c" /* yacc.c:1646  */
3464 > #line 3465 "conf_parser.c" /* yacc.c:1646  */
3465      break;
3466  
3467    case 108:
3468 < #line 926 "conf_parser.y" /* yacc.c:1646  */
3468 > #line 924 "conf_parser.y" /* yacc.c:1646  */
3469      {
3470    if (conf_parser_ctx.pass == 2)
3471      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3472   }
3473 < #line 3476 "conf_parser.c" /* yacc.c:1646  */
3473 > #line 3474 "conf_parser.c" /* yacc.c:1646  */
3474      break;
3475  
3476    case 109:
3477 < #line 935 "conf_parser.y" /* yacc.c:1646  */
3477 > #line 933 "conf_parser.y" /* yacc.c:1646  */
3478      {
3479    if (conf_parser_ctx.pass == 2)
3480      reset_block_state();
3481   }
3482 < #line 3485 "conf_parser.c" /* yacc.c:1646  */
3482 > #line 3483 "conf_parser.c" /* yacc.c:1646  */
3483      break;
3484  
3485    case 110:
3486 < #line 939 "conf_parser.y" /* yacc.c:1646  */
3486 > #line 937 "conf_parser.y" /* yacc.c:1646  */
3487      {
3488    if (conf_parser_ctx.pass != 2)
3489      break;
# Line 3499 | Line 3497 | yyreduce:
3497    pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3498                    block_state.prepend.buf, block_state.command.buf);
3499   }
3500 < #line 3503 "conf_parser.c" /* yacc.c:1646  */
3500 > #line 3501 "conf_parser.c" /* yacc.c:1646  */
3501      break;
3502  
3503    case 118:
3504 < #line 957 "conf_parser.y" /* yacc.c:1646  */
3504 > #line 955 "conf_parser.y" /* yacc.c:1646  */
3505      {
3506    if (conf_parser_ctx.pass == 2)
3507      strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3508   }
3509 < #line 3512 "conf_parser.c" /* yacc.c:1646  */
3509 > #line 3510 "conf_parser.c" /* yacc.c:1646  */
3510      break;
3511  
3512    case 119:
3513 < #line 963 "conf_parser.y" /* yacc.c:1646  */
3513 > #line 961 "conf_parser.y" /* yacc.c:1646  */
3514      {
3515    if (conf_parser_ctx.pass == 2)
3516      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3517   }
3518 < #line 3521 "conf_parser.c" /* yacc.c:1646  */
3518 > #line 3519 "conf_parser.c" /* yacc.c:1646  */
3519      break;
3520  
3521    case 120:
3522 < #line 969 "conf_parser.y" /* yacc.c:1646  */
3522 > #line 967 "conf_parser.y" /* yacc.c:1646  */
3523      {
3524    if (conf_parser_ctx.pass == 2)
3525      strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3526   }
3527 < #line 3530 "conf_parser.c" /* yacc.c:1646  */
3527 > #line 3528 "conf_parser.c" /* yacc.c:1646  */
3528      break;
3529  
3530    case 121:
3531 < #line 975 "conf_parser.y" /* yacc.c:1646  */
3531 > #line 973 "conf_parser.y" /* yacc.c:1646  */
3532      {
3533    if (conf_parser_ctx.pass == 2)
3534    {
# Line 3549 | Line 3547 | yyreduce:
3547      strlcpy(block_state.host.buf, nuh.hostptr, sizeof(block_state.host.buf));
3548    }
3549   }
3550 < #line 3553 "conf_parser.c" /* yacc.c:1646  */
3550 > #line 3551 "conf_parser.c" /* yacc.c:1646  */
3551      break;
3552  
3553    case 128:
3554 < #line 1004 "conf_parser.y" /* yacc.c:1646  */
3554 > #line 1002 "conf_parser.y" /* yacc.c:1646  */
3555      {
3556    if (conf_parser_ctx.pass == 2)
3557      ConfigLog.use_logging = yylval.number;
3558   }
3559 < #line 3562 "conf_parser.c" /* yacc.c:1646  */
3559 > #line 3560 "conf_parser.c" /* yacc.c:1646  */
3560      break;
3561  
3562    case 129:
3563 < #line 1010 "conf_parser.y" /* yacc.c:1646  */
3563 > #line 1008 "conf_parser.y" /* yacc.c:1646  */
3564      {
3565    if (conf_parser_ctx.pass == 2)
3566      reset_block_state();
3567   }
3568 < #line 3571 "conf_parser.c" /* yacc.c:1646  */
3568 > #line 3569 "conf_parser.c" /* yacc.c:1646  */
3569      break;
3570  
3571    case 130:
3572 < #line 1014 "conf_parser.y" /* yacc.c:1646  */
3572 > #line 1012 "conf_parser.y" /* yacc.c:1646  */
3573      {
3574    if (conf_parser_ctx.pass != 2)
3575      break;
# Line 3580 | Line 3578 | yyreduce:
3578      log_set_file(block_state.type.value, block_state.size.value,
3579                   block_state.file.buf);
3580   }
3581 < #line 3584 "conf_parser.c" /* yacc.c:1646  */
3581 > #line 3582 "conf_parser.c" /* yacc.c:1646  */
3582      break;
3583  
3584    case 137:
3585 < #line 1030 "conf_parser.y" /* yacc.c:1646  */
3585 > #line 1028 "conf_parser.y" /* yacc.c:1646  */
3586      {
3587    if (conf_parser_ctx.pass != 2)
3588      break;
3589  
3590    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3591   }
3592 < #line 3595 "conf_parser.c" /* yacc.c:1646  */
3592 > #line 3593 "conf_parser.c" /* yacc.c:1646  */
3593      break;
3594  
3595    case 138:
3596 < #line 1038 "conf_parser.y" /* yacc.c:1646  */
3596 > #line 1036 "conf_parser.y" /* yacc.c:1646  */
3597      {
3598    block_state.size.value = (yyvsp[-1].number);
3599   }
3600 < #line 3603 "conf_parser.c" /* yacc.c:1646  */
3600 > #line 3601 "conf_parser.c" /* yacc.c:1646  */
3601      break;
3602  
3603    case 139:
3604 < #line 1041 "conf_parser.y" /* yacc.c:1646  */
3604 > #line 1039 "conf_parser.y" /* yacc.c:1646  */
3605      {
3606    block_state.size.value = 0;
3607   }
3608 < #line 3611 "conf_parser.c" /* yacc.c:1646  */
3608 > #line 3609 "conf_parser.c" /* yacc.c:1646  */
3609      break;
3610  
3611    case 140:
3612 < #line 1046 "conf_parser.y" /* yacc.c:1646  */
3612 > #line 1044 "conf_parser.y" /* yacc.c:1646  */
3613      {
3614    if (conf_parser_ctx.pass == 2)
3615      block_state.type.value = 0;
3616   }
3617 < #line 3620 "conf_parser.c" /* yacc.c:1646  */
3617 > #line 3618 "conf_parser.c" /* yacc.c:1646  */
3618      break;
3619  
3620    case 144:
3621 < #line 1053 "conf_parser.y" /* yacc.c:1646  */
3621 > #line 1051 "conf_parser.y" /* yacc.c:1646  */
3622      {
3623    if (conf_parser_ctx.pass == 2)
3624      block_state.type.value = LOG_TYPE_USER;
3625   }
3626 < #line 3629 "conf_parser.c" /* yacc.c:1646  */
3626 > #line 3627 "conf_parser.c" /* yacc.c:1646  */
3627      break;
3628  
3629    case 145:
3630 < #line 1057 "conf_parser.y" /* yacc.c:1646  */
3630 > #line 1055 "conf_parser.y" /* yacc.c:1646  */
3631      {
3632    if (conf_parser_ctx.pass == 2)
3633      block_state.type.value = LOG_TYPE_OPER;
3634   }
3635 < #line 3638 "conf_parser.c" /* yacc.c:1646  */
3635 > #line 3636 "conf_parser.c" /* yacc.c:1646  */
3636      break;
3637  
3638    case 146:
3639 < #line 1061 "conf_parser.y" /* yacc.c:1646  */
3639 > #line 1059 "conf_parser.y" /* yacc.c:1646  */
3640      {
3641    if (conf_parser_ctx.pass == 2)
3642      block_state.type.value = LOG_TYPE_GLINE;
3643   }
3644 < #line 3647 "conf_parser.c" /* yacc.c:1646  */
3644 > #line 3645 "conf_parser.c" /* yacc.c:1646  */
3645      break;
3646  
3647    case 147:
3648 < #line 1065 "conf_parser.y" /* yacc.c:1646  */
3648 > #line 1063 "conf_parser.y" /* yacc.c:1646  */
3649      {
3650    if (conf_parser_ctx.pass == 2)
3651      block_state.type.value = LOG_TYPE_XLINE;
3652   }
3653 < #line 3656 "conf_parser.c" /* yacc.c:1646  */
3653 > #line 3654 "conf_parser.c" /* yacc.c:1646  */
3654      break;
3655  
3656    case 148:
3657 < #line 1069 "conf_parser.y" /* yacc.c:1646  */
3657 > #line 1067 "conf_parser.y" /* yacc.c:1646  */
3658      {
3659    if (conf_parser_ctx.pass == 2)
3660      block_state.type.value = LOG_TYPE_RESV;
3661   }
3662 < #line 3665 "conf_parser.c" /* yacc.c:1646  */
3662 > #line 3663 "conf_parser.c" /* yacc.c:1646  */
3663      break;
3664  
3665    case 149:
3666 < #line 1073 "conf_parser.y" /* yacc.c:1646  */
3666 > #line 1071 "conf_parser.y" /* yacc.c:1646  */
3667      {
3668    if (conf_parser_ctx.pass == 2)
3669      block_state.type.value = LOG_TYPE_DLINE;
3670   }
3671 < #line 3674 "conf_parser.c" /* yacc.c:1646  */
3671 > #line 3672 "conf_parser.c" /* yacc.c:1646  */
3672      break;
3673  
3674    case 150:
3675 < #line 1077 "conf_parser.y" /* yacc.c:1646  */
3675 > #line 1075 "conf_parser.y" /* yacc.c:1646  */
3676      {
3677    if (conf_parser_ctx.pass == 2)
3678      block_state.type.value = LOG_TYPE_KLINE;
3679   }
3680 < #line 3683 "conf_parser.c" /* yacc.c:1646  */
3680 > #line 3681 "conf_parser.c" /* yacc.c:1646  */
3681      break;
3682  
3683    case 151:
3684 < #line 1081 "conf_parser.y" /* yacc.c:1646  */
3684 > #line 1079 "conf_parser.y" /* yacc.c:1646  */
3685      {
3686    if (conf_parser_ctx.pass == 2)
3687      block_state.type.value = LOG_TYPE_KILL;
3688   }
3689 < #line 3692 "conf_parser.c" /* yacc.c:1646  */
3689 > #line 3690 "conf_parser.c" /* yacc.c:1646  */
3690      break;
3691  
3692    case 152:
3693 < #line 1085 "conf_parser.y" /* yacc.c:1646  */
3693 > #line 1083 "conf_parser.y" /* yacc.c:1646  */
3694      {
3695    if (conf_parser_ctx.pass == 2)
3696      block_state.type.value = LOG_TYPE_DEBUG;
3697   }
3698 < #line 3701 "conf_parser.c" /* yacc.c:1646  */
3698 > #line 3699 "conf_parser.c" /* yacc.c:1646  */
3699      break;
3700  
3701    case 153:
3702 < #line 1095 "conf_parser.y" /* yacc.c:1646  */
3702 > #line 1093 "conf_parser.y" /* yacc.c:1646  */
3703      {
3704    if (conf_parser_ctx.pass != 2)
3705      break;
# Line 3709 | Line 3707 | yyreduce:
3707    reset_block_state();
3708    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3709   }
3710 < #line 3713 "conf_parser.c" /* yacc.c:1646  */
3710 > #line 3711 "conf_parser.c" /* yacc.c:1646  */
3711      break;
3712  
3713    case 154:
3714 < #line 1102 "conf_parser.y" /* yacc.c:1646  */
3714 > #line 1100 "conf_parser.y" /* yacc.c:1646  */
3715      {
3716    dlink_node *ptr = NULL;
3717  
# Line 3791 | Line 3789 | yyreduce:
3789   #endif /* HAVE_LIBCRYPTO */
3790    }
3791   }
3792 < #line 3795 "conf_parser.c" /* yacc.c:1646  */
3792 > #line 3793 "conf_parser.c" /* yacc.c:1646  */
3793      break;
3794  
3795    case 168:
3796 < #line 1194 "conf_parser.y" /* yacc.c:1646  */
3796 > #line 1192 "conf_parser.y" /* yacc.c:1646  */
3797      {
3798    if (conf_parser_ctx.pass == 2)
3799      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3800   }
3801 < #line 3804 "conf_parser.c" /* yacc.c:1646  */
3801 > #line 3802 "conf_parser.c" /* yacc.c:1646  */
3802      break;
3803  
3804    case 169:
3805 < #line 1200 "conf_parser.y" /* yacc.c:1646  */
3805 > #line 1198 "conf_parser.y" /* yacc.c:1646  */
3806      {
3807    if (conf_parser_ctx.pass == 2)
3808      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3809   }
3810 < #line 3813 "conf_parser.c" /* yacc.c:1646  */
3810 > #line 3811 "conf_parser.c" /* yacc.c:1646  */
3811      break;
3812  
3813    case 170:
3814 < #line 1206 "conf_parser.y" /* yacc.c:1646  */
3814 > #line 1204 "conf_parser.y" /* yacc.c:1646  */
3815      {
3816    if (conf_parser_ctx.pass == 2)
3817      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3818   }
3819 < #line 3822 "conf_parser.c" /* yacc.c:1646  */
3819 > #line 3820 "conf_parser.c" /* yacc.c:1646  */
3820      break;
3821  
3822    case 171:
3823 < #line 1212 "conf_parser.y" /* yacc.c:1646  */
3823 > #line 1210 "conf_parser.y" /* yacc.c:1646  */
3824      {
3825    if (conf_parser_ctx.pass != 2)
3826      break;
# Line 3832 | Line 3830 | yyreduce:
3830    else
3831      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3832   }
3833 < #line 3836 "conf_parser.c" /* yacc.c:1646  */
3833 > #line 3834 "conf_parser.c" /* yacc.c:1646  */
3834      break;
3835  
3836    case 172:
3837 < #line 1223 "conf_parser.y" /* yacc.c:1646  */
3837 > #line 1221 "conf_parser.y" /* yacc.c:1646  */
3838      {
3839    if (conf_parser_ctx.pass == 2)
3840      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3841   }
3842 < #line 3845 "conf_parser.c" /* yacc.c:1646  */
3842 > #line 3843 "conf_parser.c" /* yacc.c:1646  */
3843      break;
3844  
3845    case 173:
3846 < #line 1229 "conf_parser.y" /* yacc.c:1646  */
3846 > #line 1227 "conf_parser.y" /* yacc.c:1646  */
3847      {
3848    if (conf_parser_ctx.pass == 2)
3849      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3850   }
3851 < #line 3854 "conf_parser.c" /* yacc.c:1646  */
3851 > #line 3852 "conf_parser.c" /* yacc.c:1646  */
3852      break;
3853  
3854    case 174:
3855 < #line 1235 "conf_parser.y" /* yacc.c:1646  */
3855 > #line 1233 "conf_parser.y" /* yacc.c:1646  */
3856      {
3857    if (conf_parser_ctx.pass != 2)
3858      break;
# Line 3864 | Line 3862 | yyreduce:
3862    else
3863      block_state.flags.value &= ~CONF_FLAGS_SSL;
3864   }
3865 < #line 3868 "conf_parser.c" /* yacc.c:1646  */
3865 > #line 3866 "conf_parser.c" /* yacc.c:1646  */
3866      break;
3867  
3868    case 175:
3869 < #line 1246 "conf_parser.y" /* yacc.c:1646  */
3869 > #line 1244 "conf_parser.y" /* yacc.c:1646  */
3870      {
3871    if (conf_parser_ctx.pass == 2)
3872      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3873   }
3874 < #line 3877 "conf_parser.c" /* yacc.c:1646  */
3874 > #line 3875 "conf_parser.c" /* yacc.c:1646  */
3875      break;
3876  
3877    case 176:
3878 < #line 1252 "conf_parser.y" /* yacc.c:1646  */
3878 > #line 1250 "conf_parser.y" /* yacc.c:1646  */
3879      {
3880    if (conf_parser_ctx.pass == 2)
3881      block_state.modes.value = 0;
3882   }
3883 < #line 3886 "conf_parser.c" /* yacc.c:1646  */
3883 > #line 3884 "conf_parser.c" /* yacc.c:1646  */
3884      break;
3885  
3886    case 180:
3887 < #line 1259 "conf_parser.y" /* yacc.c:1646  */
3887 > #line 1257 "conf_parser.y" /* yacc.c:1646  */
3888      {
3889    if (conf_parser_ctx.pass == 2)
3890      block_state.modes.value |= UMODE_BOTS;
3891   }
3892 < #line 3895 "conf_parser.c" /* yacc.c:1646  */
3892 > #line 3893 "conf_parser.c" /* yacc.c:1646  */
3893      break;
3894  
3895    case 181:
3896 < #line 1263 "conf_parser.y" /* yacc.c:1646  */
3896 > #line 1261 "conf_parser.y" /* yacc.c:1646  */
3897      {
3898    if (conf_parser_ctx.pass == 2)
3899      block_state.modes.value |= UMODE_CCONN;
3900   }
3901 < #line 3904 "conf_parser.c" /* yacc.c:1646  */
3901 > #line 3902 "conf_parser.c" /* yacc.c:1646  */
3902      break;
3903  
3904    case 182:
3905 < #line 1267 "conf_parser.y" /* yacc.c:1646  */
3905 > #line 1265 "conf_parser.y" /* yacc.c:1646  */
3906      {
3907    if (conf_parser_ctx.pass == 2)
3908      block_state.modes.value |= UMODE_DEAF;
3909   }
3910 < #line 3913 "conf_parser.c" /* yacc.c:1646  */
3910 > #line 3911 "conf_parser.c" /* yacc.c:1646  */
3911      break;
3912  
3913    case 183:
3914 < #line 1271 "conf_parser.y" /* yacc.c:1646  */
3914 > #line 1269 "conf_parser.y" /* yacc.c:1646  */
3915      {
3916    if (conf_parser_ctx.pass == 2)
3917      block_state.modes.value |= UMODE_DEBUG;
3918   }
3919 < #line 3922 "conf_parser.c" /* yacc.c:1646  */
3919 > #line 3920 "conf_parser.c" /* yacc.c:1646  */
3920      break;
3921  
3922    case 184:
3923 < #line 1275 "conf_parser.y" /* yacc.c:1646  */
3923 > #line 1273 "conf_parser.y" /* yacc.c:1646  */
3924      {
3925    if (conf_parser_ctx.pass == 2)
3926      block_state.modes.value |= UMODE_FULL;
3927   }
3928 < #line 3931 "conf_parser.c" /* yacc.c:1646  */
3928 > #line 3929 "conf_parser.c" /* yacc.c:1646  */
3929      break;
3930  
3931    case 185:
3932 < #line 1279 "conf_parser.y" /* yacc.c:1646  */
3932 > #line 1277 "conf_parser.y" /* yacc.c:1646  */
3933      {
3934    if (conf_parser_ctx.pass == 2)
3935      block_state.modes.value |= UMODE_HIDDEN;
3936   }
3937 < #line 3940 "conf_parser.c" /* yacc.c:1646  */
3937 > #line 3938 "conf_parser.c" /* yacc.c:1646  */
3938      break;
3939  
3940    case 186:
3941 < #line 1283 "conf_parser.y" /* yacc.c:1646  */
3941 > #line 1281 "conf_parser.y" /* yacc.c:1646  */
3942      {
3943    if (conf_parser_ctx.pass == 2)
3944      block_state.modes.value |= UMODE_HIDECHANS;
3945   }
3946 < #line 3949 "conf_parser.c" /* yacc.c:1646  */
3946 > #line 3947 "conf_parser.c" /* yacc.c:1646  */
3947      break;
3948  
3949    case 187:
3950 < #line 1287 "conf_parser.y" /* yacc.c:1646  */
3950 > #line 1285 "conf_parser.y" /* yacc.c:1646  */
3951      {
3952    if (conf_parser_ctx.pass == 2)
3953      block_state.modes.value |= UMODE_HIDEIDLE;
3954   }
3955 < #line 3958 "conf_parser.c" /* yacc.c:1646  */
3955 > #line 3956 "conf_parser.c" /* yacc.c:1646  */
3956      break;
3957  
3958    case 188:
3959 < #line 1291 "conf_parser.y" /* yacc.c:1646  */
3959 > #line 1289 "conf_parser.y" /* yacc.c:1646  */
3960      {
3961    if (conf_parser_ctx.pass == 2)
3962      block_state.modes.value |= UMODE_SKILL;
3963   }
3964 < #line 3967 "conf_parser.c" /* yacc.c:1646  */
3964 > #line 3965 "conf_parser.c" /* yacc.c:1646  */
3965      break;
3966  
3967    case 189:
3968 < #line 1295 "conf_parser.y" /* yacc.c:1646  */
3968 > #line 1293 "conf_parser.y" /* yacc.c:1646  */
3969      {
3970    if (conf_parser_ctx.pass == 2)
3971      block_state.modes.value |= UMODE_NCHANGE;
3972   }
3973 < #line 3976 "conf_parser.c" /* yacc.c:1646  */
3973 > #line 3974 "conf_parser.c" /* yacc.c:1646  */
3974      break;
3975  
3976    case 190:
3977 < #line 1299 "conf_parser.y" /* yacc.c:1646  */
3977 > #line 1297 "conf_parser.y" /* yacc.c:1646  */
3978      {
3979    if (conf_parser_ctx.pass == 2)
3980      block_state.modes.value |= UMODE_REJ;
3981   }
3982 < #line 3985 "conf_parser.c" /* yacc.c:1646  */
3982 > #line 3983 "conf_parser.c" /* yacc.c:1646  */
3983      break;
3984  
3985    case 191:
3986 < #line 1303 "conf_parser.y" /* yacc.c:1646  */
3986 > #line 1301 "conf_parser.y" /* yacc.c:1646  */
3987      {
3988    if (conf_parser_ctx.pass == 2)
3989      block_state.modes.value |= UMODE_UNAUTH;
3990   }
3991 < #line 3994 "conf_parser.c" /* yacc.c:1646  */
3991 > #line 3992 "conf_parser.c" /* yacc.c:1646  */
3992      break;
3993  
3994    case 192:
3995 < #line 1307 "conf_parser.y" /* yacc.c:1646  */
3995 > #line 1305 "conf_parser.y" /* yacc.c:1646  */
3996      {
3997    if (conf_parser_ctx.pass == 2)
3998      block_state.modes.value |= UMODE_SPY;
3999   }
4000 < #line 4003 "conf_parser.c" /* yacc.c:1646  */
4000 > #line 4001 "conf_parser.c" /* yacc.c:1646  */
4001      break;
4002  
4003    case 193:
4004 < #line 1311 "conf_parser.y" /* yacc.c:1646  */
4004 > #line 1309 "conf_parser.y" /* yacc.c:1646  */
4005      {
4006    if (conf_parser_ctx.pass == 2)
4007      block_state.modes.value |= UMODE_EXTERNAL;
4008   }
4009 < #line 4012 "conf_parser.c" /* yacc.c:1646  */
4009 > #line 4010 "conf_parser.c" /* yacc.c:1646  */
4010      break;
4011  
4012    case 194:
4013 < #line 1315 "conf_parser.y" /* yacc.c:1646  */
4013 > #line 1313 "conf_parser.y" /* yacc.c:1646  */
4014      {
4015    if (conf_parser_ctx.pass == 2)
4016      block_state.modes.value |= UMODE_SERVNOTICE;
4017   }
4018 < #line 4021 "conf_parser.c" /* yacc.c:1646  */
4018 > #line 4019 "conf_parser.c" /* yacc.c:1646  */
4019      break;
4020  
4021    case 195:
4022 < #line 1319 "conf_parser.y" /* yacc.c:1646  */
4022 > #line 1317 "conf_parser.y" /* yacc.c:1646  */
4023      {
4024    if (conf_parser_ctx.pass == 2)
4025      block_state.modes.value |= UMODE_INVISIBLE;
4026   }
4027 < #line 4030 "conf_parser.c" /* yacc.c:1646  */
4027 > #line 4028 "conf_parser.c" /* yacc.c:1646  */
4028      break;
4029  
4030    case 196:
4031 < #line 1323 "conf_parser.y" /* yacc.c:1646  */
4031 > #line 1321 "conf_parser.y" /* yacc.c:1646  */
4032      {
4033    if (conf_parser_ctx.pass == 2)
4034      block_state.modes.value |= UMODE_WALLOP;
4035   }
4036 < #line 4039 "conf_parser.c" /* yacc.c:1646  */
4036 > #line 4037 "conf_parser.c" /* yacc.c:1646  */
4037      break;
4038  
4039    case 197:
4040 < #line 1327 "conf_parser.y" /* yacc.c:1646  */
4040 > #line 1325 "conf_parser.y" /* yacc.c:1646  */
4041      {
4042    if (conf_parser_ctx.pass == 2)
4043      block_state.modes.value |= UMODE_SOFTCALLERID;
4044   }
4045 < #line 4048 "conf_parser.c" /* yacc.c:1646  */
4045 > #line 4046 "conf_parser.c" /* yacc.c:1646  */
4046      break;
4047  
4048    case 198:
4049 < #line 1331 "conf_parser.y" /* yacc.c:1646  */
4049 > #line 1329 "conf_parser.y" /* yacc.c:1646  */
4050      {
4051    if (conf_parser_ctx.pass == 2)
4052      block_state.modes.value |= UMODE_CALLERID;
4053   }
4054 < #line 4057 "conf_parser.c" /* yacc.c:1646  */
4054 > #line 4055 "conf_parser.c" /* yacc.c:1646  */
4055      break;
4056  
4057    case 199:
4058 < #line 1335 "conf_parser.y" /* yacc.c:1646  */
4058 > #line 1333 "conf_parser.y" /* yacc.c:1646  */
4059      {
4060    if (conf_parser_ctx.pass == 2)
4061      block_state.modes.value |= UMODE_LOCOPS;
4062   }
4063 < #line 4066 "conf_parser.c" /* yacc.c:1646  */
4063 > #line 4064 "conf_parser.c" /* yacc.c:1646  */
4064      break;
4065  
4066    case 200:
4067 < #line 1339 "conf_parser.y" /* yacc.c:1646  */
4067 > #line 1337 "conf_parser.y" /* yacc.c:1646  */
4068      {
4069    if (conf_parser_ctx.pass == 2)
4070      block_state.modes.value |= UMODE_REGONLY;
4071   }
4072 < #line 4075 "conf_parser.c" /* yacc.c:1646  */
4072 > #line 4073 "conf_parser.c" /* yacc.c:1646  */
4073      break;
4074  
4075    case 201:
4076 < #line 1343 "conf_parser.y" /* yacc.c:1646  */
4076 > #line 1341 "conf_parser.y" /* yacc.c:1646  */
4077      {
4078    if (conf_parser_ctx.pass == 2)
4079      block_state.modes.value |= UMODE_FARCONNECT;
4080   }
4081 < #line 4084 "conf_parser.c" /* yacc.c:1646  */
4081 > #line 4082 "conf_parser.c" /* yacc.c:1646  */
4082      break;
4083  
4084    case 202:
4085 < #line 1349 "conf_parser.y" /* yacc.c:1646  */
4085 > #line 1347 "conf_parser.y" /* yacc.c:1646  */
4086      {
4087    if (conf_parser_ctx.pass == 2)
4088      block_state.port.value = 0;
4089   }
4090 < #line 4093 "conf_parser.c" /* yacc.c:1646  */
4090 > #line 4091 "conf_parser.c" /* yacc.c:1646  */
4091      break;
4092  
4093    case 206:
4094 < #line 1356 "conf_parser.y" /* yacc.c:1646  */
4094 > #line 1354 "conf_parser.y" /* yacc.c:1646  */
4095      {
4096    if (conf_parser_ctx.pass == 2)
4097      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4098   }
4099 < #line 4102 "conf_parser.c" /* yacc.c:1646  */
4099 > #line 4100 "conf_parser.c" /* yacc.c:1646  */
4100      break;
4101  
4102    case 207:
4103 < #line 1360 "conf_parser.y" /* yacc.c:1646  */
4103 > #line 1358 "conf_parser.y" /* yacc.c:1646  */
4104      {
4105    if (conf_parser_ctx.pass == 2)
4106      block_state.port.value |= OPER_FLAG_KILL;
4107   }
4108 < #line 4111 "conf_parser.c" /* yacc.c:1646  */
4108 > #line 4109 "conf_parser.c" /* yacc.c:1646  */
4109      break;
4110  
4111    case 208:
4112 < #line 1364 "conf_parser.y" /* yacc.c:1646  */
4112 > #line 1362 "conf_parser.y" /* yacc.c:1646  */
4113      {
4114    if (conf_parser_ctx.pass == 2)
4115      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4116   }
4117 < #line 4120 "conf_parser.c" /* yacc.c:1646  */
4117 > #line 4118 "conf_parser.c" /* yacc.c:1646  */
4118      break;
4119  
4120    case 209:
4121 < #line 1368 "conf_parser.y" /* yacc.c:1646  */
4121 > #line 1366 "conf_parser.y" /* yacc.c:1646  */
4122      {
4123    if (conf_parser_ctx.pass == 2)
4124      block_state.port.value |= OPER_FLAG_CONNECT;
4125   }
4126 < #line 4129 "conf_parser.c" /* yacc.c:1646  */
4126 > #line 4127 "conf_parser.c" /* yacc.c:1646  */
4127      break;
4128  
4129    case 210:
4130 < #line 1372 "conf_parser.y" /* yacc.c:1646  */
4130 > #line 1370 "conf_parser.y" /* yacc.c:1646  */
4131      {
4132    if (conf_parser_ctx.pass == 2)
4133      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4134   }
4135 < #line 4138 "conf_parser.c" /* yacc.c:1646  */
4135 > #line 4136 "conf_parser.c" /* yacc.c:1646  */
4136      break;
4137  
4138    case 211:
4139 < #line 1376 "conf_parser.y" /* yacc.c:1646  */
4139 > #line 1374 "conf_parser.y" /* yacc.c:1646  */
4140      {
4141    if (conf_parser_ctx.pass == 2)
4142      block_state.port.value |= OPER_FLAG_SQUIT;
4143   }
4144 < #line 4147 "conf_parser.c" /* yacc.c:1646  */
4144 > #line 4145 "conf_parser.c" /* yacc.c:1646  */
4145      break;
4146  
4147    case 212:
4148 < #line 1380 "conf_parser.y" /* yacc.c:1646  */
4148 > #line 1378 "conf_parser.y" /* yacc.c:1646  */
4149      {
4150    if (conf_parser_ctx.pass == 2)
4151      block_state.port.value |= OPER_FLAG_KLINE;
4152   }
4153 < #line 4156 "conf_parser.c" /* yacc.c:1646  */
4153 > #line 4154 "conf_parser.c" /* yacc.c:1646  */
4154      break;
4155  
4156    case 213:
4157 < #line 1384 "conf_parser.y" /* yacc.c:1646  */
4157 > #line 1382 "conf_parser.y" /* yacc.c:1646  */
4158      {
4159    if (conf_parser_ctx.pass == 2)
4160      block_state.port.value |= OPER_FLAG_UNKLINE;
4161   }
4162 < #line 4165 "conf_parser.c" /* yacc.c:1646  */
4162 > #line 4163 "conf_parser.c" /* yacc.c:1646  */
4163      break;
4164  
4165    case 214:
4166 < #line 1388 "conf_parser.y" /* yacc.c:1646  */
4166 > #line 1386 "conf_parser.y" /* yacc.c:1646  */
4167      {
4168    if (conf_parser_ctx.pass == 2)
4169      block_state.port.value |= OPER_FLAG_DLINE;
4170   }
4171 < #line 4174 "conf_parser.c" /* yacc.c:1646  */
4171 > #line 4172 "conf_parser.c" /* yacc.c:1646  */
4172      break;
4173  
4174    case 215:
4175 < #line 1392 "conf_parser.y" /* yacc.c:1646  */
4175 > #line 1390 "conf_parser.y" /* yacc.c:1646  */
4176      {
4177    if (conf_parser_ctx.pass == 2)
4178      block_state.port.value |= OPER_FLAG_UNDLINE;
4179   }
4180 < #line 4183 "conf_parser.c" /* yacc.c:1646  */
4180 > #line 4181 "conf_parser.c" /* yacc.c:1646  */
4181      break;
4182  
4183    case 216:
4184 < #line 1396 "conf_parser.y" /* yacc.c:1646  */
4184 > #line 1394 "conf_parser.y" /* yacc.c:1646  */
4185      {
4186    if (conf_parser_ctx.pass == 2)
4187      block_state.port.value |= OPER_FLAG_XLINE;
4188   }
4189 < #line 4192 "conf_parser.c" /* yacc.c:1646  */
4189 > #line 4190 "conf_parser.c" /* yacc.c:1646  */
4190      break;
4191  
4192    case 217:
4193 < #line 1400 "conf_parser.y" /* yacc.c:1646  */
4193 > #line 1398 "conf_parser.y" /* yacc.c:1646  */
4194      {
4195    if (conf_parser_ctx.pass == 2)
4196      block_state.port.value |= OPER_FLAG_UNXLINE;
4197   }
4198 < #line 4201 "conf_parser.c" /* yacc.c:1646  */
4198 > #line 4199 "conf_parser.c" /* yacc.c:1646  */
4199      break;
4200  
4201    case 218:
4202 < #line 1404 "conf_parser.y" /* yacc.c:1646  */
4202 > #line 1402 "conf_parser.y" /* yacc.c:1646  */
4203      {
4204    if (conf_parser_ctx.pass == 2)
4205      block_state.port.value |= OPER_FLAG_GLINE;
4206   }
4207 < #line 4210 "conf_parser.c" /* yacc.c:1646  */
4207 > #line 4208 "conf_parser.c" /* yacc.c:1646  */
4208      break;
4209  
4210    case 219:
4211 < #line 1408 "conf_parser.y" /* yacc.c:1646  */
4211 > #line 1406 "conf_parser.y" /* yacc.c:1646  */
4212      {
4213    if (conf_parser_ctx.pass == 2)
4214      block_state.port.value |= OPER_FLAG_DIE;
4215   }
4216 < #line 4219 "conf_parser.c" /* yacc.c:1646  */
4216 > #line 4217 "conf_parser.c" /* yacc.c:1646  */
4217      break;
4218  
4219    case 220:
4220 < #line 1412 "conf_parser.y" /* yacc.c:1646  */
4220 > #line 1410 "conf_parser.y" /* yacc.c:1646  */
4221      {
4222    if (conf_parser_ctx.pass == 2)
4223      block_state.port.value |= OPER_FLAG_RESTART;
4224   }
4225 < #line 4228 "conf_parser.c" /* yacc.c:1646  */
4225 > #line 4226 "conf_parser.c" /* yacc.c:1646  */
4226      break;
4227  
4228    case 221:
4229 < #line 1416 "conf_parser.y" /* yacc.c:1646  */
4229 > #line 1414 "conf_parser.y" /* yacc.c:1646  */
4230      {
4231    if (conf_parser_ctx.pass == 2)
4232      block_state.port.value |= OPER_FLAG_REHASH;
4233   }
4234 < #line 4237 "conf_parser.c" /* yacc.c:1646  */
4234 > #line 4235 "conf_parser.c" /* yacc.c:1646  */
4235      break;
4236  
4237    case 222:
4238 < #line 1420 "conf_parser.y" /* yacc.c:1646  */
4238 > #line 1418 "conf_parser.y" /* yacc.c:1646  */
4239      {
4240    if (conf_parser_ctx.pass == 2)
4241      block_state.port.value |= OPER_FLAG_ADMIN;
4242   }
4243 < #line 4246 "conf_parser.c" /* yacc.c:1646  */
4243 > #line 4244 "conf_parser.c" /* yacc.c:1646  */
4244      break;
4245  
4246    case 223:
4247 < #line 1424 "conf_parser.y" /* yacc.c:1646  */
4247 > #line 1422 "conf_parser.y" /* yacc.c:1646  */
4248      {
4249    if (conf_parser_ctx.pass == 2)
4250      block_state.port.value |= OPER_FLAG_GLOBOPS;
4251   }
4252 < #line 4255 "conf_parser.c" /* yacc.c:1646  */
4252 > #line 4253 "conf_parser.c" /* yacc.c:1646  */
4253      break;
4254  
4255    case 224:
4256 < #line 1428 "conf_parser.y" /* yacc.c:1646  */
4256 > #line 1426 "conf_parser.y" /* yacc.c:1646  */
4257      {
4258    if (conf_parser_ctx.pass == 2)
4259      block_state.port.value |= OPER_FLAG_WALLOPS;
4260   }
4261 < #line 4264 "conf_parser.c" /* yacc.c:1646  */
4261 > #line 4262 "conf_parser.c" /* yacc.c:1646  */
4262      break;
4263  
4264    case 225:
4265 < #line 1432 "conf_parser.y" /* yacc.c:1646  */
4265 > #line 1430 "conf_parser.y" /* yacc.c:1646  */
4266      {
4267    if (conf_parser_ctx.pass == 2)
4268      block_state.port.value |= OPER_FLAG_LOCOPS;
4269   }
4270 < #line 4273 "conf_parser.c" /* yacc.c:1646  */
4270 > #line 4271 "conf_parser.c" /* yacc.c:1646  */
4271      break;
4272  
4273    case 226:
4274 < #line 1436 "conf_parser.y" /* yacc.c:1646  */
4274 > #line 1434 "conf_parser.y" /* yacc.c:1646  */
4275      {
4276    if (conf_parser_ctx.pass == 2)
4277      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4278   }
4279 < #line 4282 "conf_parser.c" /* yacc.c:1646  */
4279 > #line 4280 "conf_parser.c" /* yacc.c:1646  */
4280      break;
4281  
4282    case 227:
4283 < #line 1440 "conf_parser.y" /* yacc.c:1646  */
4283 > #line 1438 "conf_parser.y" /* yacc.c:1646  */
4284      {
4285    if (conf_parser_ctx.pass == 2)
4286      block_state.port.value |= OPER_FLAG_SET;
4287   }
4288 < #line 4291 "conf_parser.c" /* yacc.c:1646  */
4288 > #line 4289 "conf_parser.c" /* yacc.c:1646  */
4289      break;
4290  
4291    case 228:
4292 < #line 1444 "conf_parser.y" /* yacc.c:1646  */
4292 > #line 1442 "conf_parser.y" /* yacc.c:1646  */
4293      {
4294    if (conf_parser_ctx.pass == 2)
4295      block_state.port.value |= OPER_FLAG_MODULE;
4296   }
4297 < #line 4300 "conf_parser.c" /* yacc.c:1646  */
4297 > #line 4298 "conf_parser.c" /* yacc.c:1646  */
4298      break;
4299  
4300    case 229:
4301 < #line 1454 "conf_parser.y" /* yacc.c:1646  */
4301 > #line 1452 "conf_parser.y" /* yacc.c:1646  */
4302      {
4303    if (conf_parser_ctx.pass != 1)
4304      break;
# Line 4313 | Line 4311 | yyreduce:
4311    block_state.max_sendq.value = DEFAULT_SENDQ;
4312    block_state.max_recvq.value = DEFAULT_RECVQ;
4313   }
4314 < #line 4317 "conf_parser.c" /* yacc.c:1646  */
4314 > #line 4315 "conf_parser.c" /* yacc.c:1646  */
4315      break;
4316  
4317    case 230:
4318 < #line 1466 "conf_parser.y" /* yacc.c:1646  */
4318 > #line 1464 "conf_parser.y" /* yacc.c:1646  */
4319      {
4320    struct ClassItem *class = NULL;
4321  
# Line 4366 | Line 4364 | yyreduce:
4364    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4365    class->number_per_cidr = block_state.number_per_cidr.value;
4366   }
4367 < #line 4370 "conf_parser.c" /* yacc.c:1646  */
4367 > #line 4368 "conf_parser.c" /* yacc.c:1646  */
4368      break;
4369  
4370    case 251:
4371 < #line 1535 "conf_parser.y" /* yacc.c:1646  */
4371 > #line 1533 "conf_parser.y" /* yacc.c:1646  */
4372      {
4373    if (conf_parser_ctx.pass == 1)
4374      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4375   }
4376 < #line 4379 "conf_parser.c" /* yacc.c:1646  */
4376 > #line 4377 "conf_parser.c" /* yacc.c:1646  */
4377      break;
4378  
4379    case 252:
4380 < #line 1541 "conf_parser.y" /* yacc.c:1646  */
4380 > #line 1539 "conf_parser.y" /* yacc.c:1646  */
4381      {
4382    if (conf_parser_ctx.pass == 1)
4383      block_state.ping_freq.value = (yyvsp[-1].number);
4384   }
4385 < #line 4388 "conf_parser.c" /* yacc.c:1646  */
4385 > #line 4386 "conf_parser.c" /* yacc.c:1646  */
4386      break;
4387  
4388    case 253:
4389 < #line 1547 "conf_parser.y" /* yacc.c:1646  */
4389 > #line 1545 "conf_parser.y" /* yacc.c:1646  */
4390      {
4391    if (conf_parser_ctx.pass == 1)
4392      block_state.max_perip.value = (yyvsp[-1].number);
4393   }
4394 < #line 4397 "conf_parser.c" /* yacc.c:1646  */
4394 > #line 4395 "conf_parser.c" /* yacc.c:1646  */
4395      break;
4396  
4397    case 254:
4398 < #line 1553 "conf_parser.y" /* yacc.c:1646  */
4398 > #line 1551 "conf_parser.y" /* yacc.c:1646  */
4399      {
4400    if (conf_parser_ctx.pass == 1)
4401      block_state.con_freq.value = (yyvsp[-1].number);
4402   }
4403 < #line 4406 "conf_parser.c" /* yacc.c:1646  */
4403 > #line 4404 "conf_parser.c" /* yacc.c:1646  */
4404      break;
4405  
4406    case 255:
4407 < #line 1559 "conf_parser.y" /* yacc.c:1646  */
4407 > #line 1557 "conf_parser.y" /* yacc.c:1646  */
4408      {
4409    if (conf_parser_ctx.pass == 1)
4410      block_state.max_channels.value = (yyvsp[-1].number);
4411   }
4412 < #line 4415 "conf_parser.c" /* yacc.c:1646  */
4412 > #line 4413 "conf_parser.c" /* yacc.c:1646  */
4413      break;
4414  
4415    case 256:
4416 < #line 1565 "conf_parser.y" /* yacc.c:1646  */
4416 > #line 1563 "conf_parser.y" /* yacc.c:1646  */
4417      {
4418    if (conf_parser_ctx.pass == 1)
4419      block_state.max_total.value = (yyvsp[-1].number);
4420   }
4421 < #line 4424 "conf_parser.c" /* yacc.c:1646  */
4421 > #line 4422 "conf_parser.c" /* yacc.c:1646  */
4422      break;
4423  
4424    case 257:
4425 < #line 1571 "conf_parser.y" /* yacc.c:1646  */
4425 > #line 1569 "conf_parser.y" /* yacc.c:1646  */
4426      {
4427    if (conf_parser_ctx.pass == 1)
4428      block_state.max_global.value = (yyvsp[-1].number);
4429   }
4430 < #line 4433 "conf_parser.c" /* yacc.c:1646  */
4430 > #line 4431 "conf_parser.c" /* yacc.c:1646  */
4431      break;
4432  
4433    case 258:
4434 < #line 1577 "conf_parser.y" /* yacc.c:1646  */
4434 > #line 1575 "conf_parser.y" /* yacc.c:1646  */
4435      {
4436    if (conf_parser_ctx.pass == 1)
4437      block_state.max_local.value = (yyvsp[-1].number);
4438   }
4439 < #line 4442 "conf_parser.c" /* yacc.c:1646  */
4439 > #line 4440 "conf_parser.c" /* yacc.c:1646  */
4440      break;
4441  
4442    case 259:
4443 < #line 1583 "conf_parser.y" /* yacc.c:1646  */
4443 > #line 1581 "conf_parser.y" /* yacc.c:1646  */
4444      {
4445    if (conf_parser_ctx.pass == 1)
4446      block_state.max_ident.value = (yyvsp[-1].number);
4447   }
4448 < #line 4451 "conf_parser.c" /* yacc.c:1646  */
4448 > #line 4449 "conf_parser.c" /* yacc.c:1646  */
4449      break;
4450  
4451    case 260:
4452 < #line 1589 "conf_parser.y" /* yacc.c:1646  */
4452 > #line 1587 "conf_parser.y" /* yacc.c:1646  */
4453      {
4454    if (conf_parser_ctx.pass == 1)
4455      block_state.max_sendq.value = (yyvsp[-1].number);
4456   }
4457 < #line 4460 "conf_parser.c" /* yacc.c:1646  */
4457 > #line 4458 "conf_parser.c" /* yacc.c:1646  */
4458      break;
4459  
4460    case 261:
4461 < #line 1595 "conf_parser.y" /* yacc.c:1646  */
4461 > #line 1593 "conf_parser.y" /* yacc.c:1646  */
4462      {
4463    if (conf_parser_ctx.pass == 1)
4464      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4465        block_state.max_recvq.value = (yyvsp[-1].number);
4466   }
4467 < #line 4470 "conf_parser.c" /* yacc.c:1646  */
4467 > #line 4468 "conf_parser.c" /* yacc.c:1646  */
4468      break;
4469  
4470    case 262:
4471 < #line 1602 "conf_parser.y" /* yacc.c:1646  */
4471 > #line 1600 "conf_parser.y" /* yacc.c:1646  */
4472      {
4473    if (conf_parser_ctx.pass == 1)
4474      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4475   }
4476 < #line 4479 "conf_parser.c" /* yacc.c:1646  */
4476 > #line 4477 "conf_parser.c" /* yacc.c:1646  */
4477      break;
4478  
4479    case 263:
4480 < #line 1608 "conf_parser.y" /* yacc.c:1646  */
4480 > #line 1606 "conf_parser.y" /* yacc.c:1646  */
4481      {
4482    if (conf_parser_ctx.pass == 1)
4483      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4484   }
4485 < #line 4488 "conf_parser.c" /* yacc.c:1646  */
4485 > #line 4486 "conf_parser.c" /* yacc.c:1646  */
4486      break;
4487  
4488    case 264:
4489 < #line 1614 "conf_parser.y" /* yacc.c:1646  */
4489 > #line 1612 "conf_parser.y" /* yacc.c:1646  */
4490      {
4491    if (conf_parser_ctx.pass == 1)
4492      block_state.number_per_cidr.value = (yyvsp[-1].number);
4493   }
4494 < #line 4497 "conf_parser.c" /* yacc.c:1646  */
4494 > #line 4495 "conf_parser.c" /* yacc.c:1646  */
4495      break;
4496  
4497    case 265:
4498 < #line 1620 "conf_parser.y" /* yacc.c:1646  */
4498 > #line 1618 "conf_parser.y" /* yacc.c:1646  */
4499      {
4500    if (conf_parser_ctx.pass != 1)
4501      break;
# Line 4505 | Line 4503 | yyreduce:
4503    block_state.min_idle.value = (yyvsp[-1].number);
4504    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4505   }
4506 < #line 4509 "conf_parser.c" /* yacc.c:1646  */
4506 > #line 4507 "conf_parser.c" /* yacc.c:1646  */
4507      break;
4508  
4509    case 266:
4510 < #line 1629 "conf_parser.y" /* yacc.c:1646  */
4510 > #line 1627 "conf_parser.y" /* yacc.c:1646  */
4511      {
4512    if (conf_parser_ctx.pass != 1)
4513      break;
# Line 4517 | Line 4515 | yyreduce:
4515    block_state.max_idle.value = (yyvsp[-1].number);
4516    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4517   }
4518 < #line 4521 "conf_parser.c" /* yacc.c:1646  */
4518 > #line 4519 "conf_parser.c" /* yacc.c:1646  */
4519      break;
4520  
4521    case 267:
4522 < #line 1638 "conf_parser.y" /* yacc.c:1646  */
4522 > #line 1636 "conf_parser.y" /* yacc.c:1646  */
4523      {
4524    if (conf_parser_ctx.pass == 1)
4525      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4526   }
4527 < #line 4530 "conf_parser.c" /* yacc.c:1646  */
4527 > #line 4528 "conf_parser.c" /* yacc.c:1646  */
4528      break;
4529  
4530    case 271:
4531 < #line 1645 "conf_parser.y" /* yacc.c:1646  */
4531 > #line 1643 "conf_parser.y" /* yacc.c:1646  */
4532      {
4533    if (conf_parser_ctx.pass == 1)
4534      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4535   }
4536 < #line 4539 "conf_parser.c" /* yacc.c:1646  */
4536 > #line 4537 "conf_parser.c" /* yacc.c:1646  */
4537      break;
4538  
4539    case 272:
4540 < #line 1649 "conf_parser.y" /* yacc.c:1646  */
4540 > #line 1647 "conf_parser.y" /* yacc.c:1646  */
4541      {
4542    if (conf_parser_ctx.pass == 1)
4543      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4544   }
4545 < #line 4548 "conf_parser.c" /* yacc.c:1646  */
4545 > #line 4546 "conf_parser.c" /* yacc.c:1646  */
4546      break;
4547  
4548    case 273:
4549 < #line 1659 "conf_parser.y" /* yacc.c:1646  */
4549 > #line 1657 "conf_parser.y" /* yacc.c:1646  */
4550      {
4551    if (conf_parser_ctx.pass == 2)
4552      reset_block_state();
4553   }
4554 < #line 4557 "conf_parser.c" /* yacc.c:1646  */
4554 > #line 4555 "conf_parser.c" /* yacc.c:1646  */
4555      break;
4556  
4557    case 275:
4558 < #line 1665 "conf_parser.y" /* yacc.c:1646  */
4558 > #line 1663 "conf_parser.y" /* yacc.c:1646  */
4559      {
4560    block_state.flags.value = 0;
4561   }
4562 < #line 4565 "conf_parser.c" /* yacc.c:1646  */
4562 > #line 4563 "conf_parser.c" /* yacc.c:1646  */
4563      break;
4564  
4565    case 279:
4566 < #line 1671 "conf_parser.y" /* yacc.c:1646  */
4566 > #line 1669 "conf_parser.y" /* yacc.c:1646  */
4567      {
4568    if (conf_parser_ctx.pass == 2)
4569      block_state.flags.value |= LISTENER_SSL;
4570   }
4571 < #line 4574 "conf_parser.c" /* yacc.c:1646  */
4571 > #line 4572 "conf_parser.c" /* yacc.c:1646  */
4572      break;
4573  
4574    case 280:
4575 < #line 1675 "conf_parser.y" /* yacc.c:1646  */
4575 > #line 1673 "conf_parser.y" /* yacc.c:1646  */
4576      {
4577    if (conf_parser_ctx.pass == 2)
4578      block_state.flags.value |= LISTENER_HIDDEN;
4579   }
4580 < #line 4583 "conf_parser.c" /* yacc.c:1646  */
4580 > #line 4581 "conf_parser.c" /* yacc.c:1646  */
4581      break;
4582  
4583    case 281:
4584 < #line 1679 "conf_parser.y" /* yacc.c:1646  */
4584 > #line 1677 "conf_parser.y" /* yacc.c:1646  */
4585      {
4586    if (conf_parser_ctx.pass == 2)
4587     block_state.flags.value |= LISTENER_SERVER;
4588   }
4589 < #line 4592 "conf_parser.c" /* yacc.c:1646  */
4589 > #line 4590 "conf_parser.c" /* yacc.c:1646  */
4590      break;
4591  
4592    case 289:
4593 < #line 1687 "conf_parser.y" /* yacc.c:1646  */
4593 > #line 1685 "conf_parser.y" /* yacc.c:1646  */
4594      { block_state.flags.value = 0; }
4595 < #line 4598 "conf_parser.c" /* yacc.c:1646  */
4595 > #line 4596 "conf_parser.c" /* yacc.c:1646  */
4596      break;
4597  
4598    case 293:
4599 < #line 1692 "conf_parser.y" /* yacc.c:1646  */
4599 > #line 1690 "conf_parser.y" /* yacc.c:1646  */
4600      {
4601    if (conf_parser_ctx.pass == 2)
4602    {
# Line 4612 | Line 4610 | yyreduce:
4610      add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4611    }
4612   }
4613 < #line 4616 "conf_parser.c" /* yacc.c:1646  */
4613 > #line 4614 "conf_parser.c" /* yacc.c:1646  */
4614      break;
4615  
4616    case 294:
4617 < #line 1705 "conf_parser.y" /* yacc.c:1646  */
4617 > #line 1703 "conf_parser.y" /* yacc.c:1646  */
4618      {
4619    if (conf_parser_ctx.pass == 2)
4620    {
# Line 4632 | Line 4630 | yyreduce:
4630        add_listener(i, block_state.addr.buf, block_state.flags.value);
4631    }
4632   }
4633 < #line 4636 "conf_parser.c" /* yacc.c:1646  */
4633 > #line 4634 "conf_parser.c" /* yacc.c:1646  */
4634      break;
4635  
4636    case 295:
4637 < #line 1722 "conf_parser.y" /* yacc.c:1646  */
4637 > #line 1720 "conf_parser.y" /* yacc.c:1646  */
4638      {
4639    if (conf_parser_ctx.pass == 2)
4640      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4641   }
4642 < #line 4645 "conf_parser.c" /* yacc.c:1646  */
4642 > #line 4643 "conf_parser.c" /* yacc.c:1646  */
4643      break;
4644  
4645    case 296:
4646 < #line 1728 "conf_parser.y" /* yacc.c:1646  */
4646 > #line 1726 "conf_parser.y" /* yacc.c:1646  */
4647      {
4648    if (conf_parser_ctx.pass == 2)
4649      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4650   }
4651 < #line 4654 "conf_parser.c" /* yacc.c:1646  */
4651 > #line 4652 "conf_parser.c" /* yacc.c:1646  */
4652      break;
4653  
4654    case 297:
4655 < #line 1737 "conf_parser.y" /* yacc.c:1646  */
4655 > #line 1735 "conf_parser.y" /* yacc.c:1646  */
4656      {
4657    if (conf_parser_ctx.pass == 2)
4658      reset_block_state();
4659   }
4660 < #line 4663 "conf_parser.c" /* yacc.c:1646  */
4660 > #line 4661 "conf_parser.c" /* yacc.c:1646  */
4661      break;
4662  
4663    case 298:
4664 < #line 1741 "conf_parser.y" /* yacc.c:1646  */
4664 > #line 1739 "conf_parser.y" /* yacc.c:1646  */
4665      {
4666    dlink_node *ptr = NULL;
4667  
# Line 4700 | Line 4698 | yyreduce:
4698      add_conf_by_address(CONF_CLIENT, conf);
4699    }
4700   }
4701 < #line 4704 "conf_parser.c" /* yacc.c:1646  */
4701 > #line 4702 "conf_parser.c" /* yacc.c:1646  */
4702      break;
4703  
4704    case 310:
4705 < #line 1790 "conf_parser.y" /* yacc.c:1646  */
4705 > #line 1788 "conf_parser.y" /* yacc.c:1646  */
4706      {
4707    if (conf_parser_ctx.pass == 2)
4708      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4709   }
4710 < #line 4713 "conf_parser.c" /* yacc.c:1646  */
4710 > #line 4711 "conf_parser.c" /* yacc.c:1646  */
4711      break;
4712  
4713    case 311:
4714 < #line 1796 "conf_parser.y" /* yacc.c:1646  */
4714 > #line 1794 "conf_parser.y" /* yacc.c:1646  */
4715      {
4716    if (conf_parser_ctx.pass == 2)
4717      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4718   }
4719 < #line 4722 "conf_parser.c" /* yacc.c:1646  */
4719 > #line 4720 "conf_parser.c" /* yacc.c:1646  */
4720      break;
4721  
4722    case 312:
4723 < #line 1802 "conf_parser.y" /* yacc.c:1646  */
4723 > #line 1800 "conf_parser.y" /* yacc.c:1646  */
4724      {
4725    if (conf_parser_ctx.pass == 2)
4726      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4727   }
4728 < #line 4731 "conf_parser.c" /* yacc.c:1646  */
4728 > #line 4729 "conf_parser.c" /* yacc.c:1646  */
4729      break;
4730  
4731    case 313:
4732 < #line 1808 "conf_parser.y" /* yacc.c:1646  */
4732 > #line 1806 "conf_parser.y" /* yacc.c:1646  */
4733      {
4734    if (conf_parser_ctx.pass == 2)
4735    {
# Line 4741 | Line 4739 | yyreduce:
4739        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4740    }
4741   }
4742 < #line 4745 "conf_parser.c" /* yacc.c:1646  */
4742 > #line 4743 "conf_parser.c" /* yacc.c:1646  */
4743      break;
4744  
4745    case 314:
4746 < #line 1819 "conf_parser.y" /* yacc.c:1646  */
4746 > #line 1817 "conf_parser.y" /* yacc.c:1646  */
4747      {
4748    if (conf_parser_ctx.pass == 2)
4749      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4750   }
4751 < #line 4754 "conf_parser.c" /* yacc.c:1646  */
4751 > #line 4752 "conf_parser.c" /* yacc.c:1646  */
4752      break;
4753  
4754    case 318:
4755 < #line 1826 "conf_parser.y" /* yacc.c:1646  */
4755 > #line 1824 "conf_parser.y" /* yacc.c:1646  */
4756      {
4757    if (conf_parser_ctx.pass == 2)
4758      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4759   }
4760 < #line 4763 "conf_parser.c" /* yacc.c:1646  */
4760 > #line 4761 "conf_parser.c" /* yacc.c:1646  */
4761      break;
4762  
4763    case 319:
4764 < #line 1830 "conf_parser.y" /* yacc.c:1646  */
4764 > #line 1828 "conf_parser.y" /* yacc.c:1646  */
4765      {
4766    if (conf_parser_ctx.pass == 2)
4767      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4768   }
4769 < #line 4772 "conf_parser.c" /* yacc.c:1646  */
4769 > #line 4770 "conf_parser.c" /* yacc.c:1646  */
4770      break;
4771  
4772    case 320:
4773 < #line 1834 "conf_parser.y" /* yacc.c:1646  */
4773 > #line 1832 "conf_parser.y" /* yacc.c:1646  */
4774      {
4775    if (conf_parser_ctx.pass == 2)
4776      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4777   }
4778 < #line 4781 "conf_parser.c" /* yacc.c:1646  */
4778 > #line 4779 "conf_parser.c" /* yacc.c:1646  */
4779      break;
4780  
4781    case 321:
4782 < #line 1838 "conf_parser.y" /* yacc.c:1646  */
4782 > #line 1836 "conf_parser.y" /* yacc.c:1646  */
4783      {
4784    if (conf_parser_ctx.pass == 2)
4785      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4786   }
4787 < #line 4790 "conf_parser.c" /* yacc.c:1646  */
4787 > #line 4788 "conf_parser.c" /* yacc.c:1646  */
4788      break;
4789  
4790    case 322:
4791 < #line 1842 "conf_parser.y" /* yacc.c:1646  */
4791 > #line 1840 "conf_parser.y" /* yacc.c:1646  */
4792      {
4793    if (conf_parser_ctx.pass == 2)
4794      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4795   }
4796 < #line 4799 "conf_parser.c" /* yacc.c:1646  */
4796 > #line 4797 "conf_parser.c" /* yacc.c:1646  */
4797      break;
4798  
4799    case 323:
4800 < #line 1846 "conf_parser.y" /* yacc.c:1646  */
4800 > #line 1844 "conf_parser.y" /* yacc.c:1646  */
4801      {
4802    if (conf_parser_ctx.pass == 2)
4803      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4804   }
4805 < #line 4808 "conf_parser.c" /* yacc.c:1646  */
4805 > #line 4806 "conf_parser.c" /* yacc.c:1646  */
4806      break;
4807  
4808    case 324:
4809 < #line 1850 "conf_parser.y" /* yacc.c:1646  */
4809 > #line 1848 "conf_parser.y" /* yacc.c:1646  */
4810      {
4811    if (conf_parser_ctx.pass == 2)
4812      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4813   }
4814 < #line 4817 "conf_parser.c" /* yacc.c:1646  */
4814 > #line 4815 "conf_parser.c" /* yacc.c:1646  */
4815      break;
4816  
4817    case 325:
4818 < #line 1854 "conf_parser.y" /* yacc.c:1646  */
4818 > #line 1852 "conf_parser.y" /* yacc.c:1646  */
4819      {
4820    if (conf_parser_ctx.pass == 2)
4821      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4822   }
4823 < #line 4826 "conf_parser.c" /* yacc.c:1646  */
4823 > #line 4824 "conf_parser.c" /* yacc.c:1646  */
4824      break;
4825  
4826    case 326:
4827 < #line 1858 "conf_parser.y" /* yacc.c:1646  */
4827 > #line 1856 "conf_parser.y" /* yacc.c:1646  */
4828      {
4829    if (conf_parser_ctx.pass == 2)
4830      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4831   }
4832 < #line 4835 "conf_parser.c" /* yacc.c:1646  */
4832 > #line 4833 "conf_parser.c" /* yacc.c:1646  */
4833      break;
4834  
4835    case 327:
4836 < #line 1862 "conf_parser.y" /* yacc.c:1646  */
4836 > #line 1860 "conf_parser.y" /* yacc.c:1646  */
4837      {
4838    if (conf_parser_ctx.pass == 2)
4839      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4840   }
4841 < #line 4844 "conf_parser.c" /* yacc.c:1646  */
4841 > #line 4842 "conf_parser.c" /* yacc.c:1646  */
4842      break;
4843  
4844    case 328:
4845 < #line 1868 "conf_parser.y" /* yacc.c:1646  */
4845 > #line 1866 "conf_parser.y" /* yacc.c:1646  */
4846      {
4847    if (conf_parser_ctx.pass != 2)
4848      break;
# Line 4857 | Line 4855 | yyreduce:
4855    else
4856      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4857   }
4858 < #line 4861 "conf_parser.c" /* yacc.c:1646  */
4858 > #line 4859 "conf_parser.c" /* yacc.c:1646  */
4859      break;
4860  
4861    case 329:
4862 < #line 1882 "conf_parser.y" /* yacc.c:1646  */
4862 > #line 1880 "conf_parser.y" /* yacc.c:1646  */
4863      {
4864    if (conf_parser_ctx.pass != 2)
4865      break;
# Line 4869 | Line 4867 | yyreduce:
4867    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4868    block_state.flags.value |= CONF_FLAGS_REDIR;
4869   }
4870 < #line 4873 "conf_parser.c" /* yacc.c:1646  */
4870 > #line 4871 "conf_parser.c" /* yacc.c:1646  */
4871      break;
4872  
4873    case 330:
4874 < #line 1891 "conf_parser.y" /* yacc.c:1646  */
4874 > #line 1889 "conf_parser.y" /* yacc.c:1646  */
4875      {
4876    if (conf_parser_ctx.pass != 2)
4877      break;
# Line 4881 | Line 4879 | yyreduce:
4879    block_state.flags.value |= CONF_FLAGS_REDIR;
4880    block_state.port.value = (yyvsp[-1].number);
4881   }
4882 < #line 4885 "conf_parser.c" /* yacc.c:1646  */
4882 > #line 4883 "conf_parser.c" /* yacc.c:1646  */
4883      break;
4884  
4885    case 331:
4886 < #line 1904 "conf_parser.y" /* yacc.c:1646  */
4886 > #line 1902 "conf_parser.y" /* yacc.c:1646  */
4887      {
4888    if (conf_parser_ctx.pass != 2)
4889      break;
# Line 4893 | Line 4891 | yyreduce:
4891    reset_block_state();
4892    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4893   }
4894 < #line 4897 "conf_parser.c" /* yacc.c:1646  */
4894 > #line 4895 "conf_parser.c" /* yacc.c:1646  */
4895      break;
4896  
4897    case 332:
4898 < #line 1911 "conf_parser.y" /* yacc.c:1646  */
4898 > #line 1909 "conf_parser.y" /* yacc.c:1646  */
4899      {
4900    if (conf_parser_ctx.pass != 2)
4901      break;
4902  
4903    create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4904   }
4905 < #line 4908 "conf_parser.c" /* yacc.c:1646  */
4905 > #line 4906 "conf_parser.c" /* yacc.c:1646  */
4906      break;
4907  
4908    case 339:
4909 < #line 1922 "conf_parser.y" /* yacc.c:1646  */
4909 > #line 1920 "conf_parser.y" /* yacc.c:1646  */
4910      {
4911    if (conf_parser_ctx.pass == 2)
4912      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4913   }
4914 < #line 4917 "conf_parser.c" /* yacc.c:1646  */
4914 > #line 4915 "conf_parser.c" /* yacc.c:1646  */
4915      break;
4916  
4917    case 340:
4918 < #line 1928 "conf_parser.y" /* yacc.c:1646  */
4918 > #line 1926 "conf_parser.y" /* yacc.c:1646  */
4919      {
4920    if (conf_parser_ctx.pass == 2)
4921      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4922   }
4923 < #line 4926 "conf_parser.c" /* yacc.c:1646  */
4923 > #line 4924 "conf_parser.c" /* yacc.c:1646  */
4924      break;
4925  
4926    case 341:
4927 < #line 1934 "conf_parser.y" /* yacc.c:1646  */
4927 > #line 1932 "conf_parser.y" /* yacc.c:1646  */
4928      {
4929    if (conf_parser_ctx.pass == 2)
4930      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4931   }
4932 < #line 4935 "conf_parser.c" /* yacc.c:1646  */
4932 > #line 4933 "conf_parser.c" /* yacc.c:1646  */
4933      break;
4934  
4935    case 347:
4936 < #line 1949 "conf_parser.y" /* yacc.c:1646  */
4936 > #line 1947 "conf_parser.y" /* yacc.c:1646  */
4937      {
4938    if (conf_parser_ctx.pass != 2)
4939      break;
# Line 4946 | Line 4944 | yyreduce:
4944      conf->name = xstrdup(yylval.string);
4945    }
4946   }
4947 < #line 4950 "conf_parser.c" /* yacc.c:1646  */
4947 > #line 4948 "conf_parser.c" /* yacc.c:1646  */
4948      break;
4949  
4950    case 348:
4951 < #line 1964 "conf_parser.y" /* yacc.c:1646  */
4951 > #line 1962 "conf_parser.y" /* yacc.c:1646  */
4952      {
4953    if (conf_parser_ctx.pass != 2)
4954      break;
# Line 4962 | Line 4960 | yyreduce:
4960    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4961    block_state.flags.value = SHARED_ALL;
4962   }
4963 < #line 4966 "conf_parser.c" /* yacc.c:1646  */
4963 > #line 4964 "conf_parser.c" /* yacc.c:1646  */
4964      break;
4965  
4966    case 349:
4967 < #line 1975 "conf_parser.y" /* yacc.c:1646  */
4967 > #line 1973 "conf_parser.y" /* yacc.c:1646  */
4968      {
4969    struct MaskItem *conf = NULL;
4970  
# Line 4979 | Line 4977 | yyreduce:
4977    conf->user = xstrdup(block_state.user.buf);
4978    conf->host = xstrdup(block_state.host.buf);
4979   }
4980 < #line 4983 "conf_parser.c" /* yacc.c:1646  */
4980 > #line 4981 "conf_parser.c" /* yacc.c:1646  */
4981      break;
4982  
4983    case 356:
4984 < #line 1992 "conf_parser.y" /* yacc.c:1646  */
4984 > #line 1990 "conf_parser.y" /* yacc.c:1646  */
4985      {
4986    if (conf_parser_ctx.pass == 2)
4987      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4988   }
4989 < #line 4992 "conf_parser.c" /* yacc.c:1646  */
4989 > #line 4990 "conf_parser.c" /* yacc.c:1646  */
4990      break;
4991  
4992    case 357:
4993 < #line 1998 "conf_parser.y" /* yacc.c:1646  */
4993 > #line 1996 "conf_parser.y" /* yacc.c:1646  */
4994      {
4995    if (conf_parser_ctx.pass == 2)
4996    {
# Line 5010 | Line 5008 | yyreduce:
5008      split_nuh(&nuh);
5009    }
5010   }
5011 < #line 5014 "conf_parser.c" /* yacc.c:1646  */
5011 > #line 5012 "conf_parser.c" /* yacc.c:1646  */
5012      break;
5013  
5014    case 358:
5015 < #line 2017 "conf_parser.y" /* yacc.c:1646  */
5015 > #line 2015 "conf_parser.y" /* yacc.c:1646  */
5016      {
5017    if (conf_parser_ctx.pass == 2)
5018      block_state.flags.value = 0;
5019   }
5020 < #line 5023 "conf_parser.c" /* yacc.c:1646  */
5020 > #line 5021 "conf_parser.c" /* yacc.c:1646  */
5021      break;
5022  
5023    case 362:
5024 < #line 2024 "conf_parser.y" /* yacc.c:1646  */
5024 > #line 2022 "conf_parser.y" /* yacc.c:1646  */
5025      {
5026    if (conf_parser_ctx.pass == 2)
5027      block_state.flags.value |= SHARED_KLINE;
5028   }
5029 < #line 5032 "conf_parser.c" /* yacc.c:1646  */
5029 > #line 5030 "conf_parser.c" /* yacc.c:1646  */
5030      break;
5031  
5032    case 363:
5033 < #line 2028 "conf_parser.y" /* yacc.c:1646  */
5033 > #line 2026 "conf_parser.y" /* yacc.c:1646  */
5034      {
5035    if (conf_parser_ctx.pass == 2)
5036      block_state.flags.value |= SHARED_UNKLINE;
5037   }
5038 < #line 5041 "conf_parser.c" /* yacc.c:1646  */
5038 > #line 5039 "conf_parser.c" /* yacc.c:1646  */
5039      break;
5040  
5041    case 364:
5042 < #line 2032 "conf_parser.y" /* yacc.c:1646  */
5042 > #line 2030 "conf_parser.y" /* yacc.c:1646  */
5043      {
5044    if (conf_parser_ctx.pass == 2)
5045      block_state.flags.value |= SHARED_DLINE;
5046   }
5047 < #line 5050 "conf_parser.c" /* yacc.c:1646  */
5047 > #line 5048 "conf_parser.c" /* yacc.c:1646  */
5048      break;
5049  
5050    case 365:
5051 < #line 2036 "conf_parser.y" /* yacc.c:1646  */
5051 > #line 2034 "conf_parser.y" /* yacc.c:1646  */
5052      {
5053    if (conf_parser_ctx.pass == 2)
5054      block_state.flags.value |= SHARED_UNDLINE;
5055   }
5056 < #line 5059 "conf_parser.c" /* yacc.c:1646  */
5056 > #line 5057 "conf_parser.c" /* yacc.c:1646  */
5057      break;
5058  
5059    case 366:
5060 < #line 2040 "conf_parser.y" /* yacc.c:1646  */
5060 > #line 2038 "conf_parser.y" /* yacc.c:1646  */
5061      {
5062    if (conf_parser_ctx.pass == 2)
5063      block_state.flags.value |= SHARED_XLINE;
5064   }
5065 < #line 5068 "conf_parser.c" /* yacc.c:1646  */
5065 > #line 5066 "conf_parser.c" /* yacc.c:1646  */
5066      break;
5067  
5068    case 367:
5069 < #line 2044 "conf_parser.y" /* yacc.c:1646  */
5069 > #line 2042 "conf_parser.y" /* yacc.c:1646  */
5070      {
5071    if (conf_parser_ctx.pass == 2)
5072      block_state.flags.value |= SHARED_UNXLINE;
5073   }
5074 < #line 5077 "conf_parser.c" /* yacc.c:1646  */
5074 > #line 5075 "conf_parser.c" /* yacc.c:1646  */
5075      break;
5076  
5077    case 368:
5078 < #line 2048 "conf_parser.y" /* yacc.c:1646  */
5078 > #line 2046 "conf_parser.y" /* yacc.c:1646  */
5079      {
5080    if (conf_parser_ctx.pass == 2)
5081      block_state.flags.value |= SHARED_RESV;
5082   }
5083 < #line 5086 "conf_parser.c" /* yacc.c:1646  */
5083 > #line 5084 "conf_parser.c" /* yacc.c:1646  */
5084      break;
5085  
5086    case 369:
5087 < #line 2052 "conf_parser.y" /* yacc.c:1646  */
5087 > #line 2050 "conf_parser.y" /* yacc.c:1646  */
5088      {
5089    if (conf_parser_ctx.pass == 2)
5090      block_state.flags.value |= SHARED_UNRESV;
5091   }
5092 < #line 5095 "conf_parser.c" /* yacc.c:1646  */
5092 > #line 5093 "conf_parser.c" /* yacc.c:1646  */
5093      break;
5094  
5095    case 370:
5096 < #line 2056 "conf_parser.y" /* yacc.c:1646  */
5096 > #line 2054 "conf_parser.y" /* yacc.c:1646  */
5097      {
5098    if (conf_parser_ctx.pass == 2)
5099      block_state.flags.value |= SHARED_LOCOPS;
5100   }
5101 < #line 5104 "conf_parser.c" /* yacc.c:1646  */
5101 > #line 5102 "conf_parser.c" /* yacc.c:1646  */
5102      break;
5103  
5104    case 371:
5105 < #line 2060 "conf_parser.y" /* yacc.c:1646  */
5105 > #line 2058 "conf_parser.y" /* yacc.c:1646  */
5106      {
5107    if (conf_parser_ctx.pass == 2)
5108      block_state.flags.value = SHARED_ALL;
5109   }
5110 < #line 5113 "conf_parser.c" /* yacc.c:1646  */
5110 > #line 5111 "conf_parser.c" /* yacc.c:1646  */
5111      break;
5112  
5113    case 372:
5114 < #line 2069 "conf_parser.y" /* yacc.c:1646  */
5114 > #line 2067 "conf_parser.y" /* yacc.c:1646  */
5115      {
5116    if (conf_parser_ctx.pass != 2)
5117      break;
# Line 5123 | Line 5121 | yyreduce:
5121    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5122    block_state.flags.value = SHARED_ALL;
5123   }
5124 < #line 5127 "conf_parser.c" /* yacc.c:1646  */
5124 > #line 5125 "conf_parser.c" /* yacc.c:1646  */
5125      break;
5126  
5127    case 373:
5128 < #line 2078 "conf_parser.y" /* yacc.c:1646  */
5128 > #line 2076 "conf_parser.y" /* yacc.c:1646  */
5129      {
5130    struct MaskItem *conf = NULL;
5131  
# Line 5138 | Line 5136 | yyreduce:
5136    conf->flags = block_state.flags.value;
5137    conf->name = xstrdup(block_state.name.buf);
5138   }
5139 < #line 5142 "conf_parser.c" /* yacc.c:1646  */
5139 > #line 5140 "conf_parser.c" /* yacc.c:1646  */
5140      break;
5141  
5142    case 379:
5143 < #line 2093 "conf_parser.y" /* yacc.c:1646  */
5143 > #line 2091 "conf_parser.y" /* yacc.c:1646  */
5144      {
5145    if (conf_parser_ctx.pass == 2)
5146      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5147   }
5148 < #line 5151 "conf_parser.c" /* yacc.c:1646  */
5148 > #line 5149 "conf_parser.c" /* yacc.c:1646  */
5149      break;
5150  
5151    case 380:
5152 < #line 2099 "conf_parser.y" /* yacc.c:1646  */
5152 > #line 2097 "conf_parser.y" /* yacc.c:1646  */
5153      {
5154    if (conf_parser_ctx.pass == 2)
5155      block_state.flags.value = 0;
5156   }
5157 < #line 5160 "conf_parser.c" /* yacc.c:1646  */
5157 > #line 5158 "conf_parser.c" /* yacc.c:1646  */
5158      break;
5159  
5160    case 384:
5161 < #line 2106 "conf_parser.y" /* yacc.c:1646  */
5161 > #line 2104 "conf_parser.y" /* yacc.c:1646  */
5162      {
5163    if (conf_parser_ctx.pass == 2)
5164      block_state.flags.value |= SHARED_KLINE;
5165   }
5166 < #line 5169 "conf_parser.c" /* yacc.c:1646  */
5166 > #line 5167 "conf_parser.c" /* yacc.c:1646  */
5167      break;
5168  
5169    case 385:
5170 < #line 2110 "conf_parser.y" /* yacc.c:1646  */
5170 > #line 2108 "conf_parser.y" /* yacc.c:1646  */
5171      {
5172    if (conf_parser_ctx.pass == 2)
5173      block_state.flags.value |= SHARED_UNKLINE;
5174   }
5175 < #line 5178 "conf_parser.c" /* yacc.c:1646  */
5175 > #line 5176 "conf_parser.c" /* yacc.c:1646  */
5176      break;
5177  
5178    case 386:
5179 < #line 2114 "conf_parser.y" /* yacc.c:1646  */
5179 > #line 2112 "conf_parser.y" /* yacc.c:1646  */
5180      {
5181    if (conf_parser_ctx.pass == 2)
5182      block_state.flags.value |= SHARED_DLINE;
5183   }
5184 < #line 5187 "conf_parser.c" /* yacc.c:1646  */
5184 > #line 5185 "conf_parser.c" /* yacc.c:1646  */
5185      break;
5186  
5187    case 387:
5188 < #line 2118 "conf_parser.y" /* yacc.c:1646  */
5188 > #line 2116 "conf_parser.y" /* yacc.c:1646  */
5189      {
5190    if (conf_parser_ctx.pass == 2)
5191      block_state.flags.value |= SHARED_UNDLINE;
5192   }
5193 < #line 5196 "conf_parser.c" /* yacc.c:1646  */
5193 > #line 5194 "conf_parser.c" /* yacc.c:1646  */
5194      break;
5195  
5196    case 388:
5197 < #line 2122 "conf_parser.y" /* yacc.c:1646  */
5197 > #line 2120 "conf_parser.y" /* yacc.c:1646  */
5198      {
5199    if (conf_parser_ctx.pass == 2)
5200      block_state.flags.value |= SHARED_XLINE;
5201   }
5202 < #line 5205 "conf_parser.c" /* yacc.c:1646  */
5202 > #line 5203 "conf_parser.c" /* yacc.c:1646  */
5203      break;
5204  
5205    case 389:
5206 < #line 2126 "conf_parser.y" /* yacc.c:1646  */
5206 > #line 2124 "conf_parser.y" /* yacc.c:1646  */
5207      {
5208    if (conf_parser_ctx.pass == 2)
5209      block_state.flags.value |= SHARED_UNXLINE;
5210   }
5211 < #line 5214 "conf_parser.c" /* yacc.c:1646  */
5211 > #line 5212 "conf_parser.c" /* yacc.c:1646  */
5212      break;
5213  
5214    case 390:
5215 < #line 2130 "conf_parser.y" /* yacc.c:1646  */
5215 > #line 2128 "conf_parser.y" /* yacc.c:1646  */
5216      {
5217    if (conf_parser_ctx.pass == 2)
5218      block_state.flags.value |= SHARED_RESV;
5219   }
5220 < #line 5223 "conf_parser.c" /* yacc.c:1646  */
5220 > #line 5221 "conf_parser.c" /* yacc.c:1646  */
5221      break;
5222  
5223    case 391:
5224 < #line 2134 "conf_parser.y" /* yacc.c:1646  */
5224 > #line 2132 "conf_parser.y" /* yacc.c:1646  */
5225      {
5226    if (conf_parser_ctx.pass == 2)
5227      block_state.flags.value |= SHARED_UNRESV;
5228   }
5229 < #line 5232 "conf_parser.c" /* yacc.c:1646  */
5229 > #line 5230 "conf_parser.c" /* yacc.c:1646  */
5230      break;
5231  
5232    case 392:
5233 < #line 2138 "conf_parser.y" /* yacc.c:1646  */
5233 > #line 2136 "conf_parser.y" /* yacc.c:1646  */
5234      {
5235    if (conf_parser_ctx.pass == 2)
5236      block_state.flags.value |= SHARED_LOCOPS;
5237   }
5238 < #line 5241 "conf_parser.c" /* yacc.c:1646  */
5238 > #line 5239 "conf_parser.c" /* yacc.c:1646  */
5239      break;
5240  
5241    case 393:
5242 < #line 2142 "conf_parser.y" /* yacc.c:1646  */
5242 > #line 2140 "conf_parser.y" /* yacc.c:1646  */
5243      {
5244    if (conf_parser_ctx.pass == 2)
5245      block_state.flags.value = SHARED_ALL;
5246   }
5247 < #line 5250 "conf_parser.c" /* yacc.c:1646  */
5247 > #line 5248 "conf_parser.c" /* yacc.c:1646  */
5248      break;
5249  
5250    case 394:
5251 < #line 2151 "conf_parser.y" /* yacc.c:1646  */
5251 > #line 2149 "conf_parser.y" /* yacc.c:1646  */
5252      {
5253  
5254    if (conf_parser_ctx.pass != 2)
# Line 5260 | Line 5258 | yyreduce:
5258    block_state.aftype.value = AF_INET;
5259    block_state.port.value = PORTNUM;
5260   }
5261 < #line 5264 "conf_parser.c" /* yacc.c:1646  */
5261 > #line 5262 "conf_parser.c" /* yacc.c:1646  */
5262      break;
5263  
5264    case 395:
5265 < #line 2160 "conf_parser.y" /* yacc.c:1646  */
5265 > #line 2158 "conf_parser.y" /* yacc.c:1646  */
5266      {
5267    struct MaskItem *conf = NULL;
5268    struct addrinfo hints, *res;
# Line 5326 | Line 5324 | yyreduce:
5324    conf_add_class_to_conf(conf, block_state.class.buf);
5325    lookup_confhost(conf);
5326   }
5327 < #line 5330 "conf_parser.c" /* yacc.c:1646  */
5327 > #line 5328 "conf_parser.c" /* yacc.c:1646  */
5328      break;
5329  
5330    case 413:
5331 < #line 2240 "conf_parser.y" /* yacc.c:1646  */
5331 > #line 2238 "conf_parser.y" /* yacc.c:1646  */
5332      {
5333    if (conf_parser_ctx.pass == 2)
5334      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5335   }
5336 < #line 5339 "conf_parser.c" /* yacc.c:1646  */
5336 > #line 5337 "conf_parser.c" /* yacc.c:1646  */
5337      break;
5338  
5339    case 414:
5340 < #line 2246 "conf_parser.y" /* yacc.c:1646  */
5340 > #line 2244 "conf_parser.y" /* yacc.c:1646  */
5341      {
5342    if (conf_parser_ctx.pass == 2)
5343      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5344   }
5345 < #line 5348 "conf_parser.c" /* yacc.c:1646  */
5345 > #line 5346 "conf_parser.c" /* yacc.c:1646  */
5346      break;
5347  
5348    case 415:
5349 < #line 2252 "conf_parser.y" /* yacc.c:1646  */
5349 > #line 2250 "conf_parser.y" /* yacc.c:1646  */
5350      {
5351    if (conf_parser_ctx.pass == 2)
5352      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5353   }
5354 < #line 5357 "conf_parser.c" /* yacc.c:1646  */
5354 > #line 5355 "conf_parser.c" /* yacc.c:1646  */
5355      break;
5356  
5357    case 416:
5358 < #line 2258 "conf_parser.y" /* yacc.c:1646  */
5358 > #line 2256 "conf_parser.y" /* yacc.c:1646  */
5359      {
5360    if (conf_parser_ctx.pass != 2)
5361      break;
# Line 5369 | Line 5367 | yyreduce:
5367    else
5368      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5369   }
5370 < #line 5373 "conf_parser.c" /* yacc.c:1646  */
5370 > #line 5371 "conf_parser.c" /* yacc.c:1646  */
5371      break;
5372  
5373    case 417:
5374 < #line 2271 "conf_parser.y" /* yacc.c:1646  */
5374 > #line 2269 "conf_parser.y" /* yacc.c:1646  */
5375      {
5376    if (conf_parser_ctx.pass != 2)
5377      break;
# Line 5385 | Line 5383 | yyreduce:
5383    else
5384      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5385   }
5386 < #line 5389 "conf_parser.c" /* yacc.c:1646  */
5386 > #line 5387 "conf_parser.c" /* yacc.c:1646  */
5387      break;
5388  
5389    case 418:
5390 < #line 2284 "conf_parser.y" /* yacc.c:1646  */
5390 > #line 2282 "conf_parser.y" /* yacc.c:1646  */
5391      {
5392    if (conf_parser_ctx.pass == 2)
5393      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5394   }
5395 < #line 5398 "conf_parser.c" /* yacc.c:1646  */
5395 > #line 5396 "conf_parser.c" /* yacc.c:1646  */
5396      break;
5397  
5398    case 419:
5399 < #line 2290 "conf_parser.y" /* yacc.c:1646  */
5399 > #line 2288 "conf_parser.y" /* yacc.c:1646  */
5400      {
5401    if (conf_parser_ctx.pass == 2)
5402      block_state.port.value = (yyvsp[-1].number);
5403   }
5404 < #line 5407 "conf_parser.c" /* yacc.c:1646  */
5404 > #line 5405 "conf_parser.c" /* yacc.c:1646  */
5405      break;
5406  
5407    case 420:
5408 < #line 2296 "conf_parser.y" /* yacc.c:1646  */
5408 > #line 2294 "conf_parser.y" /* yacc.c:1646  */
5409      {
5410    if (conf_parser_ctx.pass == 2)
5411      block_state.aftype.value = AF_INET;
5412   }
5413 < #line 5416 "conf_parser.c" /* yacc.c:1646  */
5413 > #line 5414 "conf_parser.c" /* yacc.c:1646  */
5414      break;
5415  
5416    case 421:
5417 < #line 2300 "conf_parser.y" /* yacc.c:1646  */
5417 > #line 2298 "conf_parser.y" /* yacc.c:1646  */
5418      {
5419    if (conf_parser_ctx.pass == 2)
5420      block_state.aftype.value = AF_INET6;
5421   }
5422 < #line 5425 "conf_parser.c" /* yacc.c:1646  */
5422 > #line 5423 "conf_parser.c" /* yacc.c:1646  */
5423      break;
5424  
5425    case 422:
5426 < #line 2306 "conf_parser.y" /* yacc.c:1646  */
5426 > #line 2304 "conf_parser.y" /* yacc.c:1646  */
5427      {
5428    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5429   }
5430 < #line 5433 "conf_parser.c" /* yacc.c:1646  */
5430 > #line 5431 "conf_parser.c" /* yacc.c:1646  */
5431      break;
5432  
5433    case 426:
5434 < #line 2312 "conf_parser.y" /* yacc.c:1646  */
5434 > #line 2310 "conf_parser.y" /* yacc.c:1646  */
5435      {
5436    if (conf_parser_ctx.pass == 2)
5437      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5438   }
5439 < #line 5442 "conf_parser.c" /* yacc.c:1646  */
5439 > #line 5440 "conf_parser.c" /* yacc.c:1646  */
5440      break;
5441  
5442    case 427:
5443 < #line 2316 "conf_parser.y" /* yacc.c:1646  */
5443 > #line 2314 "conf_parser.y" /* yacc.c:1646  */
5444      {
5445    if (conf_parser_ctx.pass == 2)
5446      block_state.flags.value |= CONF_FLAGS_SSL;
5447   }
5448 < #line 5451 "conf_parser.c" /* yacc.c:1646  */
5448 > #line 5449 "conf_parser.c" /* yacc.c:1646  */
5449      break;
5450  
5451    case 428:
5452 < #line 2322 "conf_parser.y" /* yacc.c:1646  */
5452 > #line 2320 "conf_parser.y" /* yacc.c:1646  */
5453      {
5454    if (conf_parser_ctx.pass == 2)
5455    {
# Line 5461 | Line 5459 | yyreduce:
5459        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5460    }
5461   }
5462 < #line 5465 "conf_parser.c" /* yacc.c:1646  */
5462 > #line 5463 "conf_parser.c" /* yacc.c:1646  */
5463      break;
5464  
5465    case 429:
5466 < #line 2333 "conf_parser.y" /* yacc.c:1646  */
5466 > #line 2331 "conf_parser.y" /* yacc.c:1646  */
5467      {
5468    if (conf_parser_ctx.pass == 2)
5469      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5470   }
5471 < #line 5474 "conf_parser.c" /* yacc.c:1646  */
5471 > #line 5472 "conf_parser.c" /* yacc.c:1646  */
5472      break;
5473  
5474    case 430:
5475 < #line 2339 "conf_parser.y" /* yacc.c:1646  */
5475 > #line 2337 "conf_parser.y" /* yacc.c:1646  */
5476      {
5477    if (conf_parser_ctx.pass == 2)
5478      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5479   }
5480 < #line 5483 "conf_parser.c" /* yacc.c:1646  */
5480 > #line 5481 "conf_parser.c" /* yacc.c:1646  */
5481      break;
5482  
5483    case 431:
5484 < #line 2345 "conf_parser.y" /* yacc.c:1646  */
5484 > #line 2343 "conf_parser.y" /* yacc.c:1646  */
5485      {
5486    if (conf_parser_ctx.pass == 2)
5487      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5488   }
5489 < #line 5492 "conf_parser.c" /* yacc.c:1646  */
5489 > #line 5490 "conf_parser.c" /* yacc.c:1646  */
5490      break;
5491  
5492    case 432:
5493 < #line 2351 "conf_parser.y" /* yacc.c:1646  */
5493 > #line 2349 "conf_parser.y" /* yacc.c:1646  */
5494      {
5495   #ifdef HAVE_LIBCRYPTO
5496    if (conf_parser_ctx.pass == 2)
# Line 5502 | Line 5500 | yyreduce:
5500      conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5501   #endif
5502   }
5503 < #line 5506 "conf_parser.c" /* yacc.c:1646  */
5503 > #line 5504 "conf_parser.c" /* yacc.c:1646  */
5504      break;
5505  
5506    case 433:
5507 < #line 2366 "conf_parser.y" /* yacc.c:1646  */
5507 > #line 2364 "conf_parser.y" /* yacc.c:1646  */
5508      {
5509    if (conf_parser_ctx.pass == 2)
5510      reset_block_state();
5511   }
5512 < #line 5515 "conf_parser.c" /* yacc.c:1646  */
5512 > #line 5513 "conf_parser.c" /* yacc.c:1646  */
5513      break;
5514  
5515    case 434:
5516 < #line 2370 "conf_parser.y" /* yacc.c:1646  */
5516 > #line 2368 "conf_parser.y" /* yacc.c:1646  */
5517      {
5518    struct MaskItem *conf = NULL;
5519  
# Line 5536 | Line 5534 | yyreduce:
5534      conf->reason = xstrdup(CONF_NOREASON);
5535    add_conf_by_address(CONF_KLINE, conf);
5536   }
5537 < #line 5540 "conf_parser.c" /* yacc.c:1646  */
5537 > #line 5538 "conf_parser.c" /* yacc.c:1646  */
5538      break;
5539  
5540    case 440:
5541 < #line 2395 "conf_parser.y" /* yacc.c:1646  */
5541 > #line 2393 "conf_parser.y" /* yacc.c:1646  */
5542      {
5543  
5544    if (conf_parser_ctx.pass == 2)
# Line 5559 | Line 5557 | yyreduce:
5557      split_nuh(&nuh);
5558    }
5559   }
5560 < #line 5563 "conf_parser.c" /* yacc.c:1646  */
5560 > #line 5561 "conf_parser.c" /* yacc.c:1646  */
5561      break;
5562  
5563    case 441:
5564 < #line 2415 "conf_parser.y" /* yacc.c:1646  */
5564 > #line 2413 "conf_parser.y" /* yacc.c:1646  */
5565      {
5566    if (conf_parser_ctx.pass == 2)
5567      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5568   }
5569 < #line 5572 "conf_parser.c" /* yacc.c:1646  */
5569 > #line 5570 "conf_parser.c" /* yacc.c:1646  */
5570      break;
5571  
5572    case 442:
5573 < #line 2424 "conf_parser.y" /* yacc.c:1646  */
5573 > #line 2422 "conf_parser.y" /* yacc.c:1646  */
5574      {
5575    if (conf_parser_ctx.pass == 2)
5576      reset_block_state();
5577   }
5578 < #line 5581 "conf_parser.c" /* yacc.c:1646  */
5578 > #line 5579 "conf_parser.c" /* yacc.c:1646  */
5579      break;
5580  
5581    case 443:
5582 < #line 2428 "conf_parser.y" /* yacc.c:1646  */
5582 > #line 2426 "conf_parser.y" /* yacc.c:1646  */
5583      {
5584    struct MaskItem *conf = NULL;
5585  
# Line 5603 | Line 5601 | yyreduce:
5601      add_conf_by_address(CONF_DLINE, conf);
5602    }
5603   }
5604 < #line 5607 "conf_parser.c" /* yacc.c:1646  */
5604 > #line 5605 "conf_parser.c" /* yacc.c:1646  */
5605      break;
5606  
5607    case 449:
5608 < #line 2454 "conf_parser.y" /* yacc.c:1646  */
5608 > #line 2452 "conf_parser.y" /* yacc.c:1646  */
5609      {
5610    if (conf_parser_ctx.pass == 2)
5611      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5612   }
5613 < #line 5616 "conf_parser.c" /* yacc.c:1646  */
5613 > #line 5614 "conf_parser.c" /* yacc.c:1646  */
5614      break;
5615  
5616    case 450:
5617 < #line 2460 "conf_parser.y" /* yacc.c:1646  */
5617 > #line 2458 "conf_parser.y" /* yacc.c:1646  */
5618      {
5619    if (conf_parser_ctx.pass == 2)
5620      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5621   }
5622 < #line 5625 "conf_parser.c" /* yacc.c:1646  */
5622 > #line 5623 "conf_parser.c" /* yacc.c:1646  */
5623      break;
5624  
5625    case 456:
5626 < #line 2474 "conf_parser.y" /* yacc.c:1646  */
5626 > #line 2472 "conf_parser.y" /* yacc.c:1646  */
5627      {
5628    if (conf_parser_ctx.pass == 2)
5629    {
# Line 5638 | Line 5636 | yyreduce:
5636      }
5637    }
5638   }
5639 < #line 5642 "conf_parser.c" /* yacc.c:1646  */
5639 > #line 5640 "conf_parser.c" /* yacc.c:1646  */
5640      break;
5641  
5642    case 457:
5643 < #line 2491 "conf_parser.y" /* yacc.c:1646  */
5643 > #line 2489 "conf_parser.y" /* yacc.c:1646  */
5644      {
5645    if (conf_parser_ctx.pass == 2)
5646      reset_block_state();
5647   }
5648 < #line 5651 "conf_parser.c" /* yacc.c:1646  */
5648 > #line 5649 "conf_parser.c" /* yacc.c:1646  */
5649      break;
5650  
5651    case 458:
5652 < #line 2495 "conf_parser.y" /* yacc.c:1646  */
5652 > #line 2493 "conf_parser.y" /* yacc.c:1646  */
5653      {
5654    struct MaskItem *conf = NULL;
5655  
# Line 5669 | Line 5667 | yyreduce:
5667    else
5668      conf->reason = xstrdup(CONF_NOREASON);
5669   }
5670 < #line 5673 "conf_parser.c" /* yacc.c:1646  */
5670 > #line 5671 "conf_parser.c" /* yacc.c:1646  */
5671      break;
5672  
5673    case 464:
5674 < #line 2517 "conf_parser.y" /* yacc.c:1646  */
5674 > #line 2515 "conf_parser.y" /* yacc.c:1646  */
5675      {
5676    if (conf_parser_ctx.pass == 2)
5677      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5678   }
5679 < #line 5682 "conf_parser.c" /* yacc.c:1646  */
5679 > #line 5680 "conf_parser.c" /* yacc.c:1646  */
5680      break;
5681  
5682    case 465:
5683 < #line 2523 "conf_parser.y" /* yacc.c:1646  */
5683 > #line 2521 "conf_parser.y" /* yacc.c:1646  */
5684      {
5685    if (conf_parser_ctx.pass == 2)
5686      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5687   }
5688 < #line 5691 "conf_parser.c" /* yacc.c:1646  */
5688 > #line 5689 "conf_parser.c" /* yacc.c:1646  */
5689      break;
5690  
5691    case 519:
5692 < #line 2588 "conf_parser.y" /* yacc.c:1646  */
5692 > #line 2586 "conf_parser.y" /* yacc.c:1646  */
5693      {
5694    ConfigGeneral.away_count = (yyvsp[-1].number);
5695   }
5696 < #line 5699 "conf_parser.c" /* yacc.c:1646  */
5696 > #line 5697 "conf_parser.c" /* yacc.c:1646  */
5697      break;
5698  
5699    case 520:
5700 < #line 2593 "conf_parser.y" /* yacc.c:1646  */
5700 > #line 2591 "conf_parser.y" /* yacc.c:1646  */
5701      {
5702    ConfigGeneral.away_time = (yyvsp[-1].number);
5703   }
5704 < #line 5707 "conf_parser.c" /* yacc.c:1646  */
5704 > #line 5705 "conf_parser.c" /* yacc.c:1646  */
5705      break;
5706  
5707    case 521:
5708 < #line 2598 "conf_parser.y" /* yacc.c:1646  */
5708 > #line 2596 "conf_parser.y" /* yacc.c:1646  */
5709      {
5710    ConfigGeneral.max_watch = (yyvsp[-1].number);
5711   }
5712 < #line 5715 "conf_parser.c" /* yacc.c:1646  */
5712 > #line 5713 "conf_parser.c" /* yacc.c:1646  */
5713      break;
5714  
5715    case 522:
5716 < #line 2603 "conf_parser.y" /* yacc.c:1646  */
5716 > #line 2601 "conf_parser.y" /* yacc.c:1646  */
5717      {
5718    if (conf_parser_ctx.pass == 2)
5719      ConfigGeneral.cycle_on_host_change = yylval.number;
5720   }
5721 < #line 5724 "conf_parser.c" /* yacc.c:1646  */
5721 > #line 5722 "conf_parser.c" /* yacc.c:1646  */
5722      break;
5723  
5724    case 523:
5725 < #line 2609 "conf_parser.y" /* yacc.c:1646  */
5725 > #line 2607 "conf_parser.y" /* yacc.c:1646  */
5726      {
5727    if (conf_parser_ctx.pass == 2)
5728      ConfigGeneral.glines = yylval.number;
5729   }
5730 < #line 5733 "conf_parser.c" /* yacc.c:1646  */
5730 > #line 5731 "conf_parser.c" /* yacc.c:1646  */
5731      break;
5732  
5733    case 524:
5734 < #line 2615 "conf_parser.y" /* yacc.c:1646  */
5734 > #line 2613 "conf_parser.y" /* yacc.c:1646  */
5735      {
5736    if (conf_parser_ctx.pass == 2)
5737      ConfigGeneral.gline_time = (yyvsp[-1].number);
5738   }
5739 < #line 5742 "conf_parser.c" /* yacc.c:1646  */
5739 > #line 5740 "conf_parser.c" /* yacc.c:1646  */
5740      break;
5741  
5742    case 525:
5743 < #line 2621 "conf_parser.y" /* yacc.c:1646  */
5743 > #line 2619 "conf_parser.y" /* yacc.c:1646  */
5744      {
5745    if (conf_parser_ctx.pass == 2)
5746      ConfigGeneral.gline_request_time = (yyvsp[-1].number);
5747   }
5748 < #line 5751 "conf_parser.c" /* yacc.c:1646  */
5748 > #line 5749 "conf_parser.c" /* yacc.c:1646  */
5749      break;
5750  
5751    case 526:
5752 < #line 2627 "conf_parser.y" /* yacc.c:1646  */
5752 > #line 2625 "conf_parser.y" /* yacc.c:1646  */
5753      {
5754    ConfigGeneral.gline_min_cidr = (yyvsp[-1].number);
5755   }
5756 < #line 5759 "conf_parser.c" /* yacc.c:1646  */
5756 > #line 5757 "conf_parser.c" /* yacc.c:1646  */
5757      break;
5758  
5759    case 527:
5760 < #line 2632 "conf_parser.y" /* yacc.c:1646  */
5760 > #line 2630 "conf_parser.y" /* yacc.c:1646  */
5761      {
5762    ConfigGeneral.gline_min_cidr6 = (yyvsp[-1].number);
5763   }
5764 < #line 5767 "conf_parser.c" /* yacc.c:1646  */
5764 > #line 5765 "conf_parser.c" /* yacc.c:1646  */
5765      break;
5766  
5767    case 528:
5768 < #line 2637 "conf_parser.y" /* yacc.c:1646  */
5768 > #line 2635 "conf_parser.y" /* yacc.c:1646  */
5769      {
5770    ConfigGeneral.tkline_expire_notices = yylval.number;
5771   }
5772 < #line 5775 "conf_parser.c" /* yacc.c:1646  */
5772 > #line 5773 "conf_parser.c" /* yacc.c:1646  */
5773      break;
5774  
5775    case 529:
5776 < #line 2642 "conf_parser.y" /* yacc.c:1646  */
5776 > #line 2640 "conf_parser.y" /* yacc.c:1646  */
5777      {
5778    ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5779   }
5780 < #line 5783 "conf_parser.c" /* yacc.c:1646  */
5780 > #line 5781 "conf_parser.c" /* yacc.c:1646  */
5781      break;
5782  
5783    case 530:
5784 < #line 2647 "conf_parser.y" /* yacc.c:1646  */
5784 > #line 2645 "conf_parser.y" /* yacc.c:1646  */
5785      {
5786    ConfigGeneral.hide_spoof_ips = yylval.number;
5787   }
5788 < #line 5791 "conf_parser.c" /* yacc.c:1646  */
5788 > #line 5789 "conf_parser.c" /* yacc.c:1646  */
5789      break;
5790  
5791    case 531:
5792 < #line 2652 "conf_parser.y" /* yacc.c:1646  */
5792 > #line 2650 "conf_parser.y" /* yacc.c:1646  */
5793      {
5794    ConfigGeneral.ignore_bogus_ts = yylval.number;
5795   }
5796 < #line 5799 "conf_parser.c" /* yacc.c:1646  */
5796 > #line 5797 "conf_parser.c" /* yacc.c:1646  */
5797      break;
5798  
5799    case 532:
5800 < #line 2657 "conf_parser.y" /* yacc.c:1646  */
5800 > #line 2655 "conf_parser.y" /* yacc.c:1646  */
5801      {
5802    ConfigGeneral.failed_oper_notice = yylval.number;
5803   }
5804 < #line 5807 "conf_parser.c" /* yacc.c:1646  */
5804 > #line 5805 "conf_parser.c" /* yacc.c:1646  */
5805      break;
5806  
5807    case 533:
5808 < #line 2662 "conf_parser.y" /* yacc.c:1646  */
5808 > #line 2660 "conf_parser.y" /* yacc.c:1646  */
5809      {
5810    ConfigGeneral.anti_nick_flood = yylval.number;
5811   }
5812 < #line 5815 "conf_parser.c" /* yacc.c:1646  */
5812 > #line 5813 "conf_parser.c" /* yacc.c:1646  */
5813      break;
5814  
5815    case 534:
5816 < #line 2667 "conf_parser.y" /* yacc.c:1646  */
5816 > #line 2665 "conf_parser.y" /* yacc.c:1646  */
5817      {
5818    ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5819   }
5820 < #line 5823 "conf_parser.c" /* yacc.c:1646  */
5820 > #line 5821 "conf_parser.c" /* yacc.c:1646  */
5821      break;
5822  
5823    case 535:
5824 < #line 2672 "conf_parser.y" /* yacc.c:1646  */
5824 > #line 2670 "conf_parser.y" /* yacc.c:1646  */
5825      {
5826    ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5827   }
5828 < #line 5831 "conf_parser.c" /* yacc.c:1646  */
5828 > #line 5829 "conf_parser.c" /* yacc.c:1646  */
5829      break;
5830  
5831    case 536:
5832 < #line 2677 "conf_parser.y" /* yacc.c:1646  */
5832 > #line 2675 "conf_parser.y" /* yacc.c:1646  */
5833      {
5834    ConfigGeneral.max_accept = (yyvsp[-1].number);
5835   }
5836 < #line 5839 "conf_parser.c" /* yacc.c:1646  */
5836 > #line 5837 "conf_parser.c" /* yacc.c:1646  */
5837      break;
5838  
5839    case 537:
5840 < #line 2682 "conf_parser.y" /* yacc.c:1646  */
5840 > #line 2680 "conf_parser.y" /* yacc.c:1646  */
5841      {
5842    ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5843   }
5844 < #line 5847 "conf_parser.c" /* yacc.c:1646  */
5844 > #line 5845 "conf_parser.c" /* yacc.c:1646  */
5845      break;
5846  
5847    case 538:
5848 < #line 2687 "conf_parser.y" /* yacc.c:1646  */
5848 > #line 2685 "conf_parser.y" /* yacc.c:1646  */
5849      {
5850    ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5851   }
5852 < #line 5855 "conf_parser.c" /* yacc.c:1646  */
5852 > #line 5853 "conf_parser.c" /* yacc.c:1646  */
5853      break;
5854  
5855    case 539:
5856 < #line 2692 "conf_parser.y" /* yacc.c:1646  */
5856 > #line 2690 "conf_parser.y" /* yacc.c:1646  */
5857      {
5858    if (conf_parser_ctx.pass == 2)
5859      ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5860   }
5861 < #line 5864 "conf_parser.c" /* yacc.c:1646  */
5861 > #line 5862 "conf_parser.c" /* yacc.c:1646  */
5862      break;
5863  
5864    case 540:
5865 < #line 2698 "conf_parser.y" /* yacc.c:1646  */
5865 > #line 2696 "conf_parser.y" /* yacc.c:1646  */
5866      {
5867    if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5868    {
# Line 5874 | Line 5872 | yyreduce:
5872      exit(0);
5873    }
5874   }
5875 < #line 5878 "conf_parser.c" /* yacc.c:1646  */
5875 > #line 5876 "conf_parser.c" /* yacc.c:1646  */
5876      break;
5877  
5878    case 541:
5879 < #line 2709 "conf_parser.y" /* yacc.c:1646  */
5879 > #line 2707 "conf_parser.y" /* yacc.c:1646  */
5880      {
5881    ConfigGeneral.invisible_on_connect = yylval.number;
5882   }
5883 < #line 5886 "conf_parser.c" /* yacc.c:1646  */
5883 > #line 5884 "conf_parser.c" /* yacc.c:1646  */
5884      break;
5885  
5886    case 542:
5887 < #line 2714 "conf_parser.y" /* yacc.c:1646  */
5887 > #line 2712 "conf_parser.y" /* yacc.c:1646  */
5888      {
5889    ConfigGeneral.warn_no_connect_block = yylval.number;
5890   }
5891 < #line 5894 "conf_parser.c" /* yacc.c:1646  */
5891 > #line 5892 "conf_parser.c" /* yacc.c:1646  */
5892      break;
5893  
5894    case 543:
5895 < #line 2719 "conf_parser.y" /* yacc.c:1646  */
5895 > #line 2717 "conf_parser.y" /* yacc.c:1646  */
5896      {
5897    ConfigGeneral.stats_e_disabled = yylval.number;
5898   }
5899 < #line 5902 "conf_parser.c" /* yacc.c:1646  */
5899 > #line 5900 "conf_parser.c" /* yacc.c:1646  */
5900      break;
5901  
5902    case 544:
5903 < #line 2724 "conf_parser.y" /* yacc.c:1646  */
5903 > #line 2722 "conf_parser.y" /* yacc.c:1646  */
5904      {
5905    ConfigGeneral.stats_o_oper_only = yylval.number;
5906   }
5907 < #line 5910 "conf_parser.c" /* yacc.c:1646  */
5907 > #line 5908 "conf_parser.c" /* yacc.c:1646  */
5908      break;
5909  
5910    case 545:
5911 < #line 2729 "conf_parser.y" /* yacc.c:1646  */
5911 > #line 2727 "conf_parser.y" /* yacc.c:1646  */
5912      {
5913    ConfigGeneral.stats_P_oper_only = yylval.number;
5914   }
5915 < #line 5918 "conf_parser.c" /* yacc.c:1646  */
5915 > #line 5916 "conf_parser.c" /* yacc.c:1646  */
5916      break;
5917  
5918    case 546:
5919 < #line 2734 "conf_parser.y" /* yacc.c:1646  */
5919 > #line 2732 "conf_parser.y" /* yacc.c:1646  */
5920      {
5921    ConfigGeneral.stats_u_oper_only = yylval.number;
5922   }
5923 < #line 5926 "conf_parser.c" /* yacc.c:1646  */
5923 > #line 5924 "conf_parser.c" /* yacc.c:1646  */
5924      break;
5925  
5926    case 547:
5927 < #line 2739 "conf_parser.y" /* yacc.c:1646  */
5927 > #line 2737 "conf_parser.y" /* yacc.c:1646  */
5928      {
5929    ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5930   }
5931 < #line 5934 "conf_parser.c" /* yacc.c:1646  */
5931 > #line 5932 "conf_parser.c" /* yacc.c:1646  */
5932      break;
5933  
5934    case 548:
5935 < #line 2742 "conf_parser.y" /* yacc.c:1646  */
5935 > #line 2740 "conf_parser.y" /* yacc.c:1646  */
5936      {
5937    ConfigGeneral.stats_k_oper_only = 1;
5938   }
5939 < #line 5942 "conf_parser.c" /* yacc.c:1646  */
5939 > #line 5940 "conf_parser.c" /* yacc.c:1646  */
5940      break;
5941  
5942    case 549:
5943 < #line 2747 "conf_parser.y" /* yacc.c:1646  */
5943 > #line 2745 "conf_parser.y" /* yacc.c:1646  */
5944      {
5945    ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5946   }
5947 < #line 5950 "conf_parser.c" /* yacc.c:1646  */
5947 > #line 5948 "conf_parser.c" /* yacc.c:1646  */
5948      break;
5949  
5950    case 550:
5951 < #line 2750 "conf_parser.y" /* yacc.c:1646  */
5951 > #line 2748 "conf_parser.y" /* yacc.c:1646  */
5952      {
5953    ConfigGeneral.stats_i_oper_only = 1;
5954   }
5955 < #line 5958 "conf_parser.c" /* yacc.c:1646  */
5955 > #line 5956 "conf_parser.c" /* yacc.c:1646  */
5956      break;
5957  
5958    case 551:
5959 < #line 2755 "conf_parser.y" /* yacc.c:1646  */
5959 > #line 2753 "conf_parser.y" /* yacc.c:1646  */
5960      {
5961    ConfigGeneral.pace_wait = (yyvsp[-1].number);
5962   }
5963 < #line 5966 "conf_parser.c" /* yacc.c:1646  */
5963 > #line 5964 "conf_parser.c" /* yacc.c:1646  */
5964      break;
5965  
5966    case 552:
5967 < #line 2760 "conf_parser.y" /* yacc.c:1646  */
5967 > #line 2758 "conf_parser.y" /* yacc.c:1646  */
5968      {
5969    ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5970   }
5971 < #line 5974 "conf_parser.c" /* yacc.c:1646  */
5971 > #line 5972 "conf_parser.c" /* yacc.c:1646  */
5972      break;
5973  
5974    case 553:
5975 < #line 2765 "conf_parser.y" /* yacc.c:1646  */
5975 > #line 2763 "conf_parser.y" /* yacc.c:1646  */
5976      {
5977    ConfigGeneral.opers_bypass_callerid = yylval.number;
5978   }
5979 < #line 5982 "conf_parser.c" /* yacc.c:1646  */
5979 > #line 5980 "conf_parser.c" /* yacc.c:1646  */
5980      break;
5981  
5982    case 554:
5983 < #line 2770 "conf_parser.y" /* yacc.c:1646  */
5983 > #line 2768 "conf_parser.y" /* yacc.c:1646  */
5984      {
5985    ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
5986   }
5987 < #line 5990 "conf_parser.c" /* yacc.c:1646  */
5987 > #line 5988 "conf_parser.c" /* yacc.c:1646  */
5988      break;
5989  
5990    case 555:
5991 < #line 2775 "conf_parser.y" /* yacc.c:1646  */
5991 > #line 2773 "conf_parser.y" /* yacc.c:1646  */
5992      {
5993    ConfigGeneral.short_motd = yylval.number;
5994   }
5995 < #line 5998 "conf_parser.c" /* yacc.c:1646  */
5995 > #line 5996 "conf_parser.c" /* yacc.c:1646  */
5996      break;
5997  
5998    case 556:
5999 < #line 2780 "conf_parser.y" /* yacc.c:1646  */
5999 > #line 2778 "conf_parser.y" /* yacc.c:1646  */
6000      {
6001    ConfigGeneral.no_oper_flood = yylval.number;
6002   }
6003 < #line 6006 "conf_parser.c" /* yacc.c:1646  */
6003 > #line 6004 "conf_parser.c" /* yacc.c:1646  */
6004      break;
6005  
6006    case 557:
6007 < #line 2785 "conf_parser.y" /* yacc.c:1646  */
6007 > #line 2783 "conf_parser.y" /* yacc.c:1646  */
6008      {
6009    ConfigGeneral.true_no_oper_flood = yylval.number;
6010   }
6011 < #line 6014 "conf_parser.c" /* yacc.c:1646  */
6011 > #line 6012 "conf_parser.c" /* yacc.c:1646  */
6012      break;
6013  
6014    case 558:
6015 < #line 2790 "conf_parser.y" /* yacc.c:1646  */
6015 > #line 2788 "conf_parser.y" /* yacc.c:1646  */
6016      {
6017    ConfigGeneral.oper_pass_resv = yylval.number;
6018   }
6019 < #line 6022 "conf_parser.c" /* yacc.c:1646  */
6019 > #line 6020 "conf_parser.c" /* yacc.c:1646  */
6020      break;
6021  
6022    case 559:
6023 < #line 2795 "conf_parser.y" /* yacc.c:1646  */
6023 > #line 2793 "conf_parser.y" /* yacc.c:1646  */
6024      {
6025    ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
6026   }
6027 < #line 6030 "conf_parser.c" /* yacc.c:1646  */
6027 > #line 6028 "conf_parser.c" /* yacc.c:1646  */
6028      break;
6029  
6030    case 560:
6031 < #line 2800 "conf_parser.y" /* yacc.c:1646  */
6031 > #line 2798 "conf_parser.y" /* yacc.c:1646  */
6032      {
6033    ConfigGeneral.max_targets = (yyvsp[-1].number);
6034   }
6035 < #line 6038 "conf_parser.c" /* yacc.c:1646  */
6035 > #line 6036 "conf_parser.c" /* yacc.c:1646  */
6036      break;
6037  
6038    case 561:
6039 < #line 2805 "conf_parser.y" /* yacc.c:1646  */
6039 > #line 2803 "conf_parser.y" /* yacc.c:1646  */
6040      {
6041    ConfigGeneral.ping_cookie = yylval.number;
6042   }
6043 < #line 6046 "conf_parser.c" /* yacc.c:1646  */
6043 > #line 6044 "conf_parser.c" /* yacc.c:1646  */
6044      break;
6045  
6046    case 562:
6047 < #line 2810 "conf_parser.y" /* yacc.c:1646  */
6047 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6048      {
6049    ConfigGeneral.disable_auth = yylval.number;
6050   }
6051 < #line 6054 "conf_parser.c" /* yacc.c:1646  */
6051 > #line 6052 "conf_parser.c" /* yacc.c:1646  */
6052      break;
6053  
6054    case 563:
6055 < #line 2815 "conf_parser.y" /* yacc.c:1646  */
6055 > #line 2813 "conf_parser.y" /* yacc.c:1646  */
6056      {
6057    ConfigGeneral.throttle_count = (yyvsp[-1].number);
6058   }
6059 < #line 6062 "conf_parser.c" /* yacc.c:1646  */
6059 > #line 6060 "conf_parser.c" /* yacc.c:1646  */
6060      break;
6061  
6062    case 564:
6063 < #line 2820 "conf_parser.y" /* yacc.c:1646  */
6063 > #line 2818 "conf_parser.y" /* yacc.c:1646  */
6064      {
6065    ConfigGeneral.throttle_time = (yyvsp[-1].number);
6066   }
6067 < #line 6070 "conf_parser.c" /* yacc.c:1646  */
6067 > #line 6068 "conf_parser.c" /* yacc.c:1646  */
6068      break;
6069  
6070    case 565:
6071 < #line 2825 "conf_parser.y" /* yacc.c:1646  */
6071 > #line 2823 "conf_parser.y" /* yacc.c:1646  */
6072      {
6073    ConfigGeneral.oper_umodes = 0;
6074   }
6075 < #line 6078 "conf_parser.c" /* yacc.c:1646  */
6075 > #line 6076 "conf_parser.c" /* yacc.c:1646  */
6076      break;
6077  
6078    case 569:
6079 < #line 2831 "conf_parser.y" /* yacc.c:1646  */
6079 > #line 2829 "conf_parser.y" /* yacc.c:1646  */
6080      {
6081    ConfigGeneral.oper_umodes |= UMODE_BOTS;
6082   }
6083 < #line 6086 "conf_parser.c" /* yacc.c:1646  */
6083 > #line 6084 "conf_parser.c" /* yacc.c:1646  */
6084      break;
6085  
6086    case 570:
6087 < #line 2834 "conf_parser.y" /* yacc.c:1646  */
6087 > #line 2832 "conf_parser.y" /* yacc.c:1646  */
6088      {
6089    ConfigGeneral.oper_umodes |= UMODE_CCONN;
6090   }
6091 < #line 6094 "conf_parser.c" /* yacc.c:1646  */
6091 > #line 6092 "conf_parser.c" /* yacc.c:1646  */
6092      break;
6093  
6094    case 571:
6095 < #line 2837 "conf_parser.y" /* yacc.c:1646  */
6095 > #line 2835 "conf_parser.y" /* yacc.c:1646  */
6096      {
6097    ConfigGeneral.oper_umodes |= UMODE_DEAF;
6098   }
6099 < #line 6102 "conf_parser.c" /* yacc.c:1646  */
6099 > #line 6100 "conf_parser.c" /* yacc.c:1646  */
6100      break;
6101  
6102    case 572:
6103 < #line 2840 "conf_parser.y" /* yacc.c:1646  */
6103 > #line 2838 "conf_parser.y" /* yacc.c:1646  */
6104      {
6105    ConfigGeneral.oper_umodes |= UMODE_DEBUG;
6106   }
6107 < #line 6110 "conf_parser.c" /* yacc.c:1646  */
6107 > #line 6108 "conf_parser.c" /* yacc.c:1646  */
6108      break;
6109  
6110    case 573:
6111 < #line 2843 "conf_parser.y" /* yacc.c:1646  */
6111 > #line 2841 "conf_parser.y" /* yacc.c:1646  */
6112      {
6113    ConfigGeneral.oper_umodes |= UMODE_FULL;
6114   }
6115 < #line 6118 "conf_parser.c" /* yacc.c:1646  */
6115 > #line 6116 "conf_parser.c" /* yacc.c:1646  */
6116      break;
6117  
6118    case 574:
6119 < #line 2846 "conf_parser.y" /* yacc.c:1646  */
6119 > #line 2844 "conf_parser.y" /* yacc.c:1646  */
6120      {
6121    ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
6122   }
6123 < #line 6126 "conf_parser.c" /* yacc.c:1646  */
6123 > #line 6124 "conf_parser.c" /* yacc.c:1646  */
6124      break;
6125  
6126    case 575:
6127 < #line 2849 "conf_parser.y" /* yacc.c:1646  */
6127 > #line 2847 "conf_parser.y" /* yacc.c:1646  */
6128      {
6129    ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
6130   }
6131 < #line 6134 "conf_parser.c" /* yacc.c:1646  */
6131 > #line 6132 "conf_parser.c" /* yacc.c:1646  */
6132      break;
6133  
6134    case 576:
6135 < #line 2852 "conf_parser.y" /* yacc.c:1646  */
6135 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6136      {
6137    ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
6138   }
6139 < #line 6142 "conf_parser.c" /* yacc.c:1646  */
6139 > #line 6140 "conf_parser.c" /* yacc.c:1646  */
6140      break;
6141  
6142    case 577:
6143 < #line 2855 "conf_parser.y" /* yacc.c:1646  */
6143 > #line 2853 "conf_parser.y" /* yacc.c:1646  */
6144      {
6145    ConfigGeneral.oper_umodes |= UMODE_SKILL;
6146   }
6147 < #line 6150 "conf_parser.c" /* yacc.c:1646  */
6147 > #line 6148 "conf_parser.c" /* yacc.c:1646  */
6148      break;
6149  
6150    case 578:
6151 < #line 2858 "conf_parser.y" /* yacc.c:1646  */
6151 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6152      {
6153    ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
6154   }
6155 < #line 6158 "conf_parser.c" /* yacc.c:1646  */
6155 > #line 6156 "conf_parser.c" /* yacc.c:1646  */
6156      break;
6157  
6158    case 579:
6159 < #line 2861 "conf_parser.y" /* yacc.c:1646  */
6159 > #line 2859 "conf_parser.y" /* yacc.c:1646  */
6160      {
6161    ConfigGeneral.oper_umodes |= UMODE_REJ;
6162   }
6163 < #line 6166 "conf_parser.c" /* yacc.c:1646  */
6163 > #line 6164 "conf_parser.c" /* yacc.c:1646  */
6164      break;
6165  
6166    case 580:
6167 < #line 2864 "conf_parser.y" /* yacc.c:1646  */
6167 > #line 2862 "conf_parser.y" /* yacc.c:1646  */
6168      {
6169    ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6170   }
6171 < #line 6174 "conf_parser.c" /* yacc.c:1646  */
6171 > #line 6172 "conf_parser.c" /* yacc.c:1646  */
6172      break;
6173  
6174    case 581:
6175 < #line 2867 "conf_parser.y" /* yacc.c:1646  */
6175 > #line 2865 "conf_parser.y" /* yacc.c:1646  */
6176      {
6177    ConfigGeneral.oper_umodes |= UMODE_SPY;
6178   }
6179 < #line 6182 "conf_parser.c" /* yacc.c:1646  */
6179 > #line 6180 "conf_parser.c" /* yacc.c:1646  */
6180      break;
6181  
6182    case 582:
6183 < #line 2870 "conf_parser.y" /* yacc.c:1646  */
6183 > #line 2868 "conf_parser.y" /* yacc.c:1646  */
6184      {
6185    ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6186   }
6187 < #line 6190 "conf_parser.c" /* yacc.c:1646  */
6187 > #line 6188 "conf_parser.c" /* yacc.c:1646  */
6188      break;
6189  
6190    case 583:
6191 < #line 2873 "conf_parser.y" /* yacc.c:1646  */
6191 > #line 2871 "conf_parser.y" /* yacc.c:1646  */
6192      {
6193    ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6194   }
6195 < #line 6198 "conf_parser.c" /* yacc.c:1646  */
6195 > #line 6196 "conf_parser.c" /* yacc.c:1646  */
6196      break;
6197  
6198    case 584:
6199 < #line 2876 "conf_parser.y" /* yacc.c:1646  */
6199 > #line 2874 "conf_parser.y" /* yacc.c:1646  */
6200      {
6201    ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6202   }
6203 < #line 6206 "conf_parser.c" /* yacc.c:1646  */
6203 > #line 6204 "conf_parser.c" /* yacc.c:1646  */
6204      break;
6205  
6206    case 585:
6207 < #line 2879 "conf_parser.y" /* yacc.c:1646  */
6207 > #line 2877 "conf_parser.y" /* yacc.c:1646  */
6208      {
6209    ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6210   }
6211 < #line 6214 "conf_parser.c" /* yacc.c:1646  */
6211 > #line 6212 "conf_parser.c" /* yacc.c:1646  */
6212      break;
6213  
6214    case 586:
6215 < #line 2882 "conf_parser.y" /* yacc.c:1646  */
6215 > #line 2880 "conf_parser.y" /* yacc.c:1646  */
6216      {
6217    ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6218   }
6219 < #line 6222 "conf_parser.c" /* yacc.c:1646  */
6219 > #line 6220 "conf_parser.c" /* yacc.c:1646  */
6220      break;
6221  
6222    case 587:
6223 < #line 2885 "conf_parser.y" /* yacc.c:1646  */
6223 > #line 2883 "conf_parser.y" /* yacc.c:1646  */
6224      {
6225    ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6226   }
6227 < #line 6230 "conf_parser.c" /* yacc.c:1646  */
6227 > #line 6228 "conf_parser.c" /* yacc.c:1646  */
6228      break;
6229  
6230    case 588:
6231 < #line 2888 "conf_parser.y" /* yacc.c:1646  */
6231 > #line 2886 "conf_parser.y" /* yacc.c:1646  */
6232      {
6233    ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6234   }
6235 < #line 6238 "conf_parser.c" /* yacc.c:1646  */
6235 > #line 6236 "conf_parser.c" /* yacc.c:1646  */
6236      break;
6237  
6238    case 589:
6239 < #line 2891 "conf_parser.y" /* yacc.c:1646  */
6239 > #line 2889 "conf_parser.y" /* yacc.c:1646  */
6240      {
6241    ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6242   }
6243 < #line 6246 "conf_parser.c" /* yacc.c:1646  */
6243 > #line 6244 "conf_parser.c" /* yacc.c:1646  */
6244      break;
6245  
6246    case 590:
6247 < #line 2894 "conf_parser.y" /* yacc.c:1646  */
6247 > #line 2892 "conf_parser.y" /* yacc.c:1646  */
6248      {
6249    ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6250   }
6251 < #line 6254 "conf_parser.c" /* yacc.c:1646  */
6251 > #line 6252 "conf_parser.c" /* yacc.c:1646  */
6252      break;
6253  
6254    case 591:
6255 < #line 2899 "conf_parser.y" /* yacc.c:1646  */
6255 > #line 2897 "conf_parser.y" /* yacc.c:1646  */
6256      {
6257    ConfigGeneral.oper_only_umodes = 0;
6258   }
6259 < #line 6262 "conf_parser.c" /* yacc.c:1646  */
6259 > #line 6260 "conf_parser.c" /* yacc.c:1646  */
6260      break;
6261  
6262    case 595:
6263 < #line 2905 "conf_parser.y" /* yacc.c:1646  */
6263 > #line 2903 "conf_parser.y" /* yacc.c:1646  */
6264      {
6265    ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6266   }
6267 < #line 6270 "conf_parser.c" /* yacc.c:1646  */
6267 > #line 6268 "conf_parser.c" /* yacc.c:1646  */
6268      break;
6269  
6270    case 596:
6271 < #line 2908 "conf_parser.y" /* yacc.c:1646  */
6271 > #line 2906 "conf_parser.y" /* yacc.c:1646  */
6272      {
6273    ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6274   }
6275 < #line 6278 "conf_parser.c" /* yacc.c:1646  */
6275 > #line 6276 "conf_parser.c" /* yacc.c:1646  */
6276      break;
6277  
6278    case 597:
6279 < #line 2911 "conf_parser.y" /* yacc.c:1646  */
6279 > #line 2909 "conf_parser.y" /* yacc.c:1646  */
6280      {
6281    ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6282   }
6283 < #line 6286 "conf_parser.c" /* yacc.c:1646  */
6283 > #line 6284 "conf_parser.c" /* yacc.c:1646  */
6284      break;
6285  
6286    case 598:
6287 < #line 2914 "conf_parser.y" /* yacc.c:1646  */
6287 > #line 2912 "conf_parser.y" /* yacc.c:1646  */
6288      {
6289    ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6290   }
6291 < #line 6294 "conf_parser.c" /* yacc.c:1646  */
6291 > #line 6292 "conf_parser.c" /* yacc.c:1646  */
6292      break;
6293  
6294    case 599:
6295 < #line 2917 "conf_parser.y" /* yacc.c:1646  */
6295 > #line 2915 "conf_parser.y" /* yacc.c:1646  */
6296      {
6297    ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6298   }
6299 < #line 6302 "conf_parser.c" /* yacc.c:1646  */
6299 > #line 6300 "conf_parser.c" /* yacc.c:1646  */
6300      break;
6301  
6302    case 600:
6303 < #line 2920 "conf_parser.y" /* yacc.c:1646  */
6303 > #line 2918 "conf_parser.y" /* yacc.c:1646  */
6304      {
6305    ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6306   }
6307 < #line 6310 "conf_parser.c" /* yacc.c:1646  */
6307 > #line 6308 "conf_parser.c" /* yacc.c:1646  */
6308      break;
6309  
6310    case 601:
6311 < #line 2923 "conf_parser.y" /* yacc.c:1646  */
6311 > #line 2921 "conf_parser.y" /* yacc.c:1646  */
6312      {
6313    ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6314   }
6315 < #line 6318 "conf_parser.c" /* yacc.c:1646  */
6315 > #line 6316 "conf_parser.c" /* yacc.c:1646  */
6316      break;
6317  
6318    case 602:
6319 < #line 2926 "conf_parser.y" /* yacc.c:1646  */
6319 > #line 2924 "conf_parser.y" /* yacc.c:1646  */
6320      {
6321    ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6322   }
6323 < #line 6326 "conf_parser.c" /* yacc.c:1646  */
6323 > #line 6324 "conf_parser.c" /* yacc.c:1646  */
6324      break;
6325  
6326    case 603:
6327 < #line 2929 "conf_parser.y" /* yacc.c:1646  */
6327 > #line 2927 "conf_parser.y" /* yacc.c:1646  */
6328      {
6329    ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6330   }
6331 < #line 6334 "conf_parser.c" /* yacc.c:1646  */
6331 > #line 6332 "conf_parser.c" /* yacc.c:1646  */
6332      break;
6333  
6334    case 604:
6335 < #line 2932 "conf_parser.y" /* yacc.c:1646  */
6335 > #line 2930 "conf_parser.y" /* yacc.c:1646  */
6336      {
6337    ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6338   }
6339 < #line 6342 "conf_parser.c" /* yacc.c:1646  */
6339 > #line 6340 "conf_parser.c" /* yacc.c:1646  */
6340      break;
6341  
6342    case 605:
6343 < #line 2935 "conf_parser.y" /* yacc.c:1646  */
6343 > #line 2933 "conf_parser.y" /* yacc.c:1646  */
6344      {
6345    ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6346   }
6347 < #line 6350 "conf_parser.c" /* yacc.c:1646  */
6347 > #line 6348 "conf_parser.c" /* yacc.c:1646  */
6348      break;
6349  
6350    case 606:
6351 < #line 2938 "conf_parser.y" /* yacc.c:1646  */
6351 > #line 2936 "conf_parser.y" /* yacc.c:1646  */
6352      {
6353    ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6354   }
6355 < #line 6358 "conf_parser.c" /* yacc.c:1646  */
6355 > #line 6356 "conf_parser.c" /* yacc.c:1646  */
6356      break;
6357  
6358    case 607:
6359 < #line 2941 "conf_parser.y" /* yacc.c:1646  */
6359 > #line 2939 "conf_parser.y" /* yacc.c:1646  */
6360      {
6361    ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6362   }
6363 < #line 6366 "conf_parser.c" /* yacc.c:1646  */
6363 > #line 6364 "conf_parser.c" /* yacc.c:1646  */
6364      break;
6365  
6366    case 608:
6367 < #line 2944 "conf_parser.y" /* yacc.c:1646  */
6367 > #line 2942 "conf_parser.y" /* yacc.c:1646  */
6368      {
6369    ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6370   }
6371 < #line 6374 "conf_parser.c" /* yacc.c:1646  */
6371 > #line 6372 "conf_parser.c" /* yacc.c:1646  */
6372      break;
6373  
6374    case 609:
6375 < #line 2947 "conf_parser.y" /* yacc.c:1646  */
6375 > #line 2945 "conf_parser.y" /* yacc.c:1646  */
6376      {
6377    ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6378   }
6379 < #line 6382 "conf_parser.c" /* yacc.c:1646  */
6379 > #line 6380 "conf_parser.c" /* yacc.c:1646  */
6380      break;
6381  
6382    case 610:
6383 < #line 2950 "conf_parser.y" /* yacc.c:1646  */
6383 > #line 2948 "conf_parser.y" /* yacc.c:1646  */
6384      {
6385    ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6386   }
6387 < #line 6390 "conf_parser.c" /* yacc.c:1646  */
6387 > #line 6388 "conf_parser.c" /* yacc.c:1646  */
6388      break;
6389  
6390    case 611:
6391 < #line 2953 "conf_parser.y" /* yacc.c:1646  */
6391 > #line 2951 "conf_parser.y" /* yacc.c:1646  */
6392      {
6393    ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6394   }
6395 < #line 6398 "conf_parser.c" /* yacc.c:1646  */
6395 > #line 6396 "conf_parser.c" /* yacc.c:1646  */
6396      break;
6397  
6398    case 612:
6399 < #line 2956 "conf_parser.y" /* yacc.c:1646  */
6399 > #line 2954 "conf_parser.y" /* yacc.c:1646  */
6400      {
6401    ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6402   }
6403 < #line 6406 "conf_parser.c" /* yacc.c:1646  */
6403 > #line 6404 "conf_parser.c" /* yacc.c:1646  */
6404      break;
6405  
6406    case 613:
6407 < #line 2959 "conf_parser.y" /* yacc.c:1646  */
6407 > #line 2957 "conf_parser.y" /* yacc.c:1646  */
6408      {
6409    ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6410   }
6411 < #line 6414 "conf_parser.c" /* yacc.c:1646  */
6411 > #line 6412 "conf_parser.c" /* yacc.c:1646  */
6412      break;
6413  
6414    case 614:
6415 < #line 2962 "conf_parser.y" /* yacc.c:1646  */
6415 > #line 2960 "conf_parser.y" /* yacc.c:1646  */
6416      {
6417    ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6418   }
6419 < #line 6422 "conf_parser.c" /* yacc.c:1646  */
6419 > #line 6420 "conf_parser.c" /* yacc.c:1646  */
6420      break;
6421  
6422    case 615:
6423 < #line 2967 "conf_parser.y" /* yacc.c:1646  */
6423 > #line 2965 "conf_parser.y" /* yacc.c:1646  */
6424      {
6425    ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6426   }
6427 < #line 6430 "conf_parser.c" /* yacc.c:1646  */
6427 > #line 6428 "conf_parser.c" /* yacc.c:1646  */
6428      break;
6429  
6430    case 616:
6431 < #line 2972 "conf_parser.y" /* yacc.c:1646  */
6431 > #line 2970 "conf_parser.y" /* yacc.c:1646  */
6432      {
6433    ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6434   }
6435 < #line 6438 "conf_parser.c" /* yacc.c:1646  */
6435 > #line 6436 "conf_parser.c" /* yacc.c:1646  */
6436      break;
6437  
6438    case 617:
6439 < #line 2977 "conf_parser.y" /* yacc.c:1646  */
6439 > #line 2975 "conf_parser.y" /* yacc.c:1646  */
6440      {
6441    ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6442   }
6443 < #line 6446 "conf_parser.c" /* yacc.c:1646  */
6443 > #line 6444 "conf_parser.c" /* yacc.c:1646  */
6444      break;
6445  
6446    case 636:
6447 < #line 3006 "conf_parser.y" /* yacc.c:1646  */
6447 > #line 3004 "conf_parser.y" /* yacc.c:1646  */
6448      {
6449    ConfigChannel.disable_fake_channels = yylval.number;
6450   }
6451 < #line 6454 "conf_parser.c" /* yacc.c:1646  */
6451 > #line 6452 "conf_parser.c" /* yacc.c:1646  */
6452      break;
6453  
6454    case 637:
6455 < #line 3011 "conf_parser.y" /* yacc.c:1646  */
6455 > #line 3009 "conf_parser.y" /* yacc.c:1646  */
6456      {
6457    ConfigChannel.invite_client_count = (yyvsp[-1].number);
6458   }
6459 < #line 6462 "conf_parser.c" /* yacc.c:1646  */
6459 > #line 6460 "conf_parser.c" /* yacc.c:1646  */
6460      break;
6461  
6462    case 638:
6463 < #line 3016 "conf_parser.y" /* yacc.c:1646  */
6463 > #line 3014 "conf_parser.y" /* yacc.c:1646  */
6464      {
6465    ConfigChannel.invite_client_time = (yyvsp[-1].number);
6466   }
6467 < #line 6470 "conf_parser.c" /* yacc.c:1646  */
6467 > #line 6468 "conf_parser.c" /* yacc.c:1646  */
6468      break;
6469  
6470    case 639:
6471 < #line 3021 "conf_parser.y" /* yacc.c:1646  */
6471 > #line 3019 "conf_parser.y" /* yacc.c:1646  */
6472      {
6473    ConfigChannel.knock_client_count = (yyvsp[-1].number);
6474   }
6475 < #line 6478 "conf_parser.c" /* yacc.c:1646  */
6475 > #line 6476 "conf_parser.c" /* yacc.c:1646  */
6476      break;
6477  
6478    case 640:
6479 < #line 3026 "conf_parser.y" /* yacc.c:1646  */
6479 > #line 3024 "conf_parser.y" /* yacc.c:1646  */
6480      {
6481    ConfigChannel.knock_client_time = (yyvsp[-1].number);
6482   }
6483 < #line 6486 "conf_parser.c" /* yacc.c:1646  */
6483 > #line 6484 "conf_parser.c" /* yacc.c:1646  */
6484      break;
6485  
6486    case 641:
6487 < #line 3031 "conf_parser.y" /* yacc.c:1646  */
6487 > #line 3029 "conf_parser.y" /* yacc.c:1646  */
6488      {
6489    ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6490   }
6491 < #line 6494 "conf_parser.c" /* yacc.c:1646  */
6491 > #line 6492 "conf_parser.c" /* yacc.c:1646  */
6492      break;
6493  
6494    case 642:
6495 < #line 3036 "conf_parser.y" /* yacc.c:1646  */
6495 > #line 3034 "conf_parser.y" /* yacc.c:1646  */
6496      {
6497    ConfigChannel.max_channels = (yyvsp[-1].number);
6498   }
6499 < #line 6502 "conf_parser.c" /* yacc.c:1646  */
6499 > #line 6500 "conf_parser.c" /* yacc.c:1646  */
6500      break;
6501  
6502    case 643:
6503 < #line 3041 "conf_parser.y" /* yacc.c:1646  */
6503 > #line 3039 "conf_parser.y" /* yacc.c:1646  */
6504      {
6505    ConfigChannel.max_bans = (yyvsp[-1].number);
6506   }
6507 < #line 6510 "conf_parser.c" /* yacc.c:1646  */
6507 > #line 6508 "conf_parser.c" /* yacc.c:1646  */
6508      break;
6509  
6510    case 644:
6511 < #line 3046 "conf_parser.y" /* yacc.c:1646  */
6511 > #line 3044 "conf_parser.y" /* yacc.c:1646  */
6512      {
6513    ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6514   }
6515 < #line 6518 "conf_parser.c" /* yacc.c:1646  */
6515 > #line 6516 "conf_parser.c" /* yacc.c:1646  */
6516      break;
6517  
6518    case 645:
6519 < #line 3051 "conf_parser.y" /* yacc.c:1646  */
6519 > #line 3049 "conf_parser.y" /* yacc.c:1646  */
6520      {
6521    ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6522   }
6523 < #line 6526 "conf_parser.c" /* yacc.c:1646  */
6523 > #line 6524 "conf_parser.c" /* yacc.c:1646  */
6524      break;
6525  
6526    case 646:
6527 < #line 3056 "conf_parser.y" /* yacc.c:1646  */
6527 > #line 3054 "conf_parser.y" /* yacc.c:1646  */
6528      {
6529    ConfigChannel.no_create_on_split = yylval.number;
6530   }
6531 < #line 6534 "conf_parser.c" /* yacc.c:1646  */
6531 > #line 6532 "conf_parser.c" /* yacc.c:1646  */
6532      break;
6533  
6534    case 647:
6535 < #line 3061 "conf_parser.y" /* yacc.c:1646  */
6535 > #line 3059 "conf_parser.y" /* yacc.c:1646  */
6536      {
6537    ConfigChannel.no_join_on_split = yylval.number;
6538   }
6539 < #line 6542 "conf_parser.c" /* yacc.c:1646  */
6539 > #line 6540 "conf_parser.c" /* yacc.c:1646  */
6540      break;
6541  
6542    case 648:
6543 < #line 3066 "conf_parser.y" /* yacc.c:1646  */
6543 > #line 3064 "conf_parser.y" /* yacc.c:1646  */
6544      {
6545    GlobalSetOptions.joinfloodcount = yylval.number;
6546   }
6547 < #line 6550 "conf_parser.c" /* yacc.c:1646  */
6547 > #line 6548 "conf_parser.c" /* yacc.c:1646  */
6548      break;
6549  
6550    case 649:
6551 < #line 3071 "conf_parser.y" /* yacc.c:1646  */
6551 > #line 3069 "conf_parser.y" /* yacc.c:1646  */
6552      {
6553    GlobalSetOptions.joinfloodtime = (yyvsp[-1].number);
6554   }
6555 < #line 6558 "conf_parser.c" /* yacc.c:1646  */
6555 > #line 6556 "conf_parser.c" /* yacc.c:1646  */
6556      break;
6557  
6558    case 662:
6559 < #line 3093 "conf_parser.y" /* yacc.c:1646  */
6559 > #line 3091 "conf_parser.y" /* yacc.c:1646  */
6560      {
6561    if (conf_parser_ctx.pass == 2)
6562      ConfigServerHide.flatten_links = yylval.number;
6563   }
6564 < #line 6567 "conf_parser.c" /* yacc.c:1646  */
6564 > #line 6565 "conf_parser.c" /* yacc.c:1646  */
6565      break;
6566  
6567    case 663:
6568 < #line 3099 "conf_parser.y" /* yacc.c:1646  */
6568 > #line 3097 "conf_parser.y" /* yacc.c:1646  */
6569      {
6570    if (conf_parser_ctx.pass == 2)
6571      ConfigServerHide.disable_remote_commands = yylval.number;
6572   }
6573 < #line 6576 "conf_parser.c" /* yacc.c:1646  */
6573 > #line 6574 "conf_parser.c" /* yacc.c:1646  */
6574      break;
6575  
6576    case 664:
6577 < #line 3105 "conf_parser.y" /* yacc.c:1646  */
6577 > #line 3103 "conf_parser.y" /* yacc.c:1646  */
6578      {
6579    if (conf_parser_ctx.pass == 2)
6580      ConfigServerHide.hide_servers = yylval.number;
6581   }
6582 < #line 6585 "conf_parser.c" /* yacc.c:1646  */
6582 > #line 6583 "conf_parser.c" /* yacc.c:1646  */
6583      break;
6584  
6585    case 665:
6586 < #line 3111 "conf_parser.y" /* yacc.c:1646  */
6586 > #line 3109 "conf_parser.y" /* yacc.c:1646  */
6587      {
6588    if (conf_parser_ctx.pass == 2)
6589      ConfigServerHide.hide_services = yylval.number;
6590   }
6591 < #line 6594 "conf_parser.c" /* yacc.c:1646  */
6591 > #line 6592 "conf_parser.c" /* yacc.c:1646  */
6592      break;
6593  
6594    case 666:
6595 < #line 3117 "conf_parser.y" /* yacc.c:1646  */
6595 > #line 3115 "conf_parser.y" /* yacc.c:1646  */
6596      {
6597    if (conf_parser_ctx.pass == 2)
6598    {
# Line 6602 | Line 6600 | yyreduce:
6600      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6601    }
6602   }
6603 < #line 6606 "conf_parser.c" /* yacc.c:1646  */
6603 > #line 6604 "conf_parser.c" /* yacc.c:1646  */
6604      break;
6605  
6606    case 667:
6607 < #line 3126 "conf_parser.y" /* yacc.c:1646  */
6607 > #line 3124 "conf_parser.y" /* yacc.c:1646  */
6608      {
6609    if (conf_parser_ctx.pass == 2)
6610    {
# Line 6620 | Line 6618 | yyreduce:
6618      ConfigServerHide.links_delay = (yyvsp[-1].number);
6619    }
6620   }
6621 < #line 6624 "conf_parser.c" /* yacc.c:1646  */
6621 > #line 6622 "conf_parser.c" /* yacc.c:1646  */
6622      break;
6623  
6624    case 668:
6625 < #line 3141 "conf_parser.y" /* yacc.c:1646  */
6625 > #line 3139 "conf_parser.y" /* yacc.c:1646  */
6626      {
6627    if (conf_parser_ctx.pass == 2)
6628      ConfigServerHide.hidden = yylval.number;
6629   }
6630 < #line 6633 "conf_parser.c" /* yacc.c:1646  */
6630 > #line 6631 "conf_parser.c" /* yacc.c:1646  */
6631      break;
6632  
6633    case 669:
6634 < #line 3147 "conf_parser.y" /* yacc.c:1646  */
6634 > #line 3145 "conf_parser.y" /* yacc.c:1646  */
6635      {
6636    if (conf_parser_ctx.pass == 2)
6637      ConfigServerHide.hide_server_ips = yylval.number;
6638   }
6639 < #line 6642 "conf_parser.c" /* yacc.c:1646  */
6639 > #line 6640 "conf_parser.c" /* yacc.c:1646  */
6640      break;
6641  
6642  
6643 < #line 6646 "conf_parser.c" /* yacc.c:1646  */
6643 > #line 6644 "conf_parser.c" /* yacc.c:1646  */
6644        default: break;
6645      }
6646    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines