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/trunk/src/conf_parser.y (file contents):
Revision 1857 by michael, Wed Apr 24 19:26:23 2013 UTC vs.
Revision 1858 by michael, Thu Apr 25 15:00:52 2013 UTC

# Line 208 | Line 208 | reset_block_state(void)
208   %token  LINKS_DELAY
209   %token  LISTEN
210   %token  T_LOG
211 + %token  MASK
212   %token  MAX_ACCEPT
213   %token  MAX_BANS
214   %token  MAX_CHANS_PER_OPER
# Line 267 | Line 268 | reset_block_state(void)
268   %token  REHASH
269   %token  REMOTE
270   %token  REMOTEBAN
270 – %token  RESTRICT_CHANNELS
271   %token  RSA_PRIVATE_KEY_FILE
272   %token  RSA_PUBLIC_KEY_FILE
273   %token  SSL_CERTIFICATE_FILE
# Line 1717 | Line 1717 | resv_entry: RESV
1717    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
1718   } '{' resv_items '}' ';'
1719   {
1720 <  if (IsChanPrefix(block_state.name.buf[0]))
1721 <    create_channel_resv(block_state.name.buf, block_state.rpass.buf);
1722 <  else if (block_state.name.buf[0])
1723 <    create_nick_resv(block_state.name.buf, block_state.rpass.buf);
1720 >  if (conf_parser_ctx.pass != 2)
1721 >    break;
1722 >
1723 >  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
1724   };
1725  
1726   resv_items:     resv_items resv_item | resv_item;
1727 < resv_item:      resv_reason | resv_channel | resv_nick | error ';' ;
1727 > resv_item:      resv_mask | resv_reason | resv_exempt | error ';' ;
1728  
1729 < resv_reason: REASON '=' QSTRING ';'
1729 > resv_mask: MASK '=' QSTRING ';'
1730   {
1731    if (conf_parser_ctx.pass == 2)
1732 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
1732 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
1733   };
1734  
1735 < resv_channel: CHANNEL '=' QSTRING ';'
1735 > resv_reason: REASON '=' QSTRING ';'
1736   {
1737    if (conf_parser_ctx.pass == 2)
1738 <    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
1738 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
1739   };
1740  
1741 < resv_nick: NICK '=' QSTRING ';'
1741 > resv_exempt: EXEMPT '=' QSTRING ';'
1742   {
1743    if (conf_parser_ctx.pass == 2)
1744 <    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
1744 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
1745   };
1746  
1747 +
1748   /***************************************************************************
1749   *  section service
1750   ***************************************************************************/
# Line 2841 | Line 2842 | channel_item:       channel_max_bans |
2842                      channel_max_chans_per_user | channel_max_chans_per_oper |
2843                      channel_quiet_on_ban | channel_default_split_user_count |
2844                      channel_default_split_server_count |
2845 <                    channel_no_create_on_split | channel_restrict_channels |
2845 >                    channel_no_create_on_split |
2846                      channel_no_join_on_split |
2847                      channel_jflood_count | channel_jflood_time |
2848                      channel_disable_fake_channels | error;
# Line 2851 | Line 2852 | channel_disable_fake_channels: DISABLE_F
2852    ConfigChannel.disable_fake_channels = yylval.number;
2853   };
2854  
2854 – channel_restrict_channels: RESTRICT_CHANNELS '=' TBOOL ';'
2855 – {
2856 –  ConfigChannel.restrict_channels = yylval.number;
2857 – };
2858 –
2855   channel_knock_delay: KNOCK_DELAY '=' timespec ';'
2856   {
2857    ConfigChannel.knock_delay = $3;

Diff Legend

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