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

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 1784 by michael, Thu Jan 24 19:26:51 2013 UTC vs.
Revision 1785 by michael, Sat Jan 26 22:40:55 2013 UTC

# Line 1286 | Line 1286 | static const yytype_uint16 yyrline[] =
1286      1145,  1149,  1153,  1157,  1161,  1165,  1169,  1173,  1180,  1179,
1287      1185,  1185,  1186,  1190,  1194,  1198,  1202,  1206,  1210,  1214,
1288      1218,  1222,  1226,  1230,  1234,  1238,  1242,  1246,  1250,  1254,
1289 <    1258,  1269,  1268,  1321,  1321,  1322,  1323,  1323,  1324,  1325,
1290 <    1326,  1327,  1328,  1329,  1330,  1331,  1332,  1332,  1333,  1334,
1291 <    1335,  1336,  1338,  1344,  1350,  1356,  1362,  1368,  1374,  1380,
1292 <    1386,  1392,  1399,  1405,  1411,  1417,  1423,  1430,  1429,  1435,
1293 <    1435,  1436,  1440,  1451,  1450,  1457,  1456,  1461,  1461,  1462,
1294 <    1466,  1470,  1476,  1476,  1477,  1477,  1477,  1477,  1477,  1479,
1295 <    1479,  1481,  1481,  1483,  1497,  1517,  1523,  1533,  1532,  1574,
1296 <    1574,  1575,  1575,  1575,  1575,  1576,  1576,  1576,  1577,  1577,
1297 <    1579,  1585,  1591,  1597,  1609,  1608,  1614,  1614,  1615,  1619,
1298 <    1623,  1627,  1631,  1635,  1639,  1643,  1647,  1651,  1657,  1671,
1299 <    1680,  1694,  1693,  1702,  1702,  1703,  1703,  1703,  1703,  1705,
1300 <    1711,  1720,  1729,  1731,  1731,  1732,  1732,  1734,  1750,  1749,
1301 <    1774,  1774,  1775,  1775,  1775,  1775,  1777,  1783,  1803,  1802,
1302 <    1808,  1808,  1809,  1813,  1817,  1821,  1825,  1829,  1833,  1837,
1303 <    1841,  1845,  1855,  1854,  1875,  1875,  1876,  1876,  1876,  1878,
1304 <    1885,  1884,  1890,  1890,  1891,  1895,  1899,  1903,  1907,  1911,
1305 <    1915,  1919,  1923,  1927,  1937,  1936,  2002,  2002,  2003,  2003,
1306 <    2003,  2004,  2004,  2005,  2005,  2005,  2006,  2006,  2006,  2007,
1307 <    2007,  2008,  2010,  2016,  2022,  2028,  2041,  2054,  2060,  2064,
1308 <    2073,  2072,  2077,  2077,  2078,  2082,  2088,  2099,  2105,  2111,
1309 <    2117,  2133,  2132,  2195,  2194,  2200,  2200,  2201,  2207,  2207,
1310 <    2208,  2208,  2208,  2208,  2210,  2230,  2240,  2239,  2266,  2266,
1311 <    2267,  2267,  2267,  2269,  2275,  2284,  2286,  2286,  2287,  2287,
1312 <    2289,  2307,  2306,  2352,  2351,  2357,  2357,  2358,  2364,  2364,
1313 <    2365,  2365,  2365,  2365,  2367,  2373,  2382,  2385,  2385,  2386,
1314 <    2386,  2387,  2387,  2388,  2388,  2389,  2389,  2390,  2390,  2391,
1315 <    2392,  2393,  2393,  2394,  2394,  2395,  2395,  2396,  2396,  2397,
1316 <    2397,  2398,  2398,  2399,  2400,  2400,  2401,  2401,  2402,  2402,
1317 <    2403,  2403,  2404,  2404,  2405,  2406,  2406,  2407,  2408,  2409,
1318 <    2409,  2410,  2410,  2411,  2412,  2413,  2414,  2414,  2415,  2418,
1319 <    2423,  2429,  2435,  2441,  2446,  2451,  2456,  2461,  2466,  2471,
1320 <    2476,  2481,  2486,  2491,  2496,  2501,  2506,  2511,  2517,  2528,
1321 <    2533,  2538,  2543,  2548,  2553,  2556,  2561,  2564,  2569,  2574,
1322 <    2579,  2584,  2589,  2594,  2599,  2604,  2609,  2620,  2625,  2630,
1323 <    2635,  2644,  2653,  2658,  2663,  2669,  2668,  2673,  2673,  2674,
1324 <    2677,  2680,  2683,  2686,  2689,  2692,  2695,  2698,  2701,  2704,
1325 <    2707,  2710,  2713,  2716,  2719,  2722,  2725,  2728,  2731,  2737,
1326 <    2736,  2741,  2741,  2742,  2745,  2748,  2751,  2754,  2757,  2760,
1327 <    2763,  2766,  2769,  2772,  2775,  2778,  2781,  2784,  2787,  2790,
1328 <    2793,  2796,  2799,  2804,  2809,  2814,  2823,  2826,  2826,  2827,
1329 <    2828,  2828,  2829,  2829,  2830,  2830,  2831,  2832,  2832,  2833,
1330 <    2834,  2834,  2835,  2835,  2837,  2842,  2847,  2852,  2857,  2862,
1331 <    2867,  2872,  2877,  2882,  2887,  2892,  2897,  2902,  2910,  2913,
1332 <    2913,  2914,  2914,  2915,  2916,  2916,  2917,  2918,  2920,  2926,
1333 <    2932,  2941,  2955,  2961
1289 >    1258,  1269,  1268,  1329,  1329,  1330,  1331,  1331,  1332,  1333,
1290 >    1334,  1335,  1336,  1337,  1338,  1339,  1340,  1340,  1341,  1342,
1291 >    1343,  1344,  1346,  1352,  1358,  1364,  1370,  1376,  1382,  1388,
1292 >    1394,  1400,  1407,  1413,  1419,  1425,  1434,  1444,  1443,  1449,
1293 >    1449,  1450,  1454,  1465,  1464,  1471,  1470,  1475,  1475,  1476,
1294 >    1480,  1484,  1490,  1490,  1491,  1491,  1491,  1491,  1491,  1493,
1295 >    1493,  1495,  1495,  1497,  1511,  1531,  1537,  1547,  1546,  1588,
1296 >    1588,  1589,  1589,  1589,  1589,  1590,  1590,  1590,  1591,  1591,
1297 >    1593,  1599,  1605,  1611,  1623,  1622,  1628,  1628,  1629,  1633,
1298 >    1637,  1641,  1645,  1649,  1653,  1657,  1661,  1665,  1671,  1685,
1299 >    1694,  1708,  1707,  1716,  1716,  1717,  1717,  1717,  1717,  1719,
1300 >    1725,  1734,  1743,  1745,  1745,  1746,  1746,  1748,  1764,  1763,
1301 >    1788,  1788,  1789,  1789,  1789,  1789,  1791,  1797,  1817,  1816,
1302 >    1822,  1822,  1823,  1827,  1831,  1835,  1839,  1843,  1847,  1851,
1303 >    1855,  1859,  1869,  1868,  1889,  1889,  1890,  1890,  1890,  1892,
1304 >    1899,  1898,  1904,  1904,  1905,  1909,  1913,  1917,  1921,  1925,
1305 >    1929,  1933,  1937,  1941,  1951,  1950,  2016,  2016,  2017,  2017,
1306 >    2017,  2018,  2018,  2019,  2019,  2019,  2020,  2020,  2020,  2021,
1307 >    2021,  2022,  2024,  2030,  2036,  2042,  2055,  2068,  2074,  2078,
1308 >    2087,  2086,  2091,  2091,  2092,  2096,  2102,  2113,  2119,  2125,
1309 >    2131,  2147,  2146,  2209,  2208,  2214,  2214,  2215,  2221,  2221,
1310 >    2222,  2222,  2222,  2222,  2224,  2244,  2254,  2253,  2280,  2280,
1311 >    2281,  2281,  2281,  2283,  2289,  2298,  2300,  2300,  2301,  2301,
1312 >    2303,  2321,  2320,  2366,  2365,  2371,  2371,  2372,  2378,  2378,
1313 >    2379,  2379,  2379,  2379,  2381,  2387,  2396,  2399,  2399,  2400,
1314 >    2400,  2401,  2401,  2402,  2402,  2403,  2403,  2404,  2404,  2405,
1315 >    2406,  2407,  2407,  2408,  2408,  2409,  2409,  2410,  2410,  2411,
1316 >    2411,  2412,  2412,  2413,  2414,  2414,  2415,  2415,  2416,  2416,
1317 >    2417,  2417,  2418,  2418,  2419,  2420,  2420,  2421,  2422,  2423,
1318 >    2423,  2424,  2424,  2425,  2426,  2427,  2428,  2428,  2429,  2432,
1319 >    2437,  2443,  2449,  2455,  2460,  2465,  2470,  2475,  2480,  2485,
1320 >    2490,  2495,  2500,  2505,  2510,  2515,  2520,  2525,  2531,  2542,
1321 >    2547,  2552,  2557,  2562,  2567,  2570,  2575,  2578,  2583,  2588,
1322 >    2593,  2598,  2603,  2608,  2613,  2618,  2623,  2634,  2639,  2644,
1323 >    2649,  2658,  2667,  2672,  2677,  2683,  2682,  2687,  2687,  2688,
1324 >    2691,  2694,  2697,  2700,  2703,  2706,  2709,  2712,  2715,  2718,
1325 >    2721,  2724,  2727,  2730,  2733,  2736,  2739,  2742,  2745,  2751,
1326 >    2750,  2755,  2755,  2756,  2759,  2762,  2765,  2768,  2771,  2774,
1327 >    2777,  2780,  2783,  2786,  2789,  2792,  2795,  2798,  2801,  2804,
1328 >    2807,  2810,  2813,  2818,  2823,  2828,  2837,  2840,  2840,  2841,
1329 >    2842,  2842,  2843,  2843,  2844,  2844,  2845,  2846,  2846,  2847,
1330 >    2848,  2848,  2849,  2849,  2851,  2856,  2861,  2866,  2871,  2876,
1331 >    2881,  2886,  2891,  2896,  2901,  2906,  2911,  2916,  2924,  2927,
1332 >    2927,  2928,  2928,  2929,  2930,  2930,  2931,  2932,  2934,  2940,
1333 >    2946,  2955,  2969,  2975
1334   };
1335   #endif
1336  
# Line 4430 | Line 4430 | yyreduce:
4430    class->active = 1;
4431    MyFree(class->name);
4432    class->name = xstrdup(block_state.class.buf);
4433  class->flags = block_state.flags.value;
4433    class->ping_freq = block_state.ping_freq.value;
4434    class->max_perip = block_state.max_perip.value;
4435    class->con_freq = block_state.con_freq.value;
4437  class->min_idle = block_state.min_idle.value;
4438  class->max_idle = block_state.max_idle.value;
4436    class->max_total = block_state.max_total.value;
4437    class->max_global = block_state.max_global.value;
4438    class->max_local = block_state.max_local.value;
# Line 4443 | Line 4440 | yyreduce:
4440    class->max_sendq = block_state.max_sendq.value;
4441    class->max_recvq = block_state.max_recvq.value;
4442  
4443 +  if (block_state.min_idle.value > block_state.max_idle.value)
4444 +  {
4445 +    block_state.min_idle.value = 0;
4446 +    block_state.max_idle.value = 0;
4447 +    block_state.flags.value &= ~CLASS_FLAGS_FAKE_IDLE;
4448 +  }
4449 +
4450 +  class->flags = block_state.flags.value;
4451 +  class->min_idle = block_state.min_idle.value;
4452 +  class->max_idle = block_state.max_idle.value;
4453 +
4454    if (class->number_per_cidr && block_state.number_per_cidr.value)
4455      if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4456          (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
# Line 4458 | Line 4466 | yyreduce:
4466  
4467    case 222:
4468   /* Line 1792 of yacc.c  */
4469 < #line 1339 "conf_parser.y"
4469 > #line 1347 "conf_parser.y"
4470      {
4471    if (conf_parser_ctx.pass == 1)
4472      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 4467 | Line 4475 | yyreduce:
4475  
4476    case 223:
4477   /* Line 1792 of yacc.c  */
4478 < #line 1345 "conf_parser.y"
4478 > #line 1353 "conf_parser.y"
4479      {
4480    if (conf_parser_ctx.pass == 1)
4481      block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
# Line 4476 | Line 4484 | yyreduce:
4484  
4485    case 224:
4486   /* Line 1792 of yacc.c  */
4487 < #line 1351 "conf_parser.y"
4487 > #line 1359 "conf_parser.y"
4488      {
4489    if (conf_parser_ctx.pass == 1)
4490      block_state.max_perip.value = (yyvsp[(3) - (4)].number);
# Line 4485 | Line 4493 | yyreduce:
4493  
4494    case 225:
4495   /* Line 1792 of yacc.c  */
4496 < #line 1357 "conf_parser.y"
4496 > #line 1365 "conf_parser.y"
4497      {
4498    if (conf_parser_ctx.pass == 1)
4499      block_state.con_freq.value = (yyvsp[(3) - (4)].number);
# Line 4494 | Line 4502 | yyreduce:
4502  
4503    case 226:
4504   /* Line 1792 of yacc.c  */
4505 < #line 1363 "conf_parser.y"
4505 > #line 1371 "conf_parser.y"
4506      {
4507    if (conf_parser_ctx.pass == 1)
4508      block_state.max_total.value = (yyvsp[(3) - (4)].number);
# Line 4503 | Line 4511 | yyreduce:
4511  
4512    case 227:
4513   /* Line 1792 of yacc.c  */
4514 < #line 1369 "conf_parser.y"
4514 > #line 1377 "conf_parser.y"
4515      {
4516    if (conf_parser_ctx.pass == 1)
4517      block_state.max_global.value = (yyvsp[(3) - (4)].number);
# Line 4512 | Line 4520 | yyreduce:
4520  
4521    case 228:
4522   /* Line 1792 of yacc.c  */
4523 < #line 1375 "conf_parser.y"
4523 > #line 1383 "conf_parser.y"
4524      {
4525    if (conf_parser_ctx.pass == 1)
4526      block_state.max_local.value = (yyvsp[(3) - (4)].number);
# Line 4521 | Line 4529 | yyreduce:
4529  
4530    case 229:
4531   /* Line 1792 of yacc.c  */
4532 < #line 1381 "conf_parser.y"
4532 > #line 1389 "conf_parser.y"
4533      {
4534    if (conf_parser_ctx.pass == 1)
4535      block_state.max_ident.value = (yyvsp[(3) - (4)].number);
# Line 4530 | Line 4538 | yyreduce:
4538  
4539    case 230:
4540   /* Line 1792 of yacc.c  */
4541 < #line 1387 "conf_parser.y"
4541 > #line 1395 "conf_parser.y"
4542      {
4543    if (conf_parser_ctx.pass == 1)
4544      block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
# Line 4539 | Line 4547 | yyreduce:
4547  
4548    case 231:
4549   /* Line 1792 of yacc.c  */
4550 < #line 1393 "conf_parser.y"
4550 > #line 1401 "conf_parser.y"
4551      {
4552    if (conf_parser_ctx.pass == 1)
4553      if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
# Line 4549 | Line 4557 | yyreduce:
4557  
4558    case 232:
4559   /* Line 1792 of yacc.c  */
4560 < #line 1400 "conf_parser.y"
4560 > #line 1408 "conf_parser.y"
4561      {
4562    if (conf_parser_ctx.pass == 1)
4563      block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
# Line 4558 | Line 4566 | yyreduce:
4566  
4567    case 233:
4568   /* Line 1792 of yacc.c  */
4569 < #line 1406 "conf_parser.y"
4569 > #line 1414 "conf_parser.y"
4570      {
4571    if (conf_parser_ctx.pass == 1)
4572      block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
# Line 4567 | Line 4575 | yyreduce:
4575  
4576    case 234:
4577   /* Line 1792 of yacc.c  */
4578 < #line 1412 "conf_parser.y"
4578 > #line 1420 "conf_parser.y"
4579      {
4580    if (conf_parser_ctx.pass == 1)
4581      block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
# Line 4576 | Line 4584 | yyreduce:
4584  
4585    case 235:
4586   /* Line 1792 of yacc.c  */
4587 < #line 1418 "conf_parser.y"
4587 > #line 1426 "conf_parser.y"
4588      {
4589 <  if (conf_parser_ctx.pass == 1)
4590 <    block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4589 >  if (conf_parser_ctx.pass != 1)
4590 >    break;
4591 >
4592 >  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4593 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4594   }
4595      break;
4596  
4597    case 236:
4598   /* Line 1792 of yacc.c  */
4599 < #line 1424 "conf_parser.y"
4599 > #line 1435 "conf_parser.y"
4600      {
4601 <  if (conf_parser_ctx.pass == 1)
4602 <    block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4601 >  if (conf_parser_ctx.pass != 1)
4602 >    break;
4603 >
4604 >  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4605 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4606   }
4607      break;
4608  
4609    case 237:
4610   /* Line 1792 of yacc.c  */
4611 < #line 1430 "conf_parser.y"
4611 > #line 1444 "conf_parser.y"
4612      {
4613    if (conf_parser_ctx.pass == 1)
4614 <    block_state.flags.value = 0;
4614 >    block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4615   }
4616      break;
4617  
4618    case 241:
4619   /* Line 1792 of yacc.c  */
4620 < #line 1437 "conf_parser.y"
4620 > #line 1451 "conf_parser.y"
4621      {
4622    if (conf_parser_ctx.pass == 1)
4623      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
# Line 4612 | Line 4626 | yyreduce:
4626  
4627    case 242:
4628   /* Line 1792 of yacc.c  */
4629 < #line 1441 "conf_parser.y"
4629 > #line 1455 "conf_parser.y"
4630      {
4631    if (conf_parser_ctx.pass == 1)
4632      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
# Line 4621 | Line 4635 | yyreduce:
4635  
4636    case 243:
4637   /* Line 1792 of yacc.c  */
4638 < #line 1451 "conf_parser.y"
4638 > #line 1465 "conf_parser.y"
4639      {
4640    if (conf_parser_ctx.pass == 2)
4641      reset_block_state();
# Line 4630 | Line 4644 | yyreduce:
4644  
4645    case 245:
4646   /* Line 1792 of yacc.c  */
4647 < #line 1457 "conf_parser.y"
4647 > #line 1471 "conf_parser.y"
4648      {
4649    block_state.flags.value = 0;
4650   }
# Line 4638 | Line 4652 | yyreduce:
4652  
4653    case 249:
4654   /* Line 1792 of yacc.c  */
4655 < #line 1463 "conf_parser.y"
4655 > #line 1477 "conf_parser.y"
4656      {
4657    if (conf_parser_ctx.pass == 2)
4658      block_state.flags.value |= LISTENER_SSL;
# Line 4647 | Line 4661 | yyreduce:
4661  
4662    case 250:
4663   /* Line 1792 of yacc.c  */
4664 < #line 1467 "conf_parser.y"
4664 > #line 1481 "conf_parser.y"
4665      {
4666    if (conf_parser_ctx.pass == 2)
4667      block_state.flags.value |= LISTENER_HIDDEN;
# Line 4656 | Line 4670 | yyreduce:
4670  
4671    case 251:
4672   /* Line 1792 of yacc.c  */
4673 < #line 1471 "conf_parser.y"
4673 > #line 1485 "conf_parser.y"
4674      {
4675    if (conf_parser_ctx.pass == 2)
4676     block_state.flags.value |= LISTENER_SERVER;
# Line 4665 | Line 4679 | yyreduce:
4679  
4680    case 259:
4681   /* Line 1792 of yacc.c  */
4682 < #line 1479 "conf_parser.y"
4682 > #line 1493 "conf_parser.y"
4683      { block_state.flags.value = 0; }
4684      break;
4685  
4686    case 263:
4687   /* Line 1792 of yacc.c  */
4688 < #line 1484 "conf_parser.y"
4688 > #line 1498 "conf_parser.y"
4689      {
4690    if (conf_parser_ctx.pass == 2)
4691    {
# Line 4690 | Line 4704 | yyreduce:
4704  
4705    case 264:
4706   /* Line 1792 of yacc.c  */
4707 < #line 1498 "conf_parser.y"
4707 > #line 1512 "conf_parser.y"
4708      {
4709    if (conf_parser_ctx.pass == 2)
4710    {
# Line 4713 | Line 4727 | yyreduce:
4727  
4728    case 265:
4729   /* Line 1792 of yacc.c  */
4730 < #line 1518 "conf_parser.y"
4730 > #line 1532 "conf_parser.y"
4731      {
4732    if (conf_parser_ctx.pass == 2)
4733      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 4722 | Line 4736 | yyreduce:
4736  
4737    case 266:
4738   /* Line 1792 of yacc.c  */
4739 < #line 1524 "conf_parser.y"
4739 > #line 1538 "conf_parser.y"
4740      {
4741    if (conf_parser_ctx.pass == 2)
4742      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 4731 | Line 4745 | yyreduce:
4745  
4746    case 267:
4747   /* Line 1792 of yacc.c  */
4748 < #line 1533 "conf_parser.y"
4748 > #line 1547 "conf_parser.y"
4749      {
4750    if (conf_parser_ctx.pass == 2)
4751      reset_block_state();
# Line 4740 | Line 4754 | yyreduce:
4754  
4755    case 268:
4756   /* Line 1792 of yacc.c  */
4757 < #line 1537 "conf_parser.y"
4757 > #line 1551 "conf_parser.y"
4758      {
4759    dlink_node *ptr = NULL;
4760  
# Line 4781 | Line 4795 | yyreduce:
4795  
4796    case 280:
4797   /* Line 1792 of yacc.c  */
4798 < #line 1580 "conf_parser.y"
4798 > #line 1594 "conf_parser.y"
4799      {
4800    if (conf_parser_ctx.pass == 2)
4801      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
# Line 4790 | Line 4804 | yyreduce:
4804  
4805    case 281:
4806   /* Line 1792 of yacc.c  */
4807 < #line 1586 "conf_parser.y"
4807 > #line 1600 "conf_parser.y"
4808      {
4809    if (conf_parser_ctx.pass == 2)
4810      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 4799 | Line 4813 | yyreduce:
4813  
4814    case 282:
4815   /* Line 1792 of yacc.c  */
4816 < #line 1592 "conf_parser.y"
4816 > #line 1606 "conf_parser.y"
4817      {
4818    if (conf_parser_ctx.pass == 2)
4819      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 4808 | Line 4822 | yyreduce:
4822  
4823    case 283:
4824   /* Line 1792 of yacc.c  */
4825 < #line 1598 "conf_parser.y"
4825 > #line 1612 "conf_parser.y"
4826      {
4827    if (conf_parser_ctx.pass == 2)
4828    {
# Line 4822 | Line 4836 | yyreduce:
4836  
4837    case 284:
4838   /* Line 1792 of yacc.c  */
4839 < #line 1609 "conf_parser.y"
4839 > #line 1623 "conf_parser.y"
4840      {
4841    if (conf_parser_ctx.pass == 2)
4842      block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
# Line 4831 | Line 4845 | yyreduce:
4845  
4846    case 288:
4847   /* Line 1792 of yacc.c  */
4848 < #line 1616 "conf_parser.y"
4848 > #line 1630 "conf_parser.y"
4849      {
4850    if (conf_parser_ctx.pass == 2)
4851      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
# Line 4840 | Line 4854 | yyreduce:
4854  
4855    case 289:
4856   /* Line 1792 of yacc.c  */
4857 < #line 1620 "conf_parser.y"
4857 > #line 1634 "conf_parser.y"
4858      {
4859    if (conf_parser_ctx.pass == 2)
4860      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
# Line 4849 | Line 4863 | yyreduce:
4863  
4864    case 290:
4865   /* Line 1792 of yacc.c  */
4866 < #line 1624 "conf_parser.y"
4866 > #line 1638 "conf_parser.y"
4867      {
4868    if (conf_parser_ctx.pass == 2)
4869      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
# Line 4858 | Line 4872 | yyreduce:
4872  
4873    case 291:
4874   /* Line 1792 of yacc.c  */
4875 < #line 1628 "conf_parser.y"
4875 > #line 1642 "conf_parser.y"
4876      {
4877    if (conf_parser_ctx.pass == 2)
4878      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
# Line 4867 | Line 4881 | yyreduce:
4881  
4882    case 292:
4883   /* Line 1792 of yacc.c  */
4884 < #line 1632 "conf_parser.y"
4884 > #line 1646 "conf_parser.y"
4885      {
4886    if (conf_parser_ctx.pass == 2)
4887      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
# Line 4876 | Line 4890 | yyreduce:
4890  
4891    case 293:
4892   /* Line 1792 of yacc.c  */
4893 < #line 1636 "conf_parser.y"
4893 > #line 1650 "conf_parser.y"
4894      {
4895    if (conf_parser_ctx.pass == 2)
4896      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
# Line 4885 | Line 4899 | yyreduce:
4899  
4900    case 294:
4901   /* Line 1792 of yacc.c  */
4902 < #line 1640 "conf_parser.y"
4902 > #line 1654 "conf_parser.y"
4903      {
4904    if (conf_parser_ctx.pass == 2)
4905      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
# Line 4894 | Line 4908 | yyreduce:
4908  
4909    case 295:
4910   /* Line 1792 of yacc.c  */
4911 < #line 1644 "conf_parser.y"
4911 > #line 1658 "conf_parser.y"
4912      {
4913    if (conf_parser_ctx.pass == 2)
4914      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
# Line 4903 | Line 4917 | yyreduce:
4917  
4918    case 296:
4919   /* Line 1792 of yacc.c  */
4920 < #line 1648 "conf_parser.y"
4920 > #line 1662 "conf_parser.y"
4921      {
4922    if (conf_parser_ctx.pass == 2)
4923      block_state.flags.value |= CONF_FLAGS_WEBIRC;
# Line 4912 | Line 4926 | yyreduce:
4926  
4927    case 297:
4928   /* Line 1792 of yacc.c  */
4929 < #line 1652 "conf_parser.y"
4929 > #line 1666 "conf_parser.y"
4930      {
4931    if (conf_parser_ctx.pass == 2)
4932      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
# Line 4921 | Line 4935 | yyreduce:
4935  
4936    case 298:
4937   /* Line 1792 of yacc.c  */
4938 < #line 1658 "conf_parser.y"
4938 > #line 1672 "conf_parser.y"
4939      {
4940    if (conf_parser_ctx.pass != 2)
4941      break;
# Line 4938 | Line 4952 | yyreduce:
4952  
4953    case 299:
4954   /* Line 1792 of yacc.c  */
4955 < #line 1672 "conf_parser.y"
4955 > #line 1686 "conf_parser.y"
4956      {
4957    if (conf_parser_ctx.pass != 2)
4958      break;
# Line 4950 | Line 4964 | yyreduce:
4964  
4965    case 300:
4966   /* Line 1792 of yacc.c  */
4967 < #line 1681 "conf_parser.y"
4967 > #line 1695 "conf_parser.y"
4968      {
4969    if (conf_parser_ctx.pass != 2)
4970      break;
# Line 4962 | Line 4976 | yyreduce:
4976  
4977    case 301:
4978   /* Line 1792 of yacc.c  */
4979 < #line 1694 "conf_parser.y"
4979 > #line 1708 "conf_parser.y"
4980      {
4981    if (conf_parser_ctx.pass != 2)
4982      break;
# Line 4974 | Line 4988 | yyreduce:
4988  
4989    case 309:
4990   /* Line 1792 of yacc.c  */
4991 < #line 1706 "conf_parser.y"
4991 > #line 1720 "conf_parser.y"
4992      {
4993    if (conf_parser_ctx.pass == 2)
4994      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 4983 | Line 4997 | yyreduce:
4997  
4998    case 310:
4999   /* Line 1792 of yacc.c  */
5000 < #line 1712 "conf_parser.y"
5000 > #line 1726 "conf_parser.y"
5001      {
5002    if (conf_parser_ctx.pass != 2)
5003      break;
# Line 4995 | Line 5009 | yyreduce:
5009  
5010    case 311:
5011   /* Line 1792 of yacc.c  */
5012 < #line 1721 "conf_parser.y"
5012 > #line 1735 "conf_parser.y"
5013      {
5014    if (conf_parser_ctx.pass == 2)
5015      create_nick_resv(yylval.string, block_state.rpass.buf, 1);
# Line 5004 | Line 5018 | yyreduce:
5018  
5019    case 317:
5020   /* Line 1792 of yacc.c  */
5021 < #line 1735 "conf_parser.y"
5021 > #line 1749 "conf_parser.y"
5022      {
5023    if (conf_parser_ctx.pass == 2)
5024    {
# Line 5019 | Line 5033 | yyreduce:
5033  
5034    case 318:
5035   /* Line 1792 of yacc.c  */
5036 < #line 1750 "conf_parser.y"
5036 > #line 1764 "conf_parser.y"
5037      {
5038    if (conf_parser_ctx.pass != 2)
5039      break;
# Line 5035 | Line 5049 | yyreduce:
5049  
5050    case 319:
5051   /* Line 1792 of yacc.c  */
5052 < #line 1761 "conf_parser.y"
5052 > #line 1775 "conf_parser.y"
5053      {
5054    struct MaskItem *conf = NULL;
5055  
# Line 5052 | Line 5066 | yyreduce:
5066  
5067    case 326:
5068   /* Line 1792 of yacc.c  */
5069 < #line 1778 "conf_parser.y"
5069 > #line 1792 "conf_parser.y"
5070      {
5071    if (conf_parser_ctx.pass == 2)
5072      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5061 | Line 5075 | yyreduce:
5075  
5076    case 327:
5077   /* Line 1792 of yacc.c  */
5078 < #line 1784 "conf_parser.y"
5078 > #line 1798 "conf_parser.y"
5079      {
5080    if (conf_parser_ctx.pass == 2)
5081    {
# Line 5083 | Line 5097 | yyreduce:
5097  
5098    case 328:
5099   /* Line 1792 of yacc.c  */
5100 < #line 1803 "conf_parser.y"
5100 > #line 1817 "conf_parser.y"
5101      {
5102    if (conf_parser_ctx.pass == 2)
5103      block_state.flags.value = 0;
# Line 5092 | Line 5106 | yyreduce:
5106  
5107    case 332:
5108   /* Line 1792 of yacc.c  */
5109 < #line 1810 "conf_parser.y"
5109 > #line 1824 "conf_parser.y"
5110      {
5111    if (conf_parser_ctx.pass == 2)
5112      block_state.flags.value |= SHARED_KLINE;
# Line 5101 | Line 5115 | yyreduce:
5115  
5116    case 333:
5117   /* Line 1792 of yacc.c  */
5118 < #line 1814 "conf_parser.y"
5118 > #line 1828 "conf_parser.y"
5119      {
5120    if (conf_parser_ctx.pass == 2)
5121      block_state.flags.value |= SHARED_UNKLINE;
# Line 5110 | Line 5124 | yyreduce:
5124  
5125    case 334:
5126   /* Line 1792 of yacc.c  */
5127 < #line 1818 "conf_parser.y"
5127 > #line 1832 "conf_parser.y"
5128      {
5129    if (conf_parser_ctx.pass == 2)
5130      block_state.flags.value |= SHARED_DLINE;
# Line 5119 | Line 5133 | yyreduce:
5133  
5134    case 335:
5135   /* Line 1792 of yacc.c  */
5136 < #line 1822 "conf_parser.y"
5136 > #line 1836 "conf_parser.y"
5137      {
5138    if (conf_parser_ctx.pass == 2)
5139      block_state.flags.value |= SHARED_UNDLINE;
# Line 5128 | Line 5142 | yyreduce:
5142  
5143    case 336:
5144   /* Line 1792 of yacc.c  */
5145 < #line 1826 "conf_parser.y"
5145 > #line 1840 "conf_parser.y"
5146      {
5147    if (conf_parser_ctx.pass == 2)
5148      block_state.flags.value |= SHARED_XLINE;
# Line 5137 | Line 5151 | yyreduce:
5151  
5152    case 337:
5153   /* Line 1792 of yacc.c  */
5154 < #line 1830 "conf_parser.y"
5154 > #line 1844 "conf_parser.y"
5155      {
5156    if (conf_parser_ctx.pass == 2)
5157      block_state.flags.value |= SHARED_UNXLINE;
# Line 5146 | Line 5160 | yyreduce:
5160  
5161    case 338:
5162   /* Line 1792 of yacc.c  */
5163 < #line 1834 "conf_parser.y"
5163 > #line 1848 "conf_parser.y"
5164      {
5165    if (conf_parser_ctx.pass == 2)
5166      block_state.flags.value |= SHARED_RESV;
# Line 5155 | Line 5169 | yyreduce:
5169  
5170    case 339:
5171   /* Line 1792 of yacc.c  */
5172 < #line 1838 "conf_parser.y"
5172 > #line 1852 "conf_parser.y"
5173      {
5174    if (conf_parser_ctx.pass == 2)
5175      block_state.flags.value |= SHARED_UNRESV;
# Line 5164 | Line 5178 | yyreduce:
5178  
5179    case 340:
5180   /* Line 1792 of yacc.c  */
5181 < #line 1842 "conf_parser.y"
5181 > #line 1856 "conf_parser.y"
5182      {
5183    if (conf_parser_ctx.pass == 2)
5184      block_state.flags.value |= SHARED_LOCOPS;
# Line 5173 | Line 5187 | yyreduce:
5187  
5188    case 341:
5189   /* Line 1792 of yacc.c  */
5190 < #line 1846 "conf_parser.y"
5190 > #line 1860 "conf_parser.y"
5191      {
5192    if (conf_parser_ctx.pass == 2)
5193      block_state.flags.value = SHARED_ALL;
# Line 5182 | Line 5196 | yyreduce:
5196  
5197    case 342:
5198   /* Line 1792 of yacc.c  */
5199 < #line 1855 "conf_parser.y"
5199 > #line 1869 "conf_parser.y"
5200      {
5201    if (conf_parser_ctx.pass != 2)
5202      break;
# Line 5196 | Line 5210 | yyreduce:
5210  
5211    case 343:
5212   /* Line 1792 of yacc.c  */
5213 < #line 1864 "conf_parser.y"
5213 > #line 1878 "conf_parser.y"
5214      {
5215    struct MaskItem *conf = NULL;
5216  
# Line 5211 | Line 5225 | yyreduce:
5225  
5226    case 349:
5227   /* Line 1792 of yacc.c  */
5228 < #line 1879 "conf_parser.y"
5228 > #line 1893 "conf_parser.y"
5229      {
5230    if (conf_parser_ctx.pass == 2)
5231      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5220 | Line 5234 | yyreduce:
5234  
5235    case 350:
5236   /* Line 1792 of yacc.c  */
5237 < #line 1885 "conf_parser.y"
5237 > #line 1899 "conf_parser.y"
5238      {
5239    if (conf_parser_ctx.pass == 2)
5240      block_state.flags.value = 0;
# Line 5229 | Line 5243 | yyreduce:
5243  
5244    case 354:
5245   /* Line 1792 of yacc.c  */
5246 < #line 1892 "conf_parser.y"
5246 > #line 1906 "conf_parser.y"
5247      {
5248    if (conf_parser_ctx.pass == 2)
5249      block_state.flags.value |= SHARED_KLINE;
# Line 5238 | Line 5252 | yyreduce:
5252  
5253    case 355:
5254   /* Line 1792 of yacc.c  */
5255 < #line 1896 "conf_parser.y"
5255 > #line 1910 "conf_parser.y"
5256      {
5257    if (conf_parser_ctx.pass == 2)
5258      block_state.flags.value |= SHARED_UNKLINE;
# Line 5247 | Line 5261 | yyreduce:
5261  
5262    case 356:
5263   /* Line 1792 of yacc.c  */
5264 < #line 1900 "conf_parser.y"
5264 > #line 1914 "conf_parser.y"
5265      {
5266    if (conf_parser_ctx.pass == 2)
5267      block_state.flags.value |= SHARED_DLINE;
# Line 5256 | Line 5270 | yyreduce:
5270  
5271    case 357:
5272   /* Line 1792 of yacc.c  */
5273 < #line 1904 "conf_parser.y"
5273 > #line 1918 "conf_parser.y"
5274      {
5275    if (conf_parser_ctx.pass == 2)
5276      block_state.flags.value |= SHARED_UNDLINE;
# Line 5265 | Line 5279 | yyreduce:
5279  
5280    case 358:
5281   /* Line 1792 of yacc.c  */
5282 < #line 1908 "conf_parser.y"
5282 > #line 1922 "conf_parser.y"
5283      {
5284    if (conf_parser_ctx.pass == 2)
5285      block_state.flags.value |= SHARED_XLINE;
# Line 5274 | Line 5288 | yyreduce:
5288  
5289    case 359:
5290   /* Line 1792 of yacc.c  */
5291 < #line 1912 "conf_parser.y"
5291 > #line 1926 "conf_parser.y"
5292      {
5293    if (conf_parser_ctx.pass == 2)
5294      block_state.flags.value |= SHARED_UNXLINE;
# Line 5283 | Line 5297 | yyreduce:
5297  
5298    case 360:
5299   /* Line 1792 of yacc.c  */
5300 < #line 1916 "conf_parser.y"
5300 > #line 1930 "conf_parser.y"
5301      {
5302    if (conf_parser_ctx.pass == 2)
5303      block_state.flags.value |= SHARED_RESV;
# Line 5292 | Line 5306 | yyreduce:
5306  
5307    case 361:
5308   /* Line 1792 of yacc.c  */
5309 < #line 1920 "conf_parser.y"
5309 > #line 1934 "conf_parser.y"
5310      {
5311    if (conf_parser_ctx.pass == 2)
5312      block_state.flags.value |= SHARED_UNRESV;
# Line 5301 | Line 5315 | yyreduce:
5315  
5316    case 362:
5317   /* Line 1792 of yacc.c  */
5318 < #line 1924 "conf_parser.y"
5318 > #line 1938 "conf_parser.y"
5319      {
5320    if (conf_parser_ctx.pass == 2)
5321      block_state.flags.value |= SHARED_LOCOPS;
# Line 5310 | Line 5324 | yyreduce:
5324  
5325    case 363:
5326   /* Line 1792 of yacc.c  */
5327 < #line 1928 "conf_parser.y"
5327 > #line 1942 "conf_parser.y"
5328      {
5329    if (conf_parser_ctx.pass == 2)
5330      block_state.flags.value = SHARED_ALL;
# Line 5319 | Line 5333 | yyreduce:
5333  
5334    case 364:
5335   /* Line 1792 of yacc.c  */
5336 < #line 1937 "conf_parser.y"
5336 > #line 1951 "conf_parser.y"
5337      {
5338  
5339    if (conf_parser_ctx.pass != 2)
# Line 5332 | Line 5346 | yyreduce:
5346  
5347    case 365:
5348   /* Line 1792 of yacc.c  */
5349 < #line 1945 "conf_parser.y"
5349 > #line 1959 "conf_parser.y"
5350      {
5351    struct MaskItem *conf = NULL;
5352    struct addrinfo hints, *res;
# Line 5393 | Line 5407 | yyreduce:
5407  
5408    case 382:
5409   /* Line 1792 of yacc.c  */
5410 < #line 2011 "conf_parser.y"
5410 > #line 2025 "conf_parser.y"
5411      {
5412    if (conf_parser_ctx.pass == 2)
5413      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5402 | Line 5416 | yyreduce:
5416  
5417    case 383:
5418   /* Line 1792 of yacc.c  */
5419 < #line 2017 "conf_parser.y"
5419 > #line 2031 "conf_parser.y"
5420      {
5421    if (conf_parser_ctx.pass == 2)
5422      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
# Line 5411 | Line 5425 | yyreduce:
5425  
5426    case 384:
5427   /* Line 1792 of yacc.c  */
5428 < #line 2023 "conf_parser.y"
5428 > #line 2037 "conf_parser.y"
5429      {
5430    if (conf_parser_ctx.pass == 2)
5431      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
# Line 5420 | Line 5434 | yyreduce:
5434  
5435    case 385:
5436   /* Line 1792 of yacc.c  */
5437 < #line 2029 "conf_parser.y"
5437 > #line 2043 "conf_parser.y"
5438      {
5439    if (conf_parser_ctx.pass != 2)
5440      break;
# Line 5436 | Line 5450 | yyreduce:
5450  
5451    case 386:
5452   /* Line 1792 of yacc.c  */
5453 < #line 2042 "conf_parser.y"
5453 > #line 2056 "conf_parser.y"
5454      {
5455    if (conf_parser_ctx.pass != 2)
5456      break;
# Line 5452 | Line 5466 | yyreduce:
5466  
5467    case 387:
5468   /* Line 1792 of yacc.c  */
5469 < #line 2055 "conf_parser.y"
5469 > #line 2069 "conf_parser.y"
5470      {
5471    if (conf_parser_ctx.pass == 2)
5472      block_state.port.value = (yyvsp[(3) - (4)].number);
# Line 5461 | Line 5475 | yyreduce:
5475  
5476    case 388:
5477   /* Line 1792 of yacc.c  */
5478 < #line 2061 "conf_parser.y"
5478 > #line 2075 "conf_parser.y"
5479      {
5480    if (conf_parser_ctx.pass == 2)
5481      block_state.aftype.value = AF_INET;
# Line 5470 | Line 5484 | yyreduce:
5484  
5485    case 389:
5486   /* Line 1792 of yacc.c  */
5487 < #line 2065 "conf_parser.y"
5487 > #line 2079 "conf_parser.y"
5488      {
5489   #ifdef IPV6
5490    if (conf_parser_ctx.pass == 2)
# Line 5481 | Line 5495 | yyreduce:
5495  
5496    case 390:
5497   /* Line 1792 of yacc.c  */
5498 < #line 2073 "conf_parser.y"
5498 > #line 2087 "conf_parser.y"
5499      {
5500    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5501   }
# Line 5489 | Line 5503 | yyreduce:
5503  
5504    case 394:
5505   /* Line 1792 of yacc.c  */
5506 < #line 2079 "conf_parser.y"
5506 > #line 2093 "conf_parser.y"
5507      {
5508    if (conf_parser_ctx.pass == 2)
5509      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
# Line 5498 | Line 5512 | yyreduce:
5512  
5513    case 395:
5514   /* Line 1792 of yacc.c  */
5515 < #line 2083 "conf_parser.y"
5515 > #line 2097 "conf_parser.y"
5516      {
5517    if (conf_parser_ctx.pass == 2)
5518      block_state.flags.value |= CONF_FLAGS_SSL;
# Line 5507 | Line 5521 | yyreduce:
5521  
5522    case 396:
5523   /* Line 1792 of yacc.c  */
5524 < #line 2089 "conf_parser.y"
5524 > #line 2103 "conf_parser.y"
5525      {
5526    if (conf_parser_ctx.pass == 2)
5527    {
# Line 5521 | Line 5535 | yyreduce:
5535  
5536    case 397:
5537   /* Line 1792 of yacc.c  */
5538 < #line 2100 "conf_parser.y"
5538 > #line 2114 "conf_parser.y"
5539      {
5540    if (conf_parser_ctx.pass == 2)
5541      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
# Line 5530 | Line 5544 | yyreduce:
5544  
5545    case 398:
5546   /* Line 1792 of yacc.c  */
5547 < #line 2106 "conf_parser.y"
5547 > #line 2120 "conf_parser.y"
5548      {
5549    if (conf_parser_ctx.pass == 2)
5550      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
# Line 5539 | Line 5553 | yyreduce:
5553  
5554    case 399:
5555   /* Line 1792 of yacc.c  */
5556 < #line 2112 "conf_parser.y"
5556 > #line 2126 "conf_parser.y"
5557      {
5558    if (conf_parser_ctx.pass == 2)
5559      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 5548 | Line 5562 | yyreduce:
5562  
5563    case 400:
5564   /* Line 1792 of yacc.c  */
5565 < #line 2118 "conf_parser.y"
5565 > #line 2132 "conf_parser.y"
5566      {
5567   #ifdef HAVE_LIBCRYPTO
5568    if (conf_parser_ctx.pass == 2)
# Line 5562 | Line 5576 | yyreduce:
5576  
5577    case 401:
5578   /* Line 1792 of yacc.c  */
5579 < #line 2133 "conf_parser.y"
5579 > #line 2147 "conf_parser.y"
5580      {
5581    if (conf_parser_ctx.pass == 2)
5582      reset_block_state();
# Line 5571 | Line 5585 | yyreduce:
5585  
5586    case 402:
5587   /* Line 1792 of yacc.c  */
5588 < #line 2137 "conf_parser.y"
5588 > #line 2151 "conf_parser.y"
5589      {
5590    struct MaskItem *conf = NULL;
5591  
# Line 5632 | Line 5646 | yyreduce:
5646  
5647    case 403:
5648   /* Line 1792 of yacc.c  */
5649 < #line 2195 "conf_parser.y"
5649 > #line 2209 "conf_parser.y"
5650      {
5651    if (conf_parser_ctx.pass == 2)
5652      block_state.port.value = 0;
# Line 5641 | Line 5655 | yyreduce:
5655  
5656    case 407:
5657   /* Line 1792 of yacc.c  */
5658 < #line 2202 "conf_parser.y"
5658 > #line 2216 "conf_parser.y"
5659      {
5660    if (conf_parser_ctx.pass == 2)
5661      block_state.port.value = 1;
# Line 5650 | Line 5664 | yyreduce:
5664  
5665    case 414:
5666   /* Line 1792 of yacc.c  */
5667 < #line 2211 "conf_parser.y"
5667 > #line 2225 "conf_parser.y"
5668      {
5669  
5670    if (conf_parser_ctx.pass == 2)
# Line 5673 | Line 5687 | yyreduce:
5687  
5688    case 415:
5689   /* Line 1792 of yacc.c  */
5690 < #line 2231 "conf_parser.y"
5690 > #line 2245 "conf_parser.y"
5691      {
5692    if (conf_parser_ctx.pass == 2)
5693      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 5682 | Line 5696 | yyreduce:
5696  
5697    case 416:
5698   /* Line 1792 of yacc.c  */
5699 < #line 2240 "conf_parser.y"
5699 > #line 2254 "conf_parser.y"
5700      {
5701    if (conf_parser_ctx.pass == 2)
5702      reset_block_state();
# Line 5691 | Line 5705 | yyreduce:
5705  
5706    case 417:
5707   /* Line 1792 of yacc.c  */
5708 < #line 2244 "conf_parser.y"
5708 > #line 2258 "conf_parser.y"
5709      {
5710    struct MaskItem *conf = NULL;
5711  
# Line 5717 | Line 5731 | yyreduce:
5731  
5732    case 423:
5733   /* Line 1792 of yacc.c  */
5734 < #line 2270 "conf_parser.y"
5734 > #line 2284 "conf_parser.y"
5735      {
5736    if (conf_parser_ctx.pass == 2)
5737      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 5726 | Line 5740 | yyreduce:
5740  
5741    case 424:
5742   /* Line 1792 of yacc.c  */
5743 < #line 2276 "conf_parser.y"
5743 > #line 2290 "conf_parser.y"
5744      {
5745    if (conf_parser_ctx.pass == 2)
5746      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 5735 | Line 5749 | yyreduce:
5749  
5750    case 430:
5751   /* Line 1792 of yacc.c  */
5752 < #line 2290 "conf_parser.y"
5752 > #line 2304 "conf_parser.y"
5753      {
5754    if (conf_parser_ctx.pass == 2)
5755    {
# Line 5752 | Line 5766 | yyreduce:
5766  
5767    case 431:
5768   /* Line 1792 of yacc.c  */
5769 < #line 2307 "conf_parser.y"
5769 > #line 2321 "conf_parser.y"
5770      {
5771    if (conf_parser_ctx.pass == 2)
5772      reset_block_state();
# Line 5761 | Line 5775 | yyreduce:
5775  
5776    case 432:
5777   /* Line 1792 of yacc.c  */
5778 < #line 2311 "conf_parser.y"
5778 > #line 2325 "conf_parser.y"
5779      {
5780    struct MaskItem *conf = NULL;
5781  
# Line 5805 | Line 5819 | yyreduce:
5819  
5820    case 433:
5821   /* Line 1792 of yacc.c  */
5822 < #line 2352 "conf_parser.y"
5822 > #line 2366 "conf_parser.y"
5823      {
5824    if (conf_parser_ctx.pass == 2)
5825      block_state.port.value = 0;
# Line 5814 | Line 5828 | yyreduce:
5828  
5829    case 437:
5830   /* Line 1792 of yacc.c  */
5831 < #line 2359 "conf_parser.y"
5831 > #line 2373 "conf_parser.y"
5832      {
5833    if (conf_parser_ctx.pass == 2)
5834      block_state.port.value = 1;
# Line 5823 | Line 5837 | yyreduce:
5837  
5838    case 444:
5839   /* Line 1792 of yacc.c  */
5840 < #line 2368 "conf_parser.y"
5840 > #line 2382 "conf_parser.y"
5841      {
5842    if (conf_parser_ctx.pass == 2)
5843      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5832 | Line 5846 | yyreduce:
5846  
5847    case 445:
5848   /* Line 1792 of yacc.c  */
5849 < #line 2374 "conf_parser.y"
5849 > #line 2388 "conf_parser.y"
5850      {
5851    if (conf_parser_ctx.pass == 2)
5852      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 5841 | Line 5855 | yyreduce:
5855  
5856    case 499:
5857   /* Line 1792 of yacc.c  */
5858 < #line 2419 "conf_parser.y"
5858 > #line 2433 "conf_parser.y"
5859      {
5860    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5861   }
# Line 5849 | Line 5863 | yyreduce:
5863  
5864    case 500:
5865   /* Line 1792 of yacc.c  */
5866 < #line 2424 "conf_parser.y"
5866 > #line 2438 "conf_parser.y"
5867      {
5868    if (conf_parser_ctx.pass == 2)
5869      ConfigFileEntry.glines = yylval.number;
# Line 5858 | Line 5872 | yyreduce:
5872  
5873    case 501:
5874   /* Line 1792 of yacc.c  */
5875 < #line 2430 "conf_parser.y"
5875 > #line 2444 "conf_parser.y"
5876      {
5877    if (conf_parser_ctx.pass == 2)
5878      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
# Line 5867 | Line 5881 | yyreduce:
5881  
5882    case 502:
5883   /* Line 1792 of yacc.c  */
5884 < #line 2436 "conf_parser.y"
5884 > #line 2450 "conf_parser.y"
5885      {
5886    if (conf_parser_ctx.pass == 2)
5887      ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
# Line 5876 | Line 5890 | yyreduce:
5890  
5891    case 503:
5892   /* Line 1792 of yacc.c  */
5893 < #line 2442 "conf_parser.y"
5893 > #line 2456 "conf_parser.y"
5894      {
5895    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5896   }
# Line 5884 | Line 5898 | yyreduce:
5898  
5899    case 504:
5900   /* Line 1792 of yacc.c  */
5901 < #line 2447 "conf_parser.y"
5901 > #line 2461 "conf_parser.y"
5902      {
5903    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5904   }
# Line 5892 | Line 5906 | yyreduce:
5906  
5907    case 505:
5908   /* Line 1792 of yacc.c  */
5909 < #line 2452 "conf_parser.y"
5909 > #line 2466 "conf_parser.y"
5910      {
5911    ConfigFileEntry.tkline_expire_notices = yylval.number;
5912   }
# Line 5900 | Line 5914 | yyreduce:
5914  
5915    case 506:
5916   /* Line 1792 of yacc.c  */
5917 < #line 2457 "conf_parser.y"
5917 > #line 2471 "conf_parser.y"
5918      {
5919    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5920   }
# Line 5908 | Line 5922 | yyreduce:
5922  
5923    case 507:
5924   /* Line 1792 of yacc.c  */
5925 < #line 2462 "conf_parser.y"
5925 > #line 2476 "conf_parser.y"
5926      {
5927    ConfigFileEntry.hide_spoof_ips = yylval.number;
5928   }
# Line 5916 | Line 5930 | yyreduce:
5930  
5931    case 508:
5932   /* Line 1792 of yacc.c  */
5933 < #line 2467 "conf_parser.y"
5933 > #line 2481 "conf_parser.y"
5934      {
5935    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5936   }
# Line 5924 | Line 5938 | yyreduce:
5938  
5939    case 509:
5940   /* Line 1792 of yacc.c  */
5941 < #line 2472 "conf_parser.y"
5941 > #line 2486 "conf_parser.y"
5942      {
5943    ConfigFileEntry.disable_remote = yylval.number;
5944   }
# Line 5932 | Line 5946 | yyreduce:
5946  
5947    case 510:
5948   /* Line 1792 of yacc.c  */
5949 < #line 2477 "conf_parser.y"
5949 > #line 2491 "conf_parser.y"
5950      {
5951    ConfigFileEntry.failed_oper_notice = yylval.number;
5952   }
# Line 5940 | Line 5954 | yyreduce:
5954  
5955    case 511:
5956   /* Line 1792 of yacc.c  */
5957 < #line 2482 "conf_parser.y"
5957 > #line 2496 "conf_parser.y"
5958      {
5959    ConfigFileEntry.anti_nick_flood = yylval.number;
5960   }
# Line 5948 | Line 5962 | yyreduce:
5962  
5963    case 512:
5964   /* Line 1792 of yacc.c  */
5965 < #line 2487 "conf_parser.y"
5965 > #line 2501 "conf_parser.y"
5966      {
5967    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5968   }
# Line 5956 | Line 5970 | yyreduce:
5970  
5971    case 513:
5972   /* Line 1792 of yacc.c  */
5973 < #line 2492 "conf_parser.y"
5973 > #line 2506 "conf_parser.y"
5974      {
5975    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5976   }
# Line 5964 | Line 5978 | yyreduce:
5978  
5979    case 514:
5980   /* Line 1792 of yacc.c  */
5981 < #line 2497 "conf_parser.y"
5981 > #line 2511 "conf_parser.y"
5982      {
5983    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5984   }
# Line 5972 | Line 5986 | yyreduce:
5986  
5987    case 515:
5988   /* Line 1792 of yacc.c  */
5989 < #line 2502 "conf_parser.y"
5989 > #line 2516 "conf_parser.y"
5990      {
5991    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5992   }
# Line 5980 | Line 5994 | yyreduce:
5994  
5995    case 516:
5996   /* Line 1792 of yacc.c  */
5997 < #line 2507 "conf_parser.y"
5997 > #line 2521 "conf_parser.y"
5998      {
5999    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6000   }
# Line 5988 | Line 6002 | yyreduce:
6002  
6003    case 517:
6004   /* Line 1792 of yacc.c  */
6005 < #line 2512 "conf_parser.y"
6005 > #line 2526 "conf_parser.y"
6006      {
6007    if (conf_parser_ctx.pass == 2)
6008      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
# Line 5997 | Line 6011 | yyreduce:
6011  
6012    case 518:
6013   /* Line 1792 of yacc.c  */
6014 < #line 2518 "conf_parser.y"
6014 > #line 2532 "conf_parser.y"
6015      {
6016    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6017    {
# Line 6011 | Line 6025 | yyreduce:
6025  
6026    case 519:
6027   /* Line 1792 of yacc.c  */
6028 < #line 2529 "conf_parser.y"
6028 > #line 2543 "conf_parser.y"
6029      {
6030    ConfigFileEntry.invisible_on_connect = yylval.number;
6031   }
# Line 6019 | Line 6033 | yyreduce:
6033  
6034    case 520:
6035   /* Line 1792 of yacc.c  */
6036 < #line 2534 "conf_parser.y"
6036 > #line 2548 "conf_parser.y"
6037      {
6038    ConfigFileEntry.warn_no_nline = yylval.number;
6039   }
# Line 6027 | Line 6041 | yyreduce:
6041  
6042    case 521:
6043   /* Line 1792 of yacc.c  */
6044 < #line 2539 "conf_parser.y"
6044 > #line 2553 "conf_parser.y"
6045      {
6046    ConfigFileEntry.stats_e_disabled = yylval.number;
6047   }
# Line 6035 | Line 6049 | yyreduce:
6049  
6050    case 522:
6051   /* Line 1792 of yacc.c  */
6052 < #line 2544 "conf_parser.y"
6052 > #line 2558 "conf_parser.y"
6053      {
6054    ConfigFileEntry.stats_o_oper_only = yylval.number;
6055   }
# Line 6043 | Line 6057 | yyreduce:
6057  
6058    case 523:
6059   /* Line 1792 of yacc.c  */
6060 < #line 2549 "conf_parser.y"
6060 > #line 2563 "conf_parser.y"
6061      {
6062    ConfigFileEntry.stats_P_oper_only = yylval.number;
6063   }
# Line 6051 | Line 6065 | yyreduce:
6065  
6066    case 524:
6067   /* Line 1792 of yacc.c  */
6068 < #line 2554 "conf_parser.y"
6068 > #line 2568 "conf_parser.y"
6069      {
6070    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6071   }
# Line 6059 | Line 6073 | yyreduce:
6073  
6074    case 525:
6075   /* Line 1792 of yacc.c  */
6076 < #line 2557 "conf_parser.y"
6076 > #line 2571 "conf_parser.y"
6077      {
6078    ConfigFileEntry.stats_k_oper_only = 1;
6079   }
# Line 6067 | Line 6081 | yyreduce:
6081  
6082    case 526:
6083   /* Line 1792 of yacc.c  */
6084 < #line 2562 "conf_parser.y"
6084 > #line 2576 "conf_parser.y"
6085      {
6086    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6087   }
# Line 6075 | Line 6089 | yyreduce:
6089  
6090    case 527:
6091   /* Line 1792 of yacc.c  */
6092 < #line 2565 "conf_parser.y"
6092 > #line 2579 "conf_parser.y"
6093      {
6094    ConfigFileEntry.stats_i_oper_only = 1;
6095   }
# Line 6083 | Line 6097 | yyreduce:
6097  
6098    case 528:
6099   /* Line 1792 of yacc.c  */
6100 < #line 2570 "conf_parser.y"
6100 > #line 2584 "conf_parser.y"
6101      {
6102    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6103   }
# Line 6091 | Line 6105 | yyreduce:
6105  
6106    case 529:
6107   /* Line 1792 of yacc.c  */
6108 < #line 2575 "conf_parser.y"
6108 > #line 2589 "conf_parser.y"
6109      {
6110    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6111   }
# Line 6099 | Line 6113 | yyreduce:
6113  
6114    case 530:
6115   /* Line 1792 of yacc.c  */
6116 < #line 2580 "conf_parser.y"
6116 > #line 2594 "conf_parser.y"
6117      {
6118    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6119   }
# Line 6107 | Line 6121 | yyreduce:
6121  
6122    case 531:
6123   /* Line 1792 of yacc.c  */
6124 < #line 2585 "conf_parser.y"
6124 > #line 2599 "conf_parser.y"
6125      {
6126    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6127   }
# Line 6115 | Line 6129 | yyreduce:
6129  
6130    case 532:
6131   /* Line 1792 of yacc.c  */
6132 < #line 2590 "conf_parser.y"
6132 > #line 2604 "conf_parser.y"
6133      {
6134    ConfigFileEntry.short_motd = yylval.number;
6135   }
# Line 6123 | Line 6137 | yyreduce:
6137  
6138    case 533:
6139   /* Line 1792 of yacc.c  */
6140 < #line 2595 "conf_parser.y"
6140 > #line 2609 "conf_parser.y"
6141      {
6142    ConfigFileEntry.no_oper_flood = yylval.number;
6143   }
# Line 6131 | Line 6145 | yyreduce:
6145  
6146    case 534:
6147   /* Line 1792 of yacc.c  */
6148 < #line 2600 "conf_parser.y"
6148 > #line 2614 "conf_parser.y"
6149      {
6150    ConfigFileEntry.true_no_oper_flood = yylval.number;
6151   }
# Line 6139 | Line 6153 | yyreduce:
6153  
6154    case 535:
6155   /* Line 1792 of yacc.c  */
6156 < #line 2605 "conf_parser.y"
6156 > #line 2619 "conf_parser.y"
6157      {
6158    ConfigFileEntry.oper_pass_resv = yylval.number;
6159   }
# Line 6147 | Line 6161 | yyreduce:
6161  
6162    case 536:
6163   /* Line 1792 of yacc.c  */
6164 < #line 2610 "conf_parser.y"
6164 > #line 2624 "conf_parser.y"
6165      {
6166    if (conf_parser_ctx.pass == 2)
6167    {
# Line 6161 | Line 6175 | yyreduce:
6175  
6176    case 537:
6177   /* Line 1792 of yacc.c  */
6178 < #line 2621 "conf_parser.y"
6178 > #line 2635 "conf_parser.y"
6179      {
6180    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6181   }
# Line 6169 | Line 6183 | yyreduce:
6183  
6184    case 538:
6185   /* Line 1792 of yacc.c  */
6186 < #line 2626 "conf_parser.y"
6186 > #line 2640 "conf_parser.y"
6187      {
6188    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6189   }
# Line 6177 | Line 6191 | yyreduce:
6191  
6192    case 539:
6193   /* Line 1792 of yacc.c  */
6194 < #line 2631 "conf_parser.y"
6194 > #line 2645 "conf_parser.y"
6195      {
6196    ConfigFileEntry.use_egd = yylval.number;
6197   }
# Line 6185 | Line 6199 | yyreduce:
6199  
6200    case 540:
6201   /* Line 1792 of yacc.c  */
6202 < #line 2636 "conf_parser.y"
6202 > #line 2650 "conf_parser.y"
6203      {
6204    if (conf_parser_ctx.pass == 2)
6205    {
# Line 6197 | Line 6211 | yyreduce:
6211  
6212    case 541:
6213   /* Line 1792 of yacc.c  */
6214 < #line 2645 "conf_parser.y"
6214 > #line 2659 "conf_parser.y"
6215      {
6216    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6217    {
# Line 6209 | Line 6223 | yyreduce:
6223  
6224    case 542:
6225   /* Line 1792 of yacc.c  */
6226 < #line 2654 "conf_parser.y"
6226 > #line 2668 "conf_parser.y"
6227      {
6228    ConfigFileEntry.ping_cookie = yylval.number;
6229   }
# Line 6217 | Line 6231 | yyreduce:
6231  
6232    case 543:
6233   /* Line 1792 of yacc.c  */
6234 < #line 2659 "conf_parser.y"
6234 > #line 2673 "conf_parser.y"
6235      {
6236    ConfigFileEntry.disable_auth = yylval.number;
6237   }
# Line 6225 | Line 6239 | yyreduce:
6239  
6240    case 544:
6241   /* Line 1792 of yacc.c  */
6242 < #line 2664 "conf_parser.y"
6242 > #line 2678 "conf_parser.y"
6243      {
6244    ConfigFileEntry.throttle_time = yylval.number;
6245   }
# Line 6233 | Line 6247 | yyreduce:
6247  
6248    case 545:
6249   /* Line 1792 of yacc.c  */
6250 < #line 2669 "conf_parser.y"
6250 > #line 2683 "conf_parser.y"
6251      {
6252    ConfigFileEntry.oper_umodes = 0;
6253   }
# Line 6241 | Line 6255 | yyreduce:
6255  
6256    case 549:
6257   /* Line 1792 of yacc.c  */
6258 < #line 2675 "conf_parser.y"
6258 > #line 2689 "conf_parser.y"
6259      {
6260    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6261   }
# Line 6249 | Line 6263 | yyreduce:
6263  
6264    case 550:
6265   /* Line 1792 of yacc.c  */
6266 < #line 2678 "conf_parser.y"
6266 > #line 2692 "conf_parser.y"
6267      {
6268    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6269   }
# Line 6257 | Line 6271 | yyreduce:
6271  
6272    case 551:
6273   /* Line 1792 of yacc.c  */
6274 < #line 2681 "conf_parser.y"
6274 > #line 2695 "conf_parser.y"
6275      {
6276    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6277   }
# Line 6265 | Line 6279 | yyreduce:
6279  
6280    case 552:
6281   /* Line 1792 of yacc.c  */
6282 < #line 2684 "conf_parser.y"
6282 > #line 2698 "conf_parser.y"
6283      {
6284    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6285   }
# Line 6273 | Line 6287 | yyreduce:
6287  
6288    case 553:
6289   /* Line 1792 of yacc.c  */
6290 < #line 2687 "conf_parser.y"
6290 > #line 2701 "conf_parser.y"
6291      {
6292    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6293   }
# Line 6281 | Line 6295 | yyreduce:
6295  
6296    case 554:
6297   /* Line 1792 of yacc.c  */
6298 < #line 2690 "conf_parser.y"
6298 > #line 2704 "conf_parser.y"
6299      {
6300    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6301   }
# Line 6289 | Line 6303 | yyreduce:
6303  
6304    case 555:
6305   /* Line 1792 of yacc.c  */
6306 < #line 2693 "conf_parser.y"
6306 > #line 2707 "conf_parser.y"
6307      {
6308    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6309   }
# Line 6297 | Line 6311 | yyreduce:
6311  
6312    case 556:
6313   /* Line 1792 of yacc.c  */
6314 < #line 2696 "conf_parser.y"
6314 > #line 2710 "conf_parser.y"
6315      {
6316    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6317   }
# Line 6305 | Line 6319 | yyreduce:
6319  
6320    case 557:
6321   /* Line 1792 of yacc.c  */
6322 < #line 2699 "conf_parser.y"
6322 > #line 2713 "conf_parser.y"
6323      {
6324    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6325   }
# Line 6313 | Line 6327 | yyreduce:
6327  
6328    case 558:
6329   /* Line 1792 of yacc.c  */
6330 < #line 2702 "conf_parser.y"
6330 > #line 2716 "conf_parser.y"
6331      {
6332    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6333   }
# Line 6321 | Line 6335 | yyreduce:
6335  
6336    case 559:
6337   /* Line 1792 of yacc.c  */
6338 < #line 2705 "conf_parser.y"
6338 > #line 2719 "conf_parser.y"
6339      {
6340    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6341   }
# Line 6329 | Line 6343 | yyreduce:
6343  
6344    case 560:
6345   /* Line 1792 of yacc.c  */
6346 < #line 2708 "conf_parser.y"
6346 > #line 2722 "conf_parser.y"
6347      {
6348    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6349   }
# Line 6337 | Line 6351 | yyreduce:
6351  
6352    case 561:
6353   /* Line 1792 of yacc.c  */
6354 < #line 2711 "conf_parser.y"
6354 > #line 2725 "conf_parser.y"
6355      {
6356    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6357   }
# Line 6345 | Line 6359 | yyreduce:
6359  
6360    case 562:
6361   /* Line 1792 of yacc.c  */
6362 < #line 2714 "conf_parser.y"
6362 > #line 2728 "conf_parser.y"
6363      {
6364    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6365   }
# Line 6353 | Line 6367 | yyreduce:
6367  
6368    case 563:
6369   /* Line 1792 of yacc.c  */
6370 < #line 2717 "conf_parser.y"
6370 > #line 2731 "conf_parser.y"
6371      {
6372    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6373   }
# Line 6361 | Line 6375 | yyreduce:
6375  
6376    case 564:
6377   /* Line 1792 of yacc.c  */
6378 < #line 2720 "conf_parser.y"
6378 > #line 2734 "conf_parser.y"
6379      {
6380    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6381   }
# Line 6369 | Line 6383 | yyreduce:
6383  
6384    case 565:
6385   /* Line 1792 of yacc.c  */
6386 < #line 2723 "conf_parser.y"
6386 > #line 2737 "conf_parser.y"
6387      {
6388    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6389   }
# Line 6377 | Line 6391 | yyreduce:
6391  
6392    case 566:
6393   /* Line 1792 of yacc.c  */
6394 < #line 2726 "conf_parser.y"
6394 > #line 2740 "conf_parser.y"
6395      {
6396    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6397   }
# Line 6385 | Line 6399 | yyreduce:
6399  
6400    case 567:
6401   /* Line 1792 of yacc.c  */
6402 < #line 2729 "conf_parser.y"
6402 > #line 2743 "conf_parser.y"
6403      {
6404    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6405   }
# Line 6393 | Line 6407 | yyreduce:
6407  
6408    case 568:
6409   /* Line 1792 of yacc.c  */
6410 < #line 2732 "conf_parser.y"
6410 > #line 2746 "conf_parser.y"
6411      {
6412    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6413   }
# Line 6401 | Line 6415 | yyreduce:
6415  
6416    case 569:
6417   /* Line 1792 of yacc.c  */
6418 < #line 2737 "conf_parser.y"
6418 > #line 2751 "conf_parser.y"
6419      {
6420    ConfigFileEntry.oper_only_umodes = 0;
6421   }
# Line 6409 | Line 6423 | yyreduce:
6423  
6424    case 573:
6425   /* Line 1792 of yacc.c  */
6426 < #line 2743 "conf_parser.y"
6426 > #line 2757 "conf_parser.y"
6427      {
6428    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6429   }
# Line 6417 | Line 6431 | yyreduce:
6431  
6432    case 574:
6433   /* Line 1792 of yacc.c  */
6434 < #line 2746 "conf_parser.y"
6434 > #line 2760 "conf_parser.y"
6435      {
6436    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6437   }
# Line 6425 | Line 6439 | yyreduce:
6439  
6440    case 575:
6441   /* Line 1792 of yacc.c  */
6442 < #line 2749 "conf_parser.y"
6442 > #line 2763 "conf_parser.y"
6443      {
6444    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6445   }
# Line 6433 | Line 6447 | yyreduce:
6447  
6448    case 576:
6449   /* Line 1792 of yacc.c  */
6450 < #line 2752 "conf_parser.y"
6450 > #line 2766 "conf_parser.y"
6451      {
6452    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6453   }
# Line 6441 | Line 6455 | yyreduce:
6455  
6456    case 577:
6457   /* Line 1792 of yacc.c  */
6458 < #line 2755 "conf_parser.y"
6458 > #line 2769 "conf_parser.y"
6459      {
6460    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6461   }
# Line 6449 | Line 6463 | yyreduce:
6463  
6464    case 578:
6465   /* Line 1792 of yacc.c  */
6466 < #line 2758 "conf_parser.y"
6466 > #line 2772 "conf_parser.y"
6467      {
6468    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6469   }
# Line 6457 | Line 6471 | yyreduce:
6471  
6472    case 579:
6473   /* Line 1792 of yacc.c  */
6474 < #line 2761 "conf_parser.y"
6474 > #line 2775 "conf_parser.y"
6475      {
6476    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6477   }
# Line 6465 | Line 6479 | yyreduce:
6479  
6480    case 580:
6481   /* Line 1792 of yacc.c  */
6482 < #line 2764 "conf_parser.y"
6482 > #line 2778 "conf_parser.y"
6483      {
6484    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6485   }
# Line 6473 | Line 6487 | yyreduce:
6487  
6488    case 581:
6489   /* Line 1792 of yacc.c  */
6490 < #line 2767 "conf_parser.y"
6490 > #line 2781 "conf_parser.y"
6491      {
6492    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6493   }
# Line 6481 | Line 6495 | yyreduce:
6495  
6496    case 582:
6497   /* Line 1792 of yacc.c  */
6498 < #line 2770 "conf_parser.y"
6498 > #line 2784 "conf_parser.y"
6499      {
6500    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6501   }
# Line 6489 | Line 6503 | yyreduce:
6503  
6504    case 583:
6505   /* Line 1792 of yacc.c  */
6506 < #line 2773 "conf_parser.y"
6506 > #line 2787 "conf_parser.y"
6507      {
6508    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6509   }
# Line 6497 | Line 6511 | yyreduce:
6511  
6512    case 584:
6513   /* Line 1792 of yacc.c  */
6514 < #line 2776 "conf_parser.y"
6514 > #line 2790 "conf_parser.y"
6515      {
6516    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6517   }
# Line 6505 | Line 6519 | yyreduce:
6519  
6520    case 585:
6521   /* Line 1792 of yacc.c  */
6522 < #line 2779 "conf_parser.y"
6522 > #line 2793 "conf_parser.y"
6523      {
6524    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6525   }
# Line 6513 | Line 6527 | yyreduce:
6527  
6528    case 586:
6529   /* Line 1792 of yacc.c  */
6530 < #line 2782 "conf_parser.y"
6530 > #line 2796 "conf_parser.y"
6531      {
6532    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6533   }
# Line 6521 | Line 6535 | yyreduce:
6535  
6536    case 587:
6537   /* Line 1792 of yacc.c  */
6538 < #line 2785 "conf_parser.y"
6538 > #line 2799 "conf_parser.y"
6539      {
6540    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6541   }
# Line 6529 | Line 6543 | yyreduce:
6543  
6544    case 588:
6545   /* Line 1792 of yacc.c  */
6546 < #line 2788 "conf_parser.y"
6546 > #line 2802 "conf_parser.y"
6547      {
6548    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6549   }
# Line 6537 | Line 6551 | yyreduce:
6551  
6552    case 589:
6553   /* Line 1792 of yacc.c  */
6554 < #line 2791 "conf_parser.y"
6554 > #line 2805 "conf_parser.y"
6555      {
6556    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6557   }
# Line 6545 | Line 6559 | yyreduce:
6559  
6560    case 590:
6561   /* Line 1792 of yacc.c  */
6562 < #line 2794 "conf_parser.y"
6562 > #line 2808 "conf_parser.y"
6563      {
6564    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6565   }
# Line 6553 | Line 6567 | yyreduce:
6567  
6568    case 591:
6569   /* Line 1792 of yacc.c  */
6570 < #line 2797 "conf_parser.y"
6570 > #line 2811 "conf_parser.y"
6571      {
6572    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6573   }
# Line 6561 | Line 6575 | yyreduce:
6575  
6576    case 592:
6577   /* Line 1792 of yacc.c  */
6578 < #line 2800 "conf_parser.y"
6578 > #line 2814 "conf_parser.y"
6579      {
6580    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6581   }
# Line 6569 | Line 6583 | yyreduce:
6583  
6584    case 593:
6585   /* Line 1792 of yacc.c  */
6586 < #line 2805 "conf_parser.y"
6586 > #line 2819 "conf_parser.y"
6587      {
6588    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6589   }
# Line 6577 | Line 6591 | yyreduce:
6591  
6592    case 594:
6593   /* Line 1792 of yacc.c  */
6594 < #line 2810 "conf_parser.y"
6594 > #line 2824 "conf_parser.y"
6595      {
6596    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6597   }
# Line 6585 | Line 6599 | yyreduce:
6599  
6600    case 595:
6601   /* Line 1792 of yacc.c  */
6602 < #line 2815 "conf_parser.y"
6602 > #line 2829 "conf_parser.y"
6603      {
6604    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6605   }
# Line 6593 | Line 6607 | yyreduce:
6607  
6608    case 614:
6609   /* Line 1792 of yacc.c  */
6610 < #line 2838 "conf_parser.y"
6610 > #line 2852 "conf_parser.y"
6611      {
6612    ConfigChannel.disable_fake_channels = yylval.number;
6613   }
# Line 6601 | Line 6615 | yyreduce:
6615  
6616    case 615:
6617   /* Line 1792 of yacc.c  */
6618 < #line 2843 "conf_parser.y"
6618 > #line 2857 "conf_parser.y"
6619      {
6620    ConfigChannel.restrict_channels = yylval.number;
6621   }
# Line 6609 | Line 6623 | yyreduce:
6623  
6624    case 616:
6625   /* Line 1792 of yacc.c  */
6626 < #line 2848 "conf_parser.y"
6626 > #line 2862 "conf_parser.y"
6627      {
6628    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6629   }
# Line 6617 | Line 6631 | yyreduce:
6631  
6632    case 617:
6633   /* Line 1792 of yacc.c  */
6634 < #line 2853 "conf_parser.y"
6634 > #line 2867 "conf_parser.y"
6635      {
6636    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6637   }
# Line 6625 | Line 6639 | yyreduce:
6639  
6640    case 618:
6641   /* Line 1792 of yacc.c  */
6642 < #line 2858 "conf_parser.y"
6642 > #line 2872 "conf_parser.y"
6643      {
6644    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6645   }
# Line 6633 | Line 6647 | yyreduce:
6647  
6648    case 619:
6649   /* Line 1792 of yacc.c  */
6650 < #line 2863 "conf_parser.y"
6650 > #line 2877 "conf_parser.y"
6651      {
6652    ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6653   }
# Line 6641 | Line 6655 | yyreduce:
6655  
6656    case 620:
6657   /* Line 1792 of yacc.c  */
6658 < #line 2868 "conf_parser.y"
6658 > #line 2882 "conf_parser.y"
6659      {
6660    ConfigChannel.quiet_on_ban = yylval.number;
6661   }
# Line 6649 | Line 6663 | yyreduce:
6663  
6664    case 621:
6665   /* Line 1792 of yacc.c  */
6666 < #line 2873 "conf_parser.y"
6666 > #line 2887 "conf_parser.y"
6667      {
6668    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6669   }
# Line 6657 | Line 6671 | yyreduce:
6671  
6672    case 622:
6673   /* Line 1792 of yacc.c  */
6674 < #line 2878 "conf_parser.y"
6674 > #line 2892 "conf_parser.y"
6675      {
6676    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6677   }
# Line 6665 | Line 6679 | yyreduce:
6679  
6680    case 623:
6681   /* Line 1792 of yacc.c  */
6682 < #line 2883 "conf_parser.y"
6682 > #line 2897 "conf_parser.y"
6683      {
6684    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6685   }
# Line 6673 | Line 6687 | yyreduce:
6687  
6688    case 624:
6689   /* Line 1792 of yacc.c  */
6690 < #line 2888 "conf_parser.y"
6690 > #line 2902 "conf_parser.y"
6691      {
6692    ConfigChannel.no_create_on_split = yylval.number;
6693   }
# Line 6681 | Line 6695 | yyreduce:
6695  
6696    case 625:
6697   /* Line 1792 of yacc.c  */
6698 < #line 2893 "conf_parser.y"
6698 > #line 2907 "conf_parser.y"
6699      {
6700    ConfigChannel.no_join_on_split = yylval.number;
6701   }
# Line 6689 | Line 6703 | yyreduce:
6703  
6704    case 626:
6705   /* Line 1792 of yacc.c  */
6706 < #line 2898 "conf_parser.y"
6706 > #line 2912 "conf_parser.y"
6707      {
6708    GlobalSetOptions.joinfloodcount = yylval.number;
6709   }
# Line 6697 | Line 6711 | yyreduce:
6711  
6712    case 627:
6713   /* Line 1792 of yacc.c  */
6714 < #line 2903 "conf_parser.y"
6714 > #line 2917 "conf_parser.y"
6715      {
6716    GlobalSetOptions.joinfloodtime = yylval.number;
6717   }
# Line 6705 | Line 6719 | yyreduce:
6719  
6720    case 638:
6721   /* Line 1792 of yacc.c  */
6722 < #line 2921 "conf_parser.y"
6722 > #line 2935 "conf_parser.y"
6723      {
6724    if (conf_parser_ctx.pass == 2)
6725      ConfigServerHide.flatten_links = yylval.number;
# Line 6714 | Line 6728 | yyreduce:
6728  
6729    case 639:
6730   /* Line 1792 of yacc.c  */
6731 < #line 2927 "conf_parser.y"
6731 > #line 2941 "conf_parser.y"
6732      {
6733    if (conf_parser_ctx.pass == 2)
6734      ConfigServerHide.hide_servers = yylval.number;
# Line 6723 | Line 6737 | yyreduce:
6737  
6738    case 640:
6739   /* Line 1792 of yacc.c  */
6740 < #line 2933 "conf_parser.y"
6740 > #line 2947 "conf_parser.y"
6741      {
6742    if (conf_parser_ctx.pass == 2)
6743    {
# Line 6735 | Line 6749 | yyreduce:
6749  
6750    case 641:
6751   /* Line 1792 of yacc.c  */
6752 < #line 2942 "conf_parser.y"
6752 > #line 2956 "conf_parser.y"
6753      {
6754    if (conf_parser_ctx.pass == 2)
6755    {
# Line 6752 | Line 6766 | yyreduce:
6766  
6767    case 642:
6768   /* Line 1792 of yacc.c  */
6769 < #line 2956 "conf_parser.y"
6769 > #line 2970 "conf_parser.y"
6770      {
6771    if (conf_parser_ctx.pass == 2)
6772      ConfigServerHide.hidden = yylval.number;
# Line 6761 | Line 6775 | yyreduce:
6775  
6776    case 643:
6777   /* Line 1792 of yacc.c  */
6778 < #line 2962 "conf_parser.y"
6778 > #line 2976 "conf_parser.y"
6779      {
6780    if (conf_parser_ctx.pass == 2)
6781      ConfigServerHide.hide_server_ips = yylval.number;
# Line 6770 | Line 6784 | yyreduce:
6784  
6785  
6786   /* Line 1792 of yacc.c  */
6787 < #line 6774 "conf_parser.c"
6787 > #line 6788 "conf_parser.c"
6788        default: break;
6789      }
6790    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

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