]> jfr.im git - irc/quakenet/newserv.git/blame - chanserv/authcmds/setpassword.c
Purge all references to localtime.
[irc/quakenet/newserv.git] / chanserv / authcmds / setpassword.c
CommitLineData
1dd6d55d 1/* Automatically generated by refactor.pl.
2 *
3 *
4 * CMDNAME: setpassword
5 * CMDLEVEL: QCMD_OPER
6 * CMDARGS: 2
7 * CMDDESC: Set a new password.
8 * CMDFUNC: csa_dosetpw
9 * CMDPROTO: int csa_dosetpw(void *source, int cargc, char **cargv);
85174237
CP
10 * CMDHELP: Usage: setpassword <username> <password>
11 * CMDHELP: Sets the password for the specified username.
1dd6d55d 12 */
13
14#include "../chanserv.h"
15#include "../authlib.h"
16#include "../../lib/irc_string.h"
17#include <stdio.h>
18#include <string.h>
19
20int csa_dosetpw(void *source, int cargc, char **cargv) {
1dd6d55d 21 nick *sender=source;
1232a729 22 reguser *rup, *vrup=getreguserfromnick(sender);
1dd6d55d 23
24 if (cargc<2) {
25 chanservstdmessage(sender, QM_NOTENOUGHPARAMS, "setpassword");
26 return CMD_ERROR;
27 }
28
29 if (!(rup=findreguser(sender, cargv[0])))
30 return CMD_ERROR;
31
1232a729
CP
32 if(UHasHelperPriv(rup)) {
33 cs_log(sender,"GETPASSWORD FAILED username %s",rup->username);
34 chanservwallmessage("%s (%s) just FAILED using SETPASSWORD on %s", sender->nick, vrup->username, rup->username);
35 chanservsendmessage(sender, "Sorry, that user is privileged.");
36 return CMD_ERROR;
37 }
38
39 cs_log(sender,"SETPASSWORD OK username %s",rup->username);
40 chanservwallmessage("%s (%s) just used SETPASSWORD on %s", sender->nick, vrup->username, rup->username);
41
30a66d6c
CP
42 if(rup->lastemail) {
43 freesstring(rup->lastemail);
44 rup->lastemail=NULL;
45 }
46 rup->lockuntil=0;
1dd6d55d 47 strncpy(rup->password,cargv[1],PASSLEN);
48 rup->password[PASSLEN]='\0';
1dd6d55d 49 csdb_updateuser(rup);
50
1232a729
CP
51 chanservstdmessage(sender, QM_PWCHANGED);
52
1dd6d55d 53 return CMD_OK;
54}