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 2473 by michael, Fri Oct 11 16:44:17 2013 UTC vs.
Revision 2570 by michael, Mon Nov 18 19:14:02 2013 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 3.0.  */
1 > /* A Bison parser, made by GNU Bison 3.0.1.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4  
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "3.0"
47 > #define YYBISON_VERSION "3.0.1"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 179 | Line 179 | reset_block_state(void)
179  
180   #line 181 "conf_parser.c" /* yacc.c:339  */
181  
182 < # ifndef YY_NULL
182 > # ifndef YY_NULLPTR
183   #  if defined __cplusplus && 201103L <= __cplusplus
184 < #   define YY_NULL nullptr
184 > #   define YY_NULLPTR nullptr
185   #  else
186 < #   define YY_NULL 0
186 > #   define YY_NULLPTR 0
187   #  endif
188   # endif
189  
# Line 746 | Line 746 | typedef short int yytype_int16;
746   # endif
747   #endif
748  
749 < #ifndef __attribute__
750 < /* This feature is available in gcc versions 2.5 and later.  */
751 < # if (! defined __GNUC__ || __GNUC__ < 2 \
752 <      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
753 < #  define __attribute__(Spec) /* empty */
749 > #ifndef YY_ATTRIBUTE
750 > # if (defined __GNUC__                                               \
751 >      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
752 >     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
753 > #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
754 > # else
755 > #  define YY_ATTRIBUTE(Spec) /* empty */
756 > # endif
757 > #endif
758 >
759 > #ifndef YY_ATTRIBUTE_PURE
760 > # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
761 > #endif
762 >
763 > #ifndef YY_ATTRIBUTE_UNUSED
764 > # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
765 > #endif
766 >
767 > #if !defined _Noreturn \
768 >     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
769 > # if defined _MSC_VER && 1200 <= _MSC_VER
770 > #  define _Noreturn __declspec (noreturn)
771 > # else
772 > #  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
773   # endif
774   #endif
775  
# Line 1205 | Line 1224 | static const char *const yytname[] =
1224    "serverhide_disable_remote_commands", "serverhide_hide_servers",
1225    "serverhide_hide_services", "serverhide_hidden_name",
1226    "serverhide_links_delay", "serverhide_hidden",
1227 <  "serverhide_hide_server_ips", YY_NULL
1227 >  "serverhide_hide_server_ips", YY_NULLPTR
1228   };
1229   #endif
1230  
# Line 2409 | Line 2428 | static int
2428   yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2429                  yytype_int16 *yyssp, int yytoken)
2430   {
2431 <  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2431 >  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
2432    YYSIZE_T yysize = yysize0;
2433    enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2434    /* Internationalized format string. */
2435 <  const char *yyformat = YY_NULL;
2435 >  const char *yyformat = YY_NULLPTR;
2436    /* Arguments of yyformat. */
2437    char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2438    /* Number of reported tokens (one for the "unexpected", one per
# Line 2470 | Line 2489 | yysyntax_error (YYSIZE_T *yymsg_alloc, c
2489                    }
2490                  yyarg[yycount++] = yytname[yyx];
2491                  {
2492 <                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2492 >                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
2493                    if (! (yysize <= yysize1
2494                           && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2495                      return 2;
# Line 2804 | Line 2823 | yyreduce:
2823          case 27:
2824   #line 400 "conf_parser.y" /* yacc.c:1646  */
2825      { (yyval.number) = 0; }
2826 < #line 2808 "conf_parser.c" /* yacc.c:1646  */
2826 > #line 2827 "conf_parser.c" /* yacc.c:1646  */
2827      break;
2828  
2829    case 29:
# Line 2812 | Line 2831 | yyreduce:
2831      {
2832                          (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number);
2833                  }
2834 < #line 2816 "conf_parser.c" /* yacc.c:1646  */
2834 > #line 2835 "conf_parser.c" /* yacc.c:1646  */
2835      break;
2836  
2837    case 30:
# Line 2820 | Line 2839 | yyreduce:
2839      {
2840                          (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number);
2841                  }
2842 < #line 2824 "conf_parser.c" /* yacc.c:1646  */
2842 > #line 2843 "conf_parser.c" /* yacc.c:1646  */
2843      break;
2844  
2845    case 31:
# Line 2828 | Line 2847 | yyreduce:
2847      {
2848                          (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number);
2849                  }
2850 < #line 2832 "conf_parser.c" /* yacc.c:1646  */
2850 > #line 2851 "conf_parser.c" /* yacc.c:1646  */
2851      break;
2852  
2853    case 32:
# Line 2836 | Line 2855 | yyreduce:
2855      {
2856                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number);
2857                  }
2858 < #line 2840 "conf_parser.c" /* yacc.c:1646  */
2858 > #line 2859 "conf_parser.c" /* yacc.c:1646  */
2859      break;
2860  
2861    case 33:
# Line 2844 | Line 2863 | yyreduce:
2863      {
2864                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number);
2865                  }
2866 < #line 2848 "conf_parser.c" /* yacc.c:1646  */
2866 > #line 2867 "conf_parser.c" /* yacc.c:1646  */
2867      break;
2868  
2869    case 34:
# Line 2852 | Line 2871 | yyreduce:
2871      {
2872                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number);
2873                  }
2874 < #line 2856 "conf_parser.c" /* yacc.c:1646  */
2874 > #line 2875 "conf_parser.c" /* yacc.c:1646  */
2875      break;
2876  
2877    case 35:
# Line 2860 | Line 2879 | yyreduce:
2879      {
2880                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number);
2881                  }
2882 < #line 2864 "conf_parser.c" /* yacc.c:1646  */
2882 > #line 2883 "conf_parser.c" /* yacc.c:1646  */
2883      break;
2884  
2885    case 36:
# Line 2868 | Line 2887 | yyreduce:
2887      {
2888                          (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number);
2889                  }
2890 < #line 2872 "conf_parser.c" /* yacc.c:1646  */
2890 > #line 2891 "conf_parser.c" /* yacc.c:1646  */
2891      break;
2892  
2893    case 37:
2894   #line 435 "conf_parser.y" /* yacc.c:1646  */
2895      { (yyval.number) = 0; }
2896 < #line 2878 "conf_parser.c" /* yacc.c:1646  */
2896 > #line 2897 "conf_parser.c" /* yacc.c:1646  */
2897      break;
2898  
2899    case 39:
2900   #line 436 "conf_parser.y" /* yacc.c:1646  */
2901      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2902 < #line 2884 "conf_parser.c" /* yacc.c:1646  */
2902 > #line 2903 "conf_parser.c" /* yacc.c:1646  */
2903      break;
2904  
2905    case 40:
2906   #line 437 "conf_parser.y" /* yacc.c:1646  */
2907      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2908 < #line 2890 "conf_parser.c" /* yacc.c:1646  */
2908 > #line 2909 "conf_parser.c" /* yacc.c:1646  */
2909      break;
2910  
2911    case 41:
2912   #line 438 "conf_parser.y" /* yacc.c:1646  */
2913      { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2914 < #line 2896 "conf_parser.c" /* yacc.c:1646  */
2914 > #line 2915 "conf_parser.c" /* yacc.c:1646  */
2915      break;
2916  
2917    case 42:
2918   #line 439 "conf_parser.y" /* yacc.c:1646  */
2919      { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2920 < #line 2902 "conf_parser.c" /* yacc.c:1646  */
2920 > #line 2921 "conf_parser.c" /* yacc.c:1646  */
2921      break;
2922  
2923    case 49:
# Line 2907 | Line 2926 | yyreduce:
2926    if (conf_parser_ctx.pass == 2)
2927      add_conf_module(libio_basename(yylval.string));
2928   }
2929 < #line 2911 "conf_parser.c" /* yacc.c:1646  */
2929 > #line 2930 "conf_parser.c" /* yacc.c:1646  */
2930      break;
2931  
2932    case 50:
# Line 2916 | Line 2935 | yyreduce:
2935    if (conf_parser_ctx.pass == 2)
2936      mod_add_path(yylval.string);
2937   }
2938 < #line 2920 "conf_parser.c" /* yacc.c:1646  */
2938 > #line 2939 "conf_parser.c" /* yacc.c:1646  */
2939      break;
2940  
2941    case 76:
# Line 2927 | Line 2946 | yyreduce:
2946      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
2947   #endif
2948   }
2949 < #line 2931 "conf_parser.c" /* yacc.c:1646  */
2949 > #line 2950 "conf_parser.c" /* yacc.c:1646  */
2950      break;
2951  
2952    case 77:
# Line 2938 | Line 2957 | yyreduce:
2957      SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
2958   #endif
2959   }
2960 < #line 2942 "conf_parser.c" /* yacc.c:1646  */
2960 > #line 2961 "conf_parser.c" /* yacc.c:1646  */
2961      break;
2962  
2963    case 80:
# Line 2949 | Line 2968 | yyreduce:
2968      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
2969   #endif
2970   }
2971 < #line 2953 "conf_parser.c" /* yacc.c:1646  */
2971 > #line 2972 "conf_parser.c" /* yacc.c:1646  */
2972      break;
2973  
2974    case 81:
# Line 2960 | Line 2979 | yyreduce:
2979      SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
2980   #endif
2981   }
2982 < #line 2964 "conf_parser.c" /* yacc.c:1646  */
2982 > #line 2983 "conf_parser.c" /* yacc.c:1646  */
2983      break;
2984  
2985    case 82:
# Line 3005 | Line 3024 | yyreduce:
3024    }
3025   #endif
3026   }
3027 < #line 3009 "conf_parser.c" /* yacc.c:1646  */
3027 > #line 3028 "conf_parser.c" /* yacc.c:1646  */
3028      break;
3029  
3030    case 83:
# Line 3067 | Line 3086 | yyreduce:
3086    }
3087   #endif
3088   }
3089 < #line 3071 "conf_parser.c" /* yacc.c:1646  */
3089 > #line 3090 "conf_parser.c" /* yacc.c:1646  */
3090      break;
3091  
3092    case 84:
# Line 3098 | Line 3117 | yyreduce:
3117    }
3118   #endif
3119   }
3120 < #line 3102 "conf_parser.c" /* yacc.c:1646  */
3120 > #line 3121 "conf_parser.c" /* yacc.c:1646  */
3121      break;
3122  
3123    case 85:
# Line 3109 | Line 3128 | yyreduce:
3128      SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3129   #endif
3130   }
3131 < #line 3113 "conf_parser.c" /* yacc.c:1646  */
3131 > #line 3132 "conf_parser.c" /* yacc.c:1646  */
3132      break;
3133  
3134    case 86:
# Line 3127 | Line 3146 | yyreduce:
3146      }
3147    }
3148   }
3149 < #line 3131 "conf_parser.c" /* yacc.c:1646  */
3149 > #line 3150 "conf_parser.c" /* yacc.c:1646  */
3150      break;
3151  
3152    case 87:
# Line 3145 | Line 3164 | yyreduce:
3164      }
3165    }
3166   }
3167 < #line 3149 "conf_parser.c" /* yacc.c:1646  */
3167 > #line 3168 "conf_parser.c" /* yacc.c:1646  */
3168      break;
3169  
3170    case 88:
# Line 3157 | Line 3176 | yyreduce:
3176      ServerInfo.description = xstrdup(yylval.string);
3177    }
3178   }
3179 < #line 3161 "conf_parser.c" /* yacc.c:1646  */
3179 > #line 3180 "conf_parser.c" /* yacc.c:1646  */
3180      break;
3181  
3182    case 89:
# Line 3174 | Line 3193 | yyreduce:
3193      ServerInfo.network_name = xstrdup(yylval.string);
3194    }
3195   }
3196 < #line 3178 "conf_parser.c" /* yacc.c:1646  */
3196 > #line 3197 "conf_parser.c" /* yacc.c:1646  */
3197      break;
3198  
3199    case 90:
# Line 3186 | Line 3205 | yyreduce:
3205    MyFree(ServerInfo.network_desc);
3206    ServerInfo.network_desc = xstrdup(yylval.string);
3207   }
3208 < #line 3190 "conf_parser.c" /* yacc.c:1646  */
3208 > #line 3209 "conf_parser.c" /* yacc.c:1646  */
3209      break;
3210  
3211    case 91:
# Line 3217 | Line 3236 | yyreduce:
3236      }
3237    }
3238   }
3239 < #line 3221 "conf_parser.c" /* yacc.c:1646  */
3239 > #line 3240 "conf_parser.c" /* yacc.c:1646  */
3240      break;
3241  
3242    case 92:
# Line 3250 | Line 3269 | yyreduce:
3269    }
3270   #endif
3271   }
3272 < #line 3254 "conf_parser.c" /* yacc.c:1646  */
3272 > #line 3273 "conf_parser.c" /* yacc.c:1646  */
3273      break;
3274  
3275    case 93:
# Line 3278 | Line 3297 | yyreduce:
3297    else
3298      ServerInfo.max_clients = (yyvsp[-1].number);
3299   }
3300 < #line 3282 "conf_parser.c" /* yacc.c:1646  */
3300 > #line 3301 "conf_parser.c" /* yacc.c:1646  */
3301      break;
3302  
3303    case 94:
# Line 3303 | Line 3322 | yyreduce:
3322    else
3323      ServerInfo.max_nick_length = (yyvsp[-1].number);
3324   }
3325 < #line 3307 "conf_parser.c" /* yacc.c:1646  */
3325 > #line 3326 "conf_parser.c" /* yacc.c:1646  */
3326      break;
3327  
3328    case 95:
# Line 3328 | Line 3347 | yyreduce:
3347    else
3348      ServerInfo.max_topic_length = (yyvsp[-1].number);
3349   }
3350 < #line 3332 "conf_parser.c" /* yacc.c:1646  */
3350 > #line 3351 "conf_parser.c" /* yacc.c:1646  */
3351      break;
3352  
3353    case 96:
# Line 3337 | Line 3356 | yyreduce:
3356    if (conf_parser_ctx.pass == 2)
3357      ServerInfo.hub = yylval.number;
3358   }
3359 < #line 3341 "conf_parser.c" /* yacc.c:1646  */
3359 > #line 3360 "conf_parser.c" /* yacc.c:1646  */
3360      break;
3361  
3362    case 104:
# Line 3349 | Line 3368 | yyreduce:
3368    MyFree(AdminInfo.name);
3369    AdminInfo.name = xstrdup(yylval.string);
3370   }
3371 < #line 3353 "conf_parser.c" /* yacc.c:1646  */
3371 > #line 3372 "conf_parser.c" /* yacc.c:1646  */
3372      break;
3373  
3374    case 105:
# Line 3361 | Line 3380 | yyreduce:
3380    MyFree(AdminInfo.email);
3381    AdminInfo.email = xstrdup(yylval.string);
3382   }
3383 < #line 3365 "conf_parser.c" /* yacc.c:1646  */
3383 > #line 3384 "conf_parser.c" /* yacc.c:1646  */
3384      break;
3385  
3386    case 106:
# Line 3373 | Line 3392 | yyreduce:
3392    MyFree(AdminInfo.description);
3393    AdminInfo.description = xstrdup(yylval.string);
3394   }
3395 < #line 3377 "conf_parser.c" /* yacc.c:1646  */
3395 > #line 3396 "conf_parser.c" /* yacc.c:1646  */
3396      break;
3397  
3398    case 107:
# Line 3382 | Line 3401 | yyreduce:
3401    if (conf_parser_ctx.pass == 2)
3402      reset_block_state();
3403   }
3404 < #line 3386 "conf_parser.c" /* yacc.c:1646  */
3404 > #line 3405 "conf_parser.c" /* yacc.c:1646  */
3405      break;
3406  
3407    case 108:
# Line 3399 | Line 3418 | yyreduce:
3418    DLINK_FOREACH(ptr, block_state.mask.list.head)
3419      motd_add(ptr->data, block_state.file.buf);
3420   }
3421 < #line 3403 "conf_parser.c" /* yacc.c:1646  */
3421 > #line 3422 "conf_parser.c" /* yacc.c:1646  */
3422      break;
3423  
3424    case 114:
# Line 3408 | Line 3427 | yyreduce:
3427    if (conf_parser_ctx.pass == 2)
3428      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3429   }
3430 < #line 3412 "conf_parser.c" /* yacc.c:1646  */
3430 > #line 3431 "conf_parser.c" /* yacc.c:1646  */
3431      break;
3432  
3433    case 115:
# Line 3417 | Line 3436 | yyreduce:
3436    if (conf_parser_ctx.pass == 2)
3437      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3438   }
3439 < #line 3421 "conf_parser.c" /* yacc.c:1646  */
3439 > #line 3440 "conf_parser.c" /* yacc.c:1646  */
3440      break;
3441  
3442    case 122:
# Line 3426 | Line 3445 | yyreduce:
3445    if (conf_parser_ctx.pass == 2)
3446      ConfigLoggingEntry.use_logging = yylval.number;
3447   }
3448 < #line 3430 "conf_parser.c" /* yacc.c:1646  */
3448 > #line 3449 "conf_parser.c" /* yacc.c:1646  */
3449      break;
3450  
3451    case 123:
# Line 3435 | Line 3454 | yyreduce:
3454    if (conf_parser_ctx.pass == 2)
3455      reset_block_state();
3456   }
3457 < #line 3439 "conf_parser.c" /* yacc.c:1646  */
3457 > #line 3458 "conf_parser.c" /* yacc.c:1646  */
3458      break;
3459  
3460    case 124:
# Line 3448 | Line 3467 | yyreduce:
3467      log_set_file(block_state.type.value, block_state.size.value,
3468                   block_state.file.buf);
3469   }
3470 < #line 3452 "conf_parser.c" /* yacc.c:1646  */
3470 > #line 3471 "conf_parser.c" /* yacc.c:1646  */
3471      break;
3472  
3473    case 131:
# Line 3459 | Line 3478 | yyreduce:
3478  
3479    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3480   }
3481 < #line 3463 "conf_parser.c" /* yacc.c:1646  */
3481 > #line 3482 "conf_parser.c" /* yacc.c:1646  */
3482      break;
3483  
3484    case 132:
# Line 3467 | Line 3486 | yyreduce:
3486      {
3487    block_state.size.value = (yyvsp[-1].number);
3488   }
3489 < #line 3471 "conf_parser.c" /* yacc.c:1646  */
3489 > #line 3490 "conf_parser.c" /* yacc.c:1646  */
3490      break;
3491  
3492    case 133:
# Line 3475 | Line 3494 | yyreduce:
3494      {
3495    block_state.size.value = 0;
3496   }
3497 < #line 3479 "conf_parser.c" /* yacc.c:1646  */
3497 > #line 3498 "conf_parser.c" /* yacc.c:1646  */
3498      break;
3499  
3500    case 134:
# Line 3484 | Line 3503 | yyreduce:
3503    if (conf_parser_ctx.pass == 2)
3504      block_state.type.value = 0;
3505   }
3506 < #line 3488 "conf_parser.c" /* yacc.c:1646  */
3506 > #line 3507 "conf_parser.c" /* yacc.c:1646  */
3507      break;
3508  
3509    case 138:
# Line 3493 | Line 3512 | yyreduce:
3512    if (conf_parser_ctx.pass == 2)
3513      block_state.type.value = LOG_TYPE_USER;
3514   }
3515 < #line 3497 "conf_parser.c" /* yacc.c:1646  */
3515 > #line 3516 "conf_parser.c" /* yacc.c:1646  */
3516      break;
3517  
3518    case 139:
# Line 3502 | Line 3521 | yyreduce:
3521    if (conf_parser_ctx.pass == 2)
3522      block_state.type.value = LOG_TYPE_OPER;
3523   }
3524 < #line 3506 "conf_parser.c" /* yacc.c:1646  */
3524 > #line 3525 "conf_parser.c" /* yacc.c:1646  */
3525      break;
3526  
3527    case 140:
# Line 3511 | Line 3530 | yyreduce:
3530    if (conf_parser_ctx.pass == 2)
3531      block_state.type.value = LOG_TYPE_GLINE;
3532   }
3533 < #line 3515 "conf_parser.c" /* yacc.c:1646  */
3533 > #line 3534 "conf_parser.c" /* yacc.c:1646  */
3534      break;
3535  
3536    case 141:
# Line 3520 | Line 3539 | yyreduce:
3539    if (conf_parser_ctx.pass == 2)
3540      block_state.type.value = LOG_TYPE_XLINE;
3541   }
3542 < #line 3524 "conf_parser.c" /* yacc.c:1646  */
3542 > #line 3543 "conf_parser.c" /* yacc.c:1646  */
3543      break;
3544  
3545    case 142:
# Line 3529 | Line 3548 | yyreduce:
3548    if (conf_parser_ctx.pass == 2)
3549      block_state.type.value = LOG_TYPE_RESV;
3550   }
3551 < #line 3533 "conf_parser.c" /* yacc.c:1646  */
3551 > #line 3552 "conf_parser.c" /* yacc.c:1646  */
3552      break;
3553  
3554    case 143:
# Line 3538 | Line 3557 | yyreduce:
3557    if (conf_parser_ctx.pass == 2)
3558      block_state.type.value = LOG_TYPE_DLINE;
3559   }
3560 < #line 3542 "conf_parser.c" /* yacc.c:1646  */
3560 > #line 3561 "conf_parser.c" /* yacc.c:1646  */
3561      break;
3562  
3563    case 144:
# Line 3547 | Line 3566 | yyreduce:
3566    if (conf_parser_ctx.pass == 2)
3567      block_state.type.value = LOG_TYPE_KLINE;
3568   }
3569 < #line 3551 "conf_parser.c" /* yacc.c:1646  */
3569 > #line 3570 "conf_parser.c" /* yacc.c:1646  */
3570      break;
3571  
3572    case 145:
# Line 3556 | Line 3575 | yyreduce:
3575    if (conf_parser_ctx.pass == 2)
3576      block_state.type.value = LOG_TYPE_KILL;
3577   }
3578 < #line 3560 "conf_parser.c" /* yacc.c:1646  */
3578 > #line 3579 "conf_parser.c" /* yacc.c:1646  */
3579      break;
3580  
3581    case 146:
# Line 3565 | Line 3584 | yyreduce:
3584    if (conf_parser_ctx.pass == 2)
3585      block_state.type.value = LOG_TYPE_DEBUG;
3586   }
3587 < #line 3569 "conf_parser.c" /* yacc.c:1646  */
3587 > #line 3588 "conf_parser.c" /* yacc.c:1646  */
3588      break;
3589  
3590    case 147:
# Line 3577 | Line 3596 | yyreduce:
3596    reset_block_state();
3597    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3598   }
3599 < #line 3581 "conf_parser.c" /* yacc.c:1646  */
3599 > #line 3600 "conf_parser.c" /* yacc.c:1646  */
3600      break;
3601  
3602    case 148:
# Line 3653 | Line 3672 | yyreduce:
3672   #endif /* HAVE_LIBCRYPTO */
3673    }
3674   }
3675 < #line 3657 "conf_parser.c" /* yacc.c:1646  */
3675 > #line 3676 "conf_parser.c" /* yacc.c:1646  */
3676      break;
3677  
3678    case 162:
# Line 3662 | Line 3681 | yyreduce:
3681    if (conf_parser_ctx.pass == 2)
3682      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3683   }
3684 < #line 3666 "conf_parser.c" /* yacc.c:1646  */
3684 > #line 3685 "conf_parser.c" /* yacc.c:1646  */
3685      break;
3686  
3687    case 163:
# Line 3671 | Line 3690 | yyreduce:
3690    if (conf_parser_ctx.pass == 2)
3691      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3692   }
3693 < #line 3675 "conf_parser.c" /* yacc.c:1646  */
3693 > #line 3694 "conf_parser.c" /* yacc.c:1646  */
3694      break;
3695  
3696    case 164:
# Line 3680 | Line 3699 | yyreduce:
3699    if (conf_parser_ctx.pass == 2)
3700      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3701   }
3702 < #line 3684 "conf_parser.c" /* yacc.c:1646  */
3702 > #line 3703 "conf_parser.c" /* yacc.c:1646  */
3703      break;
3704  
3705    case 165:
# Line 3694 | Line 3713 | yyreduce:
3713    else
3714      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3715   }
3716 < #line 3698 "conf_parser.c" /* yacc.c:1646  */
3716 > #line 3717 "conf_parser.c" /* yacc.c:1646  */
3717      break;
3718  
3719    case 166:
# Line 3703 | Line 3722 | yyreduce:
3722    if (conf_parser_ctx.pass == 2)
3723      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3724   }
3725 < #line 3707 "conf_parser.c" /* yacc.c:1646  */
3725 > #line 3726 "conf_parser.c" /* yacc.c:1646  */
3726      break;
3727  
3728    case 167:
# Line 3712 | Line 3731 | yyreduce:
3731    if (conf_parser_ctx.pass == 2)
3732      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3733   }
3734 < #line 3716 "conf_parser.c" /* yacc.c:1646  */
3734 > #line 3735 "conf_parser.c" /* yacc.c:1646  */
3735      break;
3736  
3737    case 168:
# Line 3726 | Line 3745 | yyreduce:
3745    else
3746      block_state.flags.value &= ~CONF_FLAGS_SSL;
3747   }
3748 < #line 3730 "conf_parser.c" /* yacc.c:1646  */
3748 > #line 3749 "conf_parser.c" /* yacc.c:1646  */
3749      break;
3750  
3751    case 169:
# Line 3735 | Line 3754 | yyreduce:
3754    if (conf_parser_ctx.pass == 2)
3755      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3756   }
3757 < #line 3739 "conf_parser.c" /* yacc.c:1646  */
3757 > #line 3758 "conf_parser.c" /* yacc.c:1646  */
3758      break;
3759  
3760    case 170:
# Line 3744 | Line 3763 | yyreduce:
3763    if (conf_parser_ctx.pass == 2)
3764      block_state.modes.value = 0;
3765   }
3766 < #line 3748 "conf_parser.c" /* yacc.c:1646  */
3766 > #line 3767 "conf_parser.c" /* yacc.c:1646  */
3767      break;
3768  
3769    case 174:
# Line 3753 | Line 3772 | yyreduce:
3772    if (conf_parser_ctx.pass == 2)
3773      block_state.modes.value |= UMODE_BOTS;
3774   }
3775 < #line 3757 "conf_parser.c" /* yacc.c:1646  */
3775 > #line 3776 "conf_parser.c" /* yacc.c:1646  */
3776      break;
3777  
3778    case 175:
# Line 3762 | Line 3781 | yyreduce:
3781    if (conf_parser_ctx.pass == 2)
3782      block_state.modes.value |= UMODE_CCONN;
3783   }
3784 < #line 3766 "conf_parser.c" /* yacc.c:1646  */
3784 > #line 3785 "conf_parser.c" /* yacc.c:1646  */
3785      break;
3786  
3787    case 176:
# Line 3771 | Line 3790 | yyreduce:
3790    if (conf_parser_ctx.pass == 2)
3791      block_state.modes.value |= UMODE_DEAF;
3792   }
3793 < #line 3775 "conf_parser.c" /* yacc.c:1646  */
3793 > #line 3794 "conf_parser.c" /* yacc.c:1646  */
3794      break;
3795  
3796    case 177:
# Line 3780 | Line 3799 | yyreduce:
3799    if (conf_parser_ctx.pass == 2)
3800      block_state.modes.value |= UMODE_DEBUG;
3801   }
3802 < #line 3784 "conf_parser.c" /* yacc.c:1646  */
3802 > #line 3803 "conf_parser.c" /* yacc.c:1646  */
3803      break;
3804  
3805    case 178:
# Line 3789 | Line 3808 | yyreduce:
3808    if (conf_parser_ctx.pass == 2)
3809      block_state.modes.value |= UMODE_FULL;
3810   }
3811 < #line 3793 "conf_parser.c" /* yacc.c:1646  */
3811 > #line 3812 "conf_parser.c" /* yacc.c:1646  */
3812      break;
3813  
3814    case 179:
# Line 3798 | Line 3817 | yyreduce:
3817    if (conf_parser_ctx.pass == 2)
3818      block_state.modes.value |= UMODE_HIDDEN;
3819   }
3820 < #line 3802 "conf_parser.c" /* yacc.c:1646  */
3820 > #line 3821 "conf_parser.c" /* yacc.c:1646  */
3821      break;
3822  
3823    case 180:
# Line 3807 | Line 3826 | yyreduce:
3826    if (conf_parser_ctx.pass == 2)
3827      block_state.modes.value |= UMODE_SKILL;
3828   }
3829 < #line 3811 "conf_parser.c" /* yacc.c:1646  */
3829 > #line 3830 "conf_parser.c" /* yacc.c:1646  */
3830      break;
3831  
3832    case 181:
# Line 3816 | Line 3835 | yyreduce:
3835    if (conf_parser_ctx.pass == 2)
3836      block_state.modes.value |= UMODE_NCHANGE;
3837   }
3838 < #line 3820 "conf_parser.c" /* yacc.c:1646  */
3838 > #line 3839 "conf_parser.c" /* yacc.c:1646  */
3839      break;
3840  
3841    case 182:
# Line 3825 | Line 3844 | yyreduce:
3844    if (conf_parser_ctx.pass == 2)
3845      block_state.modes.value |= UMODE_REJ;
3846   }
3847 < #line 3829 "conf_parser.c" /* yacc.c:1646  */
3847 > #line 3848 "conf_parser.c" /* yacc.c:1646  */
3848      break;
3849  
3850    case 183:
# Line 3834 | Line 3853 | yyreduce:
3853    if (conf_parser_ctx.pass == 2)
3854      block_state.modes.value |= UMODE_UNAUTH;
3855   }
3856 < #line 3838 "conf_parser.c" /* yacc.c:1646  */
3856 > #line 3857 "conf_parser.c" /* yacc.c:1646  */
3857      break;
3858  
3859    case 184:
# Line 3843 | Line 3862 | yyreduce:
3862    if (conf_parser_ctx.pass == 2)
3863      block_state.modes.value |= UMODE_SPY;
3864   }
3865 < #line 3847 "conf_parser.c" /* yacc.c:1646  */
3865 > #line 3866 "conf_parser.c" /* yacc.c:1646  */
3866      break;
3867  
3868    case 185:
# Line 3852 | Line 3871 | yyreduce:
3871    if (conf_parser_ctx.pass == 2)
3872      block_state.modes.value |= UMODE_EXTERNAL;
3873   }
3874 < #line 3856 "conf_parser.c" /* yacc.c:1646  */
3874 > #line 3875 "conf_parser.c" /* yacc.c:1646  */
3875      break;
3876  
3877    case 186:
# Line 3861 | Line 3880 | yyreduce:
3880    if (conf_parser_ctx.pass == 2)
3881      block_state.modes.value |= UMODE_OPERWALL;
3882   }
3883 < #line 3865 "conf_parser.c" /* yacc.c:1646  */
3883 > #line 3884 "conf_parser.c" /* yacc.c:1646  */
3884      break;
3885  
3886    case 187:
# Line 3870 | Line 3889 | yyreduce:
3889    if (conf_parser_ctx.pass == 2)
3890      block_state.modes.value |= UMODE_SERVNOTICE;
3891   }
3892 < #line 3874 "conf_parser.c" /* yacc.c:1646  */
3892 > #line 3893 "conf_parser.c" /* yacc.c:1646  */
3893      break;
3894  
3895    case 188:
# Line 3879 | Line 3898 | yyreduce:
3898    if (conf_parser_ctx.pass == 2)
3899      block_state.modes.value |= UMODE_INVISIBLE;
3900   }
3901 < #line 3883 "conf_parser.c" /* yacc.c:1646  */
3901 > #line 3902 "conf_parser.c" /* yacc.c:1646  */
3902      break;
3903  
3904    case 189:
# Line 3888 | Line 3907 | yyreduce:
3907    if (conf_parser_ctx.pass == 2)
3908      block_state.modes.value |= UMODE_WALLOP;
3909   }
3910 < #line 3892 "conf_parser.c" /* yacc.c:1646  */
3910 > #line 3911 "conf_parser.c" /* yacc.c:1646  */
3911      break;
3912  
3913    case 190:
# Line 3897 | Line 3916 | yyreduce:
3916    if (conf_parser_ctx.pass == 2)
3917      block_state.modes.value |= UMODE_SOFTCALLERID;
3918   }
3919 < #line 3901 "conf_parser.c" /* yacc.c:1646  */
3919 > #line 3920 "conf_parser.c" /* yacc.c:1646  */
3920      break;
3921  
3922    case 191:
# Line 3906 | Line 3925 | yyreduce:
3925    if (conf_parser_ctx.pass == 2)
3926      block_state.modes.value |= UMODE_CALLERID;
3927   }
3928 < #line 3910 "conf_parser.c" /* yacc.c:1646  */
3928 > #line 3929 "conf_parser.c" /* yacc.c:1646  */
3929      break;
3930  
3931    case 192:
# Line 3915 | Line 3934 | yyreduce:
3934    if (conf_parser_ctx.pass == 2)
3935      block_state.modes.value |= UMODE_LOCOPS;
3936   }
3937 < #line 3919 "conf_parser.c" /* yacc.c:1646  */
3937 > #line 3938 "conf_parser.c" /* yacc.c:1646  */
3938      break;
3939  
3940    case 193:
# Line 3924 | Line 3943 | yyreduce:
3943    if (conf_parser_ctx.pass == 2)
3944      block_state.modes.value |= UMODE_REGONLY;
3945   }
3946 < #line 3928 "conf_parser.c" /* yacc.c:1646  */
3946 > #line 3947 "conf_parser.c" /* yacc.c:1646  */
3947      break;
3948  
3949    case 194:
# Line 3933 | Line 3952 | yyreduce:
3952    if (conf_parser_ctx.pass == 2)
3953      block_state.modes.value |= UMODE_FARCONNECT;
3954   }
3955 < #line 3937 "conf_parser.c" /* yacc.c:1646  */
3955 > #line 3956 "conf_parser.c" /* yacc.c:1646  */
3956      break;
3957  
3958    case 195:
# Line 3942 | Line 3961 | yyreduce:
3961    if (conf_parser_ctx.pass == 2)
3962      block_state.port.value = 0;
3963   }
3964 < #line 3946 "conf_parser.c" /* yacc.c:1646  */
3964 > #line 3965 "conf_parser.c" /* yacc.c:1646  */
3965      break;
3966  
3967    case 199:
# Line 3951 | Line 3970 | yyreduce:
3970    if (conf_parser_ctx.pass == 2)
3971      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
3972   }
3973 < #line 3955 "conf_parser.c" /* yacc.c:1646  */
3973 > #line 3974 "conf_parser.c" /* yacc.c:1646  */
3974      break;
3975  
3976    case 200:
# Line 3960 | Line 3979 | yyreduce:
3979    if (conf_parser_ctx.pass == 2)
3980      block_state.port.value |= OPER_FLAG_KILL;
3981   }
3982 < #line 3964 "conf_parser.c" /* yacc.c:1646  */
3982 > #line 3983 "conf_parser.c" /* yacc.c:1646  */
3983      break;
3984  
3985    case 201:
# Line 3969 | Line 3988 | yyreduce:
3988    if (conf_parser_ctx.pass == 2)
3989      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
3990   }
3991 < #line 3973 "conf_parser.c" /* yacc.c:1646  */
3991 > #line 3992 "conf_parser.c" /* yacc.c:1646  */
3992      break;
3993  
3994    case 202:
# Line 3978 | Line 3997 | yyreduce:
3997    if (conf_parser_ctx.pass == 2)
3998      block_state.port.value |= OPER_FLAG_CONNECT;
3999   }
4000 < #line 3982 "conf_parser.c" /* yacc.c:1646  */
4000 > #line 4001 "conf_parser.c" /* yacc.c:1646  */
4001      break;
4002  
4003    case 203:
# Line 3987 | Line 4006 | yyreduce:
4006    if (conf_parser_ctx.pass == 2)
4007      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4008   }
4009 < #line 3991 "conf_parser.c" /* yacc.c:1646  */
4009 > #line 4010 "conf_parser.c" /* yacc.c:1646  */
4010      break;
4011  
4012    case 204:
# Line 3996 | Line 4015 | yyreduce:
4015    if (conf_parser_ctx.pass == 2)
4016      block_state.port.value |= OPER_FLAG_SQUIT;
4017   }
4018 < #line 4000 "conf_parser.c" /* yacc.c:1646  */
4018 > #line 4019 "conf_parser.c" /* yacc.c:1646  */
4019      break;
4020  
4021    case 205:
# Line 4005 | Line 4024 | yyreduce:
4024    if (conf_parser_ctx.pass == 2)
4025      block_state.port.value |= OPER_FLAG_K;
4026   }
4027 < #line 4009 "conf_parser.c" /* yacc.c:1646  */
4027 > #line 4028 "conf_parser.c" /* yacc.c:1646  */
4028      break;
4029  
4030    case 206:
# Line 4014 | Line 4033 | yyreduce:
4033    if (conf_parser_ctx.pass == 2)
4034      block_state.port.value |= OPER_FLAG_UNKLINE;
4035   }
4036 < #line 4018 "conf_parser.c" /* yacc.c:1646  */
4036 > #line 4037 "conf_parser.c" /* yacc.c:1646  */
4037      break;
4038  
4039    case 207:
# Line 4023 | Line 4042 | yyreduce:
4042    if (conf_parser_ctx.pass == 2)
4043      block_state.port.value |= OPER_FLAG_DLINE;
4044   }
4045 < #line 4027 "conf_parser.c" /* yacc.c:1646  */
4045 > #line 4046 "conf_parser.c" /* yacc.c:1646  */
4046      break;
4047  
4048    case 208:
# Line 4032 | Line 4051 | yyreduce:
4051    if (conf_parser_ctx.pass == 2)
4052      block_state.port.value |= OPER_FLAG_UNDLINE;
4053   }
4054 < #line 4036 "conf_parser.c" /* yacc.c:1646  */
4054 > #line 4055 "conf_parser.c" /* yacc.c:1646  */
4055      break;
4056  
4057    case 209:
# Line 4041 | Line 4060 | yyreduce:
4060    if (conf_parser_ctx.pass == 2)
4061      block_state.port.value |= OPER_FLAG_X;
4062   }
4063 < #line 4045 "conf_parser.c" /* yacc.c:1646  */
4063 > #line 4064 "conf_parser.c" /* yacc.c:1646  */
4064      break;
4065  
4066    case 210:
# Line 4050 | Line 4069 | yyreduce:
4069    if (conf_parser_ctx.pass == 2)
4070      block_state.port.value |= OPER_FLAG_GLINE;
4071   }
4072 < #line 4054 "conf_parser.c" /* yacc.c:1646  */
4072 > #line 4073 "conf_parser.c" /* yacc.c:1646  */
4073      break;
4074  
4075    case 211:
# Line 4059 | Line 4078 | yyreduce:
4078    if (conf_parser_ctx.pass == 2)
4079      block_state.port.value |= OPER_FLAG_DIE;
4080   }
4081 < #line 4063 "conf_parser.c" /* yacc.c:1646  */
4081 > #line 4082 "conf_parser.c" /* yacc.c:1646  */
4082      break;
4083  
4084    case 212:
# Line 4068 | Line 4087 | yyreduce:
4087    if (conf_parser_ctx.pass == 2)
4088      block_state.port.value |= OPER_FLAG_RESTART;
4089   }
4090 < #line 4072 "conf_parser.c" /* yacc.c:1646  */
4090 > #line 4091 "conf_parser.c" /* yacc.c:1646  */
4091      break;
4092  
4093    case 213:
# Line 4077 | Line 4096 | yyreduce:
4096    if (conf_parser_ctx.pass == 2)
4097      block_state.port.value |= OPER_FLAG_REHASH;
4098   }
4099 < #line 4081 "conf_parser.c" /* yacc.c:1646  */
4099 > #line 4100 "conf_parser.c" /* yacc.c:1646  */
4100      break;
4101  
4102    case 214:
# Line 4086 | Line 4105 | yyreduce:
4105    if (conf_parser_ctx.pass == 2)
4106      block_state.port.value |= OPER_FLAG_ADMIN;
4107   }
4108 < #line 4090 "conf_parser.c" /* yacc.c:1646  */
4108 > #line 4109 "conf_parser.c" /* yacc.c:1646  */
4109      break;
4110  
4111    case 215:
# Line 4095 | Line 4114 | yyreduce:
4114    if (conf_parser_ctx.pass == 2)
4115      block_state.port.value |= OPER_FLAG_OPERWALL;
4116   }
4117 < #line 4099 "conf_parser.c" /* yacc.c:1646  */
4117 > #line 4118 "conf_parser.c" /* yacc.c:1646  */
4118      break;
4119  
4120    case 216:
# Line 4104 | Line 4123 | yyreduce:
4123    if (conf_parser_ctx.pass == 2)
4124      block_state.port.value |= OPER_FLAG_GLOBOPS;
4125   }
4126 < #line 4108 "conf_parser.c" /* yacc.c:1646  */
4126 > #line 4127 "conf_parser.c" /* yacc.c:1646  */
4127      break;
4128  
4129    case 217:
# Line 4113 | Line 4132 | yyreduce:
4132    if (conf_parser_ctx.pass == 2)
4133      block_state.port.value |= OPER_FLAG_WALLOPS;
4134   }
4135 < #line 4117 "conf_parser.c" /* yacc.c:1646  */
4135 > #line 4136 "conf_parser.c" /* yacc.c:1646  */
4136      break;
4137  
4138    case 218:
# Line 4122 | Line 4141 | yyreduce:
4141    if (conf_parser_ctx.pass == 2)
4142      block_state.port.value |= OPER_FLAG_LOCOPS;
4143   }
4144 < #line 4126 "conf_parser.c" /* yacc.c:1646  */
4144 > #line 4145 "conf_parser.c" /* yacc.c:1646  */
4145      break;
4146  
4147    case 219:
# Line 4131 | Line 4150 | yyreduce:
4150    if (conf_parser_ctx.pass == 2)
4151      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4152   }
4153 < #line 4135 "conf_parser.c" /* yacc.c:1646  */
4153 > #line 4154 "conf_parser.c" /* yacc.c:1646  */
4154      break;
4155  
4156    case 220:
# Line 4140 | Line 4159 | yyreduce:
4159    if (conf_parser_ctx.pass == 2)
4160      block_state.port.value |= OPER_FLAG_SET;
4161   }
4162 < #line 4144 "conf_parser.c" /* yacc.c:1646  */
4162 > #line 4163 "conf_parser.c" /* yacc.c:1646  */
4163      break;
4164  
4165    case 221:
# Line 4149 | Line 4168 | yyreduce:
4168    if (conf_parser_ctx.pass == 2)
4169      block_state.port.value |= OPER_FLAG_MODULE;
4170   }
4171 < #line 4153 "conf_parser.c" /* yacc.c:1646  */
4171 > #line 4172 "conf_parser.c" /* yacc.c:1646  */
4172      break;
4173  
4174    case 222:
# Line 4166 | Line 4185 | yyreduce:
4185    block_state.max_sendq.value = DEFAULT_SENDQ;
4186    block_state.max_recvq.value = DEFAULT_RECVQ;
4187   }
4188 < #line 4170 "conf_parser.c" /* yacc.c:1646  */
4188 > #line 4189 "conf_parser.c" /* yacc.c:1646  */
4189      break;
4190  
4191    case 223:
# Line 4218 | Line 4237 | yyreduce:
4237    class->cidr_bitlen_ipv6 = block_state.cidr_bitlen_ipv6.value;
4238    class->number_per_cidr = block_state.number_per_cidr.value;
4239   }
4240 < #line 4222 "conf_parser.c" /* yacc.c:1646  */
4240 > #line 4241 "conf_parser.c" /* yacc.c:1646  */
4241      break;
4242  
4243    case 243:
# Line 4227 | Line 4246 | yyreduce:
4246    if (conf_parser_ctx.pass == 1)
4247      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4248   }
4249 < #line 4231 "conf_parser.c" /* yacc.c:1646  */
4249 > #line 4250 "conf_parser.c" /* yacc.c:1646  */
4250      break;
4251  
4252    case 244:
# Line 4236 | Line 4255 | yyreduce:
4255    if (conf_parser_ctx.pass == 1)
4256      block_state.ping_freq.value = (yyvsp[-1].number);
4257   }
4258 < #line 4240 "conf_parser.c" /* yacc.c:1646  */
4258 > #line 4259 "conf_parser.c" /* yacc.c:1646  */
4259      break;
4260  
4261    case 245:
# Line 4245 | Line 4264 | yyreduce:
4264    if (conf_parser_ctx.pass == 1)
4265      block_state.max_perip.value = (yyvsp[-1].number);
4266   }
4267 < #line 4249 "conf_parser.c" /* yacc.c:1646  */
4267 > #line 4268 "conf_parser.c" /* yacc.c:1646  */
4268      break;
4269  
4270    case 246:
# Line 4254 | Line 4273 | yyreduce:
4273    if (conf_parser_ctx.pass == 1)
4274      block_state.con_freq.value = (yyvsp[-1].number);
4275   }
4276 < #line 4258 "conf_parser.c" /* yacc.c:1646  */
4276 > #line 4277 "conf_parser.c" /* yacc.c:1646  */
4277      break;
4278  
4279    case 247:
# Line 4263 | Line 4282 | yyreduce:
4282    if (conf_parser_ctx.pass == 1)
4283      block_state.max_total.value = (yyvsp[-1].number);
4284   }
4285 < #line 4267 "conf_parser.c" /* yacc.c:1646  */
4285 > #line 4286 "conf_parser.c" /* yacc.c:1646  */
4286      break;
4287  
4288    case 248:
# Line 4272 | Line 4291 | yyreduce:
4291    if (conf_parser_ctx.pass == 1)
4292      block_state.max_global.value = (yyvsp[-1].number);
4293   }
4294 < #line 4276 "conf_parser.c" /* yacc.c:1646  */
4294 > #line 4295 "conf_parser.c" /* yacc.c:1646  */
4295      break;
4296  
4297    case 249:
# Line 4281 | Line 4300 | yyreduce:
4300    if (conf_parser_ctx.pass == 1)
4301      block_state.max_local.value = (yyvsp[-1].number);
4302   }
4303 < #line 4285 "conf_parser.c" /* yacc.c:1646  */
4303 > #line 4304 "conf_parser.c" /* yacc.c:1646  */
4304      break;
4305  
4306    case 250:
# Line 4290 | Line 4309 | yyreduce:
4309    if (conf_parser_ctx.pass == 1)
4310      block_state.max_ident.value = (yyvsp[-1].number);
4311   }
4312 < #line 4294 "conf_parser.c" /* yacc.c:1646  */
4312 > #line 4313 "conf_parser.c" /* yacc.c:1646  */
4313      break;
4314  
4315    case 251:
# Line 4299 | Line 4318 | yyreduce:
4318    if (conf_parser_ctx.pass == 1)
4319      block_state.max_sendq.value = (yyvsp[-1].number);
4320   }
4321 < #line 4303 "conf_parser.c" /* yacc.c:1646  */
4321 > #line 4322 "conf_parser.c" /* yacc.c:1646  */
4322      break;
4323  
4324    case 252:
# Line 4309 | Line 4328 | yyreduce:
4328      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
4329        block_state.max_recvq.value = (yyvsp[-1].number);
4330   }
4331 < #line 4313 "conf_parser.c" /* yacc.c:1646  */
4331 > #line 4332 "conf_parser.c" /* yacc.c:1646  */
4332      break;
4333  
4334    case 253:
# Line 4318 | Line 4337 | yyreduce:
4337    if (conf_parser_ctx.pass == 1)
4338      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
4339   }
4340 < #line 4322 "conf_parser.c" /* yacc.c:1646  */
4340 > #line 4341 "conf_parser.c" /* yacc.c:1646  */
4341      break;
4342  
4343    case 254:
# Line 4327 | Line 4346 | yyreduce:
4346    if (conf_parser_ctx.pass == 1)
4347      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
4348   }
4349 < #line 4331 "conf_parser.c" /* yacc.c:1646  */
4349 > #line 4350 "conf_parser.c" /* yacc.c:1646  */
4350      break;
4351  
4352    case 255:
# Line 4336 | Line 4355 | yyreduce:
4355    if (conf_parser_ctx.pass == 1)
4356      block_state.number_per_cidr.value = (yyvsp[-1].number);
4357   }
4358 < #line 4340 "conf_parser.c" /* yacc.c:1646  */
4358 > #line 4359 "conf_parser.c" /* yacc.c:1646  */
4359      break;
4360  
4361    case 256:
# Line 4348 | Line 4367 | yyreduce:
4367    block_state.min_idle.value = (yyvsp[-1].number);
4368    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4369   }
4370 < #line 4352 "conf_parser.c" /* yacc.c:1646  */
4370 > #line 4371 "conf_parser.c" /* yacc.c:1646  */
4371      break;
4372  
4373    case 257:
# Line 4360 | Line 4379 | yyreduce:
4379    block_state.max_idle.value = (yyvsp[-1].number);
4380    block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4381   }
4382 < #line 4364 "conf_parser.c" /* yacc.c:1646  */
4382 > #line 4383 "conf_parser.c" /* yacc.c:1646  */
4383      break;
4384  
4385    case 258:
# Line 4369 | Line 4388 | yyreduce:
4388    if (conf_parser_ctx.pass == 1)
4389      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4390   }
4391 < #line 4373 "conf_parser.c" /* yacc.c:1646  */
4391 > #line 4392 "conf_parser.c" /* yacc.c:1646  */
4392      break;
4393  
4394    case 262:
# Line 4378 | Line 4397 | yyreduce:
4397    if (conf_parser_ctx.pass == 1)
4398      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4399   }
4400 < #line 4382 "conf_parser.c" /* yacc.c:1646  */
4400 > #line 4401 "conf_parser.c" /* yacc.c:1646  */
4401      break;
4402  
4403    case 263:
# Line 4387 | Line 4406 | yyreduce:
4406    if (conf_parser_ctx.pass == 1)
4407      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4408   }
4409 < #line 4391 "conf_parser.c" /* yacc.c:1646  */
4409 > #line 4410 "conf_parser.c" /* yacc.c:1646  */
4410      break;
4411  
4412    case 264:
# Line 4396 | Line 4415 | yyreduce:
4415    if (conf_parser_ctx.pass == 2)
4416      reset_block_state();
4417   }
4418 < #line 4400 "conf_parser.c" /* yacc.c:1646  */
4418 > #line 4419 "conf_parser.c" /* yacc.c:1646  */
4419      break;
4420  
4421    case 266:
# Line 4404 | Line 4423 | yyreduce:
4423      {
4424    block_state.flags.value = 0;
4425   }
4426 < #line 4408 "conf_parser.c" /* yacc.c:1646  */
4426 > #line 4427 "conf_parser.c" /* yacc.c:1646  */
4427      break;
4428  
4429    case 270:
# Line 4413 | Line 4432 | yyreduce:
4432    if (conf_parser_ctx.pass == 2)
4433      block_state.flags.value |= LISTENER_SSL;
4434   }
4435 < #line 4417 "conf_parser.c" /* yacc.c:1646  */
4435 > #line 4436 "conf_parser.c" /* yacc.c:1646  */
4436      break;
4437  
4438    case 271:
# Line 4422 | Line 4441 | yyreduce:
4441    if (conf_parser_ctx.pass == 2)
4442      block_state.flags.value |= LISTENER_HIDDEN;
4443   }
4444 < #line 4426 "conf_parser.c" /* yacc.c:1646  */
4444 > #line 4445 "conf_parser.c" /* yacc.c:1646  */
4445      break;
4446  
4447    case 272:
# Line 4431 | Line 4450 | yyreduce:
4450    if (conf_parser_ctx.pass == 2)
4451     block_state.flags.value |= LISTENER_SERVER;
4452   }
4453 < #line 4435 "conf_parser.c" /* yacc.c:1646  */
4453 > #line 4454 "conf_parser.c" /* yacc.c:1646  */
4454      break;
4455  
4456    case 280:
4457   #line 1585 "conf_parser.y" /* yacc.c:1646  */
4458      { block_state.flags.value = 0; }
4459 < #line 4441 "conf_parser.c" /* yacc.c:1646  */
4459 > #line 4460 "conf_parser.c" /* yacc.c:1646  */
4460      break;
4461  
4462    case 284:
# Line 4456 | Line 4475 | yyreduce:
4475      add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4476    }
4477   }
4478 < #line 4460 "conf_parser.c" /* yacc.c:1646  */
4478 > #line 4479 "conf_parser.c" /* yacc.c:1646  */
4479      break;
4480  
4481    case 285:
# Line 4479 | Line 4498 | yyreduce:
4498        add_listener(i, block_state.addr.buf, block_state.flags.value);
4499    }
4500   }
4501 < #line 4483 "conf_parser.c" /* yacc.c:1646  */
4501 > #line 4502 "conf_parser.c" /* yacc.c:1646  */
4502      break;
4503  
4504    case 286:
# Line 4488 | Line 4507 | yyreduce:
4507    if (conf_parser_ctx.pass == 2)
4508      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4509   }
4510 < #line 4492 "conf_parser.c" /* yacc.c:1646  */
4510 > #line 4511 "conf_parser.c" /* yacc.c:1646  */
4511      break;
4512  
4513    case 287:
# Line 4497 | Line 4516 | yyreduce:
4516    if (conf_parser_ctx.pass == 2)
4517      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4518   }
4519 < #line 4501 "conf_parser.c" /* yacc.c:1646  */
4519 > #line 4520 "conf_parser.c" /* yacc.c:1646  */
4520      break;
4521  
4522    case 288:
# Line 4506 | Line 4525 | yyreduce:
4525    if (conf_parser_ctx.pass == 2)
4526      reset_block_state();
4527   }
4528 < #line 4510 "conf_parser.c" /* yacc.c:1646  */
4528 > #line 4529 "conf_parser.c" /* yacc.c:1646  */
4529      break;
4530  
4531    case 289:
# Line 4547 | Line 4566 | yyreduce:
4566      add_conf_by_address(CONF_CLIENT, conf);
4567    }
4568   }
4569 < #line 4551 "conf_parser.c" /* yacc.c:1646  */
4569 > #line 4570 "conf_parser.c" /* yacc.c:1646  */
4570      break;
4571  
4572    case 301:
# Line 4556 | Line 4575 | yyreduce:
4575    if (conf_parser_ctx.pass == 2)
4576      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4577   }
4578 < #line 4560 "conf_parser.c" /* yacc.c:1646  */
4578 > #line 4579 "conf_parser.c" /* yacc.c:1646  */
4579      break;
4580  
4581    case 302:
# Line 4565 | Line 4584 | yyreduce:
4584    if (conf_parser_ctx.pass == 2)
4585      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4586   }
4587 < #line 4569 "conf_parser.c" /* yacc.c:1646  */
4587 > #line 4588 "conf_parser.c" /* yacc.c:1646  */
4588      break;
4589  
4590    case 303:
# Line 4574 | Line 4593 | yyreduce:
4593    if (conf_parser_ctx.pass == 2)
4594      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4595   }
4596 < #line 4578 "conf_parser.c" /* yacc.c:1646  */
4596 > #line 4597 "conf_parser.c" /* yacc.c:1646  */
4597      break;
4598  
4599    case 304:
# Line 4588 | Line 4607 | yyreduce:
4607        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4608    }
4609   }
4610 < #line 4592 "conf_parser.c" /* yacc.c:1646  */
4610 > #line 4611 "conf_parser.c" /* yacc.c:1646  */
4611      break;
4612  
4613    case 305:
# Line 4597 | Line 4616 | yyreduce:
4616    if (conf_parser_ctx.pass == 2)
4617      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4618   }
4619 < #line 4601 "conf_parser.c" /* yacc.c:1646  */
4619 > #line 4620 "conf_parser.c" /* yacc.c:1646  */
4620      break;
4621  
4622    case 309:
# Line 4606 | Line 4625 | yyreduce:
4625    if (conf_parser_ctx.pass == 2)
4626      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4627   }
4628 < #line 4610 "conf_parser.c" /* yacc.c:1646  */
4628 > #line 4629 "conf_parser.c" /* yacc.c:1646  */
4629      break;
4630  
4631    case 310:
# Line 4615 | Line 4634 | yyreduce:
4634    if (conf_parser_ctx.pass == 2)
4635      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4636   }
4637 < #line 4619 "conf_parser.c" /* yacc.c:1646  */
4637 > #line 4638 "conf_parser.c" /* yacc.c:1646  */
4638      break;
4639  
4640    case 311:
# Line 4624 | Line 4643 | yyreduce:
4643    if (conf_parser_ctx.pass == 2)
4644      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4645   }
4646 < #line 4628 "conf_parser.c" /* yacc.c:1646  */
4646 > #line 4647 "conf_parser.c" /* yacc.c:1646  */
4647      break;
4648  
4649    case 312:
# Line 4633 | Line 4652 | yyreduce:
4652    if (conf_parser_ctx.pass == 2)
4653      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4654   }
4655 < #line 4637 "conf_parser.c" /* yacc.c:1646  */
4655 > #line 4656 "conf_parser.c" /* yacc.c:1646  */
4656      break;
4657  
4658    case 313:
# Line 4642 | Line 4661 | yyreduce:
4661    if (conf_parser_ctx.pass == 2)
4662      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4663   }
4664 < #line 4646 "conf_parser.c" /* yacc.c:1646  */
4664 > #line 4665 "conf_parser.c" /* yacc.c:1646  */
4665      break;
4666  
4667    case 314:
# Line 4651 | Line 4670 | yyreduce:
4670    if (conf_parser_ctx.pass == 2)
4671      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4672   }
4673 < #line 4655 "conf_parser.c" /* yacc.c:1646  */
4673 > #line 4674 "conf_parser.c" /* yacc.c:1646  */
4674      break;
4675  
4676    case 315:
# Line 4660 | Line 4679 | yyreduce:
4679    if (conf_parser_ctx.pass == 2)
4680      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4681   }
4682 < #line 4664 "conf_parser.c" /* yacc.c:1646  */
4682 > #line 4683 "conf_parser.c" /* yacc.c:1646  */
4683      break;
4684  
4685    case 316:
# Line 4669 | Line 4688 | yyreduce:
4688    if (conf_parser_ctx.pass == 2)
4689      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4690   }
4691 < #line 4673 "conf_parser.c" /* yacc.c:1646  */
4691 > #line 4692 "conf_parser.c" /* yacc.c:1646  */
4692      break;
4693  
4694    case 317:
# Line 4678 | Line 4697 | yyreduce:
4697    if (conf_parser_ctx.pass == 2)
4698      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4699   }
4700 < #line 4682 "conf_parser.c" /* yacc.c:1646  */
4700 > #line 4701 "conf_parser.c" /* yacc.c:1646  */
4701      break;
4702  
4703    case 318:
# Line 4687 | Line 4706 | yyreduce:
4706    if (conf_parser_ctx.pass == 2)
4707      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4708   }
4709 < #line 4691 "conf_parser.c" /* yacc.c:1646  */
4709 > #line 4710 "conf_parser.c" /* yacc.c:1646  */
4710      break;
4711  
4712    case 319:
# Line 4704 | Line 4723 | yyreduce:
4723    else
4724      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4725   }
4726 < #line 4708 "conf_parser.c" /* yacc.c:1646  */
4726 > #line 4727 "conf_parser.c" /* yacc.c:1646  */
4727      break;
4728  
4729    case 320:
# Line 4716 | Line 4735 | yyreduce:
4735    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4736    block_state.flags.value |= CONF_FLAGS_REDIR;
4737   }
4738 < #line 4720 "conf_parser.c" /* yacc.c:1646  */
4738 > #line 4739 "conf_parser.c" /* yacc.c:1646  */
4739      break;
4740  
4741    case 321:
# Line 4728 | Line 4747 | yyreduce:
4747    block_state.flags.value |= CONF_FLAGS_REDIR;
4748    block_state.port.value = (yyvsp[-1].number);
4749   }
4750 < #line 4732 "conf_parser.c" /* yacc.c:1646  */
4750 > #line 4751 "conf_parser.c" /* yacc.c:1646  */
4751      break;
4752  
4753    case 322:
# Line 4740 | Line 4759 | yyreduce:
4759    reset_block_state();
4760    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4761   }
4762 < #line 4744 "conf_parser.c" /* yacc.c:1646  */
4762 > #line 4763 "conf_parser.c" /* yacc.c:1646  */
4763      break;
4764  
4765    case 323:
# Line 4751 | Line 4770 | yyreduce:
4770  
4771    create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4772   }
4773 < #line 4755 "conf_parser.c" /* yacc.c:1646  */
4773 > #line 4774 "conf_parser.c" /* yacc.c:1646  */
4774      break;
4775  
4776    case 330:
# Line 4760 | Line 4779 | yyreduce:
4779    if (conf_parser_ctx.pass == 2)
4780      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4781   }
4782 < #line 4764 "conf_parser.c" /* yacc.c:1646  */
4782 > #line 4783 "conf_parser.c" /* yacc.c:1646  */
4783      break;
4784  
4785    case 331:
# Line 4769 | Line 4788 | yyreduce:
4788    if (conf_parser_ctx.pass == 2)
4789      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4790   }
4791 < #line 4773 "conf_parser.c" /* yacc.c:1646  */
4791 > #line 4792 "conf_parser.c" /* yacc.c:1646  */
4792      break;
4793  
4794    case 332:
# Line 4778 | Line 4797 | yyreduce:
4797    if (conf_parser_ctx.pass == 2)
4798      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4799   }
4800 < #line 4782 "conf_parser.c" /* yacc.c:1646  */
4800 > #line 4801 "conf_parser.c" /* yacc.c:1646  */
4801      break;
4802  
4803    case 338:
# Line 4793 | Line 4812 | yyreduce:
4812      conf->name = xstrdup(yylval.string);
4813    }
4814   }
4815 < #line 4797 "conf_parser.c" /* yacc.c:1646  */
4815 > #line 4816 "conf_parser.c" /* yacc.c:1646  */
4816      break;
4817  
4818    case 339:
# Line 4809 | Line 4828 | yyreduce:
4828    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4829    block_state.flags.value = SHARED_ALL;
4830   }
4831 < #line 4813 "conf_parser.c" /* yacc.c:1646  */
4831 > #line 4832 "conf_parser.c" /* yacc.c:1646  */
4832      break;
4833  
4834    case 340:
# Line 4826 | Line 4845 | yyreduce:
4845    conf->user = xstrdup(block_state.user.buf);
4846    conf->host = xstrdup(block_state.host.buf);
4847   }
4848 < #line 4830 "conf_parser.c" /* yacc.c:1646  */
4848 > #line 4849 "conf_parser.c" /* yacc.c:1646  */
4849      break;
4850  
4851    case 347:
# Line 4835 | Line 4854 | yyreduce:
4854    if (conf_parser_ctx.pass == 2)
4855      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4856   }
4857 < #line 4839 "conf_parser.c" /* yacc.c:1646  */
4857 > #line 4858 "conf_parser.c" /* yacc.c:1646  */
4858      break;
4859  
4860    case 348:
# Line 4857 | Line 4876 | yyreduce:
4876      split_nuh(&nuh);
4877    }
4878   }
4879 < #line 4861 "conf_parser.c" /* yacc.c:1646  */
4879 > #line 4880 "conf_parser.c" /* yacc.c:1646  */
4880      break;
4881  
4882    case 349:
# Line 4866 | Line 4885 | yyreduce:
4885    if (conf_parser_ctx.pass == 2)
4886      block_state.flags.value = 0;
4887   }
4888 < #line 4870 "conf_parser.c" /* yacc.c:1646  */
4888 > #line 4889 "conf_parser.c" /* yacc.c:1646  */
4889      break;
4890  
4891    case 353:
# Line 4875 | Line 4894 | yyreduce:
4894    if (conf_parser_ctx.pass == 2)
4895      block_state.flags.value |= SHARED_KLINE;
4896   }
4897 < #line 4879 "conf_parser.c" /* yacc.c:1646  */
4897 > #line 4898 "conf_parser.c" /* yacc.c:1646  */
4898      break;
4899  
4900    case 354:
# Line 4884 | Line 4903 | yyreduce:
4903    if (conf_parser_ctx.pass == 2)
4904      block_state.flags.value |= SHARED_UNKLINE;
4905   }
4906 < #line 4888 "conf_parser.c" /* yacc.c:1646  */
4906 > #line 4907 "conf_parser.c" /* yacc.c:1646  */
4907      break;
4908  
4909    case 355:
# Line 4893 | Line 4912 | yyreduce:
4912    if (conf_parser_ctx.pass == 2)
4913      block_state.flags.value |= SHARED_DLINE;
4914   }
4915 < #line 4897 "conf_parser.c" /* yacc.c:1646  */
4915 > #line 4916 "conf_parser.c" /* yacc.c:1646  */
4916      break;
4917  
4918    case 356:
# Line 4902 | Line 4921 | yyreduce:
4921    if (conf_parser_ctx.pass == 2)
4922      block_state.flags.value |= SHARED_UNDLINE;
4923   }
4924 < #line 4906 "conf_parser.c" /* yacc.c:1646  */
4924 > #line 4925 "conf_parser.c" /* yacc.c:1646  */
4925      break;
4926  
4927    case 357:
# Line 4911 | Line 4930 | yyreduce:
4930    if (conf_parser_ctx.pass == 2)
4931      block_state.flags.value |= SHARED_XLINE;
4932   }
4933 < #line 4915 "conf_parser.c" /* yacc.c:1646  */
4933 > #line 4934 "conf_parser.c" /* yacc.c:1646  */
4934      break;
4935  
4936    case 358:
# Line 4920 | Line 4939 | yyreduce:
4939    if (conf_parser_ctx.pass == 2)
4940      block_state.flags.value |= SHARED_UNXLINE;
4941   }
4942 < #line 4924 "conf_parser.c" /* yacc.c:1646  */
4942 > #line 4943 "conf_parser.c" /* yacc.c:1646  */
4943      break;
4944  
4945    case 359:
# Line 4929 | Line 4948 | yyreduce:
4948    if (conf_parser_ctx.pass == 2)
4949      block_state.flags.value |= SHARED_RESV;
4950   }
4951 < #line 4933 "conf_parser.c" /* yacc.c:1646  */
4951 > #line 4952 "conf_parser.c" /* yacc.c:1646  */
4952      break;
4953  
4954    case 360:
# Line 4938 | Line 4957 | yyreduce:
4957    if (conf_parser_ctx.pass == 2)
4958      block_state.flags.value |= SHARED_UNRESV;
4959   }
4960 < #line 4942 "conf_parser.c" /* yacc.c:1646  */
4960 > #line 4961 "conf_parser.c" /* yacc.c:1646  */
4961      break;
4962  
4963    case 361:
# Line 4947 | Line 4966 | yyreduce:
4966    if (conf_parser_ctx.pass == 2)
4967      block_state.flags.value |= SHARED_LOCOPS;
4968   }
4969 < #line 4951 "conf_parser.c" /* yacc.c:1646  */
4969 > #line 4970 "conf_parser.c" /* yacc.c:1646  */
4970      break;
4971  
4972    case 362:
# Line 4956 | Line 4975 | yyreduce:
4975    if (conf_parser_ctx.pass == 2)
4976      block_state.flags.value = SHARED_ALL;
4977   }
4978 < #line 4960 "conf_parser.c" /* yacc.c:1646  */
4978 > #line 4979 "conf_parser.c" /* yacc.c:1646  */
4979      break;
4980  
4981    case 363:
# Line 4970 | Line 4989 | yyreduce:
4989    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
4990    block_state.flags.value = SHARED_ALL;
4991   }
4992 < #line 4974 "conf_parser.c" /* yacc.c:1646  */
4992 > #line 4993 "conf_parser.c" /* yacc.c:1646  */
4993      break;
4994  
4995    case 364:
# Line 4985 | Line 5004 | yyreduce:
5004    conf->flags = block_state.flags.value;
5005    conf->name = xstrdup(block_state.name.buf);
5006   }
5007 < #line 4989 "conf_parser.c" /* yacc.c:1646  */
5007 > #line 5008 "conf_parser.c" /* yacc.c:1646  */
5008      break;
5009  
5010    case 370:
# Line 4994 | Line 5013 | yyreduce:
5013    if (conf_parser_ctx.pass == 2)
5014      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5015   }
5016 < #line 4998 "conf_parser.c" /* yacc.c:1646  */
5016 > #line 5017 "conf_parser.c" /* yacc.c:1646  */
5017      break;
5018  
5019    case 371:
# Line 5003 | Line 5022 | yyreduce:
5022    if (conf_parser_ctx.pass == 2)
5023      block_state.flags.value = 0;
5024   }
5025 < #line 5007 "conf_parser.c" /* yacc.c:1646  */
5025 > #line 5026 "conf_parser.c" /* yacc.c:1646  */
5026      break;
5027  
5028    case 375:
# Line 5012 | Line 5031 | yyreduce:
5031    if (conf_parser_ctx.pass == 2)
5032      block_state.flags.value |= SHARED_KLINE;
5033   }
5034 < #line 5016 "conf_parser.c" /* yacc.c:1646  */
5034 > #line 5035 "conf_parser.c" /* yacc.c:1646  */
5035      break;
5036  
5037    case 376:
# Line 5021 | Line 5040 | yyreduce:
5040    if (conf_parser_ctx.pass == 2)
5041      block_state.flags.value |= SHARED_UNKLINE;
5042   }
5043 < #line 5025 "conf_parser.c" /* yacc.c:1646  */
5043 > #line 5044 "conf_parser.c" /* yacc.c:1646  */
5044      break;
5045  
5046    case 377:
# Line 5030 | Line 5049 | yyreduce:
5049    if (conf_parser_ctx.pass == 2)
5050      block_state.flags.value |= SHARED_DLINE;
5051   }
5052 < #line 5034 "conf_parser.c" /* yacc.c:1646  */
5052 > #line 5053 "conf_parser.c" /* yacc.c:1646  */
5053      break;
5054  
5055    case 378:
# Line 5039 | Line 5058 | yyreduce:
5058    if (conf_parser_ctx.pass == 2)
5059      block_state.flags.value |= SHARED_UNDLINE;
5060   }
5061 < #line 5043 "conf_parser.c" /* yacc.c:1646  */
5061 > #line 5062 "conf_parser.c" /* yacc.c:1646  */
5062      break;
5063  
5064    case 379:
# Line 5048 | Line 5067 | yyreduce:
5067    if (conf_parser_ctx.pass == 2)
5068      block_state.flags.value |= SHARED_XLINE;
5069   }
5070 < #line 5052 "conf_parser.c" /* yacc.c:1646  */
5070 > #line 5071 "conf_parser.c" /* yacc.c:1646  */
5071      break;
5072  
5073    case 380:
# Line 5057 | Line 5076 | yyreduce:
5076    if (conf_parser_ctx.pass == 2)
5077      block_state.flags.value |= SHARED_UNXLINE;
5078   }
5079 < #line 5061 "conf_parser.c" /* yacc.c:1646  */
5079 > #line 5080 "conf_parser.c" /* yacc.c:1646  */
5080      break;
5081  
5082    case 381:
# Line 5066 | Line 5085 | yyreduce:
5085    if (conf_parser_ctx.pass == 2)
5086      block_state.flags.value |= SHARED_RESV;
5087   }
5088 < #line 5070 "conf_parser.c" /* yacc.c:1646  */
5088 > #line 5089 "conf_parser.c" /* yacc.c:1646  */
5089      break;
5090  
5091    case 382:
# Line 5075 | Line 5094 | yyreduce:
5094    if (conf_parser_ctx.pass == 2)
5095      block_state.flags.value |= SHARED_UNRESV;
5096   }
5097 < #line 5079 "conf_parser.c" /* yacc.c:1646  */
5097 > #line 5098 "conf_parser.c" /* yacc.c:1646  */
5098      break;
5099  
5100    case 383:
# Line 5084 | Line 5103 | yyreduce:
5103    if (conf_parser_ctx.pass == 2)
5104      block_state.flags.value |= SHARED_LOCOPS;
5105   }
5106 < #line 5088 "conf_parser.c" /* yacc.c:1646  */
5106 > #line 5107 "conf_parser.c" /* yacc.c:1646  */
5107      break;
5108  
5109    case 384:
# Line 5093 | Line 5112 | yyreduce:
5112    if (conf_parser_ctx.pass == 2)
5113      block_state.flags.value = SHARED_ALL;
5114   }
5115 < #line 5097 "conf_parser.c" /* yacc.c:1646  */
5115 > #line 5116 "conf_parser.c" /* yacc.c:1646  */
5116      break;
5117  
5118    case 385:
# Line 5107 | Line 5126 | yyreduce:
5126    block_state.aftype.value = AF_INET;
5127    block_state.port.value = PORTNUM;
5128   }
5129 < #line 5111 "conf_parser.c" /* yacc.c:1646  */
5129 > #line 5130 "conf_parser.c" /* yacc.c:1646  */
5130      break;
5131  
5132    case 386:
# Line 5173 | Line 5192 | yyreduce:
5192    conf_add_class_to_conf(conf, block_state.class.buf);
5193    lookup_confhost(conf);
5194   }
5195 < #line 5177 "conf_parser.c" /* yacc.c:1646  */
5195 > #line 5196 "conf_parser.c" /* yacc.c:1646  */
5196      break;
5197  
5198    case 404:
# Line 5182 | Line 5201 | yyreduce:
5201    if (conf_parser_ctx.pass == 2)
5202      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5203   }
5204 < #line 5186 "conf_parser.c" /* yacc.c:1646  */
5204 > #line 5205 "conf_parser.c" /* yacc.c:1646  */
5205      break;
5206  
5207    case 405:
# Line 5191 | Line 5210 | yyreduce:
5210    if (conf_parser_ctx.pass == 2)
5211      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5212   }
5213 < #line 5195 "conf_parser.c" /* yacc.c:1646  */
5213 > #line 5214 "conf_parser.c" /* yacc.c:1646  */
5214      break;
5215  
5216    case 406:
# Line 5200 | Line 5219 | yyreduce:
5219    if (conf_parser_ctx.pass == 2)
5220      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5221   }
5222 < #line 5204 "conf_parser.c" /* yacc.c:1646  */
5222 > #line 5223 "conf_parser.c" /* yacc.c:1646  */
5223      break;
5224  
5225    case 407:
# Line 5216 | Line 5235 | yyreduce:
5235    else
5236      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5237   }
5238 < #line 5220 "conf_parser.c" /* yacc.c:1646  */
5238 > #line 5239 "conf_parser.c" /* yacc.c:1646  */
5239      break;
5240  
5241    case 408:
# Line 5232 | Line 5251 | yyreduce:
5251    else
5252      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5253   }
5254 < #line 5236 "conf_parser.c" /* yacc.c:1646  */
5254 > #line 5255 "conf_parser.c" /* yacc.c:1646  */
5255      break;
5256  
5257    case 409:
# Line 5241 | Line 5260 | yyreduce:
5260    if (conf_parser_ctx.pass == 2)
5261      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
5262   }
5263 < #line 5245 "conf_parser.c" /* yacc.c:1646  */
5263 > #line 5264 "conf_parser.c" /* yacc.c:1646  */
5264      break;
5265  
5266    case 410:
# Line 5250 | Line 5269 | yyreduce:
5269    if (conf_parser_ctx.pass == 2)
5270      block_state.port.value = (yyvsp[-1].number);
5271   }
5272 < #line 5254 "conf_parser.c" /* yacc.c:1646  */
5272 > #line 5273 "conf_parser.c" /* yacc.c:1646  */
5273      break;
5274  
5275    case 411:
# Line 5259 | Line 5278 | yyreduce:
5278    if (conf_parser_ctx.pass == 2)
5279      block_state.aftype.value = AF_INET;
5280   }
5281 < #line 5263 "conf_parser.c" /* yacc.c:1646  */
5281 > #line 5282 "conf_parser.c" /* yacc.c:1646  */
5282      break;
5283  
5284    case 412:
# Line 5270 | Line 5289 | yyreduce:
5289      block_state.aftype.value = AF_INET6;
5290   #endif
5291   }
5292 < #line 5274 "conf_parser.c" /* yacc.c:1646  */
5292 > #line 5293 "conf_parser.c" /* yacc.c:1646  */
5293      break;
5294  
5295    case 413:
# Line 5278 | Line 5297 | yyreduce:
5297      {
5298    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5299   }
5300 < #line 5282 "conf_parser.c" /* yacc.c:1646  */
5300 > #line 5301 "conf_parser.c" /* yacc.c:1646  */
5301      break;
5302  
5303    case 417:
# Line 5287 | Line 5306 | yyreduce:
5306    if (conf_parser_ctx.pass == 2)
5307      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5308   }
5309 < #line 5291 "conf_parser.c" /* yacc.c:1646  */
5309 > #line 5310 "conf_parser.c" /* yacc.c:1646  */
5310      break;
5311  
5312    case 418:
# Line 5296 | Line 5315 | yyreduce:
5315    if (conf_parser_ctx.pass == 2)
5316      block_state.flags.value |= CONF_FLAGS_SSL;
5317   }
5318 < #line 5300 "conf_parser.c" /* yacc.c:1646  */
5318 > #line 5319 "conf_parser.c" /* yacc.c:1646  */
5319      break;
5320  
5321    case 419:
# Line 5310 | Line 5329 | yyreduce:
5329        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
5330    }
5331   }
5332 < #line 5314 "conf_parser.c" /* yacc.c:1646  */
5332 > #line 5333 "conf_parser.c" /* yacc.c:1646  */
5333      break;
5334  
5335    case 420:
# Line 5319 | Line 5338 | yyreduce:
5338    if (conf_parser_ctx.pass == 2)
5339      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5340   }
5341 < #line 5323 "conf_parser.c" /* yacc.c:1646  */
5341 > #line 5342 "conf_parser.c" /* yacc.c:1646  */
5342      break;
5343  
5344    case 421:
# Line 5328 | Line 5347 | yyreduce:
5347    if (conf_parser_ctx.pass == 2)
5348      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5349   }
5350 < #line 5332 "conf_parser.c" /* yacc.c:1646  */
5350 > #line 5351 "conf_parser.c" /* yacc.c:1646  */
5351      break;
5352  
5353    case 422:
# Line 5337 | Line 5356 | yyreduce:
5356    if (conf_parser_ctx.pass == 2)
5357      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5358   }
5359 < #line 5341 "conf_parser.c" /* yacc.c:1646  */
5359 > #line 5360 "conf_parser.c" /* yacc.c:1646  */
5360      break;
5361  
5362    case 423:
# Line 5351 | Line 5370 | yyreduce:
5370      conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5371   #endif
5372   }
5373 < #line 5355 "conf_parser.c" /* yacc.c:1646  */
5373 > #line 5374 "conf_parser.c" /* yacc.c:1646  */
5374      break;
5375  
5376    case 424:
# Line 5360 | Line 5379 | yyreduce:
5379    if (conf_parser_ctx.pass == 2)
5380      reset_block_state();
5381   }
5382 < #line 5364 "conf_parser.c" /* yacc.c:1646  */
5382 > #line 5383 "conf_parser.c" /* yacc.c:1646  */
5383      break;
5384  
5385    case 425:
# Line 5385 | Line 5404 | yyreduce:
5404      conf->reason = xstrdup(CONF_NOREASON);
5405    add_conf_by_address(CONF_KLINE, conf);
5406   }
5407 < #line 5389 "conf_parser.c" /* yacc.c:1646  */
5407 > #line 5408 "conf_parser.c" /* yacc.c:1646  */
5408      break;
5409  
5410    case 431:
# Line 5408 | Line 5427 | yyreduce:
5427      split_nuh(&nuh);
5428    }
5429   }
5430 < #line 5412 "conf_parser.c" /* yacc.c:1646  */
5430 > #line 5431 "conf_parser.c" /* yacc.c:1646  */
5431      break;
5432  
5433    case 432:
# Line 5417 | Line 5436 | yyreduce:
5436    if (conf_parser_ctx.pass == 2)
5437      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5438   }
5439 < #line 5421 "conf_parser.c" /* yacc.c:1646  */
5439 > #line 5440 "conf_parser.c" /* yacc.c:1646  */
5440      break;
5441  
5442    case 433:
# Line 5426 | Line 5445 | yyreduce:
5445    if (conf_parser_ctx.pass == 2)
5446      reset_block_state();
5447   }
5448 < #line 5430 "conf_parser.c" /* yacc.c:1646  */
5448 > #line 5449 "conf_parser.c" /* yacc.c:1646  */
5449      break;
5450  
5451    case 434:
# Line 5452 | Line 5471 | yyreduce:
5471      add_conf_by_address(CONF_DLINE, conf);
5472    }
5473   }
5474 < #line 5456 "conf_parser.c" /* yacc.c:1646  */
5474 > #line 5475 "conf_parser.c" /* yacc.c:1646  */
5475      break;
5476  
5477    case 440:
# Line 5461 | Line 5480 | yyreduce:
5480    if (conf_parser_ctx.pass == 2)
5481      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5482   }
5483 < #line 5465 "conf_parser.c" /* yacc.c:1646  */
5483 > #line 5484 "conf_parser.c" /* yacc.c:1646  */
5484      break;
5485  
5486    case 441:
# Line 5470 | Line 5489 | yyreduce:
5489    if (conf_parser_ctx.pass == 2)
5490      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5491   }
5492 < #line 5474 "conf_parser.c" /* yacc.c:1646  */
5492 > #line 5493 "conf_parser.c" /* yacc.c:1646  */
5493      break;
5494  
5495    case 447:
# Line 5487 | Line 5506 | yyreduce:
5506      }
5507    }
5508   }
5509 < #line 5491 "conf_parser.c" /* yacc.c:1646  */
5509 > #line 5510 "conf_parser.c" /* yacc.c:1646  */
5510      break;
5511  
5512    case 448:
# Line 5496 | Line 5515 | yyreduce:
5515    if (conf_parser_ctx.pass == 2)
5516      reset_block_state();
5517   }
5518 < #line 5500 "conf_parser.c" /* yacc.c:1646  */
5518 > #line 5519 "conf_parser.c" /* yacc.c:1646  */
5519      break;
5520  
5521    case 449:
# Line 5518 | Line 5537 | yyreduce:
5537    else
5538      conf->reason = xstrdup(CONF_NOREASON);
5539   }
5540 < #line 5522 "conf_parser.c" /* yacc.c:1646  */
5540 > #line 5541 "conf_parser.c" /* yacc.c:1646  */
5541      break;
5542  
5543    case 455:
# Line 5527 | Line 5546 | yyreduce:
5546    if (conf_parser_ctx.pass == 2)
5547      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5548   }
5549 < #line 5531 "conf_parser.c" /* yacc.c:1646  */
5549 > #line 5550 "conf_parser.c" /* yacc.c:1646  */
5550      break;
5551  
5552    case 456:
# Line 5536 | Line 5555 | yyreduce:
5555    if (conf_parser_ctx.pass == 2)
5556      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5557   }
5558 < #line 5540 "conf_parser.c" /* yacc.c:1646  */
5558 > #line 5559 "conf_parser.c" /* yacc.c:1646  */
5559      break;
5560  
5561    case 510:
# Line 5544 | Line 5563 | yyreduce:
5563      {
5564    ConfigFileEntry.max_watch = (yyvsp[-1].number);
5565   }
5566 < #line 5548 "conf_parser.c" /* yacc.c:1646  */
5566 > #line 5567 "conf_parser.c" /* yacc.c:1646  */
5567      break;
5568  
5569    case 511:
# Line 5553 | Line 5572 | yyreduce:
5572    if (conf_parser_ctx.pass == 2)
5573      ConfigFileEntry.cycle_on_host_change = yylval.number;
5574   }
5575 < #line 5557 "conf_parser.c" /* yacc.c:1646  */
5575 > #line 5576 "conf_parser.c" /* yacc.c:1646  */
5576      break;
5577  
5578    case 512:
# Line 5562 | Line 5581 | yyreduce:
5581    if (conf_parser_ctx.pass == 2)
5582      ConfigFileEntry.glines = yylval.number;
5583   }
5584 < #line 5566 "conf_parser.c" /* yacc.c:1646  */
5584 > #line 5585 "conf_parser.c" /* yacc.c:1646  */
5585      break;
5586  
5587    case 513:
# Line 5571 | Line 5590 | yyreduce:
5590    if (conf_parser_ctx.pass == 2)
5591      ConfigFileEntry.gline_time = (yyvsp[-1].number);
5592   }
5593 < #line 5575 "conf_parser.c" /* yacc.c:1646  */
5593 > #line 5594 "conf_parser.c" /* yacc.c:1646  */
5594      break;
5595  
5596    case 514:
# Line 5580 | Line 5599 | yyreduce:
5599    if (conf_parser_ctx.pass == 2)
5600      ConfigFileEntry.gline_request_time = (yyvsp[-1].number);
5601   }
5602 < #line 5584 "conf_parser.c" /* yacc.c:1646  */
5602 > #line 5603 "conf_parser.c" /* yacc.c:1646  */
5603      break;
5604  
5605    case 515:
# Line 5588 | Line 5607 | yyreduce:
5607      {
5608    ConfigFileEntry.gline_min_cidr = (yyvsp[-1].number);
5609   }
5610 < #line 5592 "conf_parser.c" /* yacc.c:1646  */
5610 > #line 5611 "conf_parser.c" /* yacc.c:1646  */
5611      break;
5612  
5613    case 516:
# Line 5596 | Line 5615 | yyreduce:
5615      {
5616    ConfigFileEntry.gline_min_cidr6 = (yyvsp[-1].number);
5617   }
5618 < #line 5600 "conf_parser.c" /* yacc.c:1646  */
5618 > #line 5619 "conf_parser.c" /* yacc.c:1646  */
5619      break;
5620  
5621    case 517:
# Line 5604 | Line 5623 | yyreduce:
5623      {
5624    ConfigFileEntry.tkline_expire_notices = yylval.number;
5625   }
5626 < #line 5608 "conf_parser.c" /* yacc.c:1646  */
5626 > #line 5627 "conf_parser.c" /* yacc.c:1646  */
5627      break;
5628  
5629    case 518:
# Line 5612 | Line 5631 | yyreduce:
5631      {
5632    ConfigFileEntry.kill_chase_time_limit = (yyvsp[-1].number);
5633   }
5634 < #line 5616 "conf_parser.c" /* yacc.c:1646  */
5634 > #line 5635 "conf_parser.c" /* yacc.c:1646  */
5635      break;
5636  
5637    case 519:
# Line 5620 | Line 5639 | yyreduce:
5639      {
5640    ConfigFileEntry.hide_spoof_ips = yylval.number;
5641   }
5642 < #line 5624 "conf_parser.c" /* yacc.c:1646  */
5642 > #line 5643 "conf_parser.c" /* yacc.c:1646  */
5643      break;
5644  
5645    case 520:
# Line 5628 | Line 5647 | yyreduce:
5647      {
5648    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5649   }
5650 < #line 5632 "conf_parser.c" /* yacc.c:1646  */
5650 > #line 5651 "conf_parser.c" /* yacc.c:1646  */
5651      break;
5652  
5653    case 521:
# Line 5636 | Line 5655 | yyreduce:
5655      {
5656    ConfigFileEntry.failed_oper_notice = yylval.number;
5657   }
5658 < #line 5640 "conf_parser.c" /* yacc.c:1646  */
5658 > #line 5659 "conf_parser.c" /* yacc.c:1646  */
5659      break;
5660  
5661    case 522:
# Line 5644 | Line 5663 | yyreduce:
5663      {
5664    ConfigFileEntry.anti_nick_flood = yylval.number;
5665   }
5666 < #line 5648 "conf_parser.c" /* yacc.c:1646  */
5666 > #line 5667 "conf_parser.c" /* yacc.c:1646  */
5667      break;
5668  
5669    case 523:
# Line 5652 | Line 5671 | yyreduce:
5671      {
5672    ConfigFileEntry.max_nick_time = (yyvsp[-1].number);
5673   }
5674 < #line 5656 "conf_parser.c" /* yacc.c:1646  */
5674 > #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675      break;
5676  
5677    case 524:
# Line 5660 | Line 5679 | yyreduce:
5679      {
5680    ConfigFileEntry.max_nick_changes = (yyvsp[-1].number);
5681   }
5682 < #line 5664 "conf_parser.c" /* yacc.c:1646  */
5682 > #line 5683 "conf_parser.c" /* yacc.c:1646  */
5683      break;
5684  
5685    case 525:
# Line 5668 | Line 5687 | yyreduce:
5687      {
5688    ConfigFileEntry.max_accept = (yyvsp[-1].number);
5689   }
5690 < #line 5672 "conf_parser.c" /* yacc.c:1646  */
5690 > #line 5691 "conf_parser.c" /* yacc.c:1646  */
5691      break;
5692  
5693    case 526:
# Line 5676 | Line 5695 | yyreduce:
5695      {
5696    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[-1].number);
5697   }
5698 < #line 5680 "conf_parser.c" /* yacc.c:1646  */
5698 > #line 5699 "conf_parser.c" /* yacc.c:1646  */
5699      break;
5700  
5701    case 527:
# Line 5684 | Line 5703 | yyreduce:
5703      {
5704    ConfigFileEntry.ts_warn_delta = (yyvsp[-1].number);
5705   }
5706 < #line 5688 "conf_parser.c" /* yacc.c:1646  */
5706 > #line 5707 "conf_parser.c" /* yacc.c:1646  */
5707      break;
5708  
5709    case 528:
# Line 5693 | Line 5712 | yyreduce:
5712    if (conf_parser_ctx.pass == 2)
5713      ConfigFileEntry.ts_max_delta = (yyvsp[-1].number);
5714   }
5715 < #line 5697 "conf_parser.c" /* yacc.c:1646  */
5715 > #line 5716 "conf_parser.c" /* yacc.c:1646  */
5716      break;
5717  
5718    case 529:
# Line 5707 | Line 5726 | yyreduce:
5726      exit(0);
5727    }
5728   }
5729 < #line 5711 "conf_parser.c" /* yacc.c:1646  */
5729 > #line 5730 "conf_parser.c" /* yacc.c:1646  */
5730      break;
5731  
5732    case 530:
# Line 5715 | Line 5734 | yyreduce:
5734      {
5735    ConfigFileEntry.invisible_on_connect = yylval.number;
5736   }
5737 < #line 5719 "conf_parser.c" /* yacc.c:1646  */
5737 > #line 5738 "conf_parser.c" /* yacc.c:1646  */
5738      break;
5739  
5740    case 531:
# Line 5723 | Line 5742 | yyreduce:
5742      {
5743    ConfigFileEntry.warn_no_nline = yylval.number;
5744   }
5745 < #line 5727 "conf_parser.c" /* yacc.c:1646  */
5745 > #line 5746 "conf_parser.c" /* yacc.c:1646  */
5746      break;
5747  
5748    case 532:
# Line 5731 | Line 5750 | yyreduce:
5750      {
5751    ConfigFileEntry.stats_e_disabled = yylval.number;
5752   }
5753 < #line 5735 "conf_parser.c" /* yacc.c:1646  */
5753 > #line 5754 "conf_parser.c" /* yacc.c:1646  */
5754      break;
5755  
5756    case 533:
# Line 5739 | Line 5758 | yyreduce:
5758      {
5759    ConfigFileEntry.stats_o_oper_only = yylval.number;
5760   }
5761 < #line 5743 "conf_parser.c" /* yacc.c:1646  */
5761 > #line 5762 "conf_parser.c" /* yacc.c:1646  */
5762      break;
5763  
5764    case 534:
# Line 5747 | Line 5766 | yyreduce:
5766      {
5767    ConfigFileEntry.stats_P_oper_only = yylval.number;
5768   }
5769 < #line 5751 "conf_parser.c" /* yacc.c:1646  */
5769 > #line 5770 "conf_parser.c" /* yacc.c:1646  */
5770      break;
5771  
5772    case 535:
# Line 5755 | Line 5774 | yyreduce:
5774      {
5775    ConfigFileEntry.stats_u_oper_only = yylval.number;
5776   }
5777 < #line 5759 "conf_parser.c" /* yacc.c:1646  */
5777 > #line 5778 "conf_parser.c" /* yacc.c:1646  */
5778      break;
5779  
5780    case 536:
# Line 5763 | Line 5782 | yyreduce:
5782      {
5783    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5784   }
5785 < #line 5767 "conf_parser.c" /* yacc.c:1646  */
5785 > #line 5786 "conf_parser.c" /* yacc.c:1646  */
5786      break;
5787  
5788    case 537:
# Line 5771 | Line 5790 | yyreduce:
5790      {
5791    ConfigFileEntry.stats_k_oper_only = 1;
5792   }
5793 < #line 5775 "conf_parser.c" /* yacc.c:1646  */
5793 > #line 5794 "conf_parser.c" /* yacc.c:1646  */
5794      break;
5795  
5796    case 538:
# Line 5779 | Line 5798 | yyreduce:
5798      {
5799    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5800   }
5801 < #line 5783 "conf_parser.c" /* yacc.c:1646  */
5801 > #line 5802 "conf_parser.c" /* yacc.c:1646  */
5802      break;
5803  
5804    case 539:
# Line 5787 | Line 5806 | yyreduce:
5806      {
5807    ConfigFileEntry.stats_i_oper_only = 1;
5808   }
5809 < #line 5791 "conf_parser.c" /* yacc.c:1646  */
5809 > #line 5810 "conf_parser.c" /* yacc.c:1646  */
5810      break;
5811  
5812    case 540:
# Line 5795 | Line 5814 | yyreduce:
5814      {
5815    ConfigFileEntry.pace_wait = (yyvsp[-1].number);
5816   }
5817 < #line 5799 "conf_parser.c" /* yacc.c:1646  */
5817 > #line 5818 "conf_parser.c" /* yacc.c:1646  */
5818      break;
5819  
5820    case 541:
# Line 5803 | Line 5822 | yyreduce:
5822      {
5823    ConfigFileEntry.caller_id_wait = (yyvsp[-1].number);
5824   }
5825 < #line 5807 "conf_parser.c" /* yacc.c:1646  */
5825 > #line 5826 "conf_parser.c" /* yacc.c:1646  */
5826      break;
5827  
5828    case 542:
# Line 5811 | Line 5830 | yyreduce:
5830      {
5831    ConfigFileEntry.opers_bypass_callerid = yylval.number;
5832   }
5833 < #line 5815 "conf_parser.c" /* yacc.c:1646  */
5833 > #line 5834 "conf_parser.c" /* yacc.c:1646  */
5834      break;
5835  
5836    case 543:
# Line 5819 | Line 5838 | yyreduce:
5838      {
5839    ConfigFileEntry.pace_wait_simple = (yyvsp[-1].number);
5840   }
5841 < #line 5823 "conf_parser.c" /* yacc.c:1646  */
5841 > #line 5842 "conf_parser.c" /* yacc.c:1646  */
5842      break;
5843  
5844    case 544:
# Line 5827 | Line 5846 | yyreduce:
5846      {
5847    ConfigFileEntry.short_motd = yylval.number;
5848   }
5849 < #line 5831 "conf_parser.c" /* yacc.c:1646  */
5849 > #line 5850 "conf_parser.c" /* yacc.c:1646  */
5850      break;
5851  
5852    case 545:
# Line 5835 | Line 5854 | yyreduce:
5854      {
5855    ConfigFileEntry.no_oper_flood = yylval.number;
5856   }
5857 < #line 5839 "conf_parser.c" /* yacc.c:1646  */
5857 > #line 5858 "conf_parser.c" /* yacc.c:1646  */
5858      break;
5859  
5860    case 546:
# Line 5843 | Line 5862 | yyreduce:
5862      {
5863    ConfigFileEntry.true_no_oper_flood = yylval.number;
5864   }
5865 < #line 5847 "conf_parser.c" /* yacc.c:1646  */
5865 > #line 5866 "conf_parser.c" /* yacc.c:1646  */
5866      break;
5867  
5868    case 547:
# Line 5851 | Line 5870 | yyreduce:
5870      {
5871    ConfigFileEntry.oper_pass_resv = yylval.number;
5872   }
5873 < #line 5855 "conf_parser.c" /* yacc.c:1646  */
5873 > #line 5874 "conf_parser.c" /* yacc.c:1646  */
5874      break;
5875  
5876    case 548:
# Line 5859 | Line 5878 | yyreduce:
5878      {
5879    ConfigFileEntry.dots_in_ident = (yyvsp[-1].number);
5880   }
5881 < #line 5863 "conf_parser.c" /* yacc.c:1646  */
5881 > #line 5882 "conf_parser.c" /* yacc.c:1646  */
5882      break;
5883  
5884    case 549:
# Line 5867 | Line 5886 | yyreduce:
5886      {
5887    ConfigFileEntry.max_targets = (yyvsp[-1].number);
5888   }
5889 < #line 5871 "conf_parser.c" /* yacc.c:1646  */
5889 > #line 5890 "conf_parser.c" /* yacc.c:1646  */
5890      break;
5891  
5892    case 550:
# Line 5875 | Line 5894 | yyreduce:
5894      {
5895    ConfigFileEntry.use_egd = yylval.number;
5896   }
5897 < #line 5879 "conf_parser.c" /* yacc.c:1646  */
5897 > #line 5898 "conf_parser.c" /* yacc.c:1646  */
5898      break;
5899  
5900    case 551:
# Line 5887 | Line 5906 | yyreduce:
5906      ConfigFileEntry.egdpool_path = xstrdup(yylval.string);
5907    }
5908   }
5909 < #line 5891 "conf_parser.c" /* yacc.c:1646  */
5909 > #line 5910 "conf_parser.c" /* yacc.c:1646  */
5910      break;
5911  
5912    case 552:
# Line 5899 | Line 5918 | yyreduce:
5918      ConfigFileEntry.service_name = xstrdup(yylval.string);
5919    }
5920   }
5921 < #line 5903 "conf_parser.c" /* yacc.c:1646  */
5921 > #line 5922 "conf_parser.c" /* yacc.c:1646  */
5922      break;
5923  
5924    case 553:
# Line 5907 | Line 5926 | yyreduce:
5926      {
5927    ConfigFileEntry.ping_cookie = yylval.number;
5928   }
5929 < #line 5911 "conf_parser.c" /* yacc.c:1646  */
5929 > #line 5930 "conf_parser.c" /* yacc.c:1646  */
5930      break;
5931  
5932    case 554:
# Line 5915 | Line 5934 | yyreduce:
5934      {
5935    ConfigFileEntry.disable_auth = yylval.number;
5936   }
5937 < #line 5919 "conf_parser.c" /* yacc.c:1646  */
5937 > #line 5938 "conf_parser.c" /* yacc.c:1646  */
5938      break;
5939  
5940    case 555:
# Line 5923 | Line 5942 | yyreduce:
5942      {
5943    ConfigFileEntry.throttle_time = yylval.number;
5944   }
5945 < #line 5927 "conf_parser.c" /* yacc.c:1646  */
5945 > #line 5946 "conf_parser.c" /* yacc.c:1646  */
5946      break;
5947  
5948    case 556:
# Line 5931 | Line 5950 | yyreduce:
5950      {
5951    ConfigFileEntry.oper_umodes = 0;
5952   }
5953 < #line 5935 "conf_parser.c" /* yacc.c:1646  */
5953 > #line 5954 "conf_parser.c" /* yacc.c:1646  */
5954      break;
5955  
5956    case 560:
# Line 5939 | Line 5958 | yyreduce:
5958      {
5959    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
5960   }
5961 < #line 5943 "conf_parser.c" /* yacc.c:1646  */
5961 > #line 5962 "conf_parser.c" /* yacc.c:1646  */
5962      break;
5963  
5964    case 561:
# Line 5947 | Line 5966 | yyreduce:
5966      {
5967    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
5968   }
5969 < #line 5951 "conf_parser.c" /* yacc.c:1646  */
5969 > #line 5970 "conf_parser.c" /* yacc.c:1646  */
5970      break;
5971  
5972    case 562:
# Line 5955 | Line 5974 | yyreduce:
5974      {
5975    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
5976   }
5977 < #line 5959 "conf_parser.c" /* yacc.c:1646  */
5977 > #line 5978 "conf_parser.c" /* yacc.c:1646  */
5978      break;
5979  
5980    case 563:
# Line 5963 | Line 5982 | yyreduce:
5982      {
5983    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
5984   }
5985 < #line 5967 "conf_parser.c" /* yacc.c:1646  */
5985 > #line 5986 "conf_parser.c" /* yacc.c:1646  */
5986      break;
5987  
5988    case 564:
# Line 5971 | Line 5990 | yyreduce:
5990      {
5991    ConfigFileEntry.oper_umodes |= UMODE_FULL;
5992   }
5993 < #line 5975 "conf_parser.c" /* yacc.c:1646  */
5993 > #line 5994 "conf_parser.c" /* yacc.c:1646  */
5994      break;
5995  
5996    case 565:
# Line 5979 | Line 5998 | yyreduce:
5998      {
5999    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6000   }
6001 < #line 5983 "conf_parser.c" /* yacc.c:1646  */
6001 > #line 6002 "conf_parser.c" /* yacc.c:1646  */
6002      break;
6003  
6004    case 566:
# Line 5987 | Line 6006 | yyreduce:
6006      {
6007    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6008   }
6009 < #line 5991 "conf_parser.c" /* yacc.c:1646  */
6009 > #line 6010 "conf_parser.c" /* yacc.c:1646  */
6010      break;
6011  
6012    case 567:
# Line 5995 | Line 6014 | yyreduce:
6014      {
6015    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6016   }
6017 < #line 5999 "conf_parser.c" /* yacc.c:1646  */
6017 > #line 6018 "conf_parser.c" /* yacc.c:1646  */
6018      break;
6019  
6020    case 568:
# Line 6003 | Line 6022 | yyreduce:
6022      {
6023    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6024   }
6025 < #line 6007 "conf_parser.c" /* yacc.c:1646  */
6025 > #line 6026 "conf_parser.c" /* yacc.c:1646  */
6026      break;
6027  
6028    case 569:
# Line 6011 | Line 6030 | yyreduce:
6030      {
6031    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6032   }
6033 < #line 6015 "conf_parser.c" /* yacc.c:1646  */
6033 > #line 6034 "conf_parser.c" /* yacc.c:1646  */
6034      break;
6035  
6036    case 570:
# Line 6019 | Line 6038 | yyreduce:
6038      {
6039    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6040   }
6041 < #line 6023 "conf_parser.c" /* yacc.c:1646  */
6041 > #line 6042 "conf_parser.c" /* yacc.c:1646  */
6042      break;
6043  
6044    case 571:
# Line 6027 | Line 6046 | yyreduce:
6046      {
6047    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6048   }
6049 < #line 6031 "conf_parser.c" /* yacc.c:1646  */
6049 > #line 6050 "conf_parser.c" /* yacc.c:1646  */
6050      break;
6051  
6052    case 572:
# Line 6035 | Line 6054 | yyreduce:
6054      {
6055    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6056   }
6057 < #line 6039 "conf_parser.c" /* yacc.c:1646  */
6057 > #line 6058 "conf_parser.c" /* yacc.c:1646  */
6058      break;
6059  
6060    case 573:
# Line 6043 | Line 6062 | yyreduce:
6062      {
6063    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6064   }
6065 < #line 6047 "conf_parser.c" /* yacc.c:1646  */
6065 > #line 6066 "conf_parser.c" /* yacc.c:1646  */
6066      break;
6067  
6068    case 574:
# Line 6051 | Line 6070 | yyreduce:
6070      {
6071    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6072   }
6073 < #line 6055 "conf_parser.c" /* yacc.c:1646  */
6073 > #line 6074 "conf_parser.c" /* yacc.c:1646  */
6074      break;
6075  
6076    case 575:
# Line 6059 | Line 6078 | yyreduce:
6078      {
6079    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6080   }
6081 < #line 6063 "conf_parser.c" /* yacc.c:1646  */
6081 > #line 6082 "conf_parser.c" /* yacc.c:1646  */
6082      break;
6083  
6084    case 576:
# Line 6067 | Line 6086 | yyreduce:
6086      {
6087    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6088   }
6089 < #line 6071 "conf_parser.c" /* yacc.c:1646  */
6089 > #line 6090 "conf_parser.c" /* yacc.c:1646  */
6090      break;
6091  
6092    case 577:
# Line 6075 | Line 6094 | yyreduce:
6094      {
6095    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6096   }
6097 < #line 6079 "conf_parser.c" /* yacc.c:1646  */
6097 > #line 6098 "conf_parser.c" /* yacc.c:1646  */
6098      break;
6099  
6100    case 578:
# Line 6083 | Line 6102 | yyreduce:
6102      {
6103    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6104   }
6105 < #line 6087 "conf_parser.c" /* yacc.c:1646  */
6105 > #line 6106 "conf_parser.c" /* yacc.c:1646  */
6106      break;
6107  
6108    case 579:
# Line 6091 | Line 6110 | yyreduce:
6110      {
6111    ConfigFileEntry.oper_umodes |= UMODE_REGONLY;
6112   }
6113 < #line 6095 "conf_parser.c" /* yacc.c:1646  */
6113 > #line 6114 "conf_parser.c" /* yacc.c:1646  */
6114      break;
6115  
6116    case 580:
# Line 6099 | Line 6118 | yyreduce:
6118      {
6119    ConfigFileEntry.oper_umodes |= UMODE_FARCONNECT;
6120   }
6121 < #line 6103 "conf_parser.c" /* yacc.c:1646  */
6121 > #line 6122 "conf_parser.c" /* yacc.c:1646  */
6122      break;
6123  
6124    case 581:
# Line 6107 | Line 6126 | yyreduce:
6126      {
6127    ConfigFileEntry.oper_only_umodes = 0;
6128   }
6129 < #line 6111 "conf_parser.c" /* yacc.c:1646  */
6129 > #line 6130 "conf_parser.c" /* yacc.c:1646  */
6130      break;
6131  
6132    case 585:
# Line 6115 | Line 6134 | yyreduce:
6134      {
6135    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6136   }
6137 < #line 6119 "conf_parser.c" /* yacc.c:1646  */
6137 > #line 6138 "conf_parser.c" /* yacc.c:1646  */
6138      break;
6139  
6140    case 586:
# Line 6123 | Line 6142 | yyreduce:
6142      {
6143    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6144   }
6145 < #line 6127 "conf_parser.c" /* yacc.c:1646  */
6145 > #line 6146 "conf_parser.c" /* yacc.c:1646  */
6146      break;
6147  
6148    case 587:
# Line 6131 | Line 6150 | yyreduce:
6150      {
6151    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6152   }
6153 < #line 6135 "conf_parser.c" /* yacc.c:1646  */
6153 > #line 6154 "conf_parser.c" /* yacc.c:1646  */
6154      break;
6155  
6156    case 588:
# Line 6139 | Line 6158 | yyreduce:
6158      {
6159    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6160   }
6161 < #line 6143 "conf_parser.c" /* yacc.c:1646  */
6161 > #line 6162 "conf_parser.c" /* yacc.c:1646  */
6162      break;
6163  
6164    case 589:
# Line 6147 | Line 6166 | yyreduce:
6166      {
6167    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6168   }
6169 < #line 6151 "conf_parser.c" /* yacc.c:1646  */
6169 > #line 6170 "conf_parser.c" /* yacc.c:1646  */
6170      break;
6171  
6172    case 590:
# Line 6155 | Line 6174 | yyreduce:
6174      {
6175    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6176   }
6177 < #line 6159 "conf_parser.c" /* yacc.c:1646  */
6177 > #line 6178 "conf_parser.c" /* yacc.c:1646  */
6178      break;
6179  
6180    case 591:
# Line 6163 | Line 6182 | yyreduce:
6182      {
6183    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6184   }
6185 < #line 6167 "conf_parser.c" /* yacc.c:1646  */
6185 > #line 6186 "conf_parser.c" /* yacc.c:1646  */
6186      break;
6187  
6188    case 592:
# Line 6171 | Line 6190 | yyreduce:
6190      {
6191    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6192   }
6193 < #line 6175 "conf_parser.c" /* yacc.c:1646  */
6193 > #line 6194 "conf_parser.c" /* yacc.c:1646  */
6194      break;
6195  
6196    case 593:
# Line 6179 | Line 6198 | yyreduce:
6198      {
6199    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6200   }
6201 < #line 6183 "conf_parser.c" /* yacc.c:1646  */
6201 > #line 6202 "conf_parser.c" /* yacc.c:1646  */
6202      break;
6203  
6204    case 594:
# Line 6187 | Line 6206 | yyreduce:
6206      {
6207    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6208   }
6209 < #line 6191 "conf_parser.c" /* yacc.c:1646  */
6209 > #line 6210 "conf_parser.c" /* yacc.c:1646  */
6210      break;
6211  
6212    case 595:
# Line 6195 | Line 6214 | yyreduce:
6214      {
6215    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6216   }
6217 < #line 6199 "conf_parser.c" /* yacc.c:1646  */
6217 > #line 6218 "conf_parser.c" /* yacc.c:1646  */
6218      break;
6219  
6220    case 596:
# Line 6203 | Line 6222 | yyreduce:
6222      {
6223    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6224   }
6225 < #line 6207 "conf_parser.c" /* yacc.c:1646  */
6225 > #line 6226 "conf_parser.c" /* yacc.c:1646  */
6226      break;
6227  
6228    case 597:
# Line 6211 | Line 6230 | yyreduce:
6230      {
6231    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6232   }
6233 < #line 6215 "conf_parser.c" /* yacc.c:1646  */
6233 > #line 6234 "conf_parser.c" /* yacc.c:1646  */
6234      break;
6235  
6236    case 598:
# Line 6219 | Line 6238 | yyreduce:
6238      {
6239    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6240   }
6241 < #line 6223 "conf_parser.c" /* yacc.c:1646  */
6241 > #line 6242 "conf_parser.c" /* yacc.c:1646  */
6242      break;
6243  
6244    case 599:
# Line 6227 | Line 6246 | yyreduce:
6246      {
6247    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6248   }
6249 < #line 6231 "conf_parser.c" /* yacc.c:1646  */
6249 > #line 6250 "conf_parser.c" /* yacc.c:1646  */
6250      break;
6251  
6252    case 600:
# Line 6235 | Line 6254 | yyreduce:
6254      {
6255    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6256   }
6257 < #line 6239 "conf_parser.c" /* yacc.c:1646  */
6257 > #line 6258 "conf_parser.c" /* yacc.c:1646  */
6258      break;
6259  
6260    case 601:
# Line 6243 | Line 6262 | yyreduce:
6262      {
6263    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6264   }
6265 < #line 6247 "conf_parser.c" /* yacc.c:1646  */
6265 > #line 6266 "conf_parser.c" /* yacc.c:1646  */
6266      break;
6267  
6268    case 602:
# Line 6251 | Line 6270 | yyreduce:
6270      {
6271    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6272   }
6273 < #line 6255 "conf_parser.c" /* yacc.c:1646  */
6273 > #line 6274 "conf_parser.c" /* yacc.c:1646  */
6274      break;
6275  
6276    case 603:
# Line 6259 | Line 6278 | yyreduce:
6278      {
6279    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6280   }
6281 < #line 6263 "conf_parser.c" /* yacc.c:1646  */
6281 > #line 6282 "conf_parser.c" /* yacc.c:1646  */
6282      break;
6283  
6284    case 604:
# Line 6267 | Line 6286 | yyreduce:
6286      {
6287    ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6288   }
6289 < #line 6271 "conf_parser.c" /* yacc.c:1646  */
6289 > #line 6290 "conf_parser.c" /* yacc.c:1646  */
6290      break;
6291  
6292    case 605:
# Line 6275 | Line 6294 | yyreduce:
6294      {
6295    ConfigFileEntry.oper_only_umodes |= UMODE_FARCONNECT;
6296   }
6297 < #line 6279 "conf_parser.c" /* yacc.c:1646  */
6297 > #line 6298 "conf_parser.c" /* yacc.c:1646  */
6298      break;
6299  
6300    case 606:
# Line 6283 | Line 6302 | yyreduce:
6302      {
6303    ConfigFileEntry.min_nonwildcard = (yyvsp[-1].number);
6304   }
6305 < #line 6287 "conf_parser.c" /* yacc.c:1646  */
6305 > #line 6306 "conf_parser.c" /* yacc.c:1646  */
6306      break;
6307  
6308    case 607:
# Line 6291 | Line 6310 | yyreduce:
6310      {
6311    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[-1].number);
6312   }
6313 < #line 6295 "conf_parser.c" /* yacc.c:1646  */
6313 > #line 6314 "conf_parser.c" /* yacc.c:1646  */
6314      break;
6315  
6316    case 608:
# Line 6299 | Line 6318 | yyreduce:
6318      {
6319    ConfigFileEntry.default_floodcount = (yyvsp[-1].number);
6320   }
6321 < #line 6303 "conf_parser.c" /* yacc.c:1646  */
6321 > #line 6322 "conf_parser.c" /* yacc.c:1646  */
6322      break;
6323  
6324    case 625:
# Line 6307 | Line 6326 | yyreduce:
6326      {
6327    ConfigChannel.disable_fake_channels = yylval.number;
6328   }
6329 < #line 6311 "conf_parser.c" /* yacc.c:1646  */
6329 > #line 6330 "conf_parser.c" /* yacc.c:1646  */
6330      break;
6331  
6332    case 626:
# Line 6315 | Line 6334 | yyreduce:
6334      {
6335    ConfigChannel.knock_delay = (yyvsp[-1].number);
6336   }
6337 < #line 6319 "conf_parser.c" /* yacc.c:1646  */
6337 > #line 6338 "conf_parser.c" /* yacc.c:1646  */
6338      break;
6339  
6340    case 627:
# Line 6323 | Line 6342 | yyreduce:
6342      {
6343    ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6344   }
6345 < #line 6327 "conf_parser.c" /* yacc.c:1646  */
6345 > #line 6346 "conf_parser.c" /* yacc.c:1646  */
6346      break;
6347  
6348    case 628:
# Line 6331 | Line 6350 | yyreduce:
6350      {
6351    ConfigChannel.max_chans_per_user = (yyvsp[-1].number);
6352   }
6353 < #line 6335 "conf_parser.c" /* yacc.c:1646  */
6353 > #line 6354 "conf_parser.c" /* yacc.c:1646  */
6354      break;
6355  
6356    case 629:
# Line 6339 | Line 6358 | yyreduce:
6358      {
6359    ConfigChannel.max_chans_per_oper = (yyvsp[-1].number);
6360   }
6361 < #line 6343 "conf_parser.c" /* yacc.c:1646  */
6361 > #line 6362 "conf_parser.c" /* yacc.c:1646  */
6362      break;
6363  
6364    case 630:
# Line 6347 | Line 6366 | yyreduce:
6366      {
6367    ConfigChannel.max_bans = (yyvsp[-1].number);
6368   }
6369 < #line 6351 "conf_parser.c" /* yacc.c:1646  */
6369 > #line 6370 "conf_parser.c" /* yacc.c:1646  */
6370      break;
6371  
6372    case 631:
# Line 6355 | Line 6374 | yyreduce:
6374      {
6375    ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6376   }
6377 < #line 6359 "conf_parser.c" /* yacc.c:1646  */
6377 > #line 6378 "conf_parser.c" /* yacc.c:1646  */
6378      break;
6379  
6380    case 632:
# Line 6363 | Line 6382 | yyreduce:
6382      {
6383    ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6384   }
6385 < #line 6367 "conf_parser.c" /* yacc.c:1646  */
6385 > #line 6386 "conf_parser.c" /* yacc.c:1646  */
6386      break;
6387  
6388    case 633:
# Line 6371 | Line 6390 | yyreduce:
6390      {
6391    ConfigChannel.no_create_on_split = yylval.number;
6392   }
6393 < #line 6375 "conf_parser.c" /* yacc.c:1646  */
6393 > #line 6394 "conf_parser.c" /* yacc.c:1646  */
6394      break;
6395  
6396    case 634:
# Line 6379 | Line 6398 | yyreduce:
6398      {
6399    ConfigChannel.no_join_on_split = yylval.number;
6400   }
6401 < #line 6383 "conf_parser.c" /* yacc.c:1646  */
6401 > #line 6402 "conf_parser.c" /* yacc.c:1646  */
6402      break;
6403  
6404    case 635:
# Line 6387 | Line 6406 | yyreduce:
6406      {
6407    GlobalSetOptions.joinfloodcount = yylval.number;
6408   }
6409 < #line 6391 "conf_parser.c" /* yacc.c:1646  */
6409 > #line 6410 "conf_parser.c" /* yacc.c:1646  */
6410      break;
6411  
6412    case 636:
# Line 6395 | Line 6414 | yyreduce:
6414      {
6415    GlobalSetOptions.joinfloodtime = yylval.number;
6416   }
6417 < #line 6399 "conf_parser.c" /* yacc.c:1646  */
6417 > #line 6418 "conf_parser.c" /* yacc.c:1646  */
6418      break;
6419  
6420    case 649:
# Line 6404 | Line 6423 | yyreduce:
6423    if (conf_parser_ctx.pass == 2)
6424      ConfigServerHide.flatten_links = yylval.number;
6425   }
6426 < #line 6408 "conf_parser.c" /* yacc.c:1646  */
6426 > #line 6427 "conf_parser.c" /* yacc.c:1646  */
6427      break;
6428  
6429    case 650:
# Line 6413 | Line 6432 | yyreduce:
6432    if (conf_parser_ctx.pass == 2)
6433      ConfigServerHide.disable_remote_commands = yylval.number;
6434   }
6435 < #line 6417 "conf_parser.c" /* yacc.c:1646  */
6435 > #line 6436 "conf_parser.c" /* yacc.c:1646  */
6436      break;
6437  
6438    case 651:
# Line 6422 | Line 6441 | yyreduce:
6441    if (conf_parser_ctx.pass == 2)
6442      ConfigServerHide.hide_servers = yylval.number;
6443   }
6444 < #line 6426 "conf_parser.c" /* yacc.c:1646  */
6444 > #line 6445 "conf_parser.c" /* yacc.c:1646  */
6445      break;
6446  
6447    case 652:
# Line 6431 | Line 6450 | yyreduce:
6450    if (conf_parser_ctx.pass == 2)
6451      ConfigServerHide.hide_services = yylval.number;
6452   }
6453 < #line 6435 "conf_parser.c" /* yacc.c:1646  */
6453 > #line 6454 "conf_parser.c" /* yacc.c:1646  */
6454      break;
6455  
6456    case 653:
# Line 6443 | Line 6462 | yyreduce:
6462      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6463    }
6464   }
6465 < #line 6447 "conf_parser.c" /* yacc.c:1646  */
6465 > #line 6466 "conf_parser.c" /* yacc.c:1646  */
6466      break;
6467  
6468    case 654:
# Line 6460 | Line 6479 | yyreduce:
6479      ConfigServerHide.links_delay = (yyvsp[-1].number);
6480    }
6481   }
6482 < #line 6464 "conf_parser.c" /* yacc.c:1646  */
6482 > #line 6483 "conf_parser.c" /* yacc.c:1646  */
6483      break;
6484  
6485    case 655:
# Line 6469 | Line 6488 | yyreduce:
6488    if (conf_parser_ctx.pass == 2)
6489      ConfigServerHide.hidden = yylval.number;
6490   }
6491 < #line 6473 "conf_parser.c" /* yacc.c:1646  */
6491 > #line 6492 "conf_parser.c" /* yacc.c:1646  */
6492      break;
6493  
6494    case 656:
# Line 6478 | Line 6497 | yyreduce:
6497    if (conf_parser_ctx.pass == 2)
6498      ConfigServerHide.hide_server_ips = yylval.number;
6499   }
6500 < #line 6482 "conf_parser.c" /* yacc.c:1646  */
6500 > #line 6501 "conf_parser.c" /* yacc.c:1646  */
6501      break;
6502  
6503  
6504 < #line 6486 "conf_parser.c" /* yacc.c:1646  */
6504 > #line 6505 "conf_parser.c" /* yacc.c:1646  */
6505        default: break;
6506      }
6507    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

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