diff options
Diffstat (limited to 'src/modules/m_sslmodes.cpp')
-rw-r--r-- | src/modules/m_sslmodes.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/modules/m_sslmodes.cpp b/src/modules/m_sslmodes.cpp index 673c30536..0d4b0e515 100644 --- a/src/modules/m_sslmodes.cpp +++ b/src/modules/m_sslmodes.cpp @@ -19,13 +19,16 @@ class SSLMode : public ModeHandler { if (!channel->IsModeSet('z')) { - chanuserlist userlist = Srv->GetUsers(channel); - for(unsigned int i = 0; i < userlist.size(); i++) + if (IS_LOCAL(source)) { - if(!userlist[i]->GetExt("ssl", dummy)) + CUList* userlist = channel->GetUsers(); + for(CUList::iterator i = userlist->begin(); i != userlist->end(); i++) { - source->WriteServ("490 %s %s :all members of the channel must be connected via SSL", source->nick, channel->name); - return MODEACTION_DENY; + if(!i->second->GetExt("ssl", dummy)) + { + source->WriteServ("490 %s %s :all members of the channel must be connected via SSL", source->nick, channel->name); + return MODEACTION_DENY; + } } } channel->SetMode('z',true); |