diff options
Diffstat (limited to 'src/conf_parser.y')
-rw-r--r-- | src/conf_parser.y | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/conf_parser.y b/src/conf_parser.y index 3534931..3a1948b 100644 --- a/src/conf_parser.y +++ b/src/conf_parser.y @@ -51,6 +51,7 @@ #include "numeric.h" #include "s_user.h" #include "motd.h" +#include "channel_mode.h" #ifdef HAVE_LIBCRYPTO #include <openssl/rsa.h> @@ -162,6 +163,7 @@ reset_block_state(void) %token CONNECTFREQ %token CYCLE_ON_HOST_CHANGE %token DEFAULT_FLOODCOUNT +%token DEFAULT_MODES %token DEFAULT_SPLIT_SERVER_COUNT %token DEFAULT_SPLIT_USER_COUNT %token DENY @@ -308,17 +310,22 @@ reset_block_state(void) %token T_FULL %token T_GLOBOPS %token T_INVISIBLE +%token T_INVITEONLY %token T_IPV4 %token T_IPV6 %token T_LOCOPS %token T_LOG %token T_MAX_CLIENTS +%token T_MODERATED %token T_NCHANGE %token T_NONONREG +%token T_NOPRIVMSGS %token T_OPERWALL +%token T_PRIVATE %token T_RECVQ %token T_REJ %token T_RESTART +%token T_SECRET %token T_SERVER %token T_SERVICE %token T_SERVICES_NAME @@ -335,6 +342,7 @@ reset_block_state(void) %token T_SSL_SERVER_METHOD %token T_SSLV3 %token T_TLSV1 +%token T_TOPICLIMIT %token T_UMODES %token T_UNAUTH %token T_UNDLINE @@ -2878,7 +2886,8 @@ channel_item: channel_max_bans | channel_no_create_on_split | channel_no_join_on_split | channel_jflood_count | channel_jflood_time | - channel_disable_fake_channels | error; + channel_disable_fake_channels | channel_default_modes | + error; channel_disable_fake_channels: DISABLE_FAKE_CHANNELS '=' TBOOL ';' { @@ -2940,6 +2949,32 @@ channel_jflood_time: JOIN_FLOOD_TIME '=' timespec ';' GlobalSetOptions.joinfloodtime = $3; }; +channel_default_modes: DEFAULT_MODES +{ + ConfigChannel.default_modes = 0; +} '=' channel_default_mode_items ';' ; + +channel_default_mode_items: channel_default_mode_items ',' channel_default_mode_item | channel_default_mode_item; +channel_default_mode_item: T_PRIVATE +{ + ConfigChannel.default_modes |= MODE_PRIVATE; +} | T_SECRET +{ + ConfigChannel.default_modes |= MODE_SECRET; +} | T_MODERATED +{ + ConfigChannel.default_modes |= MODE_MODERATED; +} | T_TOPICLIMIT +{ + ConfigChannel.default_modes |= MODE_TOPICLIMIT; +} | T_INVITEONLY +{ + ConfigChannel.default_modes |= MODE_INVITEONLY; +} | T_NOPRIVMSGS +{ + ConfigChannel.default_modes |= MODE_NOPRIVMSGS; +}; + /*************************************************************************** * section serverhide ***************************************************************************/ |