added channel mode +S (SSLCHAN)
authorpk910 <philipp@zoelle1.de>
Tue, 13 Dec 2011 22:43:40 +0000 (23:43 +0100)
committerpk910 <philipp@zoelle1.de>
Tue, 13 Dec 2011 22:43:40 +0000 (23:43 +0100)
src/hash.h
src/proto-p10.c

index e622975dba9d4a1a27d7c96a9737ea479179fc16..dd22ad3f1dd460a6f46ee1a3d85df448cf885777 100644 (file)
@@ -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 */
index e5c190a5f79b3b66843a9141d7b5d747fa00b2ca..c48d21b45125fc6431c1d3413e7b1c2f3c3c60f3 100644 (file)
@@ -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;
         }