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

Comparing ircd-hybrid-8/src/ircd_parser.y (file contents):
Revision 1284 by michael, Tue Jan 17 12:54:17 2012 UTC vs.
Revision 1285 by michael, Sun Feb 5 15:12:59 2012 UTC

# Line 896 | Line 896 | oper_entry: OPERATOR
896      MyFree(class_name);
897      class_name = NULL;
898    }
899 < } oper_name_b '{' oper_items '}' ';'
899 > } '{' oper_items '}' ';'
900   {
901    if (conf_parser_ctx.pass == 2)
902    {
# Line 931 | Line 931 | oper_entry: OPERATOR
931          DupString(new_aconf->host, yy_tmp->host);
932        else
933          DupString(new_aconf->host, "*");
934 +
935 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
936 +                                     &new_aconf->bits);
937 +
938        conf_add_class_to_conf(new_conf, class_name);
939        if (yy_aconf->passwd != NULL)
940          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 977 | Line 981 | oper_entry: OPERATOR
981    }
982   };
983  
980 – oper_name_b: | oper_name_t;
984   oper_items:     oper_items oper_item | oper_item;
985   oper_item:      oper_name | oper_user | oper_password |
986                  oper_umodes | oper_class | oper_encrypted |
# Line 995 | Line 998 | oper_name: NAME '=' QSTRING ';'
998    }
999   };
1000  
998 – oper_name_t: QSTRING
999 – {
1000 –  if (conf_parser_ctx.pass == 2)
1001 –  {
1002 –    if (strlen(yylval.string) > OPERNICKLEN)
1003 –      yylval.string[OPERNICKLEN] = '\0';
1004 –
1005 –    MyFree(yy_conf->name);
1006 –    DupString(yy_conf->name, yylval.string);
1007 –  }
1008 – };
1009 –
1001   oper_user: USER '=' QSTRING ';'
1002   {
1003    if (conf_parser_ctx.pass == 2)
# Line 1028 | Line 1019 | oper_user: USER '=' QSTRING ';'
1019      {
1020        DupString(yy_aconf->user, userbuf);
1021        DupString(yy_aconf->host, hostbuf);
1022 +
1023 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
1024 +                                    &yy_aconf->bits);
1025      }
1026      else
1027      {
# Line 1292 | Line 1286 | class_entry: CLASS
1286      yy_conf = make_conf_item(CLASS_TYPE);
1287      yy_class = map_to_conf(yy_conf);
1288    }
1289 < } class_name_b '{' class_items '}' ';'
1289 > } '{' class_items '}' ';'
1290   {
1291    if (conf_parser_ctx.pass == 1)
1292    {
# Line 1303 | Line 1297 | class_entry: CLASS
1297        delete_conf_item(yy_conf);
1298      else
1299      {
1300 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
1300 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
1301  
1302        if (cconf != NULL)                /* The class existed already */
1303        {
# Line 1335 | Line 1329 | class_entry: CLASS
1329    }
1330   };
1331  
1338 – class_name_b: | class_name_t;
1339 –
1332   class_items:    class_items class_item | class_item;
1333   class_item:     class_name |
1334                  class_cidr_bitlen_ipv4 | class_cidr_bitlen_ipv6 |
# Line 1361 | Line 1353 | class_name: NAME '=' QSTRING ';'
1353    }
1354   };
1355  
1364 – class_name_t: QSTRING
1365 – {
1366 –  if (conf_parser_ctx.pass == 1)
1367 –  {
1368 –    MyFree(yy_class_name);
1369 –    DupString(yy_class_name, yylval.string);
1370 –  }
1371 – };
1372 –
1356   class_ping_time: PING_TIME '=' timespec ';'
1357   {
1358    if (conf_parser_ctx.pass == 1)
# Line 2054 | Line 2037 | connect_entry: CONNECT
2037      MyFree(class_name);
2038      class_name = NULL;
2039    }
2040 < } connect_name_b '{' connect_items '}' ';'
2040 > } '{' connect_items '}' ';'
2041   {
2042    if (conf_parser_ctx.pass == 2)
2043    {
# Line 2182 | Line 2165 | connect_entry: CONNECT
2165    }
2166   };
2167  
2185 – connect_name_b: | connect_name_t;
2168   connect_items:  connect_items connect_item | connect_item;
2169   connect_item:   connect_name | connect_host | connect_vhost |
2170                  connect_send_password | connect_accept_password |
# Line 2196 | Line 2178 | connect_name: NAME '=' QSTRING ';'
2178   {
2179    if (conf_parser_ctx.pass == 2)
2180    {
2199 –    if (yy_conf->name != NULL)
2200 –      yyerror("Multiple connect name entry");
2201 –
2202 –    MyFree(yy_conf->name);
2203 –    DupString(yy_conf->name, yylval.string);
2204 –  }
2205 – };
2206 –
2207 – connect_name_t: QSTRING
2208 – {
2209 –  if (conf_parser_ctx.pass == 2)
2210 –  {
2181      if (yy_conf->name != NULL)
2182        yyerror("Multiple connect name entry");
2183  

Diff Legend

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