summaryrefslogtreecommitdiff
path: root/src/core/cs_set.c
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-10-30 02:38:06 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-10-30 02:38:06 +0000
commit987f371c0bd02120e9ed8740b064e9fa02b83876 (patch)
tree26c031410f13d638670096ca219d59c6c19d306e /src/core/cs_set.c
parent6a9fa9f4d2ead592eb51a014491ce3aaee2029e8 (diff)
Removed channel passwords and added /chanserv QOP command to add additional channel founders, aswell as access level 10000
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2599 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/core/cs_set.c')
-rw-r--r--src/core/cs_set.c66
1 files changed, 9 insertions, 57 deletions
diff --git a/src/core/cs_set.c b/src/core/cs_set.c
index 716144d2c..17955dbf2 100644
--- a/src/core/cs_set.c
+++ b/src/core/cs_set.c
@@ -96,44 +96,6 @@ class CommandCSSet : public Command
return MOD_CONT;
}
- CommandReturn DoSetPassword(User * u, ChannelInfo * ci, const char *param)
- {
- int len = strlen(param);
-
- if (stricmp(u->nick, param) == 0 || (StrictPasswords && len < 5)) {
- notice_lang(s_ChanServ, u, MORE_OBSCURE_PASSWORD);
- return MOD_CONT;
- }
-
- if (enc_encrypt_check_len(len ,PASSMAX - 1)) {
- notice_lang(s_ChanServ, u, PASSWORD_TOO_LONG);
- return MOD_CONT;
- }
-
- if (enc_encrypt(param, len, ci->founderpass, PASSMAX -1) < 0) {
- alog("%s: Failed to encrypt password for %s (set)", s_ChanServ,
- ci->name);
- notice_lang(s_ChanServ, u, CHAN_SET_PASSWORD_FAILED);
- return MOD_CONT;
- }
-
- notice_lang(s_ChanServ, u, CHAN_PASSWORD_CHANGED, ci->name);
-
- if (get_access(u, ci) < ACCESS_FOUNDER) {
- alog("%s: %s!%s@%s set password as Services admin for %s",
- s_ChanServ, u->nick, u->GetIdent().c_str(), u->host, ci->name);
- if (WallSetpass)
- ircdproto->SendGlobops(s_ChanServ,
- "\2%s\2 set password as Services admin for channel \2%s\2",
- u->nick, ci->name);
- } else {
- alog("%s: %s!%s@%s changed password of %s (founder: %s)",
- s_ChanServ, u->nick, u->GetIdent().c_str(), u->host,
- ci->name, ci->founder->display);
- }
- return MOD_CONT;
- }
-
CommandReturn DoSetDesc(User * u, ChannelInfo * ci, const char *param)
{
if (ci->desc)
@@ -476,7 +438,9 @@ class CommandCSSet : public Command
/* This will probably cause wrong levels to be set, but hey,
* it's better than losing it altogether.
*/
- if (CHECKLEV(CA_AKICK) || CHECKLEV(CA_SET)) {
+ if (access->level == ACCESS_QOP) {
+ access->level = ACCESS_QOP;
+ } else if (CHECKLEV(CA_AKICK) || CHECKLEV(CA_SET)) {
access->level = ACCESS_SOP;
} else if (CHECKLEV(CA_AUTOOP) || CHECKLEV(CA_OPDEOP)
|| CHECKLEV(CA_OPDEOPME)) {
@@ -578,9 +542,9 @@ class CommandCSSet : public Command
else if (cmd == "FOUNDER") {
if (!is_servadmin
&& (ci->
- flags & CI_SECUREFOUNDER ? !is_real_founder(u,
+ flags & CI_SECUREFOUNDER ? !IsRealFounder(u,
ci) :
- !is_founder(u, ci))) {
+ !IsFounder(u, ci))) {
notice_lang(s_ChanServ, u, ACCESS_DENIED);
} else {
DoSetFounder(u, ci, param);
@@ -588,23 +552,13 @@ class CommandCSSet : public Command
} else if (cmd == "SUCCESSOR") {
if (!is_servadmin
&& (ci->
- flags & CI_SECUREFOUNDER ? !is_real_founder(u,
+ flags & CI_SECUREFOUNDER ? !IsRealFounder(u,
ci) :
- !is_founder(u, ci))) {
+ !IsFounder(u, ci))) {
notice_lang(s_ChanServ, u, ACCESS_DENIED);
} else {
DoSetSuccessor(u, ci, param);
}
- } else if (cmd == "PASSWORD") {
- if (!is_servadmin
- && (ci->
- flags & CI_SECUREFOUNDER ? !is_real_founder(u,
- ci) :
- !is_founder(u, ci))) {
- notice_lang(s_ChanServ, u, ACCESS_DENIED);
- } else {
- DoSetPassword(u, ci, param);
- }
} else if (cmd == "DESC") {
DoSetDesc(u, ci, param);
} else if (cmd == "URL") {
@@ -630,9 +584,9 @@ class CommandCSSet : public Command
} else if (cmd == "SECUREFOUNDER") {
if (!is_servadmin
&& (ci->
- flags & CI_SECUREFOUNDER ? !is_real_founder(u,
+ flags & CI_SECUREFOUNDER ? !IsRealFounder(u,
ci) :
- !is_founder(u, ci))) {
+ !IsFounder(u, ci))) {
notice_lang(s_ChanServ, u, ACCESS_DENIED);
} else {
DoSetSecureFounder(u, ci, param);
@@ -674,8 +628,6 @@ class CommandCSSet : public Command
notice_help(s_ChanServ, u, CHAN_HELP_SET_FOUNDER);
else if (subcommand == "SUCCESSOR")
notice_help(s_ChanServ, u, CHAN_HELP_SET_SUCCESSOR);
- else if (subcommand == "PASSWORD")
- notice_help(s_ChanServ, u, CHAN_HELP_SET_PASSWORD);
else if (subcommand == "DESC")
notice_help(s_ChanServ, u, CHAN_HELP_SET_DESC);
else if (subcommand == "URL")