From 9157c1917730c18780f2bf01b6e633b86386384c Mon Sep 17 00:00:00 2001 From: pk910 Date: Tue, 13 Dec 2011 23:43:40 +0100 Subject: [PATCH] added channel mode +S (SSLCHAN) --- src/hash.h | 1 + src/proto-p10.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/hash.h b/src/hash.h index e622975..dd22ad3 100644 --- a/src/hash.h +++ b/src/hash.h @@ -49,6 +49,7 @@ #define MODE_ACCESS 0x200000 /* +a */ #define MODE_NOFLOOD 0x400000 /* +f */ #define MODE_AUDITORIUM 0x800000 /* +u */ +#define MODE_SSLCHAN 0x1000000 /* +S */ #define MODE_REMOVE 0x80000000 #define FLAGS_OPER 0x0001 /* +o global operator */ diff --git a/src/proto-p10.c b/src/proto-p10.c index e5c190a..c48d21b 100644 --- a/src/proto-p10.c +++ b/src/proto-p10.c @@ -2584,6 +2584,7 @@ mod_chanmode_parse(struct chanNode *channel, struct userNode *user, char **modes case 'M': do_chan_mode(MODE_NOAMSGS); break; case 'N': do_chan_mode(MODE_NONOTICES); break; case 'u': do_chan_mode(MODE_AUDITORIUM); break; + case 'S': do_chan_mode(MODE_SSLCHAN); break; case 'i': do_chan_mode(MODE_INVITEONLY); break; case 'm': do_chan_mode(MODE_MODERATED); break; case 'n': do_chan_mode(MODE_NOPRIVMSGS); break; @@ -2893,6 +2894,7 @@ mod_chanmode_announce(struct userNode *who, struct chanNode *channel, struct mod DO_MODE_CHAR(NONOTICES, 'N'); DO_MODE_CHAR(NOAMSGS, 'M'); DO_MODE_CHAR(AUDITORIUM, 'u'); + DO_MODE_CHAR(SSLCHAN, 'S'); DO_MODE_CHAR(REGISTERED, 'z'); #undef DO_MODE_CHAR if (change->modes_clear & channel->modes & MODE_KEY) @@ -2939,6 +2941,7 @@ mod_chanmode_announce(struct userNode *who, struct chanNode *channel, struct mod DO_MODE_CHAR(NONOTICES, 'N'); DO_MODE_CHAR(NOAMSGS, 'M'); DO_MODE_CHAR(AUDITORIUM, 'u'); + DO_MODE_CHAR(SSLCHAN, 'S'); DO_MODE_CHAR(REGISTERED, 'z'); #undef DO_MODE_CHAR if(change->modes_set & MODE_KEY) @@ -3018,6 +3021,7 @@ mod_chanmode_format(struct mod_chanmode *change, char *outbuff) DO_MODE_CHAR(NONOTICES, 'N'); DO_MODE_CHAR(NOAMSGS, 'M'); DO_MODE_CHAR(AUDITORIUM, 'u'); + DO_MODE_CHAR(SSLCHAN, 'S'); DO_MODE_CHAR(REGISTERED, 'z'); #undef DO_MODE_CHAR } @@ -3037,6 +3041,7 @@ mod_chanmode_format(struct mod_chanmode *change, char *outbuff) DO_MODE_CHAR(NONOTICES, 'N'); DO_MODE_CHAR(NOAMSGS, 'M'); DO_MODE_CHAR(AUDITORIUM, 'u'); + DO_MODE_CHAR(SSLCHAN, 'S'); DO_MODE_CHAR(REGISTERED, 'z'); DO_MODE_CHAR(LIMIT, 'l'), args_used += sprintf(args + args_used, " %d", change->new_limit); DO_MODE_CHAR(KEY, 'k'), args_used += sprintf(args + args_used, " %s", change->new_key); @@ -3102,6 +3107,7 @@ clear_chanmode(struct chanNode *channel, const char *modes) case 'C': cleared |= MODE_NOCTCPS; break; case 'M': cleared |= MODE_NOAMSGS; break; case 'u': cleared |= MODE_AUDITORIUM; break; + case 'S': cleared |= MODE_SSLCHAN; break; case 'N': cleared |= MODE_NONOTICES; break; case 'z': cleared |= MODE_REGISTERED; break; } -- 2.20.1