/* $ModDesc: Provides support for unreal-style channel mode +z */
+static char* dummy;
+
class SSLMode : public ModeHandler
{
+ Server* Srv;
public:
- SSLMode() : ModeHandler('z', 0, 0, false, MODETYPE_CHANNEL, false) { }
+ SSLMode(Server* s) : ModeHandler('z', 0, 0, false, MODETYPE_CHANNEL, false), Srv(s) { }
ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding)
{
chanuserlist userlist = Srv->GetUsers(channel);
for(unsigned int i = 0; i < userlist.size(); i++)
{
- if(!userlist[i]->GetExt("ssl"))
+ if(!userlist[i]->GetExt("ssl", dummy))
{
WriteServ(source->fd, "490 %s %s :all members of the channel must be connected via SSL", source->nick, channel->name);
return MODEACTION_DENY;
{
Srv = Me;
- sslm = new SSLMode();
+ sslm = new SSLMode(Me);
Srv->AddMode(sslm, 'z');
}
{
if(chan && chan->IsModeSet('z'))
{
- if(user->GetExt("ssl"))
+ if(user->GetExt("ssl", dummy))
{
// Let them in
return 0;