summaryrefslogtreecommitdiff
path: root/src/core/ns_getpass.c
diff options
context:
space:
mode:
authorrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2006-10-17 20:42:40 +0000
committerrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2006-10-17 20:42:40 +0000
commit9bf8366451b60148699657ed966c0913fbae9465 (patch)
tree3a48a1aaa582ec259657ff1029dd691b3a99fb92 /src/core/ns_getpass.c
parent3dbe219758f5c9712a5c1935d85be1434cf0eee8 (diff)
BUILD : 1.7.17 (1185) BUGS : N/A NOTES : Encryption now offers the choice of none, old and md5 - the md5 module is nicely taken from irc-services and actaully works, yes, real md5, in anope, wow eh?
git-svn-id: svn://svn.anope.org/anope/trunk@1185 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@905 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/core/ns_getpass.c')
-rw-r--r--src/core/ns_getpass.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/core/ns_getpass.c b/src/core/ns_getpass.c
index afacd63a9..4a526a10a 100644
--- a/src/core/ns_getpass.c
+++ b/src/core/ns_getpass.c
@@ -39,11 +39,7 @@ int AnopeInit(int argc, char **argv)
moduleSetNickHelp(myNickServHelp);
-#ifdef USE_ENCRYPTION
- return MOD_STOP;
-#else
return MOD_CONT;
-#endif
}
/**
@@ -73,6 +69,7 @@ void myNickServHelp(User * u)
int do_getpass(User * u)
{
char *nick = strtok(NULL, " ");
+ char tmp_pass[PASSMAX];
NickAlias *na;
NickRequest *nr = NULL;
@@ -99,13 +96,17 @@ int do_getpass(User * u)
} else if (NSRestrictGetPass && !is_services_root(u)) {
notice_lang(s_NickServ, u, PERMISSION_DENIED);
} else {
- alog("%s: %s!%s@%s used GETPASS on %s", s_NickServ, u->nick,
- u->username, u->host, nick);
- if (WallGetpass)
- anope_cmd_global(s_NickServ, "\2%s\2 used GETPASS on \2%s\2",
- u->nick, nick);
- notice_lang(s_NickServ, u, NICK_GETPASS_PASSWORD_IS, nick,
- na->nc->pass);
+ if(enc_decrypt(na->nc->pass,tmp_pass,PASSMAX)==1) {
+ alog("%s: %s!%s@%s used GETPASS on %s", s_NickServ, u->nick,
+ u->username, u->host, nick);
+ if (WallGetpass)
+ anope_cmd_global(s_NickServ, "\2%s\2 used GETPASS on \2%s\2",
+ u->nick, nick);
+ notice_lang(s_NickServ, u, NICK_GETPASS_PASSWORD_IS, nick,
+ na->nc->pass);
+ } else {
+ notice_lang(s_NickServ, u, NICK_GETPASS_UNAVAILABLE);
+ }
}
return MOD_CONT;
}