X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_sslmodes.cpp;h=d2a8f6fb14a33142cd13ddd93f2dd20f8e5ccbcd;hb=2330fc9ddd48c939e894e7e37e9bb2e62eafc38d;hp=97576795aa05eb33343ce2d8e41580ea3acf41ca;hpb=9dd72b7003963d868a23da930a91300b49ab4959;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_sslmodes.cpp b/src/modules/m_sslmodes.cpp index 97576795a..d2a8f6fb1 100644 --- a/src/modules/m_sslmodes.cpp +++ b/src/modules/m_sslmodes.cpp @@ -5,10 +5,13 @@ /* $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) { @@ -19,7 +22,7 @@ class SSLMode : public ModeHandler 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; @@ -57,7 +60,7 @@ class ModuleSSLModes : public Module { Srv = Me; - sslm = new SSLMode(); + sslm = new SSLMode(Me); Srv->AddMode(sslm, 'z'); } @@ -75,7 +78,7 @@ class ModuleSSLModes : public Module { if(chan && chan->IsModeSet('z')) { - if(user->GetExt("ssl")) + if(user->GetExt("ssl", dummy)) { // Let them in return 0;