/[svn]/ircd-hybrid/trunk/src/conf_parser.c
ViewVC logotype

Diff of /ircd-hybrid/trunk/src/conf_parser.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 8608 by michael, Mon Oct 29 21:26:54 2018 UTC revision 8609 by michael, Tue Oct 30 07:46:31 2018 UTC
# Line 1038  static const yytype_uint16 yyrline[] = Line 1038  static const yytype_uint16 yyrline[] =
1038      1177,  1184,  1183,  1189,  1189,  1190,  1194,  1198,  1202,  1206,      1177,  1184,  1183,  1189,  1189,  1190,  1194,  1198,  1202,  1206,
1039      1210,  1214,  1218,  1222,  1226,  1230,  1234,  1238,  1242,  1246,      1210,  1214,  1218,  1222,  1226,  1230,  1234,  1238,  1242,  1246,
1040      1250,  1254,  1258,  1262,  1266,  1270,  1274,  1278,  1282,  1286,      1250,  1254,  1258,  1262,  1266,  1270,  1274,  1278,  1282,  1286,
1041      1290,  1294,  1298,  1302,  1313,  1312,  1367,  1367,  1368,  1369,      1290,  1294,  1298,  1302,  1313,  1312,  1370,  1370,  1371,  1372,
1042      1370,  1371,  1372,  1373,  1374,  1375,  1376,  1377,  1378,  1379,      1373,  1374,  1375,  1376,  1377,  1378,  1379,  1380,  1381,  1382,
1043      1380,  1381,  1382,  1383,  1385,  1391,  1397,  1403,  1409,  1415,      1383,  1384,  1385,  1386,  1388,  1394,  1400,  1406,  1412,  1418,
1044      1421,  1427,  1433,  1440,  1446,  1452,  1458,  1467,  1477,  1476,      1424,  1430,  1436,  1443,  1449,  1455,  1461,  1470,  1480,  1479,
1045      1482,  1482,  1483,  1487,  1498,  1497,  1504,  1503,  1508,  1508,      1485,  1485,  1486,  1490,  1501,  1500,  1507,  1506,  1511,  1511,
1046      1509,  1513,  1517,  1523,  1523,  1524,  1524,  1524,  1524,  1524,      1512,  1516,  1520,  1526,  1526,  1527,  1527,  1527,  1527,  1527,
1047      1526,  1526,  1528,  1528,  1530,  1543,  1560,  1566,  1577,  1576,      1529,  1529,  1531,  1531,  1533,  1546,  1563,  1569,  1580,  1579,
1048      1622,  1622,  1623,  1624,  1625,  1626,  1627,  1628,  1629,  1630,      1625,  1625,  1626,  1627,  1628,  1629,  1630,  1631,  1632,  1633,
1049      1631,  1633,  1639,  1645,  1651,  1663,  1662,  1668,  1668,  1669,      1634,  1636,  1642,  1648,  1654,  1666,  1665,  1671,  1671,  1672,
1050      1673,  1677,  1681,  1685,  1689,  1693,  1697,  1701,  1705,  1711,      1676,  1680,  1684,  1688,  1692,  1696,  1700,  1704,  1708,  1714,
1051      1725,  1734,  1748,  1747,  1762,  1762,  1763,  1763,  1763,  1763,      1728,  1737,  1751,  1750,  1765,  1765,  1766,  1766,  1766,  1766,
1052      1765,  1771,  1777,  1787,  1789,  1789,  1790,  1790,  1792,  1809,      1768,  1774,  1780,  1790,  1792,  1792,  1793,  1793,  1795,  1812,
1053      1808,  1831,  1831,  1832,  1832,  1832,  1832,  1834,  1840,  1860,      1811,  1834,  1834,  1835,  1835,  1835,  1835,  1837,  1843,  1863,
1054      1859,  1865,  1865,  1866,  1870,  1874,  1878,  1882,  1886,  1890,      1862,  1868,  1868,  1869,  1873,  1877,  1881,  1885,  1889,  1893,
1055      1894,  1898,  1902,  1913,  1912,  1931,  1931,  1932,  1932,  1932,      1897,  1901,  1905,  1916,  1915,  1934,  1934,  1935,  1935,  1935,
1056      1934,  1941,  1940,  1946,  1946,  1947,  1951,  1955,  1959,  1963,      1937,  1944,  1943,  1949,  1949,  1950,  1954,  1958,  1962,  1966,
1057      1967,  1971,  1975,  1979,  1983,  1994,  1993,  2065,  2065,  2066,      1970,  1974,  1978,  1982,  1986,  1997,  1996,  2068,  2068,  2069,
1058      2067,  2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,  2076,      2070,  2071,  2072,  2073,  2074,  2075,  2076,  2077,  2078,  2079,
1059      2077,  2078,  2079,  2080,  2082,  2088,  2094,  2100,  2113,  2126,      2080,  2081,  2082,  2083,  2085,  2091,  2097,  2103,  2116,  2129,
1060      2132,  2138,  2142,  2149,  2148,  2153,  2153,  2154,  2158,  2164,      2135,  2141,  2145,  2152,  2151,  2156,  2156,  2157,  2161,  2167,
1061      2175,  2181,  2187,  2193,  2209,  2208,  2234,  2234,  2235,  2235,      2178,  2184,  2190,  2196,  2212,  2211,  2237,  2237,  2238,  2238,
1062      2235,  2237,  2257,  2268,  2267,  2294,  2294,  2295,  2295,  2295,      2238,  2240,  2260,  2271,  2270,  2297,  2297,  2298,  2298,  2298,
1063      2297,  2303,  2313,  2315,  2315,  2316,  2316,  2318,  2336,  2335,      2300,  2306,  2316,  2318,  2318,  2319,  2319,  2321,  2339,  2338,
1064      2356,  2356,  2357,  2357,  2357,  2359,  2365,  2375,  2377,  2377,      2359,  2359,  2360,  2360,  2360,  2362,  2368,  2378,  2380,  2380,
1065      2378,  2379,  2380,  2381,  2382,  2383,  2384,  2385,  2386,  2387,      2381,  2382,  2383,  2384,  2385,  2386,  2387,  2388,  2389,  2390,
1066      2388,  2389,  2390,  2391,  2392,  2393,  2394,  2395,  2396,  2397,      2391,  2392,  2393,  2394,  2395,  2396,  2397,  2398,  2399,  2400,
1067      2398,  2399,  2400,  2401,  2402,  2403,  2404,  2405,  2406,  2407,      2401,  2402,  2403,  2404,  2405,  2406,  2407,  2408,  2409,  2410,
1068      2408,  2409,  2410,  2411,  2412,  2413,  2414,  2415,  2416,  2417,      2411,  2412,  2413,  2414,  2415,  2416,  2417,  2418,  2419,  2420,
1069      2418,  2419,  2420,  2421,  2422,  2423,  2424,  2425,  2428,  2433,      2421,  2422,  2423,  2424,  2425,  2426,  2427,  2428,  2431,  2436,
1070      2438,  2443,  2448,  2454,  2459,  2464,  2469,  2474,  2479,  2484,      2441,  2446,  2451,  2457,  2462,  2467,  2472,  2477,  2482,  2487,
1071      2489,  2494,  2499,  2504,  2509,  2514,  2519,  2524,  2530,  2535,      2492,  2497,  2502,  2507,  2512,  2517,  2522,  2527,  2533,  2538,
1072      2540,  2545,  2550,  2555,  2560,  2565,  2568,  2573,  2576,  2581,      2543,  2548,  2553,  2558,  2563,  2568,  2571,  2576,  2579,  2584,
1073      2586,  2591,  2596,  2601,  2606,  2611,  2616,  2621,  2626,  2631,      2589,  2594,  2599,  2604,  2609,  2614,  2619,  2624,  2629,  2634,
1074      2636,  2642,  2641,  2646,  2646,  2647,  2650,  2653,  2656,  2659,      2639,  2645,  2644,  2649,  2649,  2650,  2653,  2656,  2659,  2662,
1075      2662,  2665,  2668,  2671,  2674,  2677,  2680,  2683,  2686,  2689,      2665,  2668,  2671,  2674,  2677,  2680,  2683,  2686,  2689,  2692,
1076      2692,  2695,  2698,  2701,  2704,  2707,  2710,  2716,  2715,  2720,      2695,  2698,  2701,  2704,  2707,  2710,  2713,  2719,  2718,  2723,
1077      2720,  2721,  2724,  2727,  2730,  2733,  2736,  2739,  2742,  2745,      2723,  2724,  2727,  2730,  2733,  2736,  2739,  2742,  2745,  2748,
1078      2748,  2751,  2754,  2757,  2760,  2763,  2766,  2769,  2772,  2775,      2751,  2754,  2757,  2760,  2763,  2766,  2769,  2772,  2775,  2778,
1079      2778,  2783,  2788,  2793,  2798,  2807,  2809,  2809,  2810,  2811,      2781,  2786,  2791,  2796,  2801,  2810,  2812,  2812,  2813,  2814,
1080      2812,  2813,  2814,  2815,  2816,  2817,  2818,  2819,  2820,  2821,      2815,  2816,  2817,  2818,  2819,  2820,  2821,  2822,  2823,  2824,
1081      2822,  2823,  2824,  2826,  2831,  2836,  2841,  2846,  2851,  2856,      2825,  2826,  2827,  2829,  2834,  2839,  2844,  2849,  2854,  2859,
1082      2861,  2866,  2871,  2876,  2881,  2886,  2891,  2900,  2902,  2902,      2864,  2869,  2874,  2879,  2884,  2889,  2894,  2903,  2905,  2905,
1083      2903,  2904,  2905,  2906,  2907,  2908,  2909,  2910,  2911,  2912,      2906,  2907,  2908,  2909,  2910,  2911,  2912,  2913,  2914,  2915,
1084      2914,  2920,  2936,  2945,  2951,  2957,  2963,  2972,  2978      2917,  2923,  2939,  2948,  2954,  2960,  2966,  2975,  2981
1085  };  };
1086  #endif  #endif
1087    
# Line 4239  yyreduce: Line 4239  yyreduce:
4239    class->min_idle = block_state.min_idle.value;    class->min_idle = block_state.min_idle.value;
4240    class->max_idle = block_state.max_idle.value;    class->max_idle = block_state.max_idle.value;
4241    
4242      int diff = (class->cidr_bitlen_ipv4 != block_state.cidr_bitlen_ipv4.value ||
4243                  class->cidr_bitlen_ipv6 != block_state.cidr_bitlen_ipv6.value);
4244    class->cidr_bitlen_ipv4 = block_state.cidr_bitlen_ipv4.value;    class->cidr_bitlen_ipv4 = block_state.cidr_bitlen_ipv4.value;
4245    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4246    class->number_per_cidr = block_state.number_per_cidr.value;    class->number_per_cidr = block_state.number_per_cidr.value;
4247    
4248    class_ip_limit_rebuild(class);    if (diff)
4249        class_ip_limit_rebuild(class);
4250  }  }
4251  #line 4249 "conf_parser.c" /* yacc.c:1646  */  #line 4252 "conf_parser.c" /* yacc.c:1646  */
4252      break;      break;
4253    
4254    case 254:    case 254:
4255  #line 1386 "conf_parser.y" /* yacc.c:1646  */  #line 1389 "conf_parser.y" /* yacc.c:1646  */
4256      {      {
4257    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4258      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4259  }  }
4260  #line 4258 "conf_parser.c" /* yacc.c:1646  */  #line 4261 "conf_parser.c" /* yacc.c:1646  */
4261      break;      break;
4262    
4263    case 255:    case 255:
4264  #line 1392 "conf_parser.y" /* yacc.c:1646  */  #line 1395 "conf_parser.y" /* yacc.c:1646  */
4265      {      {
4266    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4267      block_state.ping_freq.value = (yyvsp[-1].number);      block_state.ping_freq.value = (yyvsp[-1].number);
4268  }  }
4269  #line 4267 "conf_parser.c" /* yacc.c:1646  */  #line 4270 "conf_parser.c" /* yacc.c:1646  */
4270      break;      break;
4271    
4272    case 256:    case 256:
4273  #line 1398 "conf_parser.y" /* yacc.c:1646  */  #line 1401 "conf_parser.y" /* yacc.c:1646  */
4274      {      {
4275    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4276      block_state.max_perip_local.value = (yyvsp[-1].number);      block_state.max_perip_local.value = (yyvsp[-1].number);
4277  }  }
4278  #line 4276 "conf_parser.c" /* yacc.c:1646  */  #line 4279 "conf_parser.c" /* yacc.c:1646  */
4279      break;      break;
4280    
4281    case 257:    case 257:
4282  #line 1404 "conf_parser.y" /* yacc.c:1646  */  #line 1407 "conf_parser.y" /* yacc.c:1646  */
4283      {      {
4284    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4285      block_state.max_perip_global.value = (yyvsp[-1].number);      block_state.max_perip_global.value = (yyvsp[-1].number);
4286  }  }
4287  #line 4285 "conf_parser.c" /* yacc.c:1646  */  #line 4288 "conf_parser.c" /* yacc.c:1646  */
4288      break;      break;
4289    
4290    case 258:    case 258:
4291  #line 1410 "conf_parser.y" /* yacc.c:1646  */  #line 1413 "conf_parser.y" /* yacc.c:1646  */
4292      {      {
4293    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4294      block_state.con_freq.value = (yyvsp[-1].number);      block_state.con_freq.value = (yyvsp[-1].number);
4295  }  }
4296  #line 4294 "conf_parser.c" /* yacc.c:1646  */  #line 4297 "conf_parser.c" /* yacc.c:1646  */
4297      break;      break;
4298    
4299    case 259:    case 259:
4300  #line 1416 "conf_parser.y" /* yacc.c:1646  */  #line 1419 "conf_parser.y" /* yacc.c:1646  */
4301      {      {
4302    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4303      block_state.max_channels.value = (yyvsp[-1].number);      block_state.max_channels.value = (yyvsp[-1].number);
4304  }  }
4305  #line 4303 "conf_parser.c" /* yacc.c:1646  */  #line 4306 "conf_parser.c" /* yacc.c:1646  */
4306      break;      break;
4307    
4308    case 260:    case 260:
4309  #line 1422 "conf_parser.y" /* yacc.c:1646  */  #line 1425 "conf_parser.y" /* yacc.c:1646  */
4310      {      {
4311    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4312      block_state.max_total.value = (yyvsp[-1].number);      block_state.max_total.value = (yyvsp[-1].number);
4313  }  }
4314  #line 4312 "conf_parser.c" /* yacc.c:1646  */  #line 4315 "conf_parser.c" /* yacc.c:1646  */
4315      break;      break;
4316    
4317    case 261:    case 261:
4318  #line 1428 "conf_parser.y" /* yacc.c:1646  */  #line 1431 "conf_parser.y" /* yacc.c:1646  */
4319      {      {
4320    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4321      block_state.max_sendq.value = (yyvsp[-1].number);      block_state.max_sendq.value = (yyvsp[-1].number);
4322  }  }
4323  #line 4321 "conf_parser.c" /* yacc.c:1646  */  #line 4324 "conf_parser.c" /* yacc.c:1646  */
4324      break;      break;
4325    
4326    case 262:    case 262:
4327  #line 1434 "conf_parser.y" /* yacc.c:1646  */  #line 1437 "conf_parser.y" /* yacc.c:1646  */
4328      {      {
4329    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4330      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4331        block_state.max_recvq.value = (yyvsp[-1].number);        block_state.max_recvq.value = (yyvsp[-1].number);
4332  }  }
4333  #line 4331 "conf_parser.c" /* yacc.c:1646  */  #line 4334 "conf_parser.c" /* yacc.c:1646  */
4334      break;      break;
4335    
4336    case 263:    case 263:
4337  #line 1441 "conf_parser.y" /* yacc.c:1646  */  #line 1444 "conf_parser.y" /* yacc.c:1646  */
4338      {      {
4339    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4340      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4341  }  }
4342  #line 4340 "conf_parser.c" /* yacc.c:1646  */  #line 4343 "conf_parser.c" /* yacc.c:1646  */
4343      break;      break;
4344    
4345    case 264:    case 264:
4346  #line 1447 "conf_parser.y" /* yacc.c:1646  */  #line 1450 "conf_parser.y" /* yacc.c:1646  */
4347      {      {
4348    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4349      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4350  }  }
4351  #line 4349 "conf_parser.c" /* yacc.c:1646  */  #line 4352 "conf_parser.c" /* yacc.c:1646  */
4352      break;      break;
4353    
4354    case 265:    case 265:
4355  #line 1453 "conf_parser.y" /* yacc.c:1646  */  #line 1456 "conf_parser.y" /* yacc.c:1646  */
4356      {      {
4357    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4358      block_state.number_per_cidr.value = (yyvsp[-1].number);      block_state.number_per_cidr.value = (yyvsp[-1].number);
4359  }  }
4360  #line 4358 "conf_parser.c" /* yacc.c:1646  */  #line 4361 "conf_parser.c" /* yacc.c:1646  */
4361      break;      break;
4362    
4363    case 266:    case 266:
4364  #line 1459 "conf_parser.y" /* yacc.c:1646  */  #line 1462 "conf_parser.y" /* yacc.c:1646  */
4365      {      {
4366    if (conf_parser_ctx.pass != 1)    if (conf_parser_ctx.pass != 1)
4367      break;      break;
# Line 4366  yyreduce: Line 4369  yyreduce:
4369    block_state.min_idle.value = (yyvsp[-1].number);    block_state.min_idle.value = (yyvsp[-1].number);
4370    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4371  }  }
4372  #line 4370 "conf_parser.c" /* yacc.c:1646  */  #line 4373 "conf_parser.c" /* yacc.c:1646  */
4373      break;      break;
4374    
4375    case 267:    case 267:
4376  #line 1468 "conf_parser.y" /* yacc.c:1646  */  #line 1471 "conf_parser.y" /* yacc.c:1646  */
4377      {      {
4378    if (conf_parser_ctx.pass != 1)    if (conf_parser_ctx.pass != 1)
4379      break;      break;
# Line 4378  yyreduce: Line 4381  yyreduce:
4381    block_state.max_idle.value = (yyvsp[-1].number);    block_state.max_idle.value = (yyvsp[-1].number);
4382    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4383  }  }
4384  #line 4382 "conf_parser.c" /* yacc.c:1646  */  #line 4385 "conf_parser.c" /* yacc.c:1646  */
4385      break;      break;
4386    
4387    case 268:    case 268:
4388  #line 1477 "conf_parser.y" /* yacc.c:1646  */  #line 1480 "conf_parser.y" /* yacc.c:1646  */
4389      {      {
4390    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4391      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4392  }  }
4393  #line 4391 "conf_parser.c" /* yacc.c:1646  */  #line 4394 "conf_parser.c" /* yacc.c:1646  */
4394      break;      break;
4395    
4396    case 272:    case 272:
4397  #line 1484 "conf_parser.y" /* yacc.c:1646  */  #line 1487 "conf_parser.y" /* yacc.c:1646  */
4398      {      {
4399    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4400      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4401  }  }
4402  #line 4400 "conf_parser.c" /* yacc.c:1646  */  #line 4403 "conf_parser.c" /* yacc.c:1646  */
4403      break;      break;
4404    
4405    case 273:    case 273:
4406  #line 1488 "conf_parser.y" /* yacc.c:1646  */  #line 1491 "conf_parser.y" /* yacc.c:1646  */
4407      {      {
4408    if (conf_parser_ctx.pass == 1)    if (conf_parser_ctx.pass == 1)
4409      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4410  }  }
4411  #line 4409 "conf_parser.c" /* yacc.c:1646  */  #line 4412 "conf_parser.c" /* yacc.c:1646  */
4412      break;      break;
4413    
4414    case 274:    case 274:
4415  #line 1498 "conf_parser.y" /* yacc.c:1646  */  #line 1501 "conf_parser.y" /* yacc.c:1646  */
4416      {      {
4417    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4418      reset_block_state();      reset_block_state();
4419  }  }
4420  #line 4418 "conf_parser.c" /* yacc.c:1646  */  #line 4421 "conf_parser.c" /* yacc.c:1646  */
4421      break;      break;
4422    
4423    case 276:    case 276:
4424  #line 1504 "conf_parser.y" /* yacc.c:1646  */  #line 1507 "conf_parser.y" /* yacc.c:1646  */
4425      {      {
4426    block_state.flags.value = 0;    block_state.flags.value = 0;
4427  }  }
4428  #line 4426 "conf_parser.c" /* yacc.c:1646  */  #line 4429 "conf_parser.c" /* yacc.c:1646  */
4429      break;      break;
4430    
4431    case 280:    case 280:
4432  #line 1510 "conf_parser.y" /* yacc.c:1646  */  #line 1513 "conf_parser.y" /* yacc.c:1646  */
4433      {      {
4434    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4435      block_state.flags.value |= LISTENER_SSL;      block_state.flags.value |= LISTENER_SSL;
4436  }  }
4437  #line 4435 "conf_parser.c" /* yacc.c:1646  */  #line 4438 "conf_parser.c" /* yacc.c:1646  */
4438      break;      break;
4439    
4440    case 281:    case 281:
4441  #line 1514 "conf_parser.y" /* yacc.c:1646  */  #line 1517 "conf_parser.y" /* yacc.c:1646  */
4442      {      {
4443    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4444      block_state.flags.value |= LISTENER_HIDDEN;      block_state.flags.value |= LISTENER_HIDDEN;
4445  }  }
4446  #line 4444 "conf_parser.c" /* yacc.c:1646  */  #line 4447 "conf_parser.c" /* yacc.c:1646  */
4447      break;      break;
4448    
4449    case 282:    case 282:
4450  #line 1518 "conf_parser.y" /* yacc.c:1646  */  #line 1521 "conf_parser.y" /* yacc.c:1646  */
4451      {      {
4452    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4453     block_state.flags.value |= LISTENER_SERVER;     block_state.flags.value |= LISTENER_SERVER;
4454  }  }
4455  #line 4453 "conf_parser.c" /* yacc.c:1646  */  #line 4456 "conf_parser.c" /* yacc.c:1646  */
4456      break;      break;
4457    
4458    case 290:    case 290:
4459  #line 1526 "conf_parser.y" /* yacc.c:1646  */  #line 1529 "conf_parser.y" /* yacc.c:1646  */
4460      { block_state.flags.value = 0; }      { block_state.flags.value = 0; }
4461  #line 4459 "conf_parser.c" /* yacc.c:1646  */  #line 4462 "conf_parser.c" /* yacc.c:1646  */
4462      break;      break;
4463    
4464    case 294:    case 294:
4465  #line 1531 "conf_parser.y" /* yacc.c:1646  */  #line 1534 "conf_parser.y" /* yacc.c:1646  */
4466      {      {
4467    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4468    {    {
# Line 4473  yyreduce: Line 4476  yyreduce:
4476      listener_add((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);      listener_add((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4477    }    }
4478  }  }
4479  #line 4477 "conf_parser.c" /* yacc.c:1646  */  #line 4480 "conf_parser.c" /* yacc.c:1646  */
4480      break;      break;
4481    
4482    case 295:    case 295:
4483  #line 1544 "conf_parser.y" /* yacc.c:1646  */  #line 1547 "conf_parser.y" /* yacc.c:1646  */
4484      {      {
4485    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4486    {    {
# Line 4493  yyreduce: Line 4496  yyreduce:
4496        listener_add(i, block_state.addr.buf, block_state.flags.value);        listener_add(i, block_state.addr.buf, block_state.flags.value);
4497    }    }
4498  }  }
4499  #line 4497 "conf_parser.c" /* yacc.c:1646  */  #line 4500 "conf_parser.c" /* yacc.c:1646  */
4500      break;      break;
4501    
4502    case 296:    case 296:
4503  #line 1561 "conf_parser.y" /* yacc.c:1646  */  #line 1564 "conf_parser.y" /* yacc.c:1646  */
4504      {      {
4505    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4506      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4507  }  }
4508  #line 4506 "conf_parser.c" /* yacc.c:1646  */  #line 4509 "conf_parser.c" /* yacc.c:1646  */
4509      break;      break;
4510    
4511    case 297:    case 297:
4512  #line 1567 "conf_parser.y" /* yacc.c:1646  */  #line 1570 "conf_parser.y" /* yacc.c:1646  */
4513      {      {
4514    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4515      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4516  }  }
4517  #line 4515 "conf_parser.c" /* yacc.c:1646  */  #line 4518 "conf_parser.c" /* yacc.c:1646  */
4518      break;      break;
4519    
4520    case 298:    case 298:
4521  #line 1577 "conf_parser.y" /* yacc.c:1646  */  #line 1580 "conf_parser.y" /* yacc.c:1646  */
4522      {      {
4523    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4524      reset_block_state();      reset_block_state();
4525  }  }
4526  #line 4524 "conf_parser.c" /* yacc.c:1646  */  #line 4527 "conf_parser.c" /* yacc.c:1646  */
4527      break;      break;
4528    
4529    case 299:    case 299:
4530  #line 1581 "conf_parser.y" /* yacc.c:1646  */  #line 1584 "conf_parser.y" /* yacc.c:1646  */
4531      {      {
4532    dlink_node *node = NULL;    dlink_node *node = NULL;
4533    
# Line 4565  yyreduce: Line 4568  yyreduce:
4568      add_conf_by_address(CONF_CLIENT, conf);      add_conf_by_address(CONF_CLIENT, conf);
4569    }    }
4570  }  }
4571  #line 4569 "conf_parser.c" /* yacc.c:1646  */  #line 4572 "conf_parser.c" /* yacc.c:1646  */
4572      break;      break;
4573    
4574    case 311:    case 311:
4575  #line 1634 "conf_parser.y" /* yacc.c:1646  */  #line 1637 "conf_parser.y" /* yacc.c:1646  */
4576      {      {
4577    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4578      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4579  }  }
4580  #line 4578 "conf_parser.c" /* yacc.c:1646  */  #line 4581 "conf_parser.c" /* yacc.c:1646  */
4581      break;      break;
4582    
4583    case 312:    case 312:
4584  #line 1640 "conf_parser.y" /* yacc.c:1646  */  #line 1643 "conf_parser.y" /* yacc.c:1646  */
4585      {      {
4586    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4587      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4588  }  }
4589  #line 4587 "conf_parser.c" /* yacc.c:1646  */  #line 4590 "conf_parser.c" /* yacc.c:1646  */
4590      break;      break;
4591    
4592    case 313:    case 313:
4593  #line 1646 "conf_parser.y" /* yacc.c:1646  */  #line 1649 "conf_parser.y" /* yacc.c:1646  */
4594      {      {
4595    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4596      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4597  }  }
4598  #line 4596 "conf_parser.c" /* yacc.c:1646  */  #line 4599 "conf_parser.c" /* yacc.c:1646  */
4599      break;      break;
4600    
4601    case 314:    case 314:
4602  #line 1652 "conf_parser.y" /* yacc.c:1646  */  #line 1655 "conf_parser.y" /* yacc.c:1646  */
4603      {      {
4604    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4605    {    {
# Line 4606  yyreduce: Line 4609  yyreduce:
4609        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4610    }    }
4611  }  }
4612  #line 4610 "conf_parser.c" /* yacc.c:1646  */  #line 4613 "conf_parser.c" /* yacc.c:1646  */
4613      break;      break;
4614    
4615    case 315:    case 315:
4616  #line 1663 "conf_parser.y" /* yacc.c:1646  */  #line 1666 "conf_parser.y" /* yacc.c:1646  */
4617      {      {
4618    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4619      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4620  }  }
4621  #line 4619 "conf_parser.c" /* yacc.c:1646  */  #line 4622 "conf_parser.c" /* yacc.c:1646  */
4622      break;      break;
4623    
4624    case 319:    case 319:
4625  #line 1670 "conf_parser.y" /* yacc.c:1646  */  #line 1673 "conf_parser.y" /* yacc.c:1646  */
4626      {      {
4627    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4628      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4629  }  }
4630  #line 4628 "conf_parser.c" /* yacc.c:1646  */  #line 4631 "conf_parser.c" /* yacc.c:1646  */
4631      break;      break;
4632    
4633    case 320:    case 320:
4634  #line 1674 "conf_parser.y" /* yacc.c:1646  */  #line 1677 "conf_parser.y" /* yacc.c:1646  */
4635      {      {
4636    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4637      block_state.flags.value |= CONF_FLAGS_NOLIMIT;      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4638  }  }
4639  #line 4637 "conf_parser.c" /* yacc.c:1646  */  #line 4640 "conf_parser.c" /* yacc.c:1646  */
4640      break;      break;
4641    
4642    case 321:    case 321:
4643  #line 1678 "conf_parser.y" /* yacc.c:1646  */  #line 1681 "conf_parser.y" /* yacc.c:1646  */
4644      {      {
4645    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4646      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4647  }  }
4648  #line 4646 "conf_parser.c" /* yacc.c:1646  */  #line 4649 "conf_parser.c" /* yacc.c:1646  */
4649      break;      break;
4650    
4651    case 322:    case 322:
4652  #line 1682 "conf_parser.y" /* yacc.c:1646  */  #line 1685 "conf_parser.y" /* yacc.c:1646  */
4653      {      {
4654    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4655      block_state.flags.value |= CONF_FLAGS_EXEMPTXLINE;      block_state.flags.value |= CONF_FLAGS_EXEMPTXLINE;
4656  }  }
4657  #line 4655 "conf_parser.c" /* yacc.c:1646  */  #line 4658 "conf_parser.c" /* yacc.c:1646  */
4658      break;      break;
4659    
4660    case 323:    case 323:
4661  #line 1686 "conf_parser.y" /* yacc.c:1646  */  #line 1689 "conf_parser.y" /* yacc.c:1646  */
4662      {      {
4663    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4664      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4665  }  }
4666  #line 4664 "conf_parser.c" /* yacc.c:1646  */  #line 4667 "conf_parser.c" /* yacc.c:1646  */
4667      break;      break;
4668    
4669    case 324:    case 324:
4670  #line 1690 "conf_parser.y" /* yacc.c:1646  */  #line 1693 "conf_parser.y" /* yacc.c:1646  */
4671      {      {
4672    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4673      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4674  }  }
4675  #line 4673 "conf_parser.c" /* yacc.c:1646  */  #line 4676 "conf_parser.c" /* yacc.c:1646  */
4676      break;      break;
4677    
4678    case 325:    case 325:
4679  #line 1694 "conf_parser.y" /* yacc.c:1646  */  #line 1697 "conf_parser.y" /* yacc.c:1646  */
4680      {      {
4681    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4682      block_state.flags.value |= CONF_FLAGS_NO_TILDE;      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4683  }  }
4684  #line 4682 "conf_parser.c" /* yacc.c:1646  */  #line 4685 "conf_parser.c" /* yacc.c:1646  */
4685      break;      break;
4686    
4687    case 326:    case 326:
4688  #line 1698 "conf_parser.y" /* yacc.c:1646  */  #line 1701 "conf_parser.y" /* yacc.c:1646  */
4689      {      {
4690    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4691      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4692  }  }
4693  #line 4691 "conf_parser.c" /* yacc.c:1646  */  #line 4694 "conf_parser.c" /* yacc.c:1646  */
4694      break;      break;
4695    
4696    case 327:    case 327:
4697  #line 1702 "conf_parser.y" /* yacc.c:1646  */  #line 1705 "conf_parser.y" /* yacc.c:1646  */
4698      {      {
4699    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4700      block_state.flags.value |= CONF_FLAGS_WEBIRC;      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4701  }  }
4702  #line 4700 "conf_parser.c" /* yacc.c:1646  */  #line 4703 "conf_parser.c" /* yacc.c:1646  */
4703      break;      break;
4704    
4705    case 328:    case 328:
4706  #line 1706 "conf_parser.y" /* yacc.c:1646  */  #line 1709 "conf_parser.y" /* yacc.c:1646  */
4707      {      {
4708    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4709      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4710  }  }
4711  #line 4709 "conf_parser.c" /* yacc.c:1646  */  #line 4712 "conf_parser.c" /* yacc.c:1646  */
4712      break;      break;
4713    
4714    case 329:    case 329:
4715  #line 1712 "conf_parser.y" /* yacc.c:1646  */  #line 1715 "conf_parser.y" /* yacc.c:1646  */
4716      {      {
4717    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4718      break;      break;
# Line 4722  yyreduce: Line 4725  yyreduce:
4725    else    else
4726      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4727  }  }
4728  #line 4726 "conf_parser.c" /* yacc.c:1646  */  #line 4729 "conf_parser.c" /* yacc.c:1646  */
4729      break;      break;
4730    
4731    case 330:    case 330:
4732  #line 1726 "conf_parser.y" /* yacc.c:1646  */  #line 1729 "conf_parser.y" /* yacc.c:1646  */
4733      {      {
4734    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4735      break;      break;
# Line 4734  yyreduce: Line 4737  yyreduce:
4737    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4738    block_state.flags.value |= CONF_FLAGS_REDIR;    block_state.flags.value |= CONF_FLAGS_REDIR;
4739  }  }
4740  #line 4738 "conf_parser.c" /* yacc.c:1646  */  #line 4741 "conf_parser.c" /* yacc.c:1646  */
4741      break;      break;
4742    
4743    case 331:    case 331:
4744  #line 1735 "conf_parser.y" /* yacc.c:1646  */  #line 1738 "conf_parser.y" /* yacc.c:1646  */
4745      {      {
4746    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4747      break;      break;
# Line 4746  yyreduce: Line 4749  yyreduce:
4749    block_state.flags.value |= CONF_FLAGS_REDIR;    block_state.flags.value |= CONF_FLAGS_REDIR;
4750    block_state.port.value = (yyvsp[-1].number);    block_state.port.value = (yyvsp[-1].number);
4751  }  }
4752  #line 4750 "conf_parser.c" /* yacc.c:1646  */  #line 4753 "conf_parser.c" /* yacc.c:1646  */
4753      break;      break;
4754    
4755    case 332:    case 332:
4756  #line 1748 "conf_parser.y" /* yacc.c:1646  */  #line 1751 "conf_parser.y" /* yacc.c:1646  */
4757      {      {
4758    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4759      break;      break;
# Line 4758  yyreduce: Line 4761  yyreduce:
4761    reset_block_state();    reset_block_state();
4762    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4763  }  }
4764  #line 4762 "conf_parser.c" /* yacc.c:1646  */  #line 4765 "conf_parser.c" /* yacc.c:1646  */
4765      break;      break;
4766    
4767    case 333:    case 333:
4768  #line 1755 "conf_parser.y" /* yacc.c:1646  */  #line 1758 "conf_parser.y" /* yacc.c:1646  */
4769      {      {
4770    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4771      break;      break;
4772    
4773    resv_make(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);    resv_make(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4774  }  }
4775  #line 4773 "conf_parser.c" /* yacc.c:1646  */  #line 4776 "conf_parser.c" /* yacc.c:1646  */
4776      break;      break;
4777    
4778    case 340:    case 340:
4779  #line 1766 "conf_parser.y" /* yacc.c:1646  */  #line 1769 "conf_parser.y" /* yacc.c:1646  */
4780      {      {
4781    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4782      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4783  }  }
4784  #line 4782 "conf_parser.c" /* yacc.c:1646  */  #line 4785 "conf_parser.c" /* yacc.c:1646  */
4785      break;      break;
4786    
4787    case 341:    case 341:
4788  #line 1772 "conf_parser.y" /* yacc.c:1646  */  #line 1775 "conf_parser.y" /* yacc.c:1646  */
4789      {      {
4790    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4791      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4792  }  }
4793  #line 4791 "conf_parser.c" /* yacc.c:1646  */  #line 4794 "conf_parser.c" /* yacc.c:1646  */
4794      break;      break;
4795    
4796    case 342:    case 342:
4797  #line 1778 "conf_parser.y" /* yacc.c:1646  */  #line 1781 "conf_parser.y" /* yacc.c:1646  */
4798      {      {
4799    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4800      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4801  }  }
4802  #line 4800 "conf_parser.c" /* yacc.c:1646  */  #line 4803 "conf_parser.c" /* yacc.c:1646  */
4803      break;      break;
4804    
4805    case 348:    case 348:
4806  #line 1793 "conf_parser.y" /* yacc.c:1646  */  #line 1796 "conf_parser.y" /* yacc.c:1646  */
4807      {      {
4808    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4809      break;      break;
# Line 4811  yyreduce: Line 4814  yyreduce:
4814      service->name = xstrdup(yylval.string);      service->name = xstrdup(yylval.string);
4815    }    }
4816  }  }
4817  #line 4815 "conf_parser.c" /* yacc.c:1646  */  #line 4818 "conf_parser.c" /* yacc.c:1646  */
4818      break;      break;
4819    
4820    case 349:    case 349:
4821  #line 1809 "conf_parser.y" /* yacc.c:1646  */  #line 1812 "conf_parser.y" /* yacc.c:1646  */
4822      {      {
4823    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4824      break;      break;
# Line 4827  yyreduce: Line 4830  yyreduce:
4830    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4831    block_state.flags.value = SHARED_ALL;    block_state.flags.value = SHARED_ALL;
4832  }  }
4833  #line 4831 "conf_parser.c" /* yacc.c:1646  */  #line 4834 "conf_parser.c" /* yacc.c:1646  */
4834      break;      break;
4835    
4836    case 350:    case 350:
4837  #line 1820 "conf_parser.y" /* yacc.c:1646  */  #line 1823 "conf_parser.y" /* yacc.c:1646  */
4838      {      {
4839    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4840      break;      break;
# Line 4842  yyreduce: Line 4845  yyreduce:
4845    shared->user = xstrdup(block_state.user.buf);    shared->user = xstrdup(block_state.user.buf);
4846    shared->host = xstrdup(block_state.host.buf);    shared->host = xstrdup(block_state.host.buf);
4847  }  }
4848  #line 4846 "conf_parser.c" /* yacc.c:1646  */  #line 4849 "conf_parser.c" /* yacc.c:1646  */
4849      break;      break;
4850    
4851    case 357:    case 357:
4852  #line 1835 "conf_parser.y" /* yacc.c:1646  */  #line 1838 "conf_parser.y" /* yacc.c:1646  */
4853      {      {
4854    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4855      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4856  }  }
4857  #line 4855 "conf_parser.c" /* yacc.c:1646  */  #line 4858 "conf_parser.c" /* yacc.c:1646  */
4858      break;      break;
4859    
4860    case 358:    case 358:
4861  #line 1841 "conf_parser.y" /* yacc.c:1646  */  #line 1844 "conf_parser.y" /* yacc.c:1646  */
4862      {      {
4863    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4864    {    {
# Line 4873  yyreduce: Line 4876  yyreduce:
4876      split_nuh(&nuh);      split_nuh(&nuh);
4877    }    }
4878  }  }
4879  #line 4877 "conf_parser.c" /* yacc.c:1646  */  #line 4880 "conf_parser.c" /* yacc.c:1646  */
4880      break;      break;
4881    
4882    case 359:    case 359:
4883  #line 1860 "conf_parser.y" /* yacc.c:1646  */  #line 1863 "conf_parser.y" /* yacc.c:1646  */
4884      {      {
4885    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4886      block_state.flags.value = 0;      block_state.flags.value = 0;
4887  }  }
4888  #line 4886 "conf_parser.c" /* yacc.c:1646  */  #line 4889 "conf_parser.c" /* yacc.c:1646  */
4889      break;      break;
4890    
4891    case 363:    case 363:
4892  #line 1867 "conf_parser.y" /* yacc.c:1646  */  #line 1870 "conf_parser.y" /* yacc.c:1646  */
4893      {      {
4894    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4895      block_state.flags.value |= SHARED_KLINE;      block_state.flags.value |= SHARED_KLINE;
4896  }  }
4897  #line 4895 "conf_parser.c" /* yacc.c:1646  */  #line 4898 "conf_parser.c" /* yacc.c:1646  */
4898      break;      break;
4899    
4900    case 364:    case 364:
4901  #line 1871 "conf_parser.y" /* yacc.c:1646  */  #line 1874 "conf_parser.y" /* yacc.c:1646  */
4902      {      {
4903    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4904      block_state.flags.value |= SHARED_UNKLINE;      block_state.flags.value |= SHARED_UNKLINE;
4905  }  }
4906  #line 4904 "conf_parser.c" /* yacc.c:1646  */  #line 4907 "conf_parser.c" /* yacc.c:1646  */
4907      break;      break;
4908    
4909    case 365:    case 365:
4910  #line 1875 "conf_parser.y" /* yacc.c:1646  */  #line 1878 "conf_parser.y" /* yacc.c:1646  */
4911      {      {
4912    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4913      block_state.flags.value |= SHARED_DLINE;      block_state.flags.value |= SHARED_DLINE;
4914  }  }
4915  #line 4913 "conf_parser.c" /* yacc.c:1646  */  #line 4916 "conf_parser.c" /* yacc.c:1646  */
4916      break;      break;
4917    
4918    case 366:    case 366:
4919  #line 1879 "conf_parser.y" /* yacc.c:1646  */  #line 1882 "conf_parser.y" /* yacc.c:1646  */
4920      {      {
4921    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4922      block_state.flags.value |= SHARED_UNDLINE;      block_state.flags.value |= SHARED_UNDLINE;
4923  }  }
4924  #line 4922 "conf_parser.c" /* yacc.c:1646  */  #line 4925 "conf_parser.c" /* yacc.c:1646  */
4925      break;      break;
4926    
4927    case 367:    case 367:
4928  #line 1883 "conf_parser.y" /* yacc.c:1646  */  #line 1886 "conf_parser.y" /* yacc.c:1646  */
4929      {      {
4930    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4931      block_state.flags.value |= SHARED_XLINE;      block_state.flags.value |= SHARED_XLINE;
4932  }  }
4933  #line 4931 "conf_parser.c" /* yacc.c:1646  */  #line 4934 "conf_parser.c" /* yacc.c:1646  */
4934      break;      break;
4935    
4936    case 368:    case 368:
4937  #line 1887 "conf_parser.y" /* yacc.c:1646  */  #line 1890 "conf_parser.y" /* yacc.c:1646  */
4938      {      {
4939    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4940      block_state.flags.value |= SHARED_UNXLINE;      block_state.flags.value |= SHARED_UNXLINE;
4941  }  }
4942  #line 4940 "conf_parser.c" /* yacc.c:1646  */  #line 4943 "conf_parser.c" /* yacc.c:1646  */
4943      break;      break;
4944    
4945    case 369:    case 369:
4946  #line 1891 "conf_parser.y" /* yacc.c:1646  */  #line 1894 "conf_parser.y" /* yacc.c:1646  */
4947      {      {
4948    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4949      block_state.flags.value |= SHARED_RESV;      block_state.flags.value |= SHARED_RESV;
4950  }  }
4951  #line 4949 "conf_parser.c" /* yacc.c:1646  */  #line 4952 "conf_parser.c" /* yacc.c:1646  */
4952      break;      break;
4953    
4954    case 370:    case 370:
4955  #line 1895 "conf_parser.y" /* yacc.c:1646  */  #line 1898 "conf_parser.y" /* yacc.c:1646  */
4956      {      {
4957    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4958      block_state.flags.value |= SHARED_UNRESV;      block_state.flags.value |= SHARED_UNRESV;
4959  }  }
4960  #line 4958 "conf_parser.c" /* yacc.c:1646  */  #line 4961 "conf_parser.c" /* yacc.c:1646  */
4961      break;      break;
4962    
4963    case 371:    case 371:
4964  #line 1899 "conf_parser.y" /* yacc.c:1646  */  #line 1902 "conf_parser.y" /* yacc.c:1646  */
4965      {      {
4966    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4967      block_state.flags.value |= SHARED_LOCOPS;      block_state.flags.value |= SHARED_LOCOPS;
4968  }  }
4969  #line 4967 "conf_parser.c" /* yacc.c:1646  */  #line 4970 "conf_parser.c" /* yacc.c:1646  */
4970      break;      break;
4971    
4972    case 372:    case 372:
4973  #line 1903 "conf_parser.y" /* yacc.c:1646  */  #line 1906 "conf_parser.y" /* yacc.c:1646  */
4974      {      {
4975    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
4976      block_state.flags.value = SHARED_ALL;      block_state.flags.value = SHARED_ALL;
4977  }  }
4978  #line 4976 "conf_parser.c" /* yacc.c:1646  */  #line 4979 "conf_parser.c" /* yacc.c:1646  */
4979      break;      break;
4980    
4981    case 373:    case 373:
4982  #line 1913 "conf_parser.y" /* yacc.c:1646  */  #line 1916 "conf_parser.y" /* yacc.c:1646  */
4983      {      {
4984    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4985      break;      break;
# Line 4986  yyreduce: Line 4989  yyreduce:
4989    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
4990    block_state.flags.value = CLUSTER_ALL;    block_state.flags.value = CLUSTER_ALL;
4991  }  }
4992  #line 4990 "conf_parser.c" /* yacc.c:1646  */  #line 4993 "conf_parser.c" /* yacc.c:1646  */
4993      break;      break;
4994    
4995    case 374:    case 374:
4996  #line 1922 "conf_parser.y" /* yacc.c:1646  */  #line 1925 "conf_parser.y" /* yacc.c:1646  */
4997      {      {
4998    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
4999      break;      break;
# Line 4999  yyreduce: Line 5002  yyreduce:
5002    cluster->type = block_state.flags.value;    cluster->type = block_state.flags.value;
5003    cluster->server = xstrdup(block_state.name.buf);    cluster->server = xstrdup(block_state.name.buf);
5004  }  }
5005  #line 5003 "conf_parser.c" /* yacc.c:1646  */  #line 5006 "conf_parser.c" /* yacc.c:1646  */
5006      break;      break;
5007    
5008    case 380:    case 380:
5009  #line 1935 "conf_parser.y" /* yacc.c:1646  */  #line 1938 "conf_parser.y" /* yacc.c:1646  */
5010      {      {
5011    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5012      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5013  }  }
5014  #line 5012 "conf_parser.c" /* yacc.c:1646  */  #line 5015 "conf_parser.c" /* yacc.c:1646  */
5015      break;      break;
5016    
5017    case 381:    case 381:
5018  #line 1941 "conf_parser.y" /* yacc.c:1646  */  #line 1944 "conf_parser.y" /* yacc.c:1646  */
5019      {      {
5020    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5021      block_state.flags.value = 0;      block_state.flags.value = 0;
5022  }  }
5023  #line 5021 "conf_parser.c" /* yacc.c:1646  */  #line 5024 "conf_parser.c" /* yacc.c:1646  */
5024      break;      break;
5025    
5026    case 385:    case 385:
5027  #line 1948 "conf_parser.y" /* yacc.c:1646  */  #line 1951 "conf_parser.y" /* yacc.c:1646  */
5028      {      {
5029    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5030      block_state.flags.value |= CLUSTER_KLINE;      block_state.flags.value |= CLUSTER_KLINE;
5031  }  }
5032  #line 5030 "conf_parser.c" /* yacc.c:1646  */  #line 5033 "conf_parser.c" /* yacc.c:1646  */
5033      break;      break;
5034    
5035    case 386:    case 386:
5036  #line 1952 "conf_parser.y" /* yacc.c:1646  */  #line 1955 "conf_parser.y" /* yacc.c:1646  */
5037      {      {
5038    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5039      block_state.flags.value |= CLUSTER_UNKLINE;      block_state.flags.value |= CLUSTER_UNKLINE;
5040  }  }
5041  #line 5039 "conf_parser.c" /* yacc.c:1646  */  #line 5042 "conf_parser.c" /* yacc.c:1646  */
5042      break;      break;
5043    
5044    case 387:    case 387:
5045  #line 1956 "conf_parser.y" /* yacc.c:1646  */  #line 1959 "conf_parser.y" /* yacc.c:1646  */
5046      {      {
5047    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5048      block_state.flags.value |= CLUSTER_DLINE;      block_state.flags.value |= CLUSTER_DLINE;
5049  }  }
5050  #line 5048 "conf_parser.c" /* yacc.c:1646  */  #line 5051 "conf_parser.c" /* yacc.c:1646  */
5051      break;      break;
5052    
5053    case 388:    case 388:
5054  #line 1960 "conf_parser.y" /* yacc.c:1646  */  #line 1963 "conf_parser.y" /* yacc.c:1646  */
5055      {      {
5056    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5057      block_state.flags.value |= CLUSTER_UNDLINE;      block_state.flags.value |= CLUSTER_UNDLINE;
5058  }  }
5059  #line 5057 "conf_parser.c" /* yacc.c:1646  */  #line 5060 "conf_parser.c" /* yacc.c:1646  */
5060      break;      break;
5061    
5062    case 389:    case 389:
5063  #line 1964 "conf_parser.y" /* yacc.c:1646  */  #line 1967 "conf_parser.y" /* yacc.c:1646  */
5064      {      {
5065    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5066      block_state.flags.value |= CLUSTER_XLINE;      block_state.flags.value |= CLUSTER_XLINE;
5067  }  }
5068  #line 5066 "conf_parser.c" /* yacc.c:1646  */  #line 5069 "conf_parser.c" /* yacc.c:1646  */
5069      break;      break;
5070    
5071    case 390:    case 390:
5072  #line 1968 "conf_parser.y" /* yacc.c:1646  */  #line 1971 "conf_parser.y" /* yacc.c:1646  */
5073      {      {
5074    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5075      block_state.flags.value |= CLUSTER_UNXLINE;      block_state.flags.value |= CLUSTER_UNXLINE;
5076  }  }
5077  #line 5075 "conf_parser.c" /* yacc.c:1646  */  #line 5078 "conf_parser.c" /* yacc.c:1646  */
5078      break;      break;
5079    
5080    case 391:    case 391:
5081  #line 1972 "conf_parser.y" /* yacc.c:1646  */  #line 1975 "conf_parser.y" /* yacc.c:1646  */
5082      {      {
5083    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5084      block_state.flags.value |= CLUSTER_RESV;      block_state.flags.value |= CLUSTER_RESV;
5085  }  }
5086  #line 5084 "conf_parser.c" /* yacc.c:1646  */  #line 5087 "conf_parser.c" /* yacc.c:1646  */
5087      break;      break;
5088    
5089    case 392:    case 392:
5090  #line 1976 "conf_parser.y" /* yacc.c:1646  */  #line 1979 "conf_parser.y" /* yacc.c:1646  */
5091      {      {
5092    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5093      block_state.flags.value |= CLUSTER_UNRESV;      block_state.flags.value |= CLUSTER_UNRESV;
5094  }  }
5095  #line 5093 "conf_parser.c" /* yacc.c:1646  */  #line 5096 "conf_parser.c" /* yacc.c:1646  */
5096      break;      break;
5097    
5098    case 393:    case 393:
5099  #line 1980 "conf_parser.y" /* yacc.c:1646  */  #line 1983 "conf_parser.y" /* yacc.c:1646  */
5100      {      {
5101    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5102      block_state.flags.value |= CLUSTER_LOCOPS;      block_state.flags.value |= CLUSTER_LOCOPS;
5103  }  }
5104  #line 5102 "conf_parser.c" /* yacc.c:1646  */  #line 5105 "conf_parser.c" /* yacc.c:1646  */
5105      break;      break;
5106    
5107    case 394:    case 394:
5108  #line 1984 "conf_parser.y" /* yacc.c:1646  */  #line 1987 "conf_parser.y" /* yacc.c:1646  */
5109      {      {
5110    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5111      block_state.flags.value = CLUSTER_ALL;      block_state.flags.value = CLUSTER_ALL;
5112  }  }
5113  #line 5111 "conf_parser.c" /* yacc.c:1646  */  #line 5114 "conf_parser.c" /* yacc.c:1646  */
5114      break;      break;
5115    
5116    case 395:    case 395:
5117  #line 1994 "conf_parser.y" /* yacc.c:1646  */  #line 1997 "conf_parser.y" /* yacc.c:1646  */
5118      {      {
5119    
5120    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
# Line 5121  yyreduce: Line 5124  yyreduce:
5124    block_state.aftype.value = AF_INET;    block_state.aftype.value = AF_INET;
5125    block_state.port.value = PORTNUM;    block_state.port.value = PORTNUM;
5126  }  }
5127  #line 5125 "conf_parser.c" /* yacc.c:1646  */  #line 5128 "conf_parser.c" /* yacc.c:1646  */
5128      break;      break;
5129    
5130    case 396:    case 396:
5131  #line 2003 "conf_parser.y" /* yacc.c:1646  */  #line 2006 "conf_parser.y" /* yacc.c:1646  */
5132      {      {
5133    struct MaskItem *conf = NULL;    struct MaskItem *conf = NULL;
5134    struct addrinfo hints, *res;    struct addrinfo hints, *res;
# Line 5187  yyreduce: Line 5190  yyreduce:
5190    conf_add_class_to_conf(conf, block_state.class.buf);    conf_add_class_to_conf(conf, block_state.class.buf);
5191    lookup_confhost(conf);    lookup_confhost(conf);
5192  }  }
5193  #line 5191 "conf_parser.c" /* yacc.c:1646  */  #line 5194 "conf_parser.c" /* yacc.c:1646  */
5194      break;      break;
5195    
5196    case 414:    case 414:
5197  #line 2083 "conf_parser.y" /* yacc.c:1646  */  #line 2086 "conf_parser.y" /* yacc.c:1646  */
5198      {      {
5199    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5200      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5201  }  }
5202  #line 5200 "conf_parser.c" /* yacc.c:1646  */  #line 5203 "conf_parser.c" /* yacc.c:1646  */
5203      break;      break;
5204    
5205    case 415:    case 415:
5206  #line 2089 "conf_parser.y" /* yacc.c:1646  */  #line 2092 "conf_parser.y" /* yacc.c:1646  */
5207      {      {
5208    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5209      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5210  }  }
5211  #line 5209 "conf_parser.c" /* yacc.c:1646  */  #line 5212 "conf_parser.c" /* yacc.c:1646  */
5212      break;      break;
5213    
5214    case 416:    case 416:
5215  #line 2095 "conf_parser.y" /* yacc.c:1646  */  #line 2098 "conf_parser.y" /* yacc.c:1646  */
5216      {      {
5217    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5218      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5219  }  }
5220  #line 5218 "conf_parser.c" /* yacc.c:1646  */  #line 5221 "conf_parser.c" /* yacc.c:1646  */
5221      break;      break;
5222    
5223    case 417:    case 417:
5224  #line 2101 "conf_parser.y" /* yacc.c:1646  */  #line 2104 "conf_parser.y" /* yacc.c:1646  */
5225      {      {
5226    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
5227      break;      break;
# Line 5230  yyreduce: Line 5233  yyreduce:
5233    else    else
5234      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5235  }  }
5236  #line 5234 "conf_parser.c" /* yacc.c:1646  */  #line 5237 "conf_parser.c" /* yacc.c:1646  */
5237      break;      break;
5238    
5239    case 418:    case 418:
5240  #line 2114 "conf_parser.y" /* yacc.c:1646  */  #line 2117 "conf_parser.y" /* yacc.c:1646  */
5241      {      {
5242    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
5243      break;      break;
# Line 5246  yyreduce: Line 5249  yyreduce:
5249    else    else
5250      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5251  }  }
5252  #line 5250 "conf_parser.c" /* yacc.c:1646  */  #line 5253 "conf_parser.c" /* yacc.c:1646  */
5253      break;      break;
5254    
5255    case 419:    case 419:
5256  #line 2127 "conf_parser.y" /* yacc.c:1646  */  #line 2130 "conf_parser.y" /* yacc.c:1646  */
5257      {      {
5258    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5259      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5260  }  }
5261  #line 5259 "conf_parser.c" /* yacc.c:1646  */  #line 5262 "conf_parser.c" /* yacc.c:1646  */
5262      break;      break;
5263    
5264    case 420:    case 420:
5265  #line 2133 "conf_parser.y" /* yacc.c:1646  */  #line 2136 "conf_parser.y" /* yacc.c:1646  */
5266      {      {
5267    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5268      block_state.port.value = (yyvsp[-1].number);      block_state.port.value = (yyvsp[-1].number);
5269  }  }
5270  #line 5268 "conf_parser.c" /* yacc.c:1646  */  #line 5271 "conf_parser.c" /* yacc.c:1646  */
5271      break;      break;
5272    
5273    case 421:    case 421:
5274  #line 2139 "conf_parser.y" /* yacc.c:1646  */  #line 2142 "conf_parser.y" /* yacc.c:1646  */
5275      {      {
5276    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5277      block_state.aftype.value = AF_INET;      block_state.aftype.value = AF_INET;
5278  }  }
5279  #line 5277 "conf_parser.c" /* yacc.c:1646  */  #line 5280 "conf_parser.c" /* yacc.c:1646  */
5280      break;      break;
5281    
5282    case 422:    case 422:
5283  #line 2143 "conf_parser.y" /* yacc.c:1646  */  #line 2146 "conf_parser.y" /* yacc.c:1646  */
5284      {      {
5285    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5286      block_state.aftype.value = AF_INET6;      block_state.aftype.value = AF_INET6;
5287  }  }
5288  #line 5286 "conf_parser.c" /* yacc.c:1646  */  #line 5289 "conf_parser.c" /* yacc.c:1646  */
5289      break;      break;
5290    
5291    case 423:    case 423:
5292  #line 2149 "conf_parser.y" /* yacc.c:1646  */  #line 2152 "conf_parser.y" /* yacc.c:1646  */
5293      {      {
5294    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5295  }  }
5296  #line 5294 "conf_parser.c" /* yacc.c:1646  */  #line 5297 "conf_parser.c" /* yacc.c:1646  */
5297      break;      break;
5298    
5299    case 427:    case 427:
5300  #line 2155 "conf_parser.y" /* yacc.c:1646  */  #line 2158 "conf_parser.y" /* yacc.c:1646  */
5301      {      {
5302    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5303      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5304  }  }
5305  #line 5303 "conf_parser.c" /* yacc.c:1646  */  #line 5306 "conf_parser.c" /* yacc.c:1646  */
5306      break;      break;
5307    
5308    case 428:    case 428:
5309  #line 2159 "conf_parser.y" /* yacc.c:1646  */  #line 2162 "conf_parser.y" /* yacc.c:1646  */
5310      {      {
5311    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5312      block_state.flags.value |= CONF_FLAGS_SSL;      block_state.flags.value |= CONF_FLAGS_SSL;
5313  }  }
5314  #line 5312 "conf_parser.c" /* yacc.c:1646  */  #line 5315 "conf_parser.c" /* yacc.c:1646  */
5315      break;      break;
5316    
5317    case 429:    case 429:
5318  #line 2165 "conf_parser.y" /* yacc.c:1646  */  #line 2168 "conf_parser.y" /* yacc.c:1646  */
5319      {      {
5320    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5321    {    {
# Line 5322  yyreduce: Line 5325  yyreduce:
5325        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5326    }    }
5327  }  }
5328  #line 5326 "conf_parser.c" /* yacc.c:1646  */  #line 5329 "conf_parser.c" /* yacc.c:1646  */
5329      break;      break;
5330    
5331    case 430:    case 430:
5332  #line 2176 "conf_parser.y" /* yacc.c:1646  */  #line 2179 "conf_parser.y" /* yacc.c:1646  */
5333      {      {
5334    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5335      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5336  }  }
5337  #line 5335 "conf_parser.c" /* yacc.c:1646  */  #line 5338 "conf_parser.c" /* yacc.c:1646  */
5338      break;      break;
5339    
5340    case 431:    case 431:
5341  #line 2182 "conf_parser.y" /* yacc.c:1646  */  #line 2185 "conf_parser.y" /* yacc.c:1646  */
5342      {      {
5343    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5344      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5345  }  }
5346  #line 5344 "conf_parser.c" /* yacc.c:1646  */  #line 5347 "conf_parser.c" /* yacc.c:1646  */
5347      break;      break;
5348    
5349    case 432:    case 432:
5350  #line 2188 "conf_parser.y" /* yacc.c:1646  */  #line 2191 "conf_parser.y" /* yacc.c:1646  */
5351      {      {
5352    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5353      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5354  }  }
5355  #line 5353 "conf_parser.c" /* yacc.c:1646  */  #line 5356 "conf_parser.c" /* yacc.c:1646  */
5356      break;      break;
5357    
5358    case 433:    case 433:
5359  #line 2194 "conf_parser.y" /* yacc.c:1646  */  #line 2197 "conf_parser.y" /* yacc.c:1646  */
5360      {      {
5361  #ifdef HAVE_TLS  #ifdef HAVE_TLS
5362    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
# Line 5363  yyreduce: Line 5366  yyreduce:
5366      conf_error_report("Ignoring connect::ciphers -- no TLS support");      conf_error_report("Ignoring connect::ciphers -- no TLS support");
5367  #endif  #endif
5368  }  }
5369  #line 5367 "conf_parser.c" /* yacc.c:1646  */  #line 5370 "conf_parser.c" /* yacc.c:1646  */
5370      break;      break;
5371    
5372    case 434:    case 434:
5373  #line 2209 "conf_parser.y" /* yacc.c:1646  */  #line 2212 "conf_parser.y" /* yacc.c:1646  */
5374      {      {
5375    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5376      reset_block_state();      reset_block_state();
5377  }  }
5378  #line 5376 "conf_parser.c" /* yacc.c:1646  */  #line 5379 "conf_parser.c" /* yacc.c:1646  */
5379      break;      break;
5380    
5381    case 435:    case 435:
5382  #line 2213 "conf_parser.y" /* yacc.c:1646  */  #line 2216 "conf_parser.y" /* yacc.c:1646  */
5383      {      {
5384    struct MaskItem *conf = NULL;    struct MaskItem *conf = NULL;
5385    
# Line 5397  yyreduce: Line 5400  yyreduce:
5400      conf->reason = xstrdup(CONF_NOREASON);      conf->reason = xstrdup(CONF_NOREASON);
5401    add_conf_by_address(CONF_KLINE, conf);    add_conf_by_address(CONF_KLINE, conf);
5402  }  }
5403  #line 5401 "conf_parser.c" /* yacc.c:1646  */  #line 5404 "conf_parser.c" /* yacc.c:1646  */
5404      break;      break;
5405    
5406    case 441:    case 441:
5407  #line 2238 "conf_parser.y" /* yacc.c:1646  */  #line 2241 "conf_parser.y" /* yacc.c:1646  */
5408      {      {
5409    
5410    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
# Line 5420  yyreduce: Line 5423  yyreduce:
5423      split_nuh(&nuh);      split_nuh(&nuh);
5424    }    }
5425  }  }
5426  #line 5424 "conf_parser.c" /* yacc.c:1646  */  #line 5427 "conf_parser.c" /* yacc.c:1646  */
5427      break;      break;
5428    
5429    case 442:    case 442:
5430  #line 2258 "conf_parser.y" /* yacc.c:1646  */  #line 2261 "conf_parser.y" /* yacc.c:1646  */
5431      {      {
5432    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5433      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5434  }  }
5435  #line 5433 "conf_parser.c" /* yacc.c:1646  */  #line 5436 "conf_parser.c" /* yacc.c:1646  */
5436      break;      break;
5437    
5438    case 443:    case 443:
5439  #line 2268 "conf_parser.y" /* yacc.c:1646  */  #line 2271 "conf_parser.y" /* yacc.c:1646  */
5440      {      {
5441    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5442      reset_block_state();      reset_block_state();
5443  }  }
5444  #line 5442 "conf_parser.c" /* yacc.c:1646  */  #line 5445 "conf_parser.c" /* yacc.c:1646  */
5445      break;      break;
5446    
5447    case 444:    case 444:
5448  #line 2272 "conf_parser.y" /* yacc.c:1646  */  #line 2275 "conf_parser.y" /* yacc.c:1646  */
5449      {      {
5450    struct MaskItem *conf = NULL;    struct MaskItem *conf = NULL;
5451    
# Line 5464  yyreduce: Line 5467  yyreduce:
5467      add_conf_by_address(CONF_DLINE, conf);      add_conf_by_address(CONF_DLINE, conf);
5468    }    }
5469  }  }
5470  #line 5468 "conf_parser.c" /* yacc.c:1646  */  #line 5471 "conf_parser.c" /* yacc.c:1646  */
5471      break;      break;
5472    
5473    case 450:    case 450:
5474  #line 2298 "conf_parser.y" /* yacc.c:1646  */  #line 2301 "conf_parser.y" /* yacc.c:1646  */
5475      {      {
5476    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5477      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5478  }  }
5479  #line 5477 "conf_parser.c" /* yacc.c:1646  */  #line 5480 "conf_parser.c" /* yacc.c:1646  */
5480      break;      break;
5481    
5482    case 451:    case 451:
5483  #line 2304 "conf_parser.y" /* yacc.c:1646  */  #line 2307 "conf_parser.y" /* yacc.c:1646  */
5484      {      {
5485    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5486      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5487  }  }
5488  #line 5486 "conf_parser.c" /* yacc.c:1646  */  #line 5489 "conf_parser.c" /* yacc.c:1646  */
5489      break;      break;
5490    
5491    case 457:    case 457:
5492  #line 2319 "conf_parser.y" /* yacc.c:1646  */  #line 2322 "conf_parser.y" /* yacc.c:1646  */
5493      {      {
5494    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5495    {    {
# Line 5499  yyreduce: Line 5502  yyreduce:
5502      }      }
5503    }    }
5504  }  }
5505  #line 5503 "conf_parser.c" /* yacc.c:1646  */  #line 5506 "conf_parser.c" /* yacc.c:1646  */
5506      break;      break;
5507    
5508    case 458:    case 458:
5509  #line 2336 "conf_parser.y" /* yacc.c:1646  */  #line 2339 "conf_parser.y" /* yacc.c:1646  */
5510      {      {
5511    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5512      reset_block_state();      reset_block_state();
5513  }  }
5514  #line 5512 "conf_parser.c" /* yacc.c:1646  */  #line 5515 "conf_parser.c" /* yacc.c:1646  */
5515      break;      break;
5516    
5517    case 459:    case 459:
5518  #line 2340 "conf_parser.y" /* yacc.c:1646  */  #line 2343 "conf_parser.y" /* yacc.c:1646  */
5519      {      {
5520    if (conf_parser_ctx.pass != 2)    if (conf_parser_ctx.pass != 2)
5521      break;      break;
# Line 5528  yyreduce: Line 5531  yyreduce:
5531    else    else
5532      gecos->reason = xstrdup(CONF_NOREASON);      gecos->reason = xstrdup(CONF_NOREASON);
5533  }  }
5534  #line 5532 "conf_parser.c" /* yacc.c:1646  */  #line 5535 "conf_parser.c" /* yacc.c:1646  */
5535      break;      break;
5536    
5537    case 465:    case 465:
5538  #line 2360 "conf_parser.y" /* yacc.c:1646  */  #line 2363 "conf_parser.y" /* yacc.c:1646  */
5539      {      {
5540    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5541      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5542  }  }
5543  #line 5541 "conf_parser.c" /* yacc.c:1646  */  #line 5544 "conf_parser.c" /* yacc.c:1646  */
5544      break;      break;
5545    
5546    case 466:    case 466:
5547  #line 2366 "conf_parser.y" /* yacc.c:1646  */  #line 2369 "conf_parser.y" /* yacc.c:1646  */
5548      {      {
5549    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5550      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5551  }  }
5552  #line 5550 "conf_parser.c" /* yacc.c:1646  */  #line 5553 "conf_parser.c" /* yacc.c:1646  */
5553      break;      break;
5554    
5555    case 518:    case 518:
5556  #line 2429 "conf_parser.y" /* yacc.c:1646  */  #line 2432 "conf_parser.y" /* yacc.c:1646  */
5557      {      {
5558    ConfigGeneral.away_count = (yyvsp[-1].number);    ConfigGeneral.away_count = (yyvsp[-1].number);
5559  }  }
5560  #line 5558 "conf_parser.c" /* yacc.c:1646  */  #line 5561 "conf_parser.c" /* yacc.c:1646  */
5561      break;      break;
5562    
5563    case 519:    case 519:
5564  #line 2434 "conf_parser.y" /* yacc.c:1646  */  #line 2437 "conf_parser.y" /* yacc.c:1646  */
5565      {      {
5566    ConfigGeneral.away_time = (yyvsp[-1].number);    ConfigGeneral.away_time = (yyvsp[-1].number);
5567  }  }
5568  #line 5566 "conf_parser.c" /* yacc.c:1646  */  #line 5569 "conf_parser.c" /* yacc.c:1646  */
5569      break;      break;
5570    
5571    case 520:    case 520:
5572  #line 2439 "conf_parser.y" /* yacc.c:1646  */  #line 2442 "conf_parser.y" /* yacc.c:1646  */
5573      {      {
5574    ConfigGeneral.max_watch = (yyvsp[-1].number);    ConfigGeneral.max_watch = (yyvsp[-1].number);
5575  }  }
5576  #line 5574 "conf_parser.c" /* yacc.c:1646  */  #line 5577 "conf_parser.c" /* yacc.c:1646  */
5577      break;      break;
5578    
5579    case 521:    case 521:
5580  #line 2444 "conf_parser.y" /* yacc.c:1646  */  #line 2447 "conf_parser.y" /* yacc.c:1646  */
5581      {      {
5582    ConfigGeneral.whowas_history_length = (yyvsp[-1].number);    ConfigGeneral.whowas_history_length = (yyvsp[-1].number);
5583  }  }
5584  #line 5582 "conf_parser.c" /* yacc.c:1646  */  #line 5585 "conf_parser.c" /* yacc.c:1646  */
5585      break;      break;
5586    
5587    case 522:    case 522:
5588  #line 2449 "conf_parser.y" /* yacc.c:1646  */  #line 2452 "conf_parser.y" /* yacc.c:1646  */
5589      {      {
5590    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5591      ConfigGeneral.cycle_on_host_change = yylval.number;      ConfigGeneral.cycle_on_host_change = yylval.number;
5592  }  }
5593  #line 5591 "conf_parser.c" /* yacc.c:1646  */  #line 5594 "conf_parser.c" /* yacc.c:1646  */
5594      break;      break;
5595    
5596    case 523:    case 523:
5597  #line 2455 "conf_parser.y" /* yacc.c:1646  */  #line 2458 "conf_parser.y" /* yacc.c:1646  */
5598      {      {
5599    ConfigGeneral.dline_min_cidr = (yyvsp[-1].number);    ConfigGeneral.dline_min_cidr = (yyvsp[-1].number);
5600  }  }
5601  #line 5599 "conf_parser.c" /* yacc.c:1646  */  #line 5602 "conf_parser.c" /* yacc.c:1646  */
5602      break;      break;
5603    
5604    case 524:    case 524:
5605  #line 2460 "conf_parser.y" /* yacc.c:1646  */  #line 2463 "conf_parser.y" /* yacc.c:1646  */
5606      {      {
5607    ConfigGeneral.dline_min_cidr6 = (yyvsp[-1].number);    ConfigGeneral.dline_min_cidr6 = (yyvsp[-1].number);
5608  }  }
5609  #line 5607 "conf_parser.c" /* yacc.c:1646  */  #line 5610 "conf_parser.c" /* yacc.c:1646  */
5610      break;      break;
5611    
5612    case 525:    case 525:
5613  #line 2465 "conf_parser.y" /* yacc.c:1646  */  #line 2468 "conf_parser.y" /* yacc.c:1646  */
5614      {      {
5615    ConfigGeneral.kline_min_cidr = (yyvsp[-1].number);    ConfigGeneral.kline_min_cidr = (yyvsp[-1].number);
5616  }  }
5617  #line 5615 "conf_parser.c" /* yacc.c:1646  */  #line 5618 "conf_parser.c" /* yacc.c:1646  */
5618      break;      break;
5619    
5620    case 526:    case 526:
5621  #line 2470 "conf_parser.y" /* yacc.c:1646  */  #line 2473 "conf_parser.y" /* yacc.c:1646  */
5622      {      {
5623    ConfigGeneral.kline_min_cidr6 = (yyvsp[-1].number);    ConfigGeneral.kline_min_cidr6 = (yyvsp[-1].number);
5624  }  }
5625  #line 5623 "conf_parser.c" /* yacc.c:1646  */  #line 5626 "conf_parser.c" /* yacc.c:1646  */
5626      break;      break;
5627    
5628    case 527:    case 527:
5629  #line 2475 "conf_parser.y" /* yacc.c:1646  */  #line 2478 "conf_parser.y" /* yacc.c:1646  */
5630      {      {
5631    ConfigGeneral.tkline_expire_notices = yylval.number;    ConfigGeneral.tkline_expire_notices = yylval.number;
5632  }  }
5633  #line 5631 "conf_parser.c" /* yacc.c:1646  */  #line 5634 "conf_parser.c" /* yacc.c:1646  */
5634      break;      break;
5635    
5636    case 528:    case 528:
5637  #line 2480 "conf_parser.y" /* yacc.c:1646  */  #line 2483 "conf_parser.y" /* yacc.c:1646  */
5638      {      {
5639    ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);    ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5640  }  }
5641  #line 5639 "conf_parser.c" /* yacc.c:1646  */  #line 5642 "conf_parser.c" /* yacc.c:1646  */
5642      break;      break;
5643    
5644    case 529:    case 529:
5645  #line 2485 "conf_parser.y" /* yacc.c:1646  */  #line 2488 "conf_parser.y" /* yacc.c:1646  */
5646      {      {
5647    ConfigGeneral.ignore_bogus_ts = yylval.number;    ConfigGeneral.ignore_bogus_ts = yylval.number;
5648  }  }
5649  #line 5647 "conf_parser.c" /* yacc.c:1646  */  #line 5650 "conf_parser.c" /* yacc.c:1646  */
5650      break;      break;
5651    
5652    case 530:    case 530:
5653  #line 2490 "conf_parser.y" /* yacc.c:1646  */  #line 2493 "conf_parser.y" /* yacc.c:1646  */
5654      {      {
5655    ConfigGeneral.failed_oper_notice = yylval.number;    ConfigGeneral.failed_oper_notice = yylval.number;
5656  }  }
5657  #line 5655 "conf_parser.c" /* yacc.c:1646  */  #line 5658 "conf_parser.c" /* yacc.c:1646  */
5658      break;      break;
5659    
5660    case 531:    case 531:
5661  #line 2495 "conf_parser.y" /* yacc.c:1646  */  #line 2498 "conf_parser.y" /* yacc.c:1646  */
5662      {      {
5663    ConfigGeneral.anti_nick_flood = yylval.number;    ConfigGeneral.anti_nick_flood = yylval.number;
5664  }  }
5665  #line 5663 "conf_parser.c" /* yacc.c:1646  */  #line 5666 "conf_parser.c" /* yacc.c:1646  */
5666      break;      break;
5667    
5668    case 532:    case 532:
5669  #line 2500 "conf_parser.y" /* yacc.c:1646  */  #line 2503 "conf_parser.y" /* yacc.c:1646  */
5670      {      {
5671    ConfigGeneral.max_nick_time = (yyvsp[-1].number);    ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5672  }  }
5673  #line 5671 "conf_parser.c" /* yacc.c:1646  */  #line 5674 "conf_parser.c" /* yacc.c:1646  */
5674      break;      break;
5675    
5676    case 533:    case 533:
5677  #line 2505 "conf_parser.y" /* yacc.c:1646  */  #line 2508 "conf_parser.y" /* yacc.c:1646  */
5678      {      {
5679    ConfigGeneral.max_nick_changes = (yyvsp[-1].number);    ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5680  }  }
5681  #line 5679 "conf_parser.c" /* yacc.c:1646  */  #line 5682 "conf_parser.c" /* yacc.c:1646  */
5682      break;      break;
5683    
5684    case 534:    case 534:
5685  #line 2510 "conf_parser.y" /* yacc.c:1646  */  #line 2513 "conf_parser.y" /* yacc.c:1646  */
5686      {      {
5687    ConfigGeneral.max_accept = (yyvsp[-1].number);    ConfigGeneral.max_accept = (yyvsp[-1].number);
5688  }  }
5689  #line 5687 "conf_parser.c" /* yacc.c:1646  */  #line 5690 "conf_parser.c" /* yacc.c:1646  */
5690      break;      break;
5691    
5692    case 535:    case 535:
5693  #line 2515 "conf_parser.y" /* yacc.c:1646  */  #line 2518 "conf_parser.y" /* yacc.c:1646  */
5694      {      {
5695    ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);    ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5696  }  }
5697  #line 5695 "conf_parser.c" /* yacc.c:1646  */  #line 5698 "conf_parser.c" /* yacc.c:1646  */
5698      break;      break;
5699    
5700    case 536:    case 536:
5701  #line 2520 "conf_parser.y" /* yacc.c:1646  */  #line 2523 "conf_parser.y" /* yacc.c:1646  */
5702      {      {
5703    ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);    ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5704  }  }
5705  #line 5703 "conf_parser.c" /* yacc.c:1646  */  #line 5706 "conf_parser.c" /* yacc.c:1646  */
5706      break;      break;
5707    
5708    case 537:    case 537:
5709  #line 2525 "conf_parser.y" /* yacc.c:1646  */  #line 2528 "conf_parser.y" /* yacc.c:1646  */
5710      {      {
5711    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
5712      ConfigGeneral.ts_max_delta = (yyvsp[-1].number);      ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5713  }  }
5714  #line 5712 "conf_parser.c" /* yacc.c:1646  */  #line 5715 "conf_parser.c" /* yacc.c:1646  */
5715      break;      break;
5716    
5717    case 538:    case 538:
5718  #line 2531 "conf_parser.y" /* yacc.c:1646  */  #line 2534 "conf_parser.y" /* yacc.c:1646  */
5719      {      {
5720    ConfigGeneral.invisible_on_connect = yylval.number;    ConfigGeneral.invisible_on_connect = yylval.number;
5721  }  }
5722  #line 5720 "conf_parser.c" /* yacc.c:1646  */  #line 5723 "conf_parser.c" /* yacc.c:1646  */
5723      break;      break;
5724    
5725    case 539:    case 539:
5726  #line 2536 "conf_parser.y" /* yacc.c:1646  */  #line 2539 "conf_parser.y" /* yacc.c:1646  */
5727      {      {
5728    ConfigGeneral.warn_no_connect_block = yylval.number;    ConfigGeneral.warn_no_connect_block = yylval.number;
5729  }  }
5730  #line 5728 "conf_parser.c" /* yacc.c:1646  */  #line 5731 "conf_parser.c" /* yacc.c:1646  */
5731      break;      break;
5732    
5733    case 540:    case 540:
5734  #line 2541 "conf_parser.y" /* yacc.c:1646  */  #line 2544 "conf_parser.y" /* yacc.c:1646  */
5735      {      {
5736    ConfigGeneral.stats_e_disabled = yylval.number;    ConfigGeneral.stats_e_disabled = yylval.number;
5737  }  }
5738  #line 5736 "conf_parser.c" /* yacc.c:1646  */  #line 5739 "conf_parser.c" /* yacc.c:1646  */
5739      break;      break;
5740    
5741    case 541:    case 541:
5742  #line 2546 "conf_parser.y" /* yacc.c:1646  */  #line 2549 "conf_parser.y" /* yacc.c:1646  */
5743      {      {
5744    ConfigGeneral.stats_m_oper_only = yylval.number;    ConfigGeneral.stats_m_oper_only = yylval.number;
5745  }  }
5746  #line 5744 "conf_parser.c" /* yacc.c:1646  */  #line 5747 "conf_parser.c" /* yacc.c:1646  */
5747      break;      break;
5748    
5749    case 542:    case 542:
5750  #line 2551 "conf_parser.y" /* yacc.c:1646  */  #line 2554 "conf_parser.y" /* yacc.c:1646  */
5751      {      {
5752    ConfigGeneral.stats_o_oper_only = yylval.number;    ConfigGeneral.stats_o_oper_only = yylval.number;
5753  }  }
5754  #line 5752 "conf_parser.c" /* yacc.c:1646  */  #line 5755 "conf_parser.c" /* yacc.c:1646  */
5755      break;      break;
5756    
5757    case 543:    case 543:
5758  #line 2556 "conf_parser.y" /* yacc.c:1646  */  #line 2559 "conf_parser.y" /* yacc.c:1646  */
5759      {      {
5760    ConfigGeneral.stats_P_oper_only = yylval.number;    ConfigGeneral.stats_P_oper_only = yylval.number;
5761  }  }
5762  #line 5760 "conf_parser.c" /* yacc.c:1646  */  #line 5763 "conf_parser.c" /* yacc.c:1646  */
5763      break;      break;
5764    
5765    case 544:    case 544:
5766  #line 2561 "conf_parser.y" /* yacc.c:1646  */  #line 2564 "conf_parser.y" /* yacc.c:1646  */
5767      {      {
5768    ConfigGeneral.stats_u_oper_only = yylval.number;    ConfigGeneral.stats_u_oper_only = yylval.number;
5769  }  }
5770  #line 5768 "conf_parser.c" /* yacc.c:1646  */  #line 5771 "conf_parser.c" /* yacc.c:1646  */
5771      break;      break;
5772    
5773    case 545:    case 545:
5774  #line 2566 "conf_parser.y" /* yacc.c:1646  */  #line 2569 "conf_parser.y" /* yacc.c:1646  */
5775      {      {
5776    ConfigGeneral.stats_k_oper_only = 2 * yylval.number;    ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5777  }  }
5778  #line 5776 "conf_parser.c" /* yacc.c:1646  */  #line 5779 "conf_parser.c" /* yacc.c:1646  */
5779      break;      break;
5780    
5781    case 546:    case 546:
5782  #line 2569 "conf_parser.y" /* yacc.c:1646  */  #line 2572 "conf_parser.y" /* yacc.c:1646  */
5783      {      {
5784    ConfigGeneral.stats_k_oper_only = 1;    ConfigGeneral.stats_k_oper_only = 1;
5785  }  }
5786  #line 5784 "conf_parser.c" /* yacc.c:1646  */  #line 5787 "conf_parser.c" /* yacc.c:1646  */
5787      break;      break;
5788    
5789    case 547:    case 547:
5790  #line 2574 "conf_parser.y" /* yacc.c:1646  */  #line 2577 "conf_parser.y" /* yacc.c:1646  */
5791      {      {
5792    ConfigGeneral.stats_i_oper_only = 2 * yylval.number;    ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5793  }  }
5794  #line 5792 "conf_parser.c" /* yacc.c:1646  */  #line 5795 "conf_parser.c" /* yacc.c:1646  */
5795      break;      break;
5796    
5797    case 548:    case 548:
5798  #line 2577 "conf_parser.y" /* yacc.c:1646  */  #line 2580 "conf_parser.y" /* yacc.c:1646  */
5799      {      {
5800    ConfigGeneral.stats_i_oper_only = 1;    ConfigGeneral.stats_i_oper_only = 1;
5801  }  }
5802  #line 5800 "conf_parser.c" /* yacc.c:1646  */  #line 5803 "conf_parser.c" /* yacc.c:1646  */
5803      break;      break;
5804    
5805    case 549:    case 549:
5806  #line 2582 "conf_parser.y" /* yacc.c:1646  */  #line 2585 "conf_parser.y" /* yacc.c:1646  */
5807      {      {
5808    ConfigGeneral.pace_wait = (yyvsp[-1].number);    ConfigGeneral.pace_wait = (yyvsp[-1].number);
5809  }  }
5810  #line 5808 "conf_parser.c" /* yacc.c:1646  */  #line 5811 "conf_parser.c" /* yacc.c:1646  */
5811      break;      break;
5812    
5813    case 550:    case 550:
5814  #line 2587 "conf_parser.y" /* yacc.c:1646  */  #line 2590 "conf_parser.y" /* yacc.c:1646  */
5815      {      {
5816    ConfigGeneral.caller_id_wait = (yyvsp[-1].number);    ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5817  }  }
5818  #line 5816 "conf_parser.c" /* yacc.c:1646  */  #line 5819 "conf_parser.c" /* yacc.c:1646  */
5819      break;      break;
5820    
5821    case 551:    case 551:
5822  #line 2592 "conf_parser.y" /* yacc.c:1646  */  #line 2595 "conf_parser.y" /* yacc.c:1646  */
5823      {      {
5824    ConfigGeneral.opers_bypass_callerid = yylval.number;    ConfigGeneral.opers_bypass_callerid = yylval.number;
5825  }  }
5826  #line 5824 "conf_parser.c" /* yacc.c:1646  */  #line 5827 "conf_parser.c" /* yacc.c:1646  */
5827      break;      break;
5828    
5829    case 552:    case 552:
5830  #line 2597 "conf_parser.y" /* yacc.c:1646  */  #line 2600 "conf_parser.y" /* yacc.c:1646  */
5831      {      {
5832    ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);    ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
5833  }  }
5834  #line 5832 "conf_parser.c" /* yacc.c:1646  */  #line 5835 "conf_parser.c" /* yacc.c:1646  */
5835      break;      break;
5836    
5837    case 553:    case 553:
5838  #line 2602 "conf_parser.y" /* yacc.c:1646  */  #line 2605 "conf_parser.y" /* yacc.c:1646  */
5839      {      {
5840    ConfigGeneral.short_motd = yylval.number;    ConfigGeneral.short_motd = yylval.number;
5841  }  }
5842  #line 5840 "conf_parser.c" /* yacc.c:1646  */  #line 5843 "conf_parser.c" /* yacc.c:1646  */
5843      break;      break;
5844    
5845    case 554:    case 554:
5846  #line 2607 "conf_parser.y" /* yacc.c:1646  */  #line 2610 "conf_parser.y" /* yacc.c:1646  */
5847      {      {
5848    ConfigGeneral.no_oper_flood = yylval.number;    ConfigGeneral.no_oper_flood = yylval.number;
5849  }  }
5850  #line 5848 "conf_parser.c" /* yacc.c:1646  */  #line 5851 "conf_parser.c" /* yacc.c:1646  */
5851      break;      break;
5852    
5853    case 555:    case 555:
5854  #line 2612 "conf_parser.y" /* yacc.c:1646  */  #line 2615 "conf_parser.y" /* yacc.c:1646  */
5855      {      {
5856    ConfigGeneral.dots_in_ident = (yyvsp[-1].number);    ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
5857  }  }
5858  #line 5856 "conf_parser.c" /* yacc.c:1646  */  #line 5859 "conf_parser.c" /* yacc.c:1646  */
5859      break;      break;
5860    
5861    case 556:    case 556:
5862  #line 2617 "conf_parser.y" /* yacc.c:1646  */  #line 2620 "conf_parser.y" /* yacc.c:1646  */
5863      {      {
5864    ConfigGeneral.max_targets = (yyvsp[-1].number);    ConfigGeneral.max_targets = (yyvsp[-1].number);
5865  }  }
5866  #line 5864 "conf_parser.c" /* yacc.c:1646  */  #line 5867 "conf_parser.c" /* yacc.c:1646  */
5867      break;      break;
5868    
5869    case 557:    case 557:
5870  #line 2622 "conf_parser.y" /* yacc.c:1646  */  #line 2625 "conf_parser.y" /* yacc.c:1646  */
5871      {      {
5872    ConfigGeneral.ping_cookie = yylval.number;    ConfigGeneral.ping_cookie = yylval.number;
5873  }  }
5874  #line 5872 "conf_parser.c" /* yacc.c:1646  */  #line 5875 "conf_parser.c" /* yacc.c:1646  */
5875      break;      break;
5876    
5877    case 558:    case 558:
5878  #line 2627 "conf_parser.y" /* yacc.c:1646  */  #line 2630 "conf_parser.y" /* yacc.c:1646  */
5879      {      {
5880    ConfigGeneral.disable_auth = yylval.number;    ConfigGeneral.disable_auth = yylval.number;
5881  }  }
5882  #line 5880 "conf_parser.c" /* yacc.c:1646  */  #line 5883 "conf_parser.c" /* yacc.c:1646  */
5883      break;      break;
5884    
5885    case 559:    case 559:
5886  #line 2632 "conf_parser.y" /* yacc.c:1646  */  #line 2635 "conf_parser.y" /* yacc.c:1646  */
5887      {      {
5888    ConfigGeneral.throttle_count = (yyvsp[-1].number);    ConfigGeneral.throttle_count = (yyvsp[-1].number);
5889  }  }
5890  #line 5888 "conf_parser.c" /* yacc.c:1646  */  #line 5891 "conf_parser.c" /* yacc.c:1646  */
5891      break;      break;
5892    
5893    case 560:    case 560:
5894  #line 2637 "conf_parser.y" /* yacc.c:1646  */  #line 2640 "conf_parser.y" /* yacc.c:1646  */
5895      {      {
5896    ConfigGeneral.throttle_time = (yyvsp[-1].number);    ConfigGeneral.throttle_time = (yyvsp[-1].number);
5897  }  }
5898  #line 5896 "conf_parser.c" /* yacc.c:1646  */  #line 5899 "conf_parser.c" /* yacc.c:1646  */
5899      break;      break;
5900    
5901    case 561:    case 561:
5902  #line 2642 "conf_parser.y" /* yacc.c:1646  */  #line 2645 "conf_parser.y" /* yacc.c:1646  */
5903      {      {
5904    ConfigGeneral.oper_umodes = 0;    ConfigGeneral.oper_umodes = 0;
5905  }  }
5906  #line 5904 "conf_parser.c" /* yacc.c:1646  */  #line 5907 "conf_parser.c" /* yacc.c:1646  */
5907      break;      break;
5908    
5909    case 565:    case 565:
5910  #line 2648 "conf_parser.y" /* yacc.c:1646  */  #line 2651 "conf_parser.y" /* yacc.c:1646  */
5911      {      {
5912    ConfigGeneral.oper_umodes |= UMODE_BOTS;    ConfigGeneral.oper_umodes |= UMODE_BOTS;
5913  }  }
5914  #line 5912 "conf_parser.c" /* yacc.c:1646  */  #line 5915 "conf_parser.c" /* yacc.c:1646  */
5915      break;      break;
5916    
5917    case 566:    case 566:
5918  #line 2651 "conf_parser.y" /* yacc.c:1646  */  #line 2654 "conf_parser.y" /* yacc.c:1646  */
5919      {      {
5920    ConfigGeneral.oper_umodes |= UMODE_CCONN;    ConfigGeneral.oper_umodes |= UMODE_CCONN;
5921  }  }
5922  #line 5920 "conf_parser.c" /* yacc.c:1646  */  #line 5923 "conf_parser.c" /* yacc.c:1646  */
5923      break;      break;
5924    
5925    case 567:    case 567:
5926  #line 2654 "conf_parser.y" /* yacc.c:1646  */  #line 2657 "conf_parser.y" /* yacc.c:1646  */
5927      {      {
5928    ConfigGeneral.oper_umodes |= UMODE_DEAF;    ConfigGeneral.oper_umodes |= UMODE_DEAF;
5929  }  }
5930  #line 5928 "conf_parser.c" /* yacc.c:1646  */  #line 5931 "conf_parser.c" /* yacc.c:1646  */
5931      break;      break;
5932    
5933    case 568:    case 568:
5934  #line 2657 "conf_parser.y" /* yacc.c:1646  */  #line 2660 "conf_parser.y" /* yacc.c:1646  */
5935      {      {
5936    ConfigGeneral.oper_umodes |= UMODE_DEBUG;    ConfigGeneral.oper_umodes |= UMODE_DEBUG;
5937  }  }
5938  #line 5936 "conf_parser.c" /* yacc.c:1646  */  #line 5939 "conf_parser.c" /* yacc.c:1646  */
5939      break;      break;
5940    
5941    case 569:    case 569:
5942  #line 2660 "conf_parser.y" /* yacc.c:1646  */  #line 2663 "conf_parser.y" /* yacc.c:1646  */
5943      {      {
5944    ConfigGeneral.oper_umodes |= UMODE_FULL;    ConfigGeneral.oper_umodes |= UMODE_FULL;
5945  }  }
5946  #line 5944 "conf_parser.c" /* yacc.c:1646  */  #line 5947 "conf_parser.c" /* yacc.c:1646  */
5947      break;      break;
5948    
5949    case 570:    case 570:
5950  #line 2663 "conf_parser.y" /* yacc.c:1646  */  #line 2666 "conf_parser.y" /* yacc.c:1646  */
5951      {      {
5952    ConfigGeneral.oper_umodes |= UMODE_HIDDEN;    ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
5953  }  }
5954  #line 5952 "conf_parser.c" /* yacc.c:1646  */  #line 5955 "conf_parser.c" /* yacc.c:1646  */
5955      break;      break;
5956    
5957    case 571:    case 571:
5958  #line 2666 "conf_parser.y" /* yacc.c:1646  */  #line 2669 "conf_parser.y" /* yacc.c:1646  */
5959      {      {
5960    ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;    ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
5961  }  }
5962  #line 5960 "conf_parser.c" /* yacc.c:1646  */  #line 5963 "conf_parser.c" /* yacc.c:1646  */
5963      break;      break;
5964    
5965    case 572:    case 572:
5966  #line 2669 "conf_parser.y" /* yacc.c:1646  */  #line 2672 "conf_parser.y" /* yacc.c:1646  */
5967      {      {
5968    ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;    ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
5969  }  }
5970  #line 5968 "conf_parser.c" /* yacc.c:1646  */  #line 5971 "conf_parser.c" /* yacc.c:1646  */
5971      break;      break;
5972    
5973    case 573:    case 573:
5974  #line 2672 "conf_parser.y" /* yacc.c:1646  */  #line 2675 "conf_parser.y" /* yacc.c:1646  */
5975      {      {
5976    ConfigGeneral.oper_umodes |= UMODE_SKILL;    ConfigGeneral.oper_umodes |= UMODE_SKILL;
5977  }  }
5978  #line 5976 "conf_parser.c" /* yacc.c:1646  */  #line 5979 "conf_parser.c" /* yacc.c:1646  */
5979      break;      break;
5980    
5981    case 574:    case 574:
5982  #line 2675 "conf_parser.y" /* yacc.c:1646  */  #line 2678 "conf_parser.y" /* yacc.c:1646  */
5983      {      {
5984    ConfigGeneral.oper_umodes |= UMODE_NCHANGE;    ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
5985  }  }
5986  #line 5984 "conf_parser.c" /* yacc.c:1646  */  #line 5987 "conf_parser.c" /* yacc.c:1646  */
5987      break;      break;
5988    
5989    case 575:    case 575:
5990  #line 2678 "conf_parser.y" /* yacc.c:1646  */  #line 2681 "conf_parser.y" /* yacc.c:1646  */
5991      {      {
5992    ConfigGeneral.oper_umodes |= UMODE_REJ;    ConfigGeneral.oper_umodes |= UMODE_REJ;
5993  }  }
5994  #line 5992 "conf_parser.c" /* yacc.c:1646  */  #line 5995 "conf_parser.c" /* yacc.c:1646  */
5995      break;      break;
5996    
5997    case 576:    case 576:
5998  #line 2681 "conf_parser.y" /* yacc.c:1646  */  #line 2684 "conf_parser.y" /* yacc.c:1646  */
5999      {      {
6000    ConfigGeneral.oper_umodes |= UMODE_UNAUTH;    ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6001  }  }
6002  #line 6000 "conf_parser.c" /* yacc.c:1646  */  #line 6003 "conf_parser.c" /* yacc.c:1646  */
6003      break;      break;
6004    
6005    case 577:    case 577:
6006  #line 2684 "conf_parser.y" /* yacc.c:1646  */  #line 2687 "conf_parser.y" /* yacc.c:1646  */
6007      {      {
6008    ConfigGeneral.oper_umodes |= UMODE_SPY;    ConfigGeneral.oper_umodes |= UMODE_SPY;
6009  }  }
6010  #line 6008 "conf_parser.c" /* yacc.c:1646  */  #line 6011 "conf_parser.c" /* yacc.c:1646  */
6011      break;      break;
6012    
6013    case 578:    case 578:
6014  #line 2687 "conf_parser.y" /* yacc.c:1646  */  #line 2690 "conf_parser.y" /* yacc.c:1646  */
6015      {      {
6016    ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;    ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6017  }  }
6018  #line 6016 "conf_parser.c" /* yacc.c:1646  */  #line 6019 "conf_parser.c" /* yacc.c:1646  */
6019      break;      break;
6020    
6021    case 579:    case 579:
6022  #line 2690 "conf_parser.y" /* yacc.c:1646  */  #line 2693 "conf_parser.y" /* yacc.c:1646  */
6023      {      {
6024    ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;    ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6025  }  }
6026  #line 6024 "conf_parser.c" /* yacc.c:1646  */  #line 6027 "conf_parser.c" /* yacc.c:1646  */
6027      break;      break;
6028    
6029    case 580:    case 580:
6030  #line 2693 "conf_parser.y" /* yacc.c:1646  */  #line 2696 "conf_parser.y" /* yacc.c:1646  */
6031      {      {
6032    ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;    ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6033  }  }
6034  #line 6032 "conf_parser.c" /* yacc.c:1646  */  #line 6035 "conf_parser.c" /* yacc.c:1646  */
6035      break;      break;
6036    
6037    case 581:    case 581:
6038  #line 2696 "conf_parser.y" /* yacc.c:1646  */  #line 2699 "conf_parser.y" /* yacc.c:1646  */
6039      {      {
6040    ConfigGeneral.oper_umodes |= UMODE_WALLOP;    ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6041  }  }
6042  #line 6040 "conf_parser.c" /* yacc.c:1646  */  #line 6043 "conf_parser.c" /* yacc.c:1646  */
6043      break;      break;
6044    
6045    case 582:    case 582:
6046  #line 2699 "conf_parser.y" /* yacc.c:1646  */  #line 2702 "conf_parser.y" /* yacc.c:1646  */
6047      {      {
6048    ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;    ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6049  }  }
6050  #line 6048 "conf_parser.c" /* yacc.c:1646  */  #line 6051 "conf_parser.c" /* yacc.c:1646  */
6051      break;      break;
6052    
6053    case 583:    case 583:
6054  #line 2702 "conf_parser.y" /* yacc.c:1646  */  #line 2705 "conf_parser.y" /* yacc.c:1646  */
6055      {      {
6056    ConfigGeneral.oper_umodes |= UMODE_CALLERID;    ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6057  }  }
6058  #line 6056 "conf_parser.c" /* yacc.c:1646  */  #line 6059 "conf_parser.c" /* yacc.c:1646  */
6059      break;      break;
6060    
6061    case 584:    case 584:
6062  #line 2705 "conf_parser.y" /* yacc.c:1646  */  #line 2708 "conf_parser.y" /* yacc.c:1646  */
6063      {      {
6064    ConfigGeneral.oper_umodes |= UMODE_LOCOPS;    ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6065  }  }
6066  #line 6064 "conf_parser.c" /* yacc.c:1646  */  #line 6067 "conf_parser.c" /* yacc.c:1646  */
6067      break;      break;
6068    
6069    case 585:    case 585:
6070  #line 2708 "conf_parser.y" /* yacc.c:1646  */  #line 2711 "conf_parser.y" /* yacc.c:1646  */
6071      {      {
6072    ConfigGeneral.oper_umodes |= UMODE_REGONLY;    ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6073  }  }
6074  #line 6072 "conf_parser.c" /* yacc.c:1646  */  #line 6075 "conf_parser.c" /* yacc.c:1646  */
6075      break;      break;
6076    
6077    case 586:    case 586:
6078  #line 2711 "conf_parser.y" /* yacc.c:1646  */  #line 2714 "conf_parser.y" /* yacc.c:1646  */
6079      {      {
6080    ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;    ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6081  }  }
6082  #line 6080 "conf_parser.c" /* yacc.c:1646  */  #line 6083 "conf_parser.c" /* yacc.c:1646  */
6083      break;      break;
6084    
6085    case 587:    case 587:
6086  #line 2716 "conf_parser.y" /* yacc.c:1646  */  #line 2719 "conf_parser.y" /* yacc.c:1646  */
6087      {      {
6088    ConfigGeneral.oper_only_umodes = 0;    ConfigGeneral.oper_only_umodes = 0;
6089  }  }
6090  #line 6088 "conf_parser.c" /* yacc.c:1646  */  #line 6091 "conf_parser.c" /* yacc.c:1646  */
6091      break;      break;
6092    
6093    case 591:    case 591:
6094  #line 2722 "conf_parser.y" /* yacc.c:1646  */  #line 2725 "conf_parser.y" /* yacc.c:1646  */
6095      {      {
6096    ConfigGeneral.oper_only_umodes |= UMODE_BOTS;    ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6097  }  }
6098  #line 6096 "conf_parser.c" /* yacc.c:1646  */  #line 6099 "conf_parser.c" /* yacc.c:1646  */
6099      break;      break;
6100    
6101    case 592:    case 592:
6102  #line 2725 "conf_parser.y" /* yacc.c:1646  */  #line 2728 "conf_parser.y" /* yacc.c:1646  */
6103      {      {
6104    ConfigGeneral.oper_only_umodes |= UMODE_CCONN;    ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6105  }  }
6106  #line 6104 "conf_parser.c" /* yacc.c:1646  */  #line 6107 "conf_parser.c" /* yacc.c:1646  */
6107      break;      break;
6108    
6109    case 593:    case 593:
6110  #line 2728 "conf_parser.y" /* yacc.c:1646  */  #line 2731 "conf_parser.y" /* yacc.c:1646  */
6111      {      {
6112    ConfigGeneral.oper_only_umodes |= UMODE_DEAF;    ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6113  }  }
6114  #line 6112 "conf_parser.c" /* yacc.c:1646  */  #line 6115 "conf_parser.c" /* yacc.c:1646  */
6115      break;      break;
6116    
6117    case 594:    case 594:
6118  #line 2731 "conf_parser.y" /* yacc.c:1646  */  #line 2734 "conf_parser.y" /* yacc.c:1646  */
6119      {      {
6120    ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;    ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6121  }  }
6122  #line 6120 "conf_parser.c" /* yacc.c:1646  */  #line 6123 "conf_parser.c" /* yacc.c:1646  */
6123      break;      break;
6124    
6125    case 595:    case 595:
6126  #line 2734 "conf_parser.y" /* yacc.c:1646  */  #line 2737 "conf_parser.y" /* yacc.c:1646  */
6127      {      {
6128    ConfigGeneral.oper_only_umodes |= UMODE_FULL;    ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6129  }  }
6130  #line 6128 "conf_parser.c" /* yacc.c:1646  */  #line 6131 "conf_parser.c" /* yacc.c:1646  */
6131      break;      break;
6132    
6133    case 596:    case 596:
6134  #line 2737 "conf_parser.y" /* yacc.c:1646  */  #line 2740 "conf_parser.y" /* yacc.c:1646  */
6135      {      {
6136    ConfigGeneral.oper_only_umodes |= UMODE_SKILL;    ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6137  }  }
6138  #line 6136 "conf_parser.c" /* yacc.c:1646  */  #line 6139 "conf_parser.c" /* yacc.c:1646  */
6139      break;      break;
6140    
6141    case 597:    case 597:
6142  #line 2740 "conf_parser.y" /* yacc.c:1646  */  #line 2743 "conf_parser.y" /* yacc.c:1646  */
6143      {      {
6144    ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;    ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6145  }  }
6146  #line 6144 "conf_parser.c" /* yacc.c:1646  */  #line 6147 "conf_parser.c" /* yacc.c:1646  */
6147      break;      break;
6148    
6149    case 598:    case 598:
6150  #line 2743 "conf_parser.y" /* yacc.c:1646  */  #line 2746 "conf_parser.y" /* yacc.c:1646  */
6151      {      {
6152    ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;    ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6153  }  }
6154  #line 6152 "conf_parser.c" /* yacc.c:1646  */  #line 6155 "conf_parser.c" /* yacc.c:1646  */
6155      break;      break;
6156    
6157    case 599:    case 599:
6158  #line 2746 "conf_parser.y" /* yacc.c:1646  */  #line 2749 "conf_parser.y" /* yacc.c:1646  */
6159      {      {
6160    ConfigGeneral.oper_only_umodes |= UMODE_REJ;    ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6161  }  }
6162  #line 6160 "conf_parser.c" /* yacc.c:1646  */  #line 6163 "conf_parser.c" /* yacc.c:1646  */
6163      break;      break;
6164    
6165    case 600:    case 600:
6166  #line 2749 "conf_parser.y" /* yacc.c:1646  */  #line 2752 "conf_parser.y" /* yacc.c:1646  */
6167      {      {
6168    ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;    ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6169  }  }
6170  #line 6168 "conf_parser.c" /* yacc.c:1646  */  #line 6171 "conf_parser.c" /* yacc.c:1646  */
6171      break;      break;
6172    
6173    case 601:    case 601:
6174  #line 2752 "conf_parser.y" /* yacc.c:1646  */  #line 2755 "conf_parser.y" /* yacc.c:1646  */
6175      {      {
6176    ConfigGeneral.oper_only_umodes |= UMODE_SPY;    ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6177  }  }
6178  #line 6176 "conf_parser.c" /* yacc.c:1646  */  #line 6179 "conf_parser.c" /* yacc.c:1646  */
6179      break;      break;
6180    
6181    case 602:    case 602:
6182  #line 2755 "conf_parser.y" /* yacc.c:1646  */  #line 2758 "conf_parser.y" /* yacc.c:1646  */
6183      {      {
6184    ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;    ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6185  }  }
6186  #line 6184 "conf_parser.c" /* yacc.c:1646  */  #line 6187 "conf_parser.c" /* yacc.c:1646  */
6187      break;      break;
6188    
6189    case 603:    case 603:
6190  #line 2758 "conf_parser.y" /* yacc.c:1646  */  #line 2761 "conf_parser.y" /* yacc.c:1646  */
6191      {      {
6192    ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;    ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6193  }  }
6194  #line 6192 "conf_parser.c" /* yacc.c:1646  */  #line 6195 "conf_parser.c" /* yacc.c:1646  */
6195      break;      break;
6196    
6197    case 604:    case 604:
6198  #line 2761 "conf_parser.y" /* yacc.c:1646  */  #line 2764 "conf_parser.y" /* yacc.c:1646  */
6199      {      {
6200    ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;    ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6201  }  }
6202  #line 6200 "conf_parser.c" /* yacc.c:1646  */  #line 6203 "conf_parser.c" /* yacc.c:1646  */
6203      break;      break;
6204    
6205    case 605:    case 605:
6206  #line 2764 "conf_parser.y" /* yacc.c:1646  */  #line 2767 "conf_parser.y" /* yacc.c:1646  */
6207      {      {
6208    ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;    ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6209  }  }
6210  #line 6208 "conf_parser.c" /* yacc.c:1646  */  #line 6211 "conf_parser.c" /* yacc.c:1646  */
6211      break;      break;
6212    
6213    case 606:    case 606:
6214  #line 2767 "conf_parser.y" /* yacc.c:1646  */  #line 2770 "conf_parser.y" /* yacc.c:1646  */
6215      {      {
6216    ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;    ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6217  }  }
6218  #line 6216 "conf_parser.c" /* yacc.c:1646  */  #line 6219 "conf_parser.c" /* yacc.c:1646  */
6219      break;      break;
6220    
6221    case 607:    case 607:
6222  #line 2770 "conf_parser.y" /* yacc.c:1646  */  #line 2773 "conf_parser.y" /* yacc.c:1646  */
6223      {      {
6224    ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;    ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6225  }  }
6226  #line 6224 "conf_parser.c" /* yacc.c:1646  */  #line 6227 "conf_parser.c" /* yacc.c:1646  */
6227      break;      break;
6228    
6229    case 608:    case 608:
6230  #line 2773 "conf_parser.y" /* yacc.c:1646  */  #line 2776 "conf_parser.y" /* yacc.c:1646  */
6231      {      {
6232    ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;    ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6233  }  }
6234  #line 6232 "conf_parser.c" /* yacc.c:1646  */  #line 6235 "conf_parser.c" /* yacc.c:1646  */
6235      break;      break;
6236    
6237    case 609:    case 609:
6238  #line 2776 "conf_parser.y" /* yacc.c:1646  */  #line 2779 "conf_parser.y" /* yacc.c:1646  */
6239      {      {
6240    ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;    ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6241  }  }
6242  #line 6240 "conf_parser.c" /* yacc.c:1646  */  #line 6243 "conf_parser.c" /* yacc.c:1646  */
6243      break;      break;
6244    
6245    case 610:    case 610:
6246  #line 2779 "conf_parser.y" /* yacc.c:1646  */  #line 2782 "conf_parser.y" /* yacc.c:1646  */
6247      {      {
6248    ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;    ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6249  }  }
6250  #line 6248 "conf_parser.c" /* yacc.c:1646  */  #line 6251 "conf_parser.c" /* yacc.c:1646  */
6251      break;      break;
6252    
6253    case 611:    case 611:
6254  #line 2784 "conf_parser.y" /* yacc.c:1646  */  #line 2787 "conf_parser.y" /* yacc.c:1646  */
6255      {      {
6256    ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);    ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6257  }  }
6258  #line 6256 "conf_parser.c" /* yacc.c:1646  */  #line 6259 "conf_parser.c" /* yacc.c:1646  */
6259      break;      break;
6260    
6261    case 612:    case 612:
6262  #line 2789 "conf_parser.y" /* yacc.c:1646  */  #line 2792 "conf_parser.y" /* yacc.c:1646  */
6263      {      {
6264    ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);    ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6265  }  }
6266  #line 6264 "conf_parser.c" /* yacc.c:1646  */  #line 6267 "conf_parser.c" /* yacc.c:1646  */
6267      break;      break;
6268    
6269    case 613:    case 613:
6270  #line 2794 "conf_parser.y" /* yacc.c:1646  */  #line 2797 "conf_parser.y" /* yacc.c:1646  */
6271      {      {
6272    ConfigGeneral.default_floodcount = (yyvsp[-1].number);    ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6273  }  }
6274  #line 6272 "conf_parser.c" /* yacc.c:1646  */  #line 6275 "conf_parser.c" /* yacc.c:1646  */
6275      break;      break;
6276    
6277    case 614:    case 614:
6278  #line 2799 "conf_parser.y" /* yacc.c:1646  */  #line 2802 "conf_parser.y" /* yacc.c:1646  */
6279      {      {
6280    ConfigGeneral.default_floodtime = (yyvsp[-1].number);    ConfigGeneral.default_floodtime = (yyvsp[-1].number);
6281  }  }
6282  #line 6280 "conf_parser.c" /* yacc.c:1646  */  #line 6283 "conf_parser.c" /* yacc.c:1646  */
6283      break;      break;
6284    
6285    case 633:    case 633:
6286  #line 2827 "conf_parser.y" /* yacc.c:1646  */  #line 2830 "conf_parser.y" /* yacc.c:1646  */
6287      {      {
6288    ConfigChannel.disable_fake_channels = yylval.number;    ConfigChannel.disable_fake_channels = yylval.number;
6289  }  }
6290  #line 6288 "conf_parser.c" /* yacc.c:1646  */  #line 6291 "conf_parser.c" /* yacc.c:1646  */
6291      break;      break;
6292    
6293    case 634:    case 634:
6294  #line 2832 "conf_parser.y" /* yacc.c:1646  */  #line 2835 "conf_parser.y" /* yacc.c:1646  */
6295      {      {
6296    ConfigChannel.invite_client_count = (yyvsp[-1].number);    ConfigChannel.invite_client_count = (yyvsp[-1].number);
6297  }  }
6298  #line 6296 "conf_parser.c" /* yacc.c:1646  */  #line 6299 "conf_parser.c" /* yacc.c:1646  */
6299      break;      break;
6300    
6301    case 635:    case 635:
6302  #line 2837 "conf_parser.y" /* yacc.c:1646  */  #line 2840 "conf_parser.y" /* yacc.c:1646  */
6303      {      {
6304    ConfigChannel.invite_client_time = (yyvsp[-1].number);    ConfigChannel.invite_client_time = (yyvsp[-1].number);
6305  }  }
6306  #line 6304 "conf_parser.c" /* yacc.c:1646  */  #line 6307 "conf_parser.c" /* yacc.c:1646  */
6307      break;      break;
6308    
6309    case 636:    case 636:
6310  #line 2842 "conf_parser.y" /* yacc.c:1646  */  #line 2845 "conf_parser.y" /* yacc.c:1646  */
6311      {      {
6312    ConfigChannel.invite_delay_channel = (yyvsp[-1].number);    ConfigChannel.invite_delay_channel = (yyvsp[-1].number);
6313  }  }
6314  #line 6312 "conf_parser.c" /* yacc.c:1646  */  #line 6315 "conf_parser.c" /* yacc.c:1646  */
6315      break;      break;
6316    
6317    case 637:    case 637:
6318  #line 2847 "conf_parser.y" /* yacc.c:1646  */  #line 2850 "conf_parser.y" /* yacc.c:1646  */
6319      {      {
6320    ConfigChannel.invite_expire_time = (yyvsp[-1].number);    ConfigChannel.invite_expire_time = (yyvsp[-1].number);
6321  }  }
6322  #line 6320 "conf_parser.c" /* yacc.c:1646  */  #line 6323 "conf_parser.c" /* yacc.c:1646  */
6323      break;      break;
6324    
6325    case 638:    case 638:
6326  #line 2852 "conf_parser.y" /* yacc.c:1646  */  #line 2855 "conf_parser.y" /* yacc.c:1646  */
6327      {      {
6328    ConfigChannel.knock_client_count = (yyvsp[-1].number);    ConfigChannel.knock_client_count = (yyvsp[-1].number);
6329  }  }
6330  #line 6328 "conf_parser.c" /* yacc.c:1646  */  #line 6331 "conf_parser.c" /* yacc.c:1646  */
6331      break;      break;
6332    
6333    case 639:    case 639:
6334  #line 2857 "conf_parser.y" /* yacc.c:1646  */  #line 2860 "conf_parser.y" /* yacc.c:1646  */
6335      {      {
6336    ConfigChannel.knock_client_time = (yyvsp[-1].number);    ConfigChannel.knock_client_time = (yyvsp[-1].number);
6337  }  }
6338  #line 6336 "conf_parser.c" /* yacc.c:1646  */  #line 6339 "conf_parser.c" /* yacc.c:1646  */
6339      break;      break;
6340    
6341    case 640:    case 640:
6342  #line 2862 "conf_parser.y" /* yacc.c:1646  */  #line 2865 "conf_parser.y" /* yacc.c:1646  */
6343      {      {
6344    ConfigChannel.knock_delay_channel = (yyvsp[-1].number);    ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6345  }  }
6346  #line 6344 "conf_parser.c" /* yacc.c:1646  */  #line 6347 "conf_parser.c" /* yacc.c:1646  */
6347      break;      break;
6348    
6349    case 641:    case 641:
6350  #line 2867 "conf_parser.y" /* yacc.c:1646  */  #line 2870 "conf_parser.y" /* yacc.c:1646  */
6351      {      {
6352    ConfigChannel.max_channels = (yyvsp[-1].number);    ConfigChannel.max_channels = (yyvsp[-1].number);
6353  }  }
6354  #line 6352 "conf_parser.c" /* yacc.c:1646  */  #line 6355 "conf_parser.c" /* yacc.c:1646  */
6355      break;      break;
6356    
6357    case 642:    case 642:
6358  #line 2872 "conf_parser.y" /* yacc.c:1646  */  #line 2875 "conf_parser.y" /* yacc.c:1646  */
6359      {      {
6360    ConfigChannel.max_invites = (yyvsp[-1].number);    ConfigChannel.max_invites = (yyvsp[-1].number);
6361  }  }
6362  #line 6360 "conf_parser.c" /* yacc.c:1646  */  #line 6363 "conf_parser.c" /* yacc.c:1646  */
6363      break;      break;
6364    
6365    case 643:    case 643:
6366  #line 2877 "conf_parser.y" /* yacc.c:1646  */  #line 2880 "conf_parser.y" /* yacc.c:1646  */
6367      {      {
6368    ConfigChannel.max_bans = (yyvsp[-1].number);    ConfigChannel.max_bans = (yyvsp[-1].number);
6369  }  }
6370  #line 6368 "conf_parser.c" /* yacc.c:1646  */  #line 6371 "conf_parser.c" /* yacc.c:1646  */
6371      break;      break;
6372    
6373    case 644:    case 644:
6374  #line 2882 "conf_parser.y" /* yacc.c:1646  */  #line 2885 "conf_parser.y" /* yacc.c:1646  */
6375      {      {
6376    ConfigChannel.max_bans_large = (yyvsp[-1].number);    ConfigChannel.max_bans_large = (yyvsp[-1].number);
6377  }  }
6378  #line 6376 "conf_parser.c" /* yacc.c:1646  */  #line 6379 "conf_parser.c" /* yacc.c:1646  */
6379      break;      break;
6380    
6381    case 645:    case 645:
6382  #line 2887 "conf_parser.y" /* yacc.c:1646  */  #line 2890 "conf_parser.y" /* yacc.c:1646  */
6383      {      {
6384    ConfigChannel.default_join_flood_count = yylval.number;    ConfigChannel.default_join_flood_count = yylval.number;
6385  }  }
6386  #line 6384 "conf_parser.c" /* yacc.c:1646  */  #line 6387 "conf_parser.c" /* yacc.c:1646  */
6387      break;      break;
6388    
6389    case 646:    case 646:
6390  #line 2892 "conf_parser.y" /* yacc.c:1646  */  #line 2895 "conf_parser.y" /* yacc.c:1646  */
6391      {      {
6392    ConfigChannel.default_join_flood_time = (yyvsp[-1].number);    ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6393  }  }
6394  #line 6392 "conf_parser.c" /* yacc.c:1646  */  #line 6395 "conf_parser.c" /* yacc.c:1646  */
6395      break;      break;
6396    
6397    case 660:    case 660:
6398  #line 2915 "conf_parser.y" /* yacc.c:1646  */  #line 2918 "conf_parser.y" /* yacc.c:1646  */
6399      {      {
6400    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6401      ConfigServerHide.flatten_links = yylval.number;      ConfigServerHide.flatten_links = yylval.number;
6402  }  }
6403  #line 6401 "conf_parser.c" /* yacc.c:1646  */  #line 6404 "conf_parser.c" /* yacc.c:1646  */
6404      break;      break;
6405    
6406    case 661:    case 661:
6407  #line 2921 "conf_parser.y" /* yacc.c:1646  */  #line 2924 "conf_parser.y" /* yacc.c:1646  */
6408      {      {
6409    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6410    {    {
# Line 6416  yyreduce: Line 6419  yyreduce:
6419      ConfigServerHide.flatten_links_delay = (yyvsp[-1].number);      ConfigServerHide.flatten_links_delay = (yyvsp[-1].number);
6420    }    }
6421  }  }
6422  #line 6420 "conf_parser.c" /* yacc.c:1646  */  #line 6423 "conf_parser.c" /* yacc.c:1646  */
6423      break;      break;
6424    
6425    case 662:    case 662:
6426  #line 2937 "conf_parser.y" /* yacc.c:1646  */  #line 2940 "conf_parser.y" /* yacc.c:1646  */
6427      {      {
6428    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6429    {    {
# Line 6428  yyreduce: Line 6431  yyreduce:
6431      ConfigServerHide.flatten_links_file = xstrdup(yylval.string);      ConfigServerHide.flatten_links_file = xstrdup(yylval.string);
6432    }    }
6433  }  }
6434  #line 6432 "conf_parser.c" /* yacc.c:1646  */  #line 6435 "conf_parser.c" /* yacc.c:1646  */
6435      break;      break;
6436    
6437    case 663:    case 663:
6438  #line 2946 "conf_parser.y" /* yacc.c:1646  */  #line 2949 "conf_parser.y" /* yacc.c:1646  */
6439      {      {
6440    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6441      ConfigServerHide.disable_remote_commands = yylval.number;      ConfigServerHide.disable_remote_commands = yylval.number;
6442  }  }
6443  #line 6441 "conf_parser.c" /* yacc.c:1646  */  #line 6444 "conf_parser.c" /* yacc.c:1646  */
6444      break;      break;
6445    
6446    case 664:    case 664:
6447  #line 2952 "conf_parser.y" /* yacc.c:1646  */  #line 2955 "conf_parser.y" /* yacc.c:1646  */
6448      {      {
6449    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6450      ConfigServerHide.hide_servers = yylval.number;      ConfigServerHide.hide_servers = yylval.number;
6451  }  }
6452  #line 6450 "conf_parser.c" /* yacc.c:1646  */  #line 6453 "conf_parser.c" /* yacc.c:1646  */
6453      break;      break;
6454    
6455    case 665:    case 665:
6456  #line 2958 "conf_parser.y" /* yacc.c:1646  */  #line 2961 "conf_parser.y" /* yacc.c:1646  */
6457      {      {
6458    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6459      ConfigServerHide.hide_services = yylval.number;      ConfigServerHide.hide_services = yylval.number;
6460  }  }
6461  #line 6459 "conf_parser.c" /* yacc.c:1646  */  #line 6462 "conf_parser.c" /* yacc.c:1646  */
6462      break;      break;
6463    
6464    case 666:    case 666:
6465  #line 2964 "conf_parser.y" /* yacc.c:1646  */  #line 2967 "conf_parser.y" /* yacc.c:1646  */
6466      {      {
6467    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6468    {    {
# Line 6467  yyreduce: Line 6470  yyreduce:
6470      ConfigServerHide.hidden_name = xstrdup(yylval.string);      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6471    }    }
6472  }  }
6473  #line 6471 "conf_parser.c" /* yacc.c:1646  */  #line 6474 "conf_parser.c" /* yacc.c:1646  */
6474      break;      break;
6475    
6476    case 667:    case 667:
6477  #line 2973 "conf_parser.y" /* yacc.c:1646  */  #line 2976 "conf_parser.y" /* yacc.c:1646  */
6478      {      {
6479    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6480      ConfigServerHide.hidden = yylval.number;      ConfigServerHide.hidden = yylval.number;
6481  }  }
6482  #line 6480 "conf_parser.c" /* yacc.c:1646  */  #line 6483 "conf_parser.c" /* yacc.c:1646  */
6483      break;      break;
6484    
6485    case 668:    case 668:
6486  #line 2979 "conf_parser.y" /* yacc.c:1646  */  #line 2982 "conf_parser.y" /* yacc.c:1646  */
6487      {      {
6488    if (conf_parser_ctx.pass == 2)    if (conf_parser_ctx.pass == 2)
6489      ConfigServerHide.hide_server_ips = yylval.number;      ConfigServerHide.hide_server_ips = yylval.number;
6490  }  }
6491  #line 6489 "conf_parser.c" /* yacc.c:1646  */  #line 6492 "conf_parser.c" /* yacc.c:1646  */
6492      break;      break;
6493    
6494    
6495  #line 6493 "conf_parser.c" /* yacc.c:1646  */  #line 6496 "conf_parser.c" /* yacc.c:1646  */
6496        default: break;        default: break;
6497      }      }
6498    /* User semantic actions sometimes alter yychar, and that requires    /* User semantic actions sometimes alter yychar, and that requires

Legend:
Removed from v.8608  
changed lines
  Added in v.8609

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.28