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 3228 by michael, Sat Jan 18 16:34:27 2014 UTC vs.
Revision 3229 by michael, Sat Mar 29 17:28:01 2014 UTC

# Line 62 | Line 62
62  
63  
64   /* Copy the first part of user declarations.  */
65 < #line 25 "conf_parser.y" /* yacc.c:339  */
65 > #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
68   #define YY_NO_UNPUT
# Line 669 | Line 669 | extern int yydebug;
669   typedef union YYSTYPE YYSTYPE;
670   union YYSTYPE
671   {
672 < #line 140 "conf_parser.y" /* yacc.c:355  */
672 > #line 143 "conf_parser.y" /* yacc.c:355  */
673  
674    int number;
675    char *string;
# Line 1009 | Line 1009 | static const yytype_uint8 yytranslate[]
1009    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1010   static const yytype_uint16 yyrline[] =
1011   {
1012 <       0,   370,   370,   371,   374,   375,   376,   377,   378,   379,
1013 <     380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
1014 <     390,   391,   392,   393,   394,   395,   396,   400,   400,   401,
1015 <     405,   409,   413,   417,   421,   425,   429,   435,   435,   436,
1016 <     437,   438,   439,   446,   449,   449,   450,   450,   450,   452,
1017 <     458,   465,   467,   467,   468,   468,   469,   469,   470,   470,
1018 <     471,   471,   472,   472,   473,   473,   474,   474,   475,   475,
1019 <     476,   477,   480,   481,   483,   483,   484,   490,   498,   498,
1020 <     499,   505,   513,   555,   613,   641,   649,   664,   679,   688,
1021 <     702,   711,   739,   769,   794,   816,   838,   847,   849,   849,
1022 <     850,   850,   851,   851,   853,   862,   871,   884,   883,   901,
1023 <     901,   902,   902,   902,   904,   910,   919,   920,   920,   922,
1024 <     922,   923,   925,   932,   932,   945,   946,   948,   948,   949,
1025 <     949,   951,   959,   962,   968,   967,   973,   973,   974,   978,
1026 <     982,   986,   990,   994,   998,  1002,  1006,  1017,  1016,  1096,
1027 <    1096,  1097,  1097,  1097,  1098,  1098,  1098,  1099,  1099,  1100,
1028 <    1101,  1101,  1103,  1109,  1115,  1121,  1132,  1138,  1144,  1155,
1029 <    1162,  1161,  1167,  1167,  1168,  1172,  1176,  1180,  1184,  1188,
1030 <    1192,  1196,  1200,  1204,  1208,  1212,  1216,  1220,  1224,  1228,
1031 <    1232,  1236,  1240,  1244,  1248,  1255,  1254,  1260,  1260,  1261,
1032 <    1265,  1269,  1273,  1277,  1281,  1285,  1289,  1293,  1297,  1301,
1033 <    1305,  1309,  1313,  1317,  1321,  1325,  1329,  1333,  1337,  1341,
1034 <    1345,  1349,  1353,  1364,  1363,  1424,  1424,  1425,  1426,  1426,
1035 <    1427,  1428,  1429,  1430,  1431,  1432,  1433,  1434,  1435,  1435,
1036 <    1436,  1437,  1438,  1439,  1441,  1447,  1453,  1459,  1465,  1471,
1037 <    1477,  1483,  1489,  1495,  1502,  1508,  1514,  1520,  1529,  1539,
1038 <    1538,  1544,  1544,  1545,  1549,  1560,  1559,  1566,  1565,  1570,
1039 <    1570,  1571,  1575,  1579,  1585,  1585,  1586,  1586,  1586,  1586,
1040 <    1586,  1588,  1588,  1590,  1590,  1592,  1606,  1626,  1632,  1642,
1041 <    1641,  1683,  1683,  1684,  1684,  1684,  1684,  1685,  1685,  1685,
1042 <    1686,  1686,  1688,  1694,  1700,  1706,  1718,  1717,  1723,  1723,
1043 <    1724,  1728,  1732,  1736,  1740,  1744,  1748,  1752,  1756,  1760,
1044 <    1766,  1780,  1789,  1803,  1802,  1817,  1817,  1818,  1818,  1818,
1045 <    1818,  1820,  1826,  1832,  1842,  1844,  1844,  1845,  1845,  1847,
1046 <    1863,  1862,  1887,  1887,  1888,  1888,  1888,  1888,  1890,  1896,
1047 <    1916,  1915,  1921,  1921,  1922,  1926,  1930,  1934,  1938,  1942,
1048 <    1946,  1950,  1954,  1958,  1968,  1967,  1988,  1988,  1989,  1989,
1049 <    1989,  1991,  1998,  1997,  2003,  2003,  2004,  2008,  2012,  2016,
1050 <    2020,  2024,  2028,  2032,  2036,  2040,  2050,  2049,  2121,  2121,
1051 <    2122,  2122,  2122,  2123,  2123,  2124,  2125,  2125,  2125,  2126,
1052 <    2126,  2126,  2127,  2127,  2128,  2130,  2136,  2142,  2148,  2161,
1053 <    2174,  2180,  2186,  2190,  2199,  2198,  2203,  2203,  2204,  2208,
1054 <    2214,  2225,  2231,  2237,  2243,  2259,  2258,  2284,  2284,  2285,
1055 <    2285,  2285,  2287,  2307,  2317,  2316,  2343,  2343,  2344,  2344,
1056 <    2344,  2346,  2352,  2361,  2363,  2363,  2364,  2364,  2366,  2384,
1057 <    2383,  2406,  2406,  2407,  2407,  2407,  2409,  2415,  2424,  2427,
1058 <    2427,  2428,  2428,  2429,  2429,  2430,  2430,  2431,  2431,  2432,
1059 <    2432,  2433,  2434,  2435,  2435,  2436,  2436,  2437,  2437,  2438,
1060 <    2438,  2439,  2440,  2440,  2441,  2441,  2442,  2442,  2443,  2443,
1061 <    2444,  2444,  2445,  2445,  2446,  2446,  2447,  2447,  2448,  2449,
1062 <    2450,  2450,  2451,  2451,  2452,  2453,  2454,  2455,  2455,  2456,
1063 <    2457,  2460,  2465,  2471,  2477,  2483,  2489,  2494,  2499,  2504,
1064 <    2509,  2514,  2519,  2524,  2529,  2534,  2539,  2544,  2549,  2554,
1065 <    2560,  2571,  2576,  2581,  2586,  2591,  2596,  2601,  2604,  2609,
1066 <    2612,  2617,  2622,  2627,  2632,  2637,  2642,  2647,  2652,  2657,
1067 <    2662,  2667,  2672,  2681,  2690,  2695,  2700,  2706,  2705,  2710,
1068 <    2710,  2711,  2714,  2717,  2720,  2723,  2726,  2729,  2732,  2735,
1069 <    2738,  2741,  2744,  2747,  2750,  2753,  2756,  2759,  2762,  2765,
1070 <    2768,  2771,  2777,  2776,  2781,  2781,  2782,  2785,  2788,  2791,
1071 <    2794,  2797,  2800,  2803,  2806,  2809,  2812,  2815,  2818,  2821,
1072 <    2824,  2827,  2830,  2833,  2836,  2839,  2842,  2847,  2852,  2857,
1073 <    2866,  2869,  2869,  2870,  2871,  2871,  2872,  2872,  2873,  2874,
1074 <    2875,  2876,  2877,  2877,  2878,  2878,  2880,  2885,  2890,  2895,
1075 <    2900,  2905,  2910,  2915,  2920,  2925,  2930,  2935,  2943,  2946,
1076 <    2946,  2947,  2947,  2948,  2949,  2950,  2951,  2951,  2952,  2953,
1077 <    2955,  2961,  2967,  2973,  2979,  2988,  3002,  3008
1012 >       0,   373,   373,   374,   377,   378,   379,   380,   381,   382,
1013 >     383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
1014 >     393,   394,   395,   396,   397,   398,   399,   403,   403,   404,
1015 >     408,   412,   416,   420,   424,   428,   432,   438,   438,   439,
1016 >     440,   441,   442,   449,   452,   452,   453,   453,   453,   455,
1017 >     461,   468,   470,   470,   471,   471,   472,   472,   473,   473,
1018 >     474,   474,   475,   475,   476,   476,   477,   477,   478,   478,
1019 >     479,   480,   483,   484,   486,   486,   487,   493,   501,   501,
1020 >     502,   508,   516,   558,   616,   644,   652,   667,   682,   691,
1021 >     705,   714,   742,   772,   797,   819,   841,   850,   852,   852,
1022 >     853,   853,   854,   854,   856,   865,   874,   887,   886,   904,
1023 >     904,   905,   905,   905,   907,   913,   922,   923,   923,   925,
1024 >     925,   926,   928,   935,   935,   948,   949,   951,   951,   952,
1025 >     952,   954,   962,   965,   971,   970,   976,   976,   977,   981,
1026 >     985,   989,   993,   997,  1001,  1005,  1009,  1020,  1019,  1099,
1027 >    1099,  1100,  1100,  1100,  1101,  1101,  1101,  1102,  1102,  1103,
1028 >    1104,  1104,  1106,  1112,  1118,  1124,  1135,  1141,  1147,  1158,
1029 >    1165,  1164,  1170,  1170,  1171,  1175,  1179,  1183,  1187,  1191,
1030 >    1195,  1199,  1203,  1207,  1211,  1215,  1219,  1223,  1227,  1231,
1031 >    1235,  1239,  1243,  1247,  1251,  1258,  1257,  1263,  1263,  1264,
1032 >    1268,  1272,  1276,  1280,  1284,  1288,  1292,  1296,  1300,  1304,
1033 >    1308,  1312,  1316,  1320,  1324,  1328,  1332,  1336,  1340,  1344,
1034 >    1348,  1352,  1356,  1367,  1366,  1427,  1427,  1428,  1429,  1429,
1035 >    1430,  1431,  1432,  1433,  1434,  1435,  1436,  1437,  1438,  1438,
1036 >    1439,  1440,  1441,  1442,  1444,  1450,  1456,  1462,  1468,  1474,
1037 >    1480,  1486,  1492,  1498,  1505,  1511,  1517,  1523,  1532,  1542,
1038 >    1541,  1547,  1547,  1548,  1552,  1563,  1562,  1569,  1568,  1573,
1039 >    1573,  1574,  1578,  1582,  1588,  1588,  1589,  1589,  1589,  1589,
1040 >    1589,  1591,  1591,  1593,  1593,  1595,  1609,  1629,  1635,  1645,
1041 >    1644,  1686,  1686,  1687,  1687,  1687,  1687,  1688,  1688,  1688,
1042 >    1689,  1689,  1691,  1697,  1703,  1709,  1721,  1720,  1726,  1726,
1043 >    1727,  1731,  1735,  1739,  1743,  1747,  1751,  1755,  1759,  1763,
1044 >    1769,  1783,  1792,  1806,  1805,  1820,  1820,  1821,  1821,  1821,
1045 >    1821,  1823,  1829,  1835,  1845,  1847,  1847,  1848,  1848,  1850,
1046 >    1866,  1865,  1890,  1890,  1891,  1891,  1891,  1891,  1893,  1899,
1047 >    1919,  1918,  1924,  1924,  1925,  1929,  1933,  1937,  1941,  1945,
1048 >    1949,  1953,  1957,  1961,  1971,  1970,  1991,  1991,  1992,  1992,
1049 >    1992,  1994,  2001,  2000,  2006,  2006,  2007,  2011,  2015,  2019,
1050 >    2023,  2027,  2031,  2035,  2039,  2043,  2053,  2052,  2124,  2124,
1051 >    2125,  2125,  2125,  2126,  2126,  2127,  2128,  2128,  2128,  2129,
1052 >    2129,  2129,  2130,  2130,  2131,  2133,  2139,  2145,  2151,  2164,
1053 >    2177,  2183,  2189,  2193,  2202,  2201,  2206,  2206,  2207,  2211,
1054 >    2217,  2228,  2234,  2240,  2246,  2262,  2261,  2287,  2287,  2288,
1055 >    2288,  2288,  2290,  2310,  2320,  2319,  2346,  2346,  2347,  2347,
1056 >    2347,  2349,  2355,  2364,  2366,  2366,  2367,  2367,  2369,  2387,
1057 >    2386,  2409,  2409,  2410,  2410,  2410,  2412,  2418,  2427,  2430,
1058 >    2430,  2431,  2431,  2432,  2432,  2433,  2433,  2434,  2434,  2435,
1059 >    2435,  2436,  2437,  2438,  2438,  2439,  2439,  2440,  2440,  2441,
1060 >    2441,  2442,  2443,  2443,  2444,  2444,  2445,  2445,  2446,  2446,
1061 >    2447,  2447,  2448,  2448,  2449,  2449,  2450,  2450,  2451,  2452,
1062 >    2453,  2453,  2454,  2454,  2455,  2456,  2457,  2458,  2458,  2459,
1063 >    2460,  2463,  2468,  2474,  2480,  2486,  2492,  2497,  2502,  2507,
1064 >    2512,  2517,  2522,  2527,  2532,  2537,  2542,  2547,  2552,  2557,
1065 >    2563,  2574,  2579,  2584,  2589,  2594,  2599,  2604,  2607,  2612,
1066 >    2615,  2620,  2625,  2630,  2635,  2640,  2645,  2650,  2655,  2660,
1067 >    2665,  2670,  2675,  2684,  2693,  2698,  2703,  2709,  2708,  2713,
1068 >    2713,  2714,  2717,  2720,  2723,  2726,  2729,  2732,  2735,  2738,
1069 >    2741,  2744,  2747,  2750,  2753,  2756,  2759,  2762,  2765,  2768,
1070 >    2771,  2774,  2780,  2779,  2784,  2784,  2785,  2788,  2791,  2794,
1071 >    2797,  2800,  2803,  2806,  2809,  2812,  2815,  2818,  2821,  2824,
1072 >    2827,  2830,  2833,  2836,  2839,  2842,  2845,  2850,  2855,  2860,
1073 >    2869,  2872,  2872,  2873,  2874,  2874,  2875,  2875,  2876,  2877,
1074 >    2878,  2879,  2880,  2880,  2881,  2881,  2883,  2888,  2893,  2898,
1075 >    2903,  2908,  2913,  2918,  2923,  2928,  2933,  2938,  2946,  2949,
1076 >    2949,  2950,  2950,  2951,  2952,  2953,  2954,  2954,  2955,  2956,
1077 >    2958,  2964,  2970,  2976,  2982,  2991,  3005,  3011
1078   };
1079   #endif
1080  
# Line 2821 | Line 2821 | yyreduce:
2821    switch (yyn)
2822      {
2823          case 27:
2824 < #line 400 "conf_parser.y" /* yacc.c:1646  */
2824 > #line 403 "conf_parser.y" /* yacc.c:1646  */
2825      { (yyval.number) = 0; }
2826   #line 2827 "conf_parser.c" /* yacc.c:1646  */
2827      break;
2828  
2829    case 29:
2830 < #line 402 "conf_parser.y" /* yacc.c:1646  */
2830 > #line 405 "conf_parser.y" /* yacc.c:1646  */
2831      {
2832                          (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number);
2833                  }
# Line 2835 | Line 2835 | yyreduce:
2835      break;
2836  
2837    case 30:
2838 < #line 406 "conf_parser.y" /* yacc.c:1646  */
2838 > #line 409 "conf_parser.y" /* yacc.c:1646  */
2839      {
2840                          (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number);
2841                  }
# Line 2843 | Line 2843 | yyreduce:
2843      break;
2844  
2845    case 31:
2846 < #line 410 "conf_parser.y" /* yacc.c:1646  */
2846 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2847      {
2848                          (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number);
2849                  }
# Line 2851 | Line 2851 | yyreduce:
2851      break;
2852  
2853    case 32:
2854 < #line 414 "conf_parser.y" /* yacc.c:1646  */
2854 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2855      {
2856                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number);
2857                  }
# Line 2859 | Line 2859 | yyreduce:
2859      break;
2860  
2861    case 33:
2862 < #line 418 "conf_parser.y" /* yacc.c:1646  */
2862 > #line 421 "conf_parser.y" /* yacc.c:1646  */
2863      {
2864                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number);
2865                  }
# Line 2867 | Line 2867 | yyreduce:
2867      break;
2868  
2869    case 34:
2870 < #line 422 "conf_parser.y" /* yacc.c:1646  */
2870 > #line 425 "conf_parser.y" /* yacc.c:1646  */
2871      {
2872                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number);
2873                  }
# Line 2875 | Line 2875 | yyreduce:
2875      break;
2876  
2877    case 35:
2878 < #line 426 "conf_parser.y" /* yacc.c:1646  */
2878 > #line 429 "conf_parser.y" /* yacc.c:1646  */
2879      {
2880                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number);
2881                  }
# Line 2883 | Line 2883 | yyreduce:
2883      break;
2884  
2885    case 36:
2886 < #line 430 "conf_parser.y" /* yacc.c:1646  */
2886 > #line 433 "conf_parser.y" /* yacc.c:1646  */
2887      {
2888                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number);
2889                  }
# Line 2891 | Line 2891 | yyreduce:
2891      break;
2892  
2893    case 37:
2894 < #line 435 "conf_parser.y" /* yacc.c:1646  */
2894 > #line 438 "conf_parser.y" /* yacc.c:1646  */
2895      { (yyval.number) = 0; }
2896   #line 2897 "conf_parser.c" /* yacc.c:1646  */
2897      break;
2898  
2899    case 39:
2900 < #line 436 "conf_parser.y" /* yacc.c:1646  */
2900 > #line 439 "conf_parser.y" /* yacc.c:1646  */
2901      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2902   #line 2903 "conf_parser.c" /* yacc.c:1646  */
2903      break;
2904  
2905    case 40:
2906 < #line 437 "conf_parser.y" /* yacc.c:1646  */
2906 > #line 440 "conf_parser.y" /* yacc.c:1646  */
2907      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2908   #line 2909 "conf_parser.c" /* yacc.c:1646  */
2909      break;
2910  
2911    case 41:
2912 < #line 438 "conf_parser.y" /* yacc.c:1646  */
2912 > #line 441 "conf_parser.y" /* yacc.c:1646  */
2913      { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2914   #line 2915 "conf_parser.c" /* yacc.c:1646  */
2915      break;
2916  
2917    case 42:
2918 < #line 439 "conf_parser.y" /* yacc.c:1646  */
2918 > #line 442 "conf_parser.y" /* yacc.c:1646  */
2919      { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2920   #line 2921 "conf_parser.c" /* yacc.c:1646  */
2921      break;
2922  
2923    case 49:
2924 < #line 453 "conf_parser.y" /* yacc.c:1646  */
2924 > #line 456 "conf_parser.y" /* yacc.c:1646  */
2925      {
2926    if (conf_parser_ctx.pass == 2)
2927      add_conf_module(libio_basename(yylval.string));
# Line 2930 | Line 2930 | yyreduce:
2930      break;
2931  
2932    case 50:
2933 < #line 459 "conf_parser.y" /* yacc.c:1646  */
2933 > #line 462 "conf_parser.y" /* yacc.c:1646  */
2934      {
2935    if (conf_parser_ctx.pass == 2)
2936      mod_add_path(yylval.string);
# Line 2939 | Line 2939 | yyreduce:
2939      break;
2940  
2941    case 76:
2942 < #line 485 "conf_parser.y" /* yacc.c:1646  */
2942 > #line 488 "conf_parser.y" /* yacc.c:1646  */
2943      {
2944   #ifdef HAVE_LIBCRYPTO
2945    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 2950 | Line 2950 | yyreduce:
2950      break;
2951  
2952    case 77:
2953 < #line 491 "conf_parser.y" /* yacc.c:1646  */
2953 > #line 494 "conf_parser.y" /* yacc.c:1646  */
2954      {
2955   #ifdef HAVE_LIBCRYPTO
2956    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 2961 | Line 2961 | yyreduce:
2961      break;
2962  
2963    case 80:
2964 < #line 500 "conf_parser.y" /* yacc.c:1646  */
2964 > #line 503 "conf_parser.y" /* yacc.c:1646  */
2965      {
2966   #ifdef HAVE_LIBCRYPTO
2967    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 2972 | Line 2972 | yyreduce:
2972      break;
2973  
2974    case 81:
2975 < #line 506 "conf_parser.y" /* yacc.c:1646  */
2975 > #line 509 "conf_parser.y" /* yacc.c:1646  */
2976      {
2977   #ifdef HAVE_LIBCRYPTO
2978    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 2983 | Line 2983 | yyreduce:
2983      break;
2984  
2985    case 82:
2986 < #line 514 "conf_parser.y" /* yacc.c:1646  */
2986 > #line 517 "conf_parser.y" /* yacc.c:1646  */
2987      {
2988   #ifdef HAVE_LIBCRYPTO
2989 <  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2989 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
2990    {
2991      if (!ServerInfo.rsa_private_key_file)
2992      {
# Line 3028 | Line 3028 | yyreduce:
3028      break;
3029  
3030    case 83:
3031 < #line 556 "conf_parser.y" /* yacc.c:1646  */
3031 > #line 559 "conf_parser.y" /* yacc.c:1646  */
3032      {
3033   #ifdef HAVE_LIBCRYPTO
3034    BIO *file = NULL;
# Line 3089 | Line 3089 | yyreduce:
3089      break;
3090  
3091    case 84:
3092 < #line 614 "conf_parser.y" /* yacc.c:1646  */
3092 > #line 617 "conf_parser.y" /* yacc.c:1646  */
3093      {
3094   /* TBD - XXX: error reporting */
3095   #ifdef HAVE_LIBCRYPTO
# Line 3120 | Line 3120 | yyreduce:
3120      break;
3121  
3122    case 85:
3123 < #line 642 "conf_parser.y" /* yacc.c:1646  */
3123 > #line 645 "conf_parser.y" /* yacc.c:1646  */
3124      {
3125   #ifdef HAVE_LIBCRYPTO
3126    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3131 | Line 3131 | yyreduce:
3131      break;
3132  
3133    case 86:
3134 < #line 650 "conf_parser.y" /* yacc.c:1646  */
3134 > #line 653 "conf_parser.y" /* yacc.c:1646  */
3135      {
3136    /* this isn't rehashable */
3137    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3149 | Line 3149 | yyreduce:
3149      break;
3150  
3151    case 87:
3152 < #line 665 "conf_parser.y" /* yacc.c:1646  */
3152 > #line 668 "conf_parser.y" /* yacc.c:1646  */
3153      {
3154    /* this isn't rehashable */
3155    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3167 | Line 3167 | yyreduce:
3167      break;
3168  
3169    case 88:
3170 < #line 680 "conf_parser.y" /* yacc.c:1646  */
3170 > #line 683 "conf_parser.y" /* yacc.c:1646  */
3171      {
3172    if (conf_parser_ctx.pass == 2)
3173    {
# Line 3179 | Line 3179 | yyreduce:
3179      break;
3180  
3181    case 89:
3182 < #line 689 "conf_parser.y" /* yacc.c:1646  */
3182 > #line 692 "conf_parser.y" /* yacc.c:1646  */
3183      {
3184    if (conf_parser_ctx.pass == 2)
3185    {
# Line 3196 | Line 3196 | yyreduce:
3196      break;
3197  
3198    case 90:
3199 < #line 703 "conf_parser.y" /* yacc.c:1646  */
3199 > #line 706 "conf_parser.y" /* yacc.c:1646  */
3200      {
3201    if (conf_parser_ctx.pass != 2)
3202      break;
# Line 3208 | Line 3208 | yyreduce:
3208      break;
3209  
3210    case 91:
3211 < #line 712 "conf_parser.y" /* yacc.c:1646  */
3211 > #line 715 "conf_parser.y" /* yacc.c:1646  */
3212      {
3213    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3214    {
# Line 3239 | Line 3239 | yyreduce:
3239      break;
3240  
3241    case 92:
3242 < #line 740 "conf_parser.y" /* yacc.c:1646  */
3242 > #line 743 "conf_parser.y" /* yacc.c:1646  */
3243      {
3244   #ifdef IPV6
3245    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3272 | Line 3272 | yyreduce:
3272      break;
3273  
3274    case 93:
3275 < #line 770 "conf_parser.y" /* yacc.c:1646  */
3275 > #line 773 "conf_parser.y" /* yacc.c:1646  */
3276      {
3277    if (conf_parser_ctx.pass != 2)
3278      break;
# Line 3300 | Line 3300 | yyreduce:
3300      break;
3301  
3302    case 94:
3303 < #line 795 "conf_parser.y" /* yacc.c:1646  */
3303 > #line 798 "conf_parser.y" /* yacc.c:1646  */
3304      {
3305    if (conf_parser_ctx.pass != 2)
3306      break;
# Line 3325 | Line 3325 | yyreduce:
3325      break;
3326  
3327    case 95:
3328 < #line 817 "conf_parser.y" /* yacc.c:1646  */
3328 > #line 820 "conf_parser.y" /* yacc.c:1646  */
3329      {
3330    if (conf_parser_ctx.pass != 2)
3331      break;
# Line 3350 | Line 3350 | yyreduce:
3350      break;
3351  
3352    case 96:
3353 < #line 839 "conf_parser.y" /* yacc.c:1646  */
3353 > #line 842 "conf_parser.y" /* yacc.c:1646  */
3354      {
3355    if (conf_parser_ctx.pass == 2)
3356      ServerInfo.hub = yylval.number;
# Line 3359 | Line 3359 | yyreduce:
3359      break;
3360  
3361    case 104:
3362 < #line 854 "conf_parser.y" /* yacc.c:1646  */
3362 > #line 857 "conf_parser.y" /* yacc.c:1646  */
3363      {
3364    if (conf_parser_ctx.pass != 2)
3365      break;
# Line 3371 | Line 3371 | yyreduce:
3371      break;
3372  
3373    case 105:
3374 < #line 863 "conf_parser.y" /* yacc.c:1646  */
3374 > #line 866 "conf_parser.y" /* yacc.c:1646  */
3375      {
3376    if (conf_parser_ctx.pass != 2)
3377      break;
# Line 3383 | Line 3383 | yyreduce:
3383      break;
3384  
3385    case 106:
3386 < #line 872 "conf_parser.y" /* yacc.c:1646  */
3386 > #line 875 "conf_parser.y" /* yacc.c:1646  */
3387      {
3388    if (conf_parser_ctx.pass != 2)
3389      break;
# Line 3395 | Line 3395 | yyreduce:
3395      break;
3396  
3397    case 107:
3398 < #line 884 "conf_parser.y" /* yacc.c:1646  */
3398 > #line 887 "conf_parser.y" /* yacc.c:1646  */
3399      {
3400    if (conf_parser_ctx.pass == 2)
3401      reset_block_state();
# Line 3404 | Line 3404 | yyreduce:
3404      break;
3405  
3406    case 108:
3407 < #line 888 "conf_parser.y" /* yacc.c:1646  */
3407 > #line 891 "conf_parser.y" /* yacc.c:1646  */
3408      {
3409    dlink_node *ptr = NULL;
3410  
# Line 3421 | Line 3421 | yyreduce:
3421      break;
3422  
3423    case 114:
3424 < #line 905 "conf_parser.y" /* yacc.c:1646  */
3424 > #line 908 "conf_parser.y" /* yacc.c:1646  */
3425      {
3426    if (conf_parser_ctx.pass == 2)
3427      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
# Line 3430 | Line 3430 | yyreduce:
3430      break;
3431  
3432    case 115:
3433 < #line 911 "conf_parser.y" /* yacc.c:1646  */
3433 > #line 914 "conf_parser.y" /* yacc.c:1646  */
3434      {
3435    if (conf_parser_ctx.pass == 2)
3436      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
# Line 3439 | Line 3439 | yyreduce:
3439      break;
3440  
3441    case 122:
3442 < #line 926 "conf_parser.y" /* yacc.c:1646  */
3442 > #line 929 "conf_parser.y" /* yacc.c:1646  */
3443      {
3444    if (conf_parser_ctx.pass == 2)
3445      ConfigLoggingEntry.use_logging = yylval.number;
# Line 3448 | Line 3448 | yyreduce:
3448      break;
3449  
3450    case 123:
3451 < #line 932 "conf_parser.y" /* yacc.c:1646  */
3451 > #line 935 "conf_parser.y" /* yacc.c:1646  */
3452      {
3453    if (conf_parser_ctx.pass == 2)
3454      reset_block_state();
# Line 3457 | Line 3457 | yyreduce:
3457      break;
3458  
3459    case 124:
3460 < #line 936 "conf_parser.y" /* yacc.c:1646  */
3460 > #line 939 "conf_parser.y" /* yacc.c:1646  */
3461      {
3462    if (conf_parser_ctx.pass != 2)
3463      break;
# Line 3470 | Line 3470 | yyreduce:
3470      break;
3471  
3472    case 131:
3473 < #line 952 "conf_parser.y" /* yacc.c:1646  */
3473 > #line 955 "conf_parser.y" /* yacc.c:1646  */
3474      {
3475    if (conf_parser_ctx.pass != 2)
3476      break;
# Line 3481 | Line 3481 | yyreduce:
3481      break;
3482  
3483    case 132:
3484 < #line 960 "conf_parser.y" /* yacc.c:1646  */
3484 > #line 963 "conf_parser.y" /* yacc.c:1646  */
3485      {
3486    block_state.size.value = (yyvsp[-1].number);
3487   }
# Line 3489 | Line 3489 | yyreduce:
3489      break;
3490  
3491    case 133:
3492 < #line 963 "conf_parser.y" /* yacc.c:1646  */
3492 > #line 966 "conf_parser.y" /* yacc.c:1646  */
3493      {
3494    block_state.size.value = 0;
3495   }
# Line 3497 | Line 3497 | yyreduce:
3497      break;
3498  
3499    case 134:
3500 < #line 968 "conf_parser.y" /* yacc.c:1646  */
3500 > #line 971 "conf_parser.y" /* yacc.c:1646  */
3501      {
3502    if (conf_parser_ctx.pass == 2)
3503      block_state.type.value = 0;
# Line 3506 | Line 3506 | yyreduce:
3506      break;
3507  
3508    case 138:
3509 < #line 975 "conf_parser.y" /* yacc.c:1646  */
3509 > #line 978 "conf_parser.y" /* yacc.c:1646  */
3510      {
3511    if (conf_parser_ctx.pass == 2)
3512      block_state.type.value = LOG_TYPE_USER;
# Line 3515 | Line 3515 | yyreduce:
3515      break;
3516  
3517    case 139:
3518 < #line 979 "conf_parser.y" /* yacc.c:1646  */
3518 > #line 982 "conf_parser.y" /* yacc.c:1646  */
3519      {
3520    if (conf_parser_ctx.pass == 2)
3521      block_state.type.value = LOG_TYPE_OPER;
# Line 3524 | Line 3524 | yyreduce:
3524      break;
3525  
3526    case 140:
3527 < #line 983 "conf_parser.y" /* yacc.c:1646  */
3527 > #line 986 "conf_parser.y" /* yacc.c:1646  */
3528      {
3529    if (conf_parser_ctx.pass == 2)
3530      block_state.type.value = LOG_TYPE_GLINE;
# Line 3533 | Line 3533 | yyreduce:
3533      break;
3534  
3535    case 141:
3536 < #line 987 "conf_parser.y" /* yacc.c:1646  */
3536 > #line 990 "conf_parser.y" /* yacc.c:1646  */
3537      {
3538    if (conf_parser_ctx.pass == 2)
3539      block_state.type.value = LOG_TYPE_XLINE;
# Line 3542 | Line 3542 | yyreduce:
3542      break;
3543  
3544    case 142:
3545 < #line 991 "conf_parser.y" /* yacc.c:1646  */
3545 > #line 994 "conf_parser.y" /* yacc.c:1646  */
3546      {
3547    if (conf_parser_ctx.pass == 2)
3548      block_state.type.value = LOG_TYPE_RESV;
# Line 3551 | Line 3551 | yyreduce:
3551      break;
3552  
3553    case 143:
3554 < #line 995 "conf_parser.y" /* yacc.c:1646  */
3554 > #line 998 "conf_parser.y" /* yacc.c:1646  */
3555      {
3556    if (conf_parser_ctx.pass == 2)
3557      block_state.type.value = LOG_TYPE_DLINE;
# Line 3560 | Line 3560 | yyreduce:
3560      break;
3561  
3562    case 144:
3563 < #line 999 "conf_parser.y" /* yacc.c:1646  */
3563 > #line 1002 "conf_parser.y" /* yacc.c:1646  */
3564      {
3565    if (conf_parser_ctx.pass == 2)
3566      block_state.type.value = LOG_TYPE_KLINE;
# Line 3569 | Line 3569 | yyreduce:
3569      break;
3570  
3571    case 145:
3572 < #line 1003 "conf_parser.y" /* yacc.c:1646  */
3572 > #line 1006 "conf_parser.y" /* yacc.c:1646  */
3573      {
3574    if (conf_parser_ctx.pass == 2)
3575      block_state.type.value = LOG_TYPE_KILL;
# Line 3578 | Line 3578 | yyreduce:
3578      break;
3579  
3580    case 146:
3581 < #line 1007 "conf_parser.y" /* yacc.c:1646  */
3581 > #line 1010 "conf_parser.y" /* yacc.c:1646  */
3582      {
3583    if (conf_parser_ctx.pass == 2)
3584      block_state.type.value = LOG_TYPE_DEBUG;
# Line 3587 | Line 3587 | yyreduce:
3587      break;
3588  
3589    case 147:
3590 < #line 1017 "conf_parser.y" /* yacc.c:1646  */
3590 > #line 1020 "conf_parser.y" /* yacc.c:1646  */
3591      {
3592    if (conf_parser_ctx.pass != 2)
3593      break;
# Line 3599 | Line 3599 | yyreduce:
3599      break;
3600  
3601    case 148:
3602 < #line 1024 "conf_parser.y" /* yacc.c:1646  */
3602 > #line 1027 "conf_parser.y" /* yacc.c:1646  */
3603      {
3604    dlink_node *ptr = NULL;
3605  
# Line 3675 | Line 3675 | yyreduce:
3675      break;
3676  
3677    case 162:
3678 < #line 1104 "conf_parser.y" /* yacc.c:1646  */
3678 > #line 1107 "conf_parser.y" /* yacc.c:1646  */
3679      {
3680    if (conf_parser_ctx.pass == 2)
3681      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 3684 | Line 3684 | yyreduce:
3684      break;
3685  
3686    case 163:
3687 < #line 1110 "conf_parser.y" /* yacc.c:1646  */
3687 > #line 1113 "conf_parser.y" /* yacc.c:1646  */
3688      {
3689    if (conf_parser_ctx.pass == 2)
3690      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
# Line 3693 | Line 3693 | yyreduce:
3693      break;
3694  
3695    case 164:
3696 < #line 1116 "conf_parser.y" /* yacc.c:1646  */
3696 > #line 1119 "conf_parser.y" /* yacc.c:1646  */
3697      {
3698    if (conf_parser_ctx.pass == 2)
3699      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 3702 | Line 3702 | yyreduce:
3702      break;
3703  
3704    case 165:
3705 < #line 1122 "conf_parser.y" /* yacc.c:1646  */
3705 > #line 1125 "conf_parser.y" /* yacc.c:1646  */
3706      {
3707    if (conf_parser_ctx.pass != 2)
3708      break;
# Line 3716 | Line 3716 | yyreduce:
3716      break;
3717  
3718    case 166:
3719 < #line 1133 "conf_parser.y" /* yacc.c:1646  */
3719 > #line 1136 "conf_parser.y" /* yacc.c:1646  */
3720      {
3721    if (conf_parser_ctx.pass == 2)
3722      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
# Line 3725 | Line 3725 | yyreduce:
3725      break;
3726  
3727    case 167:
3728 < #line 1139 "conf_parser.y" /* yacc.c:1646  */
3728 > #line 1142 "conf_parser.y" /* yacc.c:1646  */
3729      {
3730    if (conf_parser_ctx.pass == 2)
3731      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
# Line 3734 | Line 3734 | yyreduce:
3734      break;
3735  
3736    case 168:
3737 < #line 1145 "conf_parser.y" /* yacc.c:1646  */
3737 > #line 1148 "conf_parser.y" /* yacc.c:1646  */
3738      {
3739    if (conf_parser_ctx.pass != 2)
3740      break;
# Line 3748 | Line 3748 | yyreduce:
3748      break;
3749  
3750    case 169:
3751 < #line 1156 "conf_parser.y" /* yacc.c:1646  */
3751 > #line 1159 "conf_parser.y" /* yacc.c:1646  */
3752      {
3753    if (conf_parser_ctx.pass == 2)
3754      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 3757 | Line 3757 | yyreduce:
3757      break;
3758  
3759    case 170:
3760 < #line 1162 "conf_parser.y" /* yacc.c:1646  */
3760 > #line 1165 "conf_parser.y" /* yacc.c:1646  */
3761      {
3762    if (conf_parser_ctx.pass == 2)
3763      block_state.modes.value = 0;
# Line 3766 | Line 3766 | yyreduce:
3766      break;
3767  
3768    case 174:
3769 < #line 1169 "conf_parser.y" /* yacc.c:1646  */
3769 > #line 1172 "conf_parser.y" /* yacc.c:1646  */
3770      {
3771    if (conf_parser_ctx.pass == 2)
3772      block_state.modes.value |= UMODE_BOTS;
# Line 3775 | Line 3775 | yyreduce:
3775      break;
3776  
3777    case 175:
3778 < #line 1173 "conf_parser.y" /* yacc.c:1646  */
3778 > #line 1176 "conf_parser.y" /* yacc.c:1646  */
3779      {
3780    if (conf_parser_ctx.pass == 2)
3781      block_state.modes.value |= UMODE_CCONN;
# Line 3784 | Line 3784 | yyreduce:
3784      break;
3785  
3786    case 176:
3787 < #line 1177 "conf_parser.y" /* yacc.c:1646  */
3787 > #line 1180 "conf_parser.y" /* yacc.c:1646  */
3788      {
3789    if (conf_parser_ctx.pass == 2)
3790      block_state.modes.value |= UMODE_DEAF;
# Line 3793 | Line 3793 | yyreduce:
3793      break;
3794  
3795    case 177:
3796 < #line 1181 "conf_parser.y" /* yacc.c:1646  */
3796 > #line 1184 "conf_parser.y" /* yacc.c:1646  */
3797      {
3798    if (conf_parser_ctx.pass == 2)
3799      block_state.modes.value |= UMODE_DEBUG;
# Line 3802 | Line 3802 | yyreduce:
3802      break;
3803  
3804    case 178:
3805 < #line 1185 "conf_parser.y" /* yacc.c:1646  */
3805 > #line 1188 "conf_parser.y" /* yacc.c:1646  */
3806      {
3807    if (conf_parser_ctx.pass == 2)
3808      block_state.modes.value |= UMODE_FULL;
# Line 3811 | Line 3811 | yyreduce:
3811      break;
3812  
3813    case 179:
3814 < #line 1189 "conf_parser.y" /* yacc.c:1646  */
3814 > #line 1192 "conf_parser.y" /* yacc.c:1646  */
3815      {
3816    if (conf_parser_ctx.pass == 2)
3817      block_state.modes.value |= UMODE_HIDDEN;
# Line 3820 | Line 3820 | yyreduce:
3820      break;
3821  
3822    case 180:
3823 < #line 1193 "conf_parser.y" /* yacc.c:1646  */
3823 > #line 1196 "conf_parser.y" /* yacc.c:1646  */
3824      {
3825    if (conf_parser_ctx.pass == 2)
3826      block_state.modes.value |= UMODE_SKILL;
# Line 3829 | Line 3829 | yyreduce:
3829      break;
3830  
3831    case 181:
3832 < #line 1197 "conf_parser.y" /* yacc.c:1646  */
3832 > #line 1200 "conf_parser.y" /* yacc.c:1646  */
3833      {
3834    if (conf_parser_ctx.pass == 2)
3835      block_state.modes.value |= UMODE_NCHANGE;
# Line 3838 | Line 3838 | yyreduce:
3838      break;
3839  
3840    case 182:
3841 < #line 1201 "conf_parser.y" /* yacc.c:1646  */
3841 > #line 1204 "conf_parser.y" /* yacc.c:1646  */
3842      {
3843    if (conf_parser_ctx.pass == 2)
3844      block_state.modes.value |= UMODE_REJ;
# Line 3847 | Line 3847 | yyreduce:
3847      break;
3848  
3849    case 183:
3850 < #line 1205 "conf_parser.y" /* yacc.c:1646  */
3850 > #line 1208 "conf_parser.y" /* yacc.c:1646  */
3851      {
3852    if (conf_parser_ctx.pass == 2)
3853      block_state.modes.value |= UMODE_UNAUTH;
# Line 3856 | Line 3856 | yyreduce:
3856      break;
3857  
3858    case 184:
3859 < #line 1209 "conf_parser.y" /* yacc.c:1646  */
3859 > #line 1212 "conf_parser.y" /* yacc.c:1646  */
3860      {
3861    if (conf_parser_ctx.pass == 2)
3862      block_state.modes.value |= UMODE_SPY;
# Line 3865 | Line 3865 | yyreduce:
3865      break;
3866  
3867    case 185:
3868 < #line 1213 "conf_parser.y" /* yacc.c:1646  */
3868 > #line 1216 "conf_parser.y" /* yacc.c:1646  */
3869      {
3870    if (conf_parser_ctx.pass == 2)
3871      block_state.modes.value |= UMODE_EXTERNAL;
# Line 3874 | Line 3874 | yyreduce:
3874      break;
3875  
3876    case 186:
3877 < #line 1217 "conf_parser.y" /* yacc.c:1646  */
3877 > #line 1220 "conf_parser.y" /* yacc.c:1646  */
3878      {
3879    if (conf_parser_ctx.pass == 2)
3880      block_state.modes.value |= UMODE_OPERWALL;
# Line 3883 | Line 3883 | yyreduce:
3883      break;
3884  
3885    case 187:
3886 < #line 1221 "conf_parser.y" /* yacc.c:1646  */
3886 > #line 1224 "conf_parser.y" /* yacc.c:1646  */
3887      {
3888    if (conf_parser_ctx.pass == 2)
3889      block_state.modes.value |= UMODE_SERVNOTICE;
# Line 3892 | Line 3892 | yyreduce:
3892      break;
3893  
3894    case 188:
3895 < #line 1225 "conf_parser.y" /* yacc.c:1646  */
3895 > #line 1228 "conf_parser.y" /* yacc.c:1646  */
3896      {
3897    if (conf_parser_ctx.pass == 2)
3898      block_state.modes.value |= UMODE_INVISIBLE;
# Line 3901 | Line 3901 | yyreduce:
3901      break;
3902  
3903    case 189:
3904 < #line 1229 "conf_parser.y" /* yacc.c:1646  */
3904 > #line 1232 "conf_parser.y" /* yacc.c:1646  */
3905      {
3906    if (conf_parser_ctx.pass == 2)
3907      block_state.modes.value |= UMODE_WALLOP;
# Line 3910 | Line 3910 | yyreduce:
3910      break;
3911  
3912    case 190:
3913 < #line 1233 "conf_parser.y" /* yacc.c:1646  */
3913 > #line 1236 "conf_parser.y" /* yacc.c:1646  */
3914      {
3915    if (conf_parser_ctx.pass == 2)
3916      block_state.modes.value |= UMODE_SOFTCALLERID;
# Line 3919 | Line 3919 | yyreduce:
3919      break;
3920  
3921    case 191:
3922 < #line 1237 "conf_parser.y" /* yacc.c:1646  */
3922 > #line 1240 "conf_parser.y" /* yacc.c:1646  */
3923      {
3924    if (conf_parser_ctx.pass == 2)
3925      block_state.modes.value |= UMODE_CALLERID;
# Line 3928 | Line 3928 | yyreduce:
3928      break;
3929  
3930    case 192:
3931 < #line 1241 "conf_parser.y" /* yacc.c:1646  */
3931 > #line 1244 "conf_parser.y" /* yacc.c:1646  */
3932      {
3933    if (conf_parser_ctx.pass == 2)
3934      block_state.modes.value |= UMODE_LOCOPS;
# Line 3937 | Line 3937 | yyreduce:
3937      break;
3938  
3939    case 193:
3940 < #line 1245 "conf_parser.y" /* yacc.c:1646  */
3940 > #line 1248 "conf_parser.y" /* yacc.c:1646  */
3941      {
3942    if (conf_parser_ctx.pass == 2)
3943      block_state.modes.value |= UMODE_REGONLY;
# Line 3946 | Line 3946 | yyreduce:
3946      break;
3947  
3948    case 194:
3949 < #line 1249 "conf_parser.y" /* yacc.c:1646  */
3949 > #line 1252 "conf_parser.y" /* yacc.c:1646  */
3950      {
3951    if (conf_parser_ctx.pass == 2)
3952      block_state.modes.value |= UMODE_FARCONNECT;
# Line 3955 | Line 3955 | yyreduce:
3955      break;
3956  
3957    case 195:
3958 < #line 1255 "conf_parser.y" /* yacc.c:1646  */
3958 > #line 1258 "conf_parser.y" /* yacc.c:1646  */
3959      {
3960    if (conf_parser_ctx.pass == 2)
3961      block_state.port.value = 0;
# Line 3964 | Line 3964 | yyreduce:
3964      break;
3965  
3966    case 199:
3967 < #line 1262 "conf_parser.y" /* yacc.c:1646  */
3967 > #line 1265 "conf_parser.y" /* yacc.c:1646  */
3968      {
3969    if (conf_parser_ctx.pass == 2)
3970      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
# Line 3973 | Line 3973 | yyreduce:
3973      break;
3974  
3975    case 200:
3976 < #line 1266 "conf_parser.y" /* yacc.c:1646  */
3976 > #line 1269 "conf_parser.y" /* yacc.c:1646  */
3977      {
3978    if (conf_parser_ctx.pass == 2)
3979      block_state.port.value |= OPER_FLAG_KILL;
# Line 3982 | Line 3982 | yyreduce:
3982      break;
3983  
3984    case 201:
3985 < #line 1270 "conf_parser.y" /* yacc.c:1646  */
3985 > #line 1273 "conf_parser.y" /* yacc.c:1646  */
3986      {
3987    if (conf_parser_ctx.pass == 2)
3988      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
# Line 3991 | Line 3991 | yyreduce:
3991      break;
3992  
3993    case 202:
3994 < #line 1274 "conf_parser.y" /* yacc.c:1646  */
3994 > #line 1277 "conf_parser.y" /* yacc.c:1646  */
3995      {
3996    if (conf_parser_ctx.pass == 2)
3997      block_state.port.value |= OPER_FLAG_CONNECT;
# Line 4000 | Line 4000 | yyreduce:
4000      break;
4001  
4002    case 203:
4003 < #line 1278 "conf_parser.y" /* yacc.c:1646  */
4003 > #line 1281 "conf_parser.y" /* yacc.c:1646  */
4004      {
4005    if (conf_parser_ctx.pass == 2)
4006      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
# Line 4009 | Line 4009 | yyreduce:
4009      break;
4010  
4011    case 204:
4012 < #line 1282 "conf_parser.y" /* yacc.c:1646  */
4012 > #line 1285 "conf_parser.y" /* yacc.c:1646  */
4013      {
4014    if (conf_parser_ctx.pass == 2)
4015      block_state.port.value |= OPER_FLAG_SQUIT;
# Line 4018 | Line 4018 | yyreduce:
4018      break;
4019  
4020    case 205:
4021 < #line 1286 "conf_parser.y" /* yacc.c:1646  */
4021 > #line 1289 "conf_parser.y" /* yacc.c:1646  */
4022      {
4023    if (conf_parser_ctx.pass == 2)
4024      block_state.port.value |= OPER_FLAG_K;
# Line 4027 | Line 4027 | yyreduce:
4027      break;
4028  
4029    case 206:
4030 < #line 1290 "conf_parser.y" /* yacc.c:1646  */
4030 > #line 1293 "conf_parser.y" /* yacc.c:1646  */
4031      {
4032    if (conf_parser_ctx.pass == 2)
4033      block_state.port.value |= OPER_FLAG_UNKLINE;
# Line 4036 | Line 4036 | yyreduce:
4036      break;
4037  
4038    case 207:
4039 < #line 1294 "conf_parser.y" /* yacc.c:1646  */
4039 > #line 1297 "conf_parser.y" /* yacc.c:1646  */
4040      {
4041    if (conf_parser_ctx.pass == 2)
4042      block_state.port.value |= OPER_FLAG_DLINE;
# Line 4045 | Line 4045 | yyreduce:
4045      break;
4046  
4047    case 208:
4048 < #line 1298 "conf_parser.y" /* yacc.c:1646  */
4048 > #line 1301 "conf_parser.y" /* yacc.c:1646  */
4049      {
4050    if (conf_parser_ctx.pass == 2)
4051      block_state.port.value |= OPER_FLAG_UNDLINE;
# Line 4054 | Line 4054 | yyreduce:
4054      break;
4055  
4056    case 209:
4057 < #line 1302 "conf_parser.y" /* yacc.c:1646  */
4057 > #line 1305 "conf_parser.y" /* yacc.c:1646  */
4058      {
4059    if (conf_parser_ctx.pass == 2)
4060      block_state.port.value |= OPER_FLAG_XLINE;
# Line 4063 | Line 4063 | yyreduce:
4063      break;
4064  
4065    case 210:
4066 < #line 1306 "conf_parser.y" /* yacc.c:1646  */
4066 > #line 1309 "conf_parser.y" /* yacc.c:1646  */
4067      {
4068    if (conf_parser_ctx.pass == 2)
4069      block_state.port.value |= OPER_FLAG_UNXLINE;
# Line 4072 | Line 4072 | yyreduce:
4072      break;
4073  
4074    case 211:
4075 < #line 1310 "conf_parser.y" /* yacc.c:1646  */
4075 > #line 1313 "conf_parser.y" /* yacc.c:1646  */
4076      {
4077    if (conf_parser_ctx.pass == 2)
4078      block_state.port.value |= OPER_FLAG_GLINE;
# Line 4081 | Line 4081 | yyreduce:
4081      break;
4082  
4083    case 212:
4084 < #line 1314 "conf_parser.y" /* yacc.c:1646  */
4084 > #line 1317 "conf_parser.y" /* yacc.c:1646  */
4085      {
4086    if (conf_parser_ctx.pass == 2)
4087      block_state.port.value |= OPER_FLAG_DIE;
# Line 4090 | Line 4090 | yyreduce:
4090      break;
4091  
4092    case 213:
4093 < #line 1318 "conf_parser.y" /* yacc.c:1646  */
4093 > #line 1321 "conf_parser.y" /* yacc.c:1646  */
4094      {
4095    if (conf_parser_ctx.pass == 2)
4096      block_state.port.value |= OPER_FLAG_RESTART;
# Line 4099 | Line 4099 | yyreduce:
4099      break;
4100  
4101    case 214:
4102 < #line 1322 "conf_parser.y" /* yacc.c:1646  */
4102 > #line 1325 "conf_parser.y" /* yacc.c:1646  */
4103      {
4104    if (conf_parser_ctx.pass == 2)
4105      block_state.port.value |= OPER_FLAG_REHASH;
# Line 4108 | Line 4108 | yyreduce:
4108      break;
4109  
4110    case 215:
4111 < #line 1326 "conf_parser.y" /* yacc.c:1646  */
4111 > #line 1329 "conf_parser.y" /* yacc.c:1646  */
4112      {
4113    if (conf_parser_ctx.pass == 2)
4114      block_state.port.value |= OPER_FLAG_ADMIN;
# Line 4117 | Line 4117 | yyreduce:
4117      break;
4118  
4119    case 216:
4120 < #line 1330 "conf_parser.y" /* yacc.c:1646  */
4120 > #line 1333 "conf_parser.y" /* yacc.c:1646  */
4121      {
4122    if (conf_parser_ctx.pass == 2)
4123      block_state.port.value |= OPER_FLAG_OPERWALL;
# Line 4126 | Line 4126 | yyreduce:
4126      break;
4127  
4128    case 217:
4129 < #line 1334 "conf_parser.y" /* yacc.c:1646  */
4129 > #line 1337 "conf_parser.y" /* yacc.c:1646  */
4130      {
4131    if (conf_parser_ctx.pass == 2)
4132      block_state.port.value |= OPER_FLAG_GLOBOPS;
# Line 4135 | Line 4135 | yyreduce:
4135      break;
4136  
4137    case 218:
4138 < #line 1338 "conf_parser.y" /* yacc.c:1646  */
4138 > #line 1341 "conf_parser.y" /* yacc.c:1646  */
4139      {
4140    if (conf_parser_ctx.pass == 2)
4141      block_state.port.value |= OPER_FLAG_WALLOPS;
# Line 4144 | Line 4144 | yyreduce:
4144      break;
4145  
4146    case 219:
4147 < #line 1342 "conf_parser.y" /* yacc.c:1646  */
4147 > #line 1345 "conf_parser.y" /* yacc.c:1646  */
4148      {
4149    if (conf_parser_ctx.pass == 2)
4150      block_state.port.value |= OPER_FLAG_LOCOPS;
# Line 4153 | Line 4153 | yyreduce:
4153      break;
4154  
4155    case 220:
4156 < #line 1346 "conf_parser.y" /* yacc.c:1646  */
4156 > #line 1349 "conf_parser.y" /* yacc.c:1646  */
4157      {
4158    if (conf_parser_ctx.pass == 2)
4159      block_state.port.value |= OPER_FLAG_REMOTEBAN;
# Line 4162 | Line 4162 | yyreduce:
4162      break;
4163  
4164    case 221:
4165 < #line 1350 "conf_parser.y" /* yacc.c:1646  */
4165 > #line 1353 "conf_parser.y" /* yacc.c:1646  */
4166      {
4167    if (conf_parser_ctx.pass == 2)
4168      block_state.port.value |= OPER_FLAG_SET;
# Line 4171 | Line 4171 | yyreduce:
4171      break;
4172  
4173    case 222:
4174 < #line 1354 "conf_parser.y" /* yacc.c:1646  */
4174 > #line 1357 "conf_parser.y" /* yacc.c:1646  */
4175      {
4176    if (conf_parser_ctx.pass == 2)
4177      block_state.port.value |= OPER_FLAG_MODULE;
# Line 4180 | Line 4180 | yyreduce:
4180      break;
4181  
4182    case 223:
4183 < #line 1364 "conf_parser.y" /* yacc.c:1646  */
4183 > #line 1367 "conf_parser.y" /* yacc.c:1646  */
4184      {
4185    if (conf_parser_ctx.pass != 1)
4186      break;
# Line 4197 | Line 4197 | yyreduce:
4197      break;
4198  
4199    case 224:
4200 < #line 1376 "conf_parser.y" /* yacc.c:1646  */
4200 > #line 1379 "conf_parser.y" /* yacc.c:1646  */
4201      {
4202    struct ClassItem *class = NULL;
4203  
# Line 4249 | Line 4249 | yyreduce:
4249      break;
4250  
4251    case 244:
4252 < #line 1442 "conf_parser.y" /* yacc.c:1646  */
4252 > #line 1445 "conf_parser.y" /* yacc.c:1646  */
4253      {
4254    if (conf_parser_ctx.pass == 1)
4255      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 4258 | Line 4258 | yyreduce:
4258      break;
4259  
4260    case 245:
4261 < #line 1448 "conf_parser.y" /* yacc.c:1646  */
4261 > #line 1451 "conf_parser.y" /* yacc.c:1646  */
4262      {
4263    if (conf_parser_ctx.pass == 1)
4264      block_state.ping_freq.value = (yyvsp[-1].number);
# Line 4267 | Line 4267 | yyreduce:
4267      break;
4268  
4269    case 246:
4270 < #line 1454 "conf_parser.y" /* yacc.c:1646  */
4270 > #line 1457 "conf_parser.y" /* yacc.c:1646  */
4271      {
4272    if (conf_parser_ctx.pass == 1)
4273      block_state.max_perip.value = (yyvsp[-1].number);
# Line 4276 | Line 4276 | yyreduce:
4276      break;
4277  
4278    case 247:
4279 < #line 1460 "conf_parser.y" /* yacc.c:1646  */
4279 > #line 1463 "conf_parser.y" /* yacc.c:1646  */
4280      {
4281    if (conf_parser_ctx.pass == 1)
4282      block_state.con_freq.value = (yyvsp[-1].number);
# Line 4285 | Line 4285 | yyreduce:
4285      break;
4286  
4287    case 248:
4288 < #line 1466 "conf_parser.y" /* yacc.c:1646  */
4288 > #line 1469 "conf_parser.y" /* yacc.c:1646  */
4289      {
4290    if (conf_parser_ctx.pass == 1)
4291      block_state.max_total.value = (yyvsp[-1].number);
# Line 4294 | Line 4294 | yyreduce:
4294      break;
4295  
4296    case 249:
4297 < #line 1472 "conf_parser.y" /* yacc.c:1646  */
4297 > #line 1475 "conf_parser.y" /* yacc.c:1646  */
4298      {
4299    if (conf_parser_ctx.pass == 1)
4300      block_state.max_global.value = (yyvsp[-1].number);
# Line 4303 | Line 4303 | yyreduce:
4303      break;
4304  
4305    case 250:
4306 < #line 1478 "conf_parser.y" /* yacc.c:1646  */
4306 > #line 1481 "conf_parser.y" /* yacc.c:1646  */
4307      {
4308    if (conf_parser_ctx.pass == 1)
4309      block_state.max_local.value = (yyvsp[-1].number);
# Line 4312 | Line 4312 | yyreduce:
4312      break;
4313  
4314    case 251:
4315 < #line 1484 "conf_parser.y" /* yacc.c:1646  */
4315 > #line 1487 "conf_parser.y" /* yacc.c:1646  */
4316      {
4317    if (conf_parser_ctx.pass == 1)
4318      block_state.max_ident.value = (yyvsp[-1].number);
# Line 4321 | Line 4321 | yyreduce:
4321      break;
4322  
4323    case 252:
4324 < #line 1490 "conf_parser.y" /* yacc.c:1646  */
4324 > #line 1493 "conf_parser.y" /* yacc.c:1646  */
4325      {
4326    if (conf_parser_ctx.pass == 1)
4327      block_state.max_sendq.value = (yyvsp[-1].number);
# Line 4330 | Line 4330 | yyreduce:
4330      break;
4331  
4332    case 253:
4333 < #line 1496 "conf_parser.y" /* yacc.c:1646  */
4333 > #line 1499 "conf_parser.y" /* yacc.c:1646  */
4334      {
4335    if (conf_parser_ctx.pass == 1)
4336      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
# Line 4340 | Line 4340 | yyreduce:
4340      break;
4341  
4342    case 254:
4343 < #line 1503 "conf_parser.y" /* yacc.c:1646  */
4343 > #line 1506 "conf_parser.y" /* yacc.c:1646  */
4344      {
4345    if (conf_parser_ctx.pass == 1)
4346      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
# Line 4349 | Line 4349 | yyreduce:
4349      break;
4350  
4351    case 255:
4352 < #line 1509 "conf_parser.y" /* yacc.c:1646  */
4352 > #line 1512 "conf_parser.y" /* yacc.c:1646  */
4353      {
4354    if (conf_parser_ctx.pass == 1)
4355      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
# Line 4358 | Line 4358 | yyreduce:
4358      break;
4359  
4360    case 256:
4361 < #line 1515 "conf_parser.y" /* yacc.c:1646  */
4361 > #line 1518 "conf_parser.y" /* yacc.c:1646  */
4362      {
4363    if (conf_parser_ctx.pass == 1)
4364      block_state.number_per_cidr.value = (yyvsp[-1].number);
# Line 4367 | Line 4367 | yyreduce:
4367      break;
4368  
4369    case 257:
4370 < #line 1521 "conf_parser.y" /* yacc.c:1646  */
4370 > #line 1524 "conf_parser.y" /* yacc.c:1646  */
4371      {
4372    if (conf_parser_ctx.pass != 1)
4373      break;
# Line 4379 | Line 4379 | yyreduce:
4379      break;
4380  
4381    case 258:
4382 < #line 1530 "conf_parser.y" /* yacc.c:1646  */
4382 > #line 1533 "conf_parser.y" /* yacc.c:1646  */
4383      {
4384    if (conf_parser_ctx.pass != 1)
4385      break;
# Line 4391 | Line 4391 | yyreduce:
4391      break;
4392  
4393    case 259:
4394 < #line 1539 "conf_parser.y" /* yacc.c:1646  */
4394 > #line 1542 "conf_parser.y" /* yacc.c:1646  */
4395      {
4396    if (conf_parser_ctx.pass == 1)
4397      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
# Line 4400 | Line 4400 | yyreduce:
4400      break;
4401  
4402    case 263:
4403 < #line 1546 "conf_parser.y" /* yacc.c:1646  */
4403 > #line 1549 "conf_parser.y" /* yacc.c:1646  */
4404      {
4405    if (conf_parser_ctx.pass == 1)
4406      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
# Line 4409 | Line 4409 | yyreduce:
4409      break;
4410  
4411    case 264:
4412 < #line 1550 "conf_parser.y" /* yacc.c:1646  */
4412 > #line 1553 "conf_parser.y" /* yacc.c:1646  */
4413      {
4414    if (conf_parser_ctx.pass == 1)
4415      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
# Line 4418 | Line 4418 | yyreduce:
4418      break;
4419  
4420    case 265:
4421 < #line 1560 "conf_parser.y" /* yacc.c:1646  */
4421 > #line 1563 "conf_parser.y" /* yacc.c:1646  */
4422      {
4423    if (conf_parser_ctx.pass == 2)
4424      reset_block_state();
# Line 4427 | Line 4427 | yyreduce:
4427      break;
4428  
4429    case 267:
4430 < #line 1566 "conf_parser.y" /* yacc.c:1646  */
4430 > #line 1569 "conf_parser.y" /* yacc.c:1646  */
4431      {
4432    block_state.flags.value = 0;
4433   }
# Line 4435 | Line 4435 | yyreduce:
4435      break;
4436  
4437    case 271:
4438 < #line 1572 "conf_parser.y" /* yacc.c:1646  */
4438 > #line 1575 "conf_parser.y" /* yacc.c:1646  */
4439      {
4440    if (conf_parser_ctx.pass == 2)
4441      block_state.flags.value |= LISTENER_SSL;
# Line 4444 | Line 4444 | yyreduce:
4444      break;
4445  
4446    case 272:
4447 < #line 1576 "conf_parser.y" /* yacc.c:1646  */
4447 > #line 1579 "conf_parser.y" /* yacc.c:1646  */
4448      {
4449    if (conf_parser_ctx.pass == 2)
4450      block_state.flags.value |= LISTENER_HIDDEN;
# Line 4453 | Line 4453 | yyreduce:
4453      break;
4454  
4455    case 273:
4456 < #line 1580 "conf_parser.y" /* yacc.c:1646  */
4456 > #line 1583 "conf_parser.y" /* yacc.c:1646  */
4457      {
4458    if (conf_parser_ctx.pass == 2)
4459     block_state.flags.value |= LISTENER_SERVER;
# Line 4462 | Line 4462 | yyreduce:
4462      break;
4463  
4464    case 281:
4465 < #line 1588 "conf_parser.y" /* yacc.c:1646  */
4465 > #line 1591 "conf_parser.y" /* yacc.c:1646  */
4466      { block_state.flags.value = 0; }
4467   #line 4468 "conf_parser.c" /* yacc.c:1646  */
4468      break;
4469  
4470    case 285:
4471 < #line 1593 "conf_parser.y" /* yacc.c:1646  */
4471 > #line 1596 "conf_parser.y" /* yacc.c:1646  */
4472      {
4473    if (conf_parser_ctx.pass == 2)
4474    {
# Line 4487 | Line 4487 | yyreduce:
4487      break;
4488  
4489    case 286:
4490 < #line 1607 "conf_parser.y" /* yacc.c:1646  */
4490 > #line 1610 "conf_parser.y" /* yacc.c:1646  */
4491      {
4492    if (conf_parser_ctx.pass == 2)
4493    {
# Line 4510 | Line 4510 | yyreduce:
4510      break;
4511  
4512    case 287:
4513 < #line 1627 "conf_parser.y" /* yacc.c:1646  */
4513 > #line 1630 "conf_parser.y" /* yacc.c:1646  */
4514      {
4515    if (conf_parser_ctx.pass == 2)
4516      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 4519 | Line 4519 | yyreduce:
4519      break;
4520  
4521    case 288:
4522 < #line 1633 "conf_parser.y" /* yacc.c:1646  */
4522 > #line 1636 "conf_parser.y" /* yacc.c:1646  */
4523      {
4524    if (conf_parser_ctx.pass == 2)
4525      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 4528 | Line 4528 | yyreduce:
4528      break;
4529  
4530    case 289:
4531 < #line 1642 "conf_parser.y" /* yacc.c:1646  */
4531 > #line 1645 "conf_parser.y" /* yacc.c:1646  */
4532      {
4533    if (conf_parser_ctx.pass == 2)
4534      reset_block_state();
# Line 4537 | Line 4537 | yyreduce:
4537      break;
4538  
4539    case 290:
4540 < #line 1646 "conf_parser.y" /* yacc.c:1646  */
4540 > #line 1649 "conf_parser.y" /* yacc.c:1646  */
4541      {
4542    dlink_node *ptr = NULL;
4543  
# Line 4578 | Line 4578 | yyreduce:
4578      break;
4579  
4580    case 302:
4581 < #line 1689 "conf_parser.y" /* yacc.c:1646  */
4581 > #line 1692 "conf_parser.y" /* yacc.c:1646  */
4582      {
4583    if (conf_parser_ctx.pass == 2)
4584      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
# Line 4587 | Line 4587 | yyreduce:
4587      break;
4588  
4589    case 303:
4590 < #line 1695 "conf_parser.y" /* yacc.c:1646  */
4590 > #line 1698 "conf_parser.y" /* yacc.c:1646  */
4591      {
4592    if (conf_parser_ctx.pass == 2)
4593      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 4596 | Line 4596 | yyreduce:
4596      break;
4597  
4598    case 304:
4599 < #line 1701 "conf_parser.y" /* yacc.c:1646  */
4599 > #line 1704 "conf_parser.y" /* yacc.c:1646  */
4600      {
4601    if (conf_parser_ctx.pass == 2)
4602      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 4605 | Line 4605 | yyreduce:
4605      break;
4606  
4607    case 305:
4608 < #line 1707 "conf_parser.y" /* yacc.c:1646  */
4608 > #line 1710 "conf_parser.y" /* yacc.c:1646  */
4609      {
4610    if (conf_parser_ctx.pass == 2)
4611    {
# Line 4619 | Line 4619 | yyreduce:
4619      break;
4620  
4621    case 306:
4622 < #line 1718 "conf_parser.y" /* yacc.c:1646  */
4622 > #line 1721 "conf_parser.y" /* yacc.c:1646  */
4623      {
4624    if (conf_parser_ctx.pass == 2)
4625      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
# Line 4628 | Line 4628 | yyreduce:
4628      break;
4629  
4630    case 310:
4631 < #line 1725 "conf_parser.y" /* yacc.c:1646  */
4631 > #line 1728 "conf_parser.y" /* yacc.c:1646  */
4632      {
4633    if (conf_parser_ctx.pass == 2)
4634      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
# Line 4637 | Line 4637 | yyreduce:
4637      break;
4638  
4639    case 311:
4640 < #line 1729 "conf_parser.y" /* yacc.c:1646  */
4640 > #line 1732 "conf_parser.y" /* yacc.c:1646  */
4641      {
4642    if (conf_parser_ctx.pass == 2)
4643      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
# Line 4646 | Line 4646 | yyreduce:
4646      break;
4647  
4648    case 312:
4649 < #line 1733 "conf_parser.y" /* yacc.c:1646  */
4649 > #line 1736 "conf_parser.y" /* yacc.c:1646  */
4650      {
4651    if (conf_parser_ctx.pass == 2)
4652      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
# Line 4655 | Line 4655 | yyreduce:
4655      break;
4656  
4657    case 313:
4658 < #line 1737 "conf_parser.y" /* yacc.c:1646  */
4658 > #line 1740 "conf_parser.y" /* yacc.c:1646  */
4659      {
4660    if (conf_parser_ctx.pass == 2)
4661      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
# Line 4664 | Line 4664 | yyreduce:
4664      break;
4665  
4666    case 314:
4667 < #line 1741 "conf_parser.y" /* yacc.c:1646  */
4667 > #line 1744 "conf_parser.y" /* yacc.c:1646  */
4668      {
4669    if (conf_parser_ctx.pass == 2)
4670      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
# Line 4673 | Line 4673 | yyreduce:
4673      break;
4674  
4675    case 315:
4676 < #line 1745 "conf_parser.y" /* yacc.c:1646  */
4676 > #line 1748 "conf_parser.y" /* yacc.c:1646  */
4677      {
4678    if (conf_parser_ctx.pass == 2)
4679      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
# Line 4682 | Line 4682 | yyreduce:
4682      break;
4683  
4684    case 316:
4685 < #line 1749 "conf_parser.y" /* yacc.c:1646  */
4685 > #line 1752 "conf_parser.y" /* yacc.c:1646  */
4686      {
4687    if (conf_parser_ctx.pass == 2)
4688      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
# Line 4691 | Line 4691 | yyreduce:
4691      break;
4692  
4693    case 317:
4694 < #line 1753 "conf_parser.y" /* yacc.c:1646  */
4694 > #line 1756 "conf_parser.y" /* yacc.c:1646  */
4695      {
4696    if (conf_parser_ctx.pass == 2)
4697      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
# Line 4700 | Line 4700 | yyreduce:
4700      break;
4701  
4702    case 318:
4703 < #line 1757 "conf_parser.y" /* yacc.c:1646  */
4703 > #line 1760 "conf_parser.y" /* yacc.c:1646  */
4704      {
4705    if (conf_parser_ctx.pass == 2)
4706      block_state.flags.value |= CONF_FLAGS_WEBIRC;
# Line 4709 | Line 4709 | yyreduce:
4709      break;
4710  
4711    case 319:
4712 < #line 1761 "conf_parser.y" /* yacc.c:1646  */
4712 > #line 1764 "conf_parser.y" /* yacc.c:1646  */
4713      {
4714    if (conf_parser_ctx.pass == 2)
4715      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
# Line 4718 | Line 4718 | yyreduce:
4718      break;
4719  
4720    case 320:
4721 < #line 1767 "conf_parser.y" /* yacc.c:1646  */
4721 > #line 1770 "conf_parser.y" /* yacc.c:1646  */
4722      {
4723    if (conf_parser_ctx.pass != 2)
4724      break;
# Line 4735 | Line 4735 | yyreduce:
4735      break;
4736  
4737    case 321:
4738 < #line 1781 "conf_parser.y" /* yacc.c:1646  */
4738 > #line 1784 "conf_parser.y" /* yacc.c:1646  */
4739      {
4740    if (conf_parser_ctx.pass != 2)
4741      break;
# Line 4747 | Line 4747 | yyreduce:
4747      break;
4748  
4749    case 322:
4750 < #line 1790 "conf_parser.y" /* yacc.c:1646  */
4750 > #line 1793 "conf_parser.y" /* yacc.c:1646  */
4751      {
4752    if (conf_parser_ctx.pass != 2)
4753      break;
# Line 4759 | Line 4759 | yyreduce:
4759      break;
4760  
4761    case 323:
4762 < #line 1803 "conf_parser.y" /* yacc.c:1646  */
4762 > #line 1806 "conf_parser.y" /* yacc.c:1646  */
4763      {
4764    if (conf_parser_ctx.pass != 2)
4765      break;
# Line 4771 | Line 4771 | yyreduce:
4771      break;
4772  
4773    case 324:
4774 < #line 1810 "conf_parser.y" /* yacc.c:1646  */
4774 > #line 1813 "conf_parser.y" /* yacc.c:1646  */
4775      {
4776    if (conf_parser_ctx.pass != 2)
4777      break;
# Line 4782 | Line 4782 | yyreduce:
4782      break;
4783  
4784    case 331:
4785 < #line 1821 "conf_parser.y" /* yacc.c:1646  */
4785 > #line 1824 "conf_parser.y" /* yacc.c:1646  */
4786      {
4787    if (conf_parser_ctx.pass == 2)
4788      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 4791 | Line 4791 | yyreduce:
4791      break;
4792  
4793    case 332:
4794 < #line 1827 "conf_parser.y" /* yacc.c:1646  */
4794 > #line 1830 "conf_parser.y" /* yacc.c:1646  */
4795      {
4796    if (conf_parser_ctx.pass == 2)
4797      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 4800 | Line 4800 | yyreduce:
4800      break;
4801  
4802    case 333:
4803 < #line 1833 "conf_parser.y" /* yacc.c:1646  */
4803 > #line 1836 "conf_parser.y" /* yacc.c:1646  */
4804      {
4805    if (conf_parser_ctx.pass == 2)
4806      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
# Line 4809 | Line 4809 | yyreduce:
4809      break;
4810  
4811    case 339:
4812 < #line 1848 "conf_parser.y" /* yacc.c:1646  */
4812 > #line 1851 "conf_parser.y" /* yacc.c:1646  */
4813      {
4814    if (conf_parser_ctx.pass != 2)
4815      break;
# Line 4824 | Line 4824 | yyreduce:
4824      break;
4825  
4826    case 340:
4827 < #line 1863 "conf_parser.y" /* yacc.c:1646  */
4827 > #line 1866 "conf_parser.y" /* yacc.c:1646  */
4828      {
4829    if (conf_parser_ctx.pass != 2)
4830      break;
# Line 4840 | Line 4840 | yyreduce:
4840      break;
4841  
4842    case 341:
4843 < #line 1874 "conf_parser.y" /* yacc.c:1646  */
4843 > #line 1877 "conf_parser.y" /* yacc.c:1646  */
4844      {
4845    struct MaskItem *conf = NULL;
4846  
# Line 4857 | Line 4857 | yyreduce:
4857      break;
4858  
4859    case 348:
4860 < #line 1891 "conf_parser.y" /* yacc.c:1646  */
4860 > #line 1894 "conf_parser.y" /* yacc.c:1646  */
4861      {
4862    if (conf_parser_ctx.pass == 2)
4863      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 4866 | Line 4866 | yyreduce:
4866      break;
4867  
4868    case 349:
4869 < #line 1897 "conf_parser.y" /* yacc.c:1646  */
4869 > #line 1900 "conf_parser.y" /* yacc.c:1646  */
4870      {
4871    if (conf_parser_ctx.pass == 2)
4872    {
# Line 4888 | Line 4888 | yyreduce:
4888      break;
4889  
4890    case 350:
4891 < #line 1916 "conf_parser.y" /* yacc.c:1646  */
4891 > #line 1919 "conf_parser.y" /* yacc.c:1646  */
4892      {
4893    if (conf_parser_ctx.pass == 2)
4894      block_state.flags.value = 0;
# Line 4897 | Line 4897 | yyreduce:
4897      break;
4898  
4899    case 354:
4900 < #line 1923 "conf_parser.y" /* yacc.c:1646  */
4900 > #line 1926 "conf_parser.y" /* yacc.c:1646  */
4901      {
4902    if (conf_parser_ctx.pass == 2)
4903      block_state.flags.value |= SHARED_KLINE;
# Line 4906 | Line 4906 | yyreduce:
4906      break;
4907  
4908    case 355:
4909 < #line 1927 "conf_parser.y" /* yacc.c:1646  */
4909 > #line 1930 "conf_parser.y" /* yacc.c:1646  */
4910      {
4911    if (conf_parser_ctx.pass == 2)
4912      block_state.flags.value |= SHARED_UNKLINE;
# Line 4915 | Line 4915 | yyreduce:
4915      break;
4916  
4917    case 356:
4918 < #line 1931 "conf_parser.y" /* yacc.c:1646  */
4918 > #line 1934 "conf_parser.y" /* yacc.c:1646  */
4919      {
4920    if (conf_parser_ctx.pass == 2)
4921      block_state.flags.value |= SHARED_DLINE;
# Line 4924 | Line 4924 | yyreduce:
4924      break;
4925  
4926    case 357:
4927 < #line 1935 "conf_parser.y" /* yacc.c:1646  */
4927 > #line 1938 "conf_parser.y" /* yacc.c:1646  */
4928      {
4929    if (conf_parser_ctx.pass == 2)
4930      block_state.flags.value |= SHARED_UNDLINE;
# Line 4933 | Line 4933 | yyreduce:
4933      break;
4934  
4935    case 358:
4936 < #line 1939 "conf_parser.y" /* yacc.c:1646  */
4936 > #line 1942 "conf_parser.y" /* yacc.c:1646  */
4937      {
4938    if (conf_parser_ctx.pass == 2)
4939      block_state.flags.value |= SHARED_XLINE;
# Line 4942 | Line 4942 | yyreduce:
4942      break;
4943  
4944    case 359:
4945 < #line 1943 "conf_parser.y" /* yacc.c:1646  */
4945 > #line 1946 "conf_parser.y" /* yacc.c:1646  */
4946      {
4947    if (conf_parser_ctx.pass == 2)
4948      block_state.flags.value |= SHARED_UNXLINE;
# Line 4951 | Line 4951 | yyreduce:
4951      break;
4952  
4953    case 360:
4954 < #line 1947 "conf_parser.y" /* yacc.c:1646  */
4954 > #line 1950 "conf_parser.y" /* yacc.c:1646  */
4955      {
4956    if (conf_parser_ctx.pass == 2)
4957      block_state.flags.value |= SHARED_RESV;
# Line 4960 | Line 4960 | yyreduce:
4960      break;
4961  
4962    case 361:
4963 < #line 1951 "conf_parser.y" /* yacc.c:1646  */
4963 > #line 1954 "conf_parser.y" /* yacc.c:1646  */
4964      {
4965    if (conf_parser_ctx.pass == 2)
4966      block_state.flags.value |= SHARED_UNRESV;
# Line 4969 | Line 4969 | yyreduce:
4969      break;
4970  
4971    case 362:
4972 < #line 1955 "conf_parser.y" /* yacc.c:1646  */
4972 > #line 1958 "conf_parser.y" /* yacc.c:1646  */
4973      {
4974    if (conf_parser_ctx.pass == 2)
4975      block_state.flags.value |= SHARED_LOCOPS;
# Line 4978 | Line 4978 | yyreduce:
4978      break;
4979  
4980    case 363:
4981 < #line 1959 "conf_parser.y" /* yacc.c:1646  */
4981 > #line 1962 "conf_parser.y" /* yacc.c:1646  */
4982      {
4983    if (conf_parser_ctx.pass == 2)
4984      block_state.flags.value = SHARED_ALL;
# Line 4987 | Line 4987 | yyreduce:
4987      break;
4988  
4989    case 364:
4990 < #line 1968 "conf_parser.y" /* yacc.c:1646  */
4990 > #line 1971 "conf_parser.y" /* yacc.c:1646  */
4991      {
4992    if (conf_parser_ctx.pass != 2)
4993      break;
# Line 5001 | Line 5001 | yyreduce:
5001      break;
5002  
5003    case 365:
5004 < #line 1977 "conf_parser.y" /* yacc.c:1646  */
5004 > #line 1980 "conf_parser.y" /* yacc.c:1646  */
5005      {
5006    struct MaskItem *conf = NULL;
5007  
# Line 5016 | Line 5016 | yyreduce:
5016      break;
5017  
5018    case 371:
5019 < #line 1992 "conf_parser.y" /* yacc.c:1646  */
5019 > #line 1995 "conf_parser.y" /* yacc.c:1646  */
5020      {
5021    if (conf_parser_ctx.pass == 2)
5022      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5025 | Line 5025 | yyreduce:
5025      break;
5026  
5027    case 372:
5028 < #line 1998 "conf_parser.y" /* yacc.c:1646  */
5028 > #line 2001 "conf_parser.y" /* yacc.c:1646  */
5029      {
5030    if (conf_parser_ctx.pass == 2)
5031      block_state.flags.value = 0;
# Line 5034 | Line 5034 | yyreduce:
5034      break;
5035  
5036    case 376:
5037 < #line 2005 "conf_parser.y" /* yacc.c:1646  */
5037 > #line 2008 "conf_parser.y" /* yacc.c:1646  */
5038      {
5039    if (conf_parser_ctx.pass == 2)
5040      block_state.flags.value |= SHARED_KLINE;
# Line 5043 | Line 5043 | yyreduce:
5043      break;
5044  
5045    case 377:
5046 < #line 2009 "conf_parser.y" /* yacc.c:1646  */
5046 > #line 2012 "conf_parser.y" /* yacc.c:1646  */
5047      {
5048    if (conf_parser_ctx.pass == 2)
5049      block_state.flags.value |= SHARED_UNKLINE;
# Line 5052 | Line 5052 | yyreduce:
5052      break;
5053  
5054    case 378:
5055 < #line 2013 "conf_parser.y" /* yacc.c:1646  */
5055 > #line 2016 "conf_parser.y" /* yacc.c:1646  */
5056      {
5057    if (conf_parser_ctx.pass == 2)
5058      block_state.flags.value |= SHARED_DLINE;
# Line 5061 | Line 5061 | yyreduce:
5061      break;
5062  
5063    case 379:
5064 < #line 2017 "conf_parser.y" /* yacc.c:1646  */
5064 > #line 2020 "conf_parser.y" /* yacc.c:1646  */
5065      {
5066    if (conf_parser_ctx.pass == 2)
5067      block_state.flags.value |= SHARED_UNDLINE;
# Line 5070 | Line 5070 | yyreduce:
5070      break;
5071  
5072    case 380:
5073 < #line 2021 "conf_parser.y" /* yacc.c:1646  */
5073 > #line 2024 "conf_parser.y" /* yacc.c:1646  */
5074      {
5075    if (conf_parser_ctx.pass == 2)
5076      block_state.flags.value |= SHARED_XLINE;
# Line 5079 | Line 5079 | yyreduce:
5079      break;
5080  
5081    case 381:
5082 < #line 2025 "conf_parser.y" /* yacc.c:1646  */
5082 > #line 2028 "conf_parser.y" /* yacc.c:1646  */
5083      {
5084    if (conf_parser_ctx.pass == 2)
5085      block_state.flags.value |= SHARED_UNXLINE;
# Line 5088 | Line 5088 | yyreduce:
5088      break;
5089  
5090    case 382:
5091 < #line 2029 "conf_parser.y" /* yacc.c:1646  */
5091 > #line 2032 "conf_parser.y" /* yacc.c:1646  */
5092      {
5093    if (conf_parser_ctx.pass == 2)
5094      block_state.flags.value |= SHARED_RESV;
# Line 5097 | Line 5097 | yyreduce:
5097      break;
5098  
5099    case 383:
5100 < #line 2033 "conf_parser.y" /* yacc.c:1646  */
5100 > #line 2036 "conf_parser.y" /* yacc.c:1646  */
5101      {
5102    if (conf_parser_ctx.pass == 2)
5103      block_state.flags.value |= SHARED_UNRESV;
# Line 5106 | Line 5106 | yyreduce:
5106      break;
5107  
5108    case 384:
5109 < #line 2037 "conf_parser.y" /* yacc.c:1646  */
5109 > #line 2040 "conf_parser.y" /* yacc.c:1646  */
5110      {
5111    if (conf_parser_ctx.pass == 2)
5112      block_state.flags.value |= SHARED_LOCOPS;
# Line 5115 | Line 5115 | yyreduce:
5115      break;
5116  
5117    case 385:
5118 < #line 2041 "conf_parser.y" /* yacc.c:1646  */
5118 > #line 2044 "conf_parser.y" /* yacc.c:1646  */
5119      {
5120    if (conf_parser_ctx.pass == 2)
5121      block_state.flags.value = SHARED_ALL;
# Line 5124 | Line 5124 | yyreduce:
5124      break;
5125  
5126    case 386:
5127 < #line 2050 "conf_parser.y" /* yacc.c:1646  */
5127 > #line 2053 "conf_parser.y" /* yacc.c:1646  */
5128      {
5129  
5130    if (conf_parser_ctx.pass != 2)
# Line 5138 | Line 5138 | yyreduce:
5138      break;
5139  
5140    case 387:
5141 < #line 2059 "conf_parser.y" /* yacc.c:1646  */
5141 > #line 2062 "conf_parser.y" /* yacc.c:1646  */
5142      {
5143    struct MaskItem *conf = NULL;
5144    struct addrinfo hints, *res;
# Line 5204 | Line 5204 | yyreduce:
5204      break;
5205  
5206    case 405:
5207 < #line 2131 "conf_parser.y" /* yacc.c:1646  */
5207 > #line 2134 "conf_parser.y" /* yacc.c:1646  */
5208      {
5209    if (conf_parser_ctx.pass == 2)
5210      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5213 | Line 5213 | yyreduce:
5213      break;
5214  
5215    case 406:
5216 < #line 2137 "conf_parser.y" /* yacc.c:1646  */
5216 > #line 2140 "conf_parser.y" /* yacc.c:1646  */
5217      {
5218    if (conf_parser_ctx.pass == 2)
5219      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
# Line 5222 | Line 5222 | yyreduce:
5222      break;
5223  
5224    case 407:
5225 < #line 2143 "conf_parser.y" /* yacc.c:1646  */
5225 > #line 2146 "conf_parser.y" /* yacc.c:1646  */
5226      {
5227    if (conf_parser_ctx.pass == 2)
5228      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
# Line 5231 | Line 5231 | yyreduce:
5231      break;
5232  
5233    case 408:
5234 < #line 2149 "conf_parser.y" /* yacc.c:1646  */
5234 > #line 2152 "conf_parser.y" /* yacc.c:1646  */
5235      {
5236    if (conf_parser_ctx.pass != 2)
5237      break;
# Line 5247 | Line 5247 | yyreduce:
5247      break;
5248  
5249    case 409:
5250 < #line 2162 "conf_parser.y" /* yacc.c:1646  */
5250 > #line 2165 "conf_parser.y" /* yacc.c:1646  */
5251      {
5252    if (conf_parser_ctx.pass != 2)
5253      break;
# Line 5263 | Line 5263 | yyreduce:
5263      break;
5264  
5265    case 410:
5266 < #line 2175 "conf_parser.y" /* yacc.c:1646  */
5266 > #line 2178 "conf_parser.y" /* yacc.c:1646  */
5267      {
5268    if (conf_parser_ctx.pass == 2)
5269      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
# Line 5272 | Line 5272 | yyreduce:
5272      break;
5273  
5274    case 411:
5275 < #line 2181 "conf_parser.y" /* yacc.c:1646  */
5275 > #line 2184 "conf_parser.y" /* yacc.c:1646  */
5276      {
5277    if (conf_parser_ctx.pass == 2)
5278      block_state.port.value = (yyvsp[-1].number);
# Line 5281 | Line 5281 | yyreduce:
5281      break;
5282  
5283    case 412:
5284 < #line 2187 "conf_parser.y" /* yacc.c:1646  */
5284 > #line 2190 "conf_parser.y" /* yacc.c:1646  */
5285      {
5286    if (conf_parser_ctx.pass == 2)
5287      block_state.aftype.value = AF_INET;
# Line 5290 | Line 5290 | yyreduce:
5290      break;
5291  
5292    case 413:
5293 < #line 2191 "conf_parser.y" /* yacc.c:1646  */
5293 > #line 2194 "conf_parser.y" /* yacc.c:1646  */
5294      {
5295   #ifdef IPV6
5296    if (conf_parser_ctx.pass == 2)
# Line 5301 | Line 5301 | yyreduce:
5301      break;
5302  
5303    case 414:
5304 < #line 2199 "conf_parser.y" /* yacc.c:1646  */
5304 > #line 2202 "conf_parser.y" /* yacc.c:1646  */
5305      {
5306    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5307   }
# Line 5309 | Line 5309 | yyreduce:
5309      break;
5310  
5311    case 418:
5312 < #line 2205 "conf_parser.y" /* yacc.c:1646  */
5312 > #line 2208 "conf_parser.y" /* yacc.c:1646  */
5313      {
5314    if (conf_parser_ctx.pass == 2)
5315      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
# Line 5318 | Line 5318 | yyreduce:
5318      break;
5319  
5320    case 419:
5321 < #line 2209 "conf_parser.y" /* yacc.c:1646  */
5321 > #line 2212 "conf_parser.y" /* yacc.c:1646  */
5322      {
5323    if (conf_parser_ctx.pass == 2)
5324      block_state.flags.value |= CONF_FLAGS_SSL;
# Line 5327 | Line 5327 | yyreduce:
5327      break;
5328  
5329    case 420:
5330 < #line 2215 "conf_parser.y" /* yacc.c:1646  */
5330 > #line 2218 "conf_parser.y" /* yacc.c:1646  */
5331      {
5332    if (conf_parser_ctx.pass == 2)
5333    {
# Line 5341 | Line 5341 | yyreduce:
5341      break;
5342  
5343    case 421:
5344 < #line 2226 "conf_parser.y" /* yacc.c:1646  */
5344 > #line 2229 "conf_parser.y" /* yacc.c:1646  */
5345      {
5346    if (conf_parser_ctx.pass == 2)
5347      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
# Line 5350 | Line 5350 | yyreduce:
5350      break;
5351  
5352    case 422:
5353 < #line 2232 "conf_parser.y" /* yacc.c:1646  */
5353 > #line 2235 "conf_parser.y" /* yacc.c:1646  */
5354      {
5355    if (conf_parser_ctx.pass == 2)
5356      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
# Line 5359 | Line 5359 | yyreduce:
5359      break;
5360  
5361    case 423:
5362 < #line 2238 "conf_parser.y" /* yacc.c:1646  */
5362 > #line 2241 "conf_parser.y" /* yacc.c:1646  */
5363      {
5364    if (conf_parser_ctx.pass == 2)
5365      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 5368 | Line 5368 | yyreduce:
5368      break;
5369  
5370    case 424:
5371 < #line 2244 "conf_parser.y" /* yacc.c:1646  */
5371 > #line 2247 "conf_parser.y" /* yacc.c:1646  */
5372      {
5373   #ifdef HAVE_LIBCRYPTO
5374    if (conf_parser_ctx.pass == 2)
# Line 5382 | Line 5382 | yyreduce:
5382      break;
5383  
5384    case 425:
5385 < #line 2259 "conf_parser.y" /* yacc.c:1646  */
5385 > #line 2262 "conf_parser.y" /* yacc.c:1646  */
5386      {
5387    if (conf_parser_ctx.pass == 2)
5388      reset_block_state();
# Line 5391 | Line 5391 | yyreduce:
5391      break;
5392  
5393    case 426:
5394 < #line 2263 "conf_parser.y" /* yacc.c:1646  */
5394 > #line 2266 "conf_parser.y" /* yacc.c:1646  */
5395      {
5396    struct MaskItem *conf = NULL;
5397  
# Line 5416 | Line 5416 | yyreduce:
5416      break;
5417  
5418    case 432:
5419 < #line 2288 "conf_parser.y" /* yacc.c:1646  */
5419 > #line 2291 "conf_parser.y" /* yacc.c:1646  */
5420      {
5421  
5422    if (conf_parser_ctx.pass == 2)
# Line 5439 | Line 5439 | yyreduce:
5439      break;
5440  
5441    case 433:
5442 < #line 2308 "conf_parser.y" /* yacc.c:1646  */
5442 > #line 2311 "conf_parser.y" /* yacc.c:1646  */
5443      {
5444    if (conf_parser_ctx.pass == 2)
5445      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 5448 | Line 5448 | yyreduce:
5448      break;
5449  
5450    case 434:
5451 < #line 2317 "conf_parser.y" /* yacc.c:1646  */
5451 > #line 2320 "conf_parser.y" /* yacc.c:1646  */
5452      {
5453    if (conf_parser_ctx.pass == 2)
5454      reset_block_state();
# Line 5457 | Line 5457 | yyreduce:
5457      break;
5458  
5459    case 435:
5460 < #line 2321 "conf_parser.y" /* yacc.c:1646  */
5460 > #line 2324 "conf_parser.y" /* yacc.c:1646  */
5461      {
5462    struct MaskItem *conf = NULL;
5463  
# Line 5483 | Line 5483 | yyreduce:
5483      break;
5484  
5485    case 441:
5486 < #line 2347 "conf_parser.y" /* yacc.c:1646  */
5486 > #line 2350 "conf_parser.y" /* yacc.c:1646  */
5487      {
5488    if (conf_parser_ctx.pass == 2)
5489      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 5492 | Line 5492 | yyreduce:
5492      break;
5493  
5494    case 442:
5495 < #line 2353 "conf_parser.y" /* yacc.c:1646  */
5495 > #line 2356 "conf_parser.y" /* yacc.c:1646  */
5496      {
5497    if (conf_parser_ctx.pass == 2)
5498      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 5501 | Line 5501 | yyreduce:
5501      break;
5502  
5503    case 448:
5504 < #line 2367 "conf_parser.y" /* yacc.c:1646  */
5504 > #line 2370 "conf_parser.y" /* yacc.c:1646  */
5505      {
5506    if (conf_parser_ctx.pass == 2)
5507    {
# Line 5518 | Line 5518 | yyreduce:
5518      break;
5519  
5520    case 449:
5521 < #line 2384 "conf_parser.y" /* yacc.c:1646  */
5521 > #line 2387 "conf_parser.y" /* yacc.c:1646  */
5522      {
5523    if (conf_parser_ctx.pass == 2)
5524      reset_block_state();
# Line 5527 | Line 5527 | yyreduce:
5527      break;
5528  
5529    case 450:
5530 < #line 2388 "conf_parser.y" /* yacc.c:1646  */
5530 > #line 2391 "conf_parser.y" /* yacc.c:1646  */
5531      {
5532    struct MaskItem *conf = NULL;
5533  
# Line 5549 | Line 5549 | yyreduce:
5549      break;
5550  
5551    case 456:
5552 < #line 2410 "conf_parser.y" /* yacc.c:1646  */
5552 > #line 2413 "conf_parser.y" /* yacc.c:1646  */
5553      {
5554    if (conf_parser_ctx.pass == 2)
5555      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5558 | Line 5558 | yyreduce:
5558      break;
5559  
5560    case 457:
5561 < #line 2416 "conf_parser.y" /* yacc.c:1646  */
5561 > #line 2419 "conf_parser.y" /* yacc.c:1646  */
5562      {
5563    if (conf_parser_ctx.pass == 2)
5564      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 5567 | Line 5567 | yyreduce:
5567      break;
5568  
5569    case 511:
5570 < #line 2461 "conf_parser.y" /* yacc.c:1646  */
5570 > #line 2464 "conf_parser.y" /* yacc.c:1646  */
5571      {
5572    ConfigFileEntry.max_watch = (yyvsp[-1].number);
5573   }
# Line 5575 | Line 5575 | yyreduce:
5575      break;
5576  
5577    case 512:
5578 < #line 2466 "conf_parser.y" /* yacc.c:1646  */
5578 > #line 2469 "conf_parser.y" /* yacc.c:1646  */
5579      {
5580    if (conf_parser_ctx.pass == 2)
5581      ConfigFileEntry.cycle_on_host_change = yylval.number;
# Line 5584 | Line 5584 | yyreduce:
5584      break;
5585  
5586    case 513:
5587 < #line 2472 "conf_parser.y" /* yacc.c:1646  */
5587 > #line 2475 "conf_parser.y" /* yacc.c:1646  */
5588      {
5589    if (conf_parser_ctx.pass == 2)
5590      ConfigFileEntry.glines = yylval.number;
# Line 5593 | Line 5593 | yyreduce:
5593      break;
5594  
5595    case 514:
5596 < #line 2478 "conf_parser.y" /* yacc.c:1646  */
5596 > #line 2481 "conf_parser.y" /* yacc.c:1646  */
5597      {
5598    if (conf_parser_ctx.pass == 2)
5599      ConfigFileEntry.gline_time = (yyvsp[-1].number);
# Line 5602 | Line 5602 | yyreduce:
5602      break;
5603  
5604    case 515:
5605 < #line 2484 "conf_parser.y" /* yacc.c:1646  */
5605 > #line 2487 "conf_parser.y" /* yacc.c:1646  */
5606      {
5607    if (conf_parser_ctx.pass == 2)
5608      ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
# Line 5611 | Line 5611 | yyreduce:
5611      break;
5612  
5613    case 516:
5614 < #line 2490 "conf_parser.y" /* yacc.c:1646  */
5614 > #line 2493 "conf_parser.y" /* yacc.c:1646  */
5615      {
5616    ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5617   }
# Line 5619 | Line 5619 | yyreduce:
5619      break;
5620  
5621    case 517:
5622 < #line 2495 "conf_parser.y" /* yacc.c:1646  */
5622 > #line 2498 "conf_parser.y" /* yacc.c:1646  */
5623      {
5624    ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5625   }
# Line 5627 | Line 5627 | yyreduce:
5627      break;
5628  
5629    case 518:
5630 < #line 2500 "conf_parser.y" /* yacc.c:1646  */
5630 > #line 2503 "conf_parser.y" /* yacc.c:1646  */
5631      {
5632    ConfigFileEntry.tkline_expire_notices = yylval.number;
5633   }
# Line 5635 | Line 5635 | yyreduce:
5635      break;
5636  
5637    case 519:
5638 < #line 2505 "conf_parser.y" /* yacc.c:1646  */
5638 > #line 2508 "conf_parser.y" /* yacc.c:1646  */
5639      {
5640    ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5641   }
# Line 5643 | Line 5643 | yyreduce:
5643      break;
5644  
5645    case 520:
5646 < #line 2510 "conf_parser.y" /* yacc.c:1646  */
5646 > #line 2513 "conf_parser.y" /* yacc.c:1646  */
5647      {
5648    ConfigFileEntry.hide_spoof_ips = yylval.number;
5649   }
# Line 5651 | Line 5651 | yyreduce:
5651      break;
5652  
5653    case 521:
5654 < #line 2515 "conf_parser.y" /* yacc.c:1646  */
5654 > #line 2518 "conf_parser.y" /* yacc.c:1646  */
5655      {
5656    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5657   }
# Line 5659 | Line 5659 | yyreduce:
5659      break;
5660  
5661    case 522:
5662 < #line 2520 "conf_parser.y" /* yacc.c:1646  */
5662 > #line 2523 "conf_parser.y" /* yacc.c:1646  */
5663      {
5664    ConfigFileEntry.failed_oper_notice = yylval.number;
5665   }
# Line 5667 | Line 5667 | yyreduce:
5667      break;
5668  
5669    case 523:
5670 < #line 2525 "conf_parser.y" /* yacc.c:1646  */
5670 > #line 2528 "conf_parser.y" /* yacc.c:1646  */
5671      {
5672    ConfigFileEntry.anti_nick_flood = yylval.number;
5673   }
# Line 5675 | Line 5675 | yyreduce:
5675      break;
5676  
5677    case 524:
5678 < #line 2530 "conf_parser.y" /* yacc.c:1646  */
5678 > #line 2533 "conf_parser.y" /* yacc.c:1646  */
5679      {
5680 <  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5680 >  ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5681   }
5682   #line 5683 "conf_parser.c" /* yacc.c:1646  */
5683      break;
5684  
5685    case 525:
5686 < #line 2535 "conf_parser.y" /* yacc.c:1646  */
5686 > #line 2538 "conf_parser.y" /* yacc.c:1646  */
5687      {
5688    ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5689   }
# Line 5691 | Line 5691 | yyreduce:
5691      break;
5692  
5693    case 526:
5694 < #line 2540 "conf_parser.y" /* yacc.c:1646  */
5694 > #line 2543 "conf_parser.y" /* yacc.c:1646  */
5695      {
5696    ConfigFileEntry.max_accept = (yyvsp[-1].number);
5697   }
# Line 5699 | Line 5699 | yyreduce:
5699      break;
5700  
5701    case 527:
5702 < #line 2545 "conf_parser.y" /* yacc.c:1646  */
5702 > #line 2548 "conf_parser.y" /* yacc.c:1646  */
5703      {
5704    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5705   }
# Line 5707 | Line 5707 | yyreduce:
5707      break;
5708  
5709    case 528:
5710 < #line 2550 "conf_parser.y" /* yacc.c:1646  */
5710 > #line 2553 "conf_parser.y" /* yacc.c:1646  */
5711      {
5712    ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5713   }
# Line 5715 | Line 5715 | yyreduce:
5715      break;
5716  
5717    case 529:
5718 < #line 2555 "conf_parser.y" /* yacc.c:1646  */
5718 > #line 2558 "conf_parser.y" /* yacc.c:1646  */
5719      {
5720    if (conf_parser_ctx.pass == 2)
5721      ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
# Line 5724 | Line 5724 | yyreduce:
5724      break;
5725  
5726    case 530:
5727 < #line 2561 "conf_parser.y" /* yacc.c:1646  */
5727 > #line 2564 "conf_parser.y" /* yacc.c:1646  */
5728      {
5729    if (((yyvsp[-1].number) > 0) && conf_parser_ctx.pass == 1)
5730    {
# Line 5738 | Line 5738 | yyreduce:
5738      break;
5739  
5740    case 531:
5741 < #line 2572 "conf_parser.y" /* yacc.c:1646  */
5741 > #line 2575 "conf_parser.y" /* yacc.c:1646  */
5742      {
5743    ConfigFileEntry.invisible_on_connect = yylval.number;
5744   }
# Line 5746 | Line 5746 | yyreduce:
5746      break;
5747  
5748    case 532:
5749 < #line 2577 "conf_parser.y" /* yacc.c:1646  */
5749 > #line 2580 "conf_parser.y" /* yacc.c:1646  */
5750      {
5751    ConfigFileEntry.warn_no_nline = yylval.number;
5752   }
# Line 5754 | Line 5754 | yyreduce:
5754      break;
5755  
5756    case 533:
5757 < #line 2582 "conf_parser.y" /* yacc.c:1646  */
5757 > #line 2585 "conf_parser.y" /* yacc.c:1646  */
5758      {
5759    ConfigFileEntry.stats_e_disabled = yylval.number;
5760   }
# Line 5762 | Line 5762 | yyreduce:
5762      break;
5763  
5764    case 534:
5765 < #line 2587 "conf_parser.y" /* yacc.c:1646  */
5765 > #line 2590 "conf_parser.y" /* yacc.c:1646  */
5766      {
5767    ConfigFileEntry.stats_o_oper_only = yylval.number;
5768   }
# Line 5770 | Line 5770 | yyreduce:
5770      break;
5771  
5772    case 535:
5773 < #line 2592 "conf_parser.y" /* yacc.c:1646  */
5773 > #line 2595 "conf_parser.y" /* yacc.c:1646  */
5774      {
5775    ConfigFileEntry.stats_P_oper_only = yylval.number;
5776   }
# Line 5778 | Line 5778 | yyreduce:
5778      break;
5779  
5780    case 536:
5781 < #line 2597 "conf_parser.y" /* yacc.c:1646  */
5781 > #line 2600 "conf_parser.y" /* yacc.c:1646  */
5782      {
5783    ConfigFileEntry.stats_u_oper_only = yylval.number;
5784   }
# Line 5786 | Line 5786 | yyreduce:
5786      break;
5787  
5788    case 537:
5789 < #line 2602 "conf_parser.y" /* yacc.c:1646  */
5789 > #line 2605 "conf_parser.y" /* yacc.c:1646  */
5790      {
5791    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5792   }
# Line 5794 | Line 5794 | yyreduce:
5794      break;
5795  
5796    case 538:
5797 < #line 2605 "conf_parser.y" /* yacc.c:1646  */
5797 > #line 2608 "conf_parser.y" /* yacc.c:1646  */
5798      {
5799    ConfigFileEntry.stats_k_oper_only = 1;
5800   }
# Line 5802 | Line 5802 | yyreduce:
5802      break;
5803  
5804    case 539:
5805 < #line 2610 "conf_parser.y" /* yacc.c:1646  */
5805 > #line 2613 "conf_parser.y" /* yacc.c:1646  */
5806      {
5807    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5808   }
# Line 5810 | Line 5810 | yyreduce:
5810      break;
5811  
5812    case 540:
5813 < #line 2613 "conf_parser.y" /* yacc.c:1646  */
5813 > #line 2616 "conf_parser.y" /* yacc.c:1646  */
5814      {
5815    ConfigFileEntry.stats_i_oper_only = 1;
5816   }
# Line 5818 | Line 5818 | yyreduce:
5818      break;
5819  
5820    case 541:
5821 < #line 2618 "conf_parser.y" /* yacc.c:1646  */
5821 > #line 2621 "conf_parser.y" /* yacc.c:1646  */
5822      {
5823    ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5824   }
# Line 5826 | Line 5826 | yyreduce:
5826      break;
5827  
5828    case 542:
5829 < #line 2623 "conf_parser.y" /* yacc.c:1646  */
5829 > #line 2626 "conf_parser.y" /* yacc.c:1646  */
5830      {
5831    ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5832   }
# Line 5834 | Line 5834 | yyreduce:
5834      break;
5835  
5836    case 543:
5837 < #line 2628 "conf_parser.y" /* yacc.c:1646  */
5837 > #line 2631 "conf_parser.y" /* yacc.c:1646  */
5838      {
5839    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5840   }
# Line 5842 | Line 5842 | yyreduce:
5842      break;
5843  
5844    case 544:
5845 < #line 2633 "conf_parser.y" /* yacc.c:1646  */
5845 > #line 2636 "conf_parser.y" /* yacc.c:1646  */
5846      {
5847    ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5848   }
# Line 5850 | Line 5850 | yyreduce:
5850      break;
5851  
5852    case 545:
5853 < #line 2638 "conf_parser.y" /* yacc.c:1646  */
5853 > #line 2641 "conf_parser.y" /* yacc.c:1646  */
5854      {
5855    ConfigFileEntry.short_motd = yylval.number;
5856   }
# Line 5858 | Line 5858 | yyreduce:
5858      break;
5859  
5860    case 546:
5861 < #line 2643 "conf_parser.y" /* yacc.c:1646  */
5861 > #line 2646 "conf_parser.y" /* yacc.c:1646  */
5862      {
5863    ConfigFileEntry.no_oper_flood = yylval.number;
5864   }
# Line 5866 | Line 5866 | yyreduce:
5866      break;
5867  
5868    case 547:
5869 < #line 2648 "conf_parser.y" /* yacc.c:1646  */
5869 > #line 2651 "conf_parser.y" /* yacc.c:1646  */
5870      {
5871    ConfigFileEntry.true_no_oper_flood = yylval.number;
5872   }
# Line 5874 | Line 5874 | yyreduce:
5874      break;
5875  
5876    case 548:
5877 < #line 2653 "conf_parser.y" /* yacc.c:1646  */
5877 > #line 2656 "conf_parser.y" /* yacc.c:1646  */
5878      {
5879    ConfigFileEntry.oper_pass_resv = yylval.number;
5880   }
# Line 5882 | Line 5882 | yyreduce:
5882      break;
5883  
5884    case 549:
5885 < #line 2658 "conf_parser.y" /* yacc.c:1646  */
5885 > #line 2661 "conf_parser.y" /* yacc.c:1646  */
5886      {
5887    ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5888   }
# Line 5890 | Line 5890 | yyreduce:
5890      break;
5891  
5892    case 550:
5893 < #line 2663 "conf_parser.y" /* yacc.c:1646  */
5893 > #line 2666 "conf_parser.y" /* yacc.c:1646  */
5894      {
5895    ConfigFileEntry.max_targets = (yyvsp[-1].number);
5896   }
# Line 5898 | Line 5898 | yyreduce:
5898      break;
5899  
5900    case 551:
5901 < #line 2668 "conf_parser.y" /* yacc.c:1646  */
5901 > #line 2671 "conf_parser.y" /* yacc.c:1646  */
5902      {
5903    ConfigFileEntry.use_egd = yylval.number;
5904   }
# Line 5906 | Line 5906 | yyreduce:
5906      break;
5907  
5908    case 552:
5909 < #line 2673 "conf_parser.y" /* yacc.c:1646  */
5909 > #line 2676 "conf_parser.y" /* yacc.c:1646  */
5910      {
5911    if (conf_parser_ctx.pass == 2)
5912    {
# Line 5918 | Line 5918 | yyreduce:
5918      break;
5919  
5920    case 553:
5921 < #line 2682 "conf_parser.y" /* yacc.c:1646  */
5921 > #line 2685 "conf_parser.y" /* yacc.c:1646  */
5922      {
5923    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
5924    {
# Line 5930 | Line 5930 | yyreduce:
5930      break;
5931  
5932    case 554:
5933 < #line 2691 "conf_parser.y" /* yacc.c:1646  */
5933 > #line 2694 "conf_parser.y" /* yacc.c:1646  */
5934      {
5935    ConfigFileEntry.ping_cookie = yylval.number;
5936   }
# Line 5938 | Line 5938 | yyreduce:
5938      break;
5939  
5940    case 555:
5941 < #line 2696 "conf_parser.y" /* yacc.c:1646  */
5941 > #line 2699 "conf_parser.y" /* yacc.c:1646  */
5942      {
5943    ConfigFileEntry.disable_auth = yylval.number;
5944   }
# Line 5946 | Line 5946 | yyreduce:
5946      break;
5947  
5948    case 556:
5949 < #line 2701 "conf_parser.y" /* yacc.c:1646  */
5949 > #line 2704 "conf_parser.y" /* yacc.c:1646  */
5950      {
5951    ConfigFileEntry.throttle_time = yylval.number;
5952   }
# Line 5954 | Line 5954 | yyreduce:
5954      break;
5955  
5956    case 557:
5957 < #line 2706 "conf_parser.y" /* yacc.c:1646  */
5957 > #line 2709 "conf_parser.y" /* yacc.c:1646  */
5958      {
5959    ConfigFileEntry.oper_umodes = 0;
5960   }
# Line 5962 | Line 5962 | yyreduce:
5962      break;
5963  
5964    case 561:
5965 < #line 2712 "conf_parser.y" /* yacc.c:1646  */
5965 > #line 2715 "conf_parser.y" /* yacc.c:1646  */
5966      {
5967    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5968   }
# Line 5970 | Line 5970 | yyreduce:
5970      break;
5971  
5972    case 562:
5973 < #line 2715 "conf_parser.y" /* yacc.c:1646  */
5973 > #line 2718 "conf_parser.y" /* yacc.c:1646  */
5974      {
5975    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5976   }
# Line 5978 | Line 5978 | yyreduce:
5978      break;
5979  
5980    case 563:
5981 < #line 2718 "conf_parser.y" /* yacc.c:1646  */
5981 > #line 2721 "conf_parser.y" /* yacc.c:1646  */
5982      {
5983    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
5984   }
# Line 5986 | Line 5986 | yyreduce:
5986      break;
5987  
5988    case 564:
5989 < #line 2721 "conf_parser.y" /* yacc.c:1646  */
5989 > #line 2724 "conf_parser.y" /* yacc.c:1646  */
5990      {
5991    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
5992   }
# Line 5994 | Line 5994 | yyreduce:
5994      break;
5995  
5996    case 565:
5997 < #line 2724 "conf_parser.y" /* yacc.c:1646  */
5997 > #line 2727 "conf_parser.y" /* yacc.c:1646  */
5998      {
5999    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6000   }
# Line 6002 | Line 6002 | yyreduce:
6002      break;
6003  
6004    case 566:
6005 < #line 2727 "conf_parser.y" /* yacc.c:1646  */
6005 > #line 2730 "conf_parser.y" /* yacc.c:1646  */
6006      {
6007    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6008   }
# Line 6010 | Line 6010 | yyreduce:
6010      break;
6011  
6012    case 567:
6013 < #line 2730 "conf_parser.y" /* yacc.c:1646  */
6013 > #line 2733 "conf_parser.y" /* yacc.c:1646  */
6014      {
6015    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6016   }
# Line 6018 | Line 6018 | yyreduce:
6018      break;
6019  
6020    case 568:
6021 < #line 2733 "conf_parser.y" /* yacc.c:1646  */
6021 > #line 2736 "conf_parser.y" /* yacc.c:1646  */
6022      {
6023    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6024   }
# Line 6026 | Line 6026 | yyreduce:
6026      break;
6027  
6028    case 569:
6029 < #line 2736 "conf_parser.y" /* yacc.c:1646  */
6029 > #line 2739 "conf_parser.y" /* yacc.c:1646  */
6030      {
6031    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6032   }
# Line 6034 | Line 6034 | yyreduce:
6034      break;
6035  
6036    case 570:
6037 < #line 2739 "conf_parser.y" /* yacc.c:1646  */
6037 > #line 2742 "conf_parser.y" /* yacc.c:1646  */
6038      {
6039    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6040   }
# Line 6042 | Line 6042 | yyreduce:
6042      break;
6043  
6044    case 571:
6045 < #line 2742 "conf_parser.y" /* yacc.c:1646  */
6045 > #line 2745 "conf_parser.y" /* yacc.c:1646  */
6046      {
6047    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6048   }
# Line 6050 | Line 6050 | yyreduce:
6050      break;
6051  
6052    case 572:
6053 < #line 2745 "conf_parser.y" /* yacc.c:1646  */
6053 > #line 2748 "conf_parser.y" /* yacc.c:1646  */
6054      {
6055    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6056   }
# Line 6058 | Line 6058 | yyreduce:
6058      break;
6059  
6060    case 573:
6061 < #line 2748 "conf_parser.y" /* yacc.c:1646  */
6061 > #line 2751 "conf_parser.y" /* yacc.c:1646  */
6062      {
6063    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6064   }
# Line 6066 | Line 6066 | yyreduce:
6066      break;
6067  
6068    case 574:
6069 < #line 2751 "conf_parser.y" /* yacc.c:1646  */
6069 > #line 2754 "conf_parser.y" /* yacc.c:1646  */
6070      {
6071    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6072   }
# Line 6074 | Line 6074 | yyreduce:
6074      break;
6075  
6076    case 575:
6077 < #line 2754 "conf_parser.y" /* yacc.c:1646  */
6077 > #line 2757 "conf_parser.y" /* yacc.c:1646  */
6078      {
6079    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6080   }
# Line 6082 | Line 6082 | yyreduce:
6082      break;
6083  
6084    case 576:
6085 < #line 2757 "conf_parser.y" /* yacc.c:1646  */
6085 > #line 2760 "conf_parser.y" /* yacc.c:1646  */
6086      {
6087    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6088   }
# Line 6090 | Line 6090 | yyreduce:
6090      break;
6091  
6092    case 577:
6093 < #line 2760 "conf_parser.y" /* yacc.c:1646  */
6093 > #line 2763 "conf_parser.y" /* yacc.c:1646  */
6094      {
6095    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6096   }
# Line 6098 | Line 6098 | yyreduce:
6098      break;
6099  
6100    case 578:
6101 < #line 2763 "conf_parser.y" /* yacc.c:1646  */
6101 > #line 2766 "conf_parser.y" /* yacc.c:1646  */
6102      {
6103    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6104   }
# Line 6106 | Line 6106 | yyreduce:
6106      break;
6107  
6108    case 579:
6109 < #line 2766 "conf_parser.y" /* yacc.c:1646  */
6109 > #line 2769 "conf_parser.y" /* yacc.c:1646  */
6110      {
6111    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6112   }
# Line 6114 | Line 6114 | yyreduce:
6114      break;
6115  
6116    case 580:
6117 < #line 2769 "conf_parser.y" /* yacc.c:1646  */
6117 > #line 2772 "conf_parser.y" /* yacc.c:1646  */
6118      {
6119    ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6120   }
# Line 6122 | Line 6122 | yyreduce:
6122      break;
6123  
6124    case 581:
6125 < #line 2772 "conf_parser.y" /* yacc.c:1646  */
6125 > #line 2775 "conf_parser.y" /* yacc.c:1646  */
6126      {
6127    ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6128   }
# Line 6130 | Line 6130 | yyreduce:
6130      break;
6131  
6132    case 582:
6133 < #line 2777 "conf_parser.y" /* yacc.c:1646  */
6133 > #line 2780 "conf_parser.y" /* yacc.c:1646  */
6134      {
6135    ConfigFileEntry.oper_only_umodes = 0;
6136   }
# Line 6138 | Line 6138 | yyreduce:
6138      break;
6139  
6140    case 586:
6141 < #line 2783 "conf_parser.y" /* yacc.c:1646  */
6141 > #line 2786 "conf_parser.y" /* yacc.c:1646  */
6142      {
6143    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6144   }
# Line 6146 | Line 6146 | yyreduce:
6146      break;
6147  
6148    case 587:
6149 < #line 2786 "conf_parser.y" /* yacc.c:1646  */
6149 > #line 2789 "conf_parser.y" /* yacc.c:1646  */
6150      {
6151    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6152   }
# Line 6154 | Line 6154 | yyreduce:
6154      break;
6155  
6156    case 588:
6157 < #line 2789 "conf_parser.y" /* yacc.c:1646  */
6157 > #line 2792 "conf_parser.y" /* yacc.c:1646  */
6158      {
6159    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6160   }
# Line 6162 | Line 6162 | yyreduce:
6162      break;
6163  
6164    case 589:
6165 < #line 2792 "conf_parser.y" /* yacc.c:1646  */
6165 > #line 2795 "conf_parser.y" /* yacc.c:1646  */
6166      {
6167    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6168   }
# Line 6170 | Line 6170 | yyreduce:
6170      break;
6171  
6172    case 590:
6173 < #line 2795 "conf_parser.y" /* yacc.c:1646  */
6174 <    {
6173 > #line 2798 "conf_parser.y" /* yacc.c:1646  */
6174 >    {
6175    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6176   }
6177   #line 6178 "conf_parser.c" /* yacc.c:1646  */
6178      break;
6179  
6180    case 591:
6181 < #line 2798 "conf_parser.y" /* yacc.c:1646  */
6181 > #line 2801 "conf_parser.y" /* yacc.c:1646  */
6182      {
6183    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6184   }
# Line 6186 | Line 6186 | yyreduce:
6186      break;
6187  
6188    case 592:
6189 < #line 2801 "conf_parser.y" /* yacc.c:1646  */
6189 > #line 2804 "conf_parser.y" /* yacc.c:1646  */
6190      {
6191    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6192   }
# Line 6194 | Line 6194 | yyreduce:
6194      break;
6195  
6196    case 593:
6197 < #line 2804 "conf_parser.y" /* yacc.c:1646  */
6197 > #line 2807 "conf_parser.y" /* yacc.c:1646  */
6198      {
6199    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6200   }
# Line 6202 | Line 6202 | yyreduce:
6202      break;
6203  
6204    case 594:
6205 < #line 2807 "conf_parser.y" /* yacc.c:1646  */
6205 > #line 2810 "conf_parser.y" /* yacc.c:1646  */
6206      {
6207    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6208   }
# Line 6210 | Line 6210 | yyreduce:
6210      break;
6211  
6212    case 595:
6213 < #line 2810 "conf_parser.y" /* yacc.c:1646  */
6213 > #line 2813 "conf_parser.y" /* yacc.c:1646  */
6214      {
6215    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6216   }
# Line 6218 | Line 6218 | yyreduce:
6218      break;
6219  
6220    case 596:
6221 < #line 2813 "conf_parser.y" /* yacc.c:1646  */
6221 > #line 2816 "conf_parser.y" /* yacc.c:1646  */
6222      {
6223    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6224   }
# Line 6226 | Line 6226 | yyreduce:
6226      break;
6227  
6228    case 597:
6229 < #line 2816 "conf_parser.y" /* yacc.c:1646  */
6229 > #line 2819 "conf_parser.y" /* yacc.c:1646  */
6230      {
6231    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6232   }
# Line 6234 | Line 6234 | yyreduce:
6234      break;
6235  
6236    case 598:
6237 < #line 2819 "conf_parser.y" /* yacc.c:1646  */
6237 > #line 2822 "conf_parser.y" /* yacc.c:1646  */
6238      {
6239    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6240   }
# Line 6242 | Line 6242 | yyreduce:
6242      break;
6243  
6244    case 599:
6245 < #line 2822 "conf_parser.y" /* yacc.c:1646  */
6245 > #line 2825 "conf_parser.y" /* yacc.c:1646  */
6246      {
6247    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6248   }
# Line 6250 | Line 6250 | yyreduce:
6250      break;
6251  
6252    case 600:
6253 < #line 2825 "conf_parser.y" /* yacc.c:1646  */
6253 > #line 2828 "conf_parser.y" /* yacc.c:1646  */
6254      {
6255    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6256   }
# Line 6258 | Line 6258 | yyreduce:
6258      break;
6259  
6260    case 601:
6261 < #line 2828 "conf_parser.y" /* yacc.c:1646  */
6261 > #line 2831 "conf_parser.y" /* yacc.c:1646  */
6262      {
6263    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6264   }
# Line 6266 | Line 6266 | yyreduce:
6266      break;
6267  
6268    case 602:
6269 < #line 2831 "conf_parser.y" /* yacc.c:1646  */
6269 > #line 2834 "conf_parser.y" /* yacc.c:1646  */
6270      {
6271    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6272   }
# Line 6274 | Line 6274 | yyreduce:
6274      break;
6275  
6276    case 603:
6277 < #line 2834 "conf_parser.y" /* yacc.c:1646  */
6277 > #line 2837 "conf_parser.y" /* yacc.c:1646  */
6278      {
6279    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6280   }
# Line 6282 | Line 6282 | yyreduce:
6282      break;
6283  
6284    case 604:
6285 < #line 2837 "conf_parser.y" /* yacc.c:1646  */
6285 > #line 2840 "conf_parser.y" /* yacc.c:1646  */
6286      {
6287    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6288   }
# Line 6290 | Line 6290 | yyreduce:
6290      break;
6291  
6292    case 605:
6293 < #line 2840 "conf_parser.y" /* yacc.c:1646  */
6293 > #line 2843 "conf_parser.y" /* yacc.c:1646  */
6294      {
6295    ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6296   }
# Line 6298 | Line 6298 | yyreduce:
6298      break;
6299  
6300    case 606:
6301 < #line 2843 "conf_parser.y" /* yacc.c:1646  */
6301 > #line 2846 "conf_parser.y" /* yacc.c:1646  */
6302      {
6303    ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6304   }
# Line 6306 | Line 6306 | yyreduce:
6306      break;
6307  
6308    case 607:
6309 < #line 2848 "conf_parser.y" /* yacc.c:1646  */
6309 > #line 2851 "conf_parser.y" /* yacc.c:1646  */
6310      {
6311    ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6312   }
# Line 6314 | Line 6314 | yyreduce:
6314      break;
6315  
6316    case 608:
6317 < #line 2853 "conf_parser.y" /* yacc.c:1646  */
6317 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6318      {
6319    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6320   }
# Line 6322 | Line 6322 | yyreduce:
6322      break;
6323  
6324    case 609:
6325 < #line 2858 "conf_parser.y" /* yacc.c:1646  */
6325 > #line 2861 "conf_parser.y" /* yacc.c:1646  */
6326      {
6327    ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6328   }
# Line 6330 | Line 6330 | yyreduce:
6330      break;
6331  
6332    case 626:
6333 < #line 2881 "conf_parser.y" /* yacc.c:1646  */
6333 > #line 2884 "conf_parser.y" /* yacc.c:1646  */
6334      {
6335    ConfigChannel.disable_fake_channels = yylval.number;
6336   }
# Line 6338 | Line 6338 | yyreduce:
6338      break;
6339  
6340    case 627:
6341 < #line 2886 "conf_parser.y" /* yacc.c:1646  */
6341 > #line 2889 "conf_parser.y" /* yacc.c:1646  */
6342      {
6343    ConfigChannel.knock_delay = (yyvsp[-1].number);
6344   }
# Line 6346 | Line 6346 | yyreduce:
6346      break;
6347  
6348    case 628:
6349 < #line 2891 "conf_parser.y" /* yacc.c:1646  */
6349 > #line 2894 "conf_parser.y" /* yacc.c:1646  */
6350      {
6351    ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6352   }
# Line 6354 | Line 6354 | yyreduce:
6354      break;
6355  
6356    case 629:
6357 < #line 2896 "conf_parser.y" /* yacc.c:1646  */
6357 > #line 2899 "conf_parser.y" /* yacc.c:1646  */
6358      {
6359    ConfigChannel.max_chans_per_user = (yyvsp[-1].number);
6360   }
# Line 6362 | Line 6362 | yyreduce:
6362      break;
6363  
6364    case 630:
6365 < #line 2901 "conf_parser.y" /* yacc.c:1646  */
6365 > #line 2904 "conf_parser.y" /* yacc.c:1646  */
6366      {
6367    ConfigChannel.max_chans_per_oper = (yyvsp[-1].number);
6368   }
# Line 6370 | Line 6370 | yyreduce:
6370      break;
6371  
6372    case 631:
6373 < #line 2906 "conf_parser.y" /* yacc.c:1646  */
6373 > #line 2909 "conf_parser.y" /* yacc.c:1646  */
6374      {
6375    ConfigChannel.max_bans = (yyvsp[-1].number);
6376   }
# Line 6378 | Line 6378 | yyreduce:
6378      break;
6379  
6380    case 632:
6381 < #line 2911 "conf_parser.y" /* yacc.c:1646  */
6381 > #line 2914 "conf_parser.y" /* yacc.c:1646  */
6382      {
6383    ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6384   }
# Line 6386 | Line 6386 | yyreduce:
6386      break;
6387  
6388    case 633:
6389 < #line 2916 "conf_parser.y" /* yacc.c:1646  */
6389 > #line 2919 "conf_parser.y" /* yacc.c:1646  */
6390      {
6391    ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6392   }
# Line 6394 | Line 6394 | yyreduce:
6394      break;
6395  
6396    case 634:
6397 < #line 2921 "conf_parser.y" /* yacc.c:1646  */
6397 > #line 2924 "conf_parser.y" /* yacc.c:1646  */
6398      {
6399    ConfigChannel.no_create_on_split = yylval.number;
6400   }
# Line 6402 | Line 6402 | yyreduce:
6402      break;
6403  
6404    case 635:
6405 < #line 2926 "conf_parser.y" /* yacc.c:1646  */
6405 > #line 2929 "conf_parser.y" /* yacc.c:1646  */
6406      {
6407    ConfigChannel.no_join_on_split = yylval.number;
6408   }
# Line 6410 | Line 6410 | yyreduce:
6410      break;
6411  
6412    case 636:
6413 < #line 2931 "conf_parser.y" /* yacc.c:1646  */
6413 > #line 2934 "conf_parser.y" /* yacc.c:1646  */
6414      {
6415    GlobalSetOptions.joinfloodcount = yylval.number;
6416   }
# Line 6418 | Line 6418 | yyreduce:
6418      break;
6419  
6420    case 637:
6421 < #line 2936 "conf_parser.y" /* yacc.c:1646  */
6421 > #line 2939 "conf_parser.y" /* yacc.c:1646  */
6422      {
6423    GlobalSetOptions.joinfloodtime = yylval.number;
6424   }
# Line 6426 | Line 6426 | yyreduce:
6426      break;
6427  
6428    case 650:
6429 < #line 2956 "conf_parser.y" /* yacc.c:1646  */
6429 > #line 2959 "conf_parser.y" /* yacc.c:1646  */
6430      {
6431    if (conf_parser_ctx.pass == 2)
6432      ConfigServerHide.flatten_links = yylval.number;
# Line 6435 | Line 6435 | yyreduce:
6435      break;
6436  
6437    case 651:
6438 < #line 2962 "conf_parser.y" /* yacc.c:1646  */
6438 > #line 2965 "conf_parser.y" /* yacc.c:1646  */
6439      {
6440    if (conf_parser_ctx.pass == 2)
6441      ConfigServerHide.disable_remote_commands = yylval.number;
# Line 6444 | Line 6444 | yyreduce:
6444      break;
6445  
6446    case 652:
6447 < #line 2968 "conf_parser.y" /* yacc.c:1646  */
6447 > #line 2971 "conf_parser.y" /* yacc.c:1646  */
6448      {
6449    if (conf_parser_ctx.pass == 2)
6450      ConfigServerHide.hide_servers = yylval.number;
# Line 6453 | Line 6453 | yyreduce:
6453      break;
6454  
6455    case 653:
6456 < #line 2974 "conf_parser.y" /* yacc.c:1646  */
6456 > #line 2977 "conf_parser.y" /* yacc.c:1646  */
6457      {
6458    if (conf_parser_ctx.pass == 2)
6459      ConfigServerHide.hide_services = yylval.number;
# Line 6462 | Line 6462 | yyreduce:
6462      break;
6463  
6464    case 654:
6465 < #line 2980 "conf_parser.y" /* yacc.c:1646  */
6465 > #line 2983 "conf_parser.y" /* yacc.c:1646  */
6466      {
6467    if (conf_parser_ctx.pass == 2)
6468    {
# Line 6474 | Line 6474 | yyreduce:
6474      break;
6475  
6476    case 655:
6477 < #line 2989 "conf_parser.y" /* yacc.c:1646  */
6477 > #line 2992 "conf_parser.y" /* yacc.c:1646  */
6478      {
6479    if (conf_parser_ctx.pass == 2)
6480    {
# Line 6491 | Line 6491 | yyreduce:
6491      break;
6492  
6493    case 656:
6494 < #line 3003 "conf_parser.y" /* yacc.c:1646  */
6494 > #line 3006 "conf_parser.y" /* yacc.c:1646  */
6495      {
6496    if (conf_parser_ctx.pass == 2)
6497      ConfigServerHide.hidden = yylval.number;
# Line 6500 | Line 6500 | yyreduce:
6500      break;
6501  
6502    case 657:
6503 < #line 3009 "conf_parser.y" /* yacc.c:1646  */
6503 > #line 3012 "conf_parser.y" /* yacc.c:1646  */
6504      {
6505    if (conf_parser_ctx.pass == 2)
6506      ConfigServerHide.hide_server_ips = yylval.number;

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)