]>
jfr.im git - irc/quakenet/newserv.git/blob - chanserv/authcmds/requestpassword.c
1 /* Automatically generated by refactor.pl.
4 * CMDNAME: requestpassword
5 * CMDALIASES: requestpass
6 * CMDLEVEL: QCMD_NOTAUTHED
8 * CMDDESC: Requests the current password by email.
10 * CMDPROTO: int csa_doreqpw(void *source, int cargc, char **cargv);
11 * CMDHELP: Usage: @UCOMMAND@ <email>
12 * CMDHELP: Sends your current password to your registered email address, where:
13 * CMDHELP: email - your registered email address
16 #include "../chanserv.h"
17 #include "../authlib.h"
18 #include "../../lib/irc_string.h"
22 int csa_doreqpw(void *source
, int cargc
, char **cargv
) {
28 chanservstdmessage(sender
, QM_NOTENOUGHPARAMS
, "requestpassword");
32 for (i
=0;i
<REGUSERHASHSIZE
;i
++) {
33 for (rup
=regusernicktable
[i
];rup
;rup
=rup
->nextbyname
) {
34 if(!rup
->email
|| strcasecmp(cargv
[0],rup
->email
->content
))
37 if(UHasStaffPriv(rup
)) {
38 cs_log(sender
,"REQUESTPASSWORD FAIL privileged email %s",cargv
[0]);
44 if(csa_checkthrottled(sender
, rup
, "REQUESTPASSWORD"))
47 rup
->lastemailchange
=time(NULL
);
51 csdb_createmail(rup
, QMAIL_REQPW
);
53 csdb_createmail(rup
, QMAIL_NEWACCOUNT
); /* user hasn't authed yet and needs to do the captcha */
56 cs_log(sender
,"REQUESTPASSWORD OK username %s email %s", rup
->username
,rup
->email
->content
);
57 chanservstdmessage(sender
, QM_MAILQUEUED
);
62 cs_log(sender
,"REQUESTPASSWORD FAIL email %s",cargv
[0]);
63 chanservstdmessage(sender
, QM_BADEMAIL
);
66 chanservstdmessage(sender
, QM_DONE
);