]>
jfr.im git - irc/quakenet/newserv.git/blob - chanserv/chanserv_relay.c
2 #include "../control/control.h"
3 #include "../lib/version.h"
5 MODULE_VERSION(QVERSION
);
7 int csa_docheckhashpass(void *source
, int cargc
, char **cargv
);
10 registercontrolhelpcmd("checkhashpass", NO_RELAY
, 3, csa_docheckhashpass
, "Usage: checkhashpass <username> <digest> ?junk?");
14 deregistercontrolcmd("checkhashpass", csa_docheckhashpass
);
17 int csa_docheckhashpass(void *source
, int cargc
, char **cargv
) {
18 nick
*sender
=(nick
*)source
;
23 controlreply(sender
, "CHECKHASHPASS FAIL args");
27 if (!(rup
=findreguserbynick(cargv
[0]))) {
28 controlreply(sender
, "CHECKHASHPASS FAIL user");
32 flags
= printflags(QUFLAG_ALL
& rup
->flags
, ruflags
);
33 if(UHasSuspension(rup
)) {
34 controlreply(sender
, "CHECKHASHPASS FAIL suspended %s %s %u", rup
->username
, flags
, rup
->ID
);
35 } else if(!checkhashpass(rup
, cargc
<3?NULL
:cargv
[2], cargv
[1])) {
36 controlreply(sender
, "CHECKHASHPASS FAIL digest %s %s %u", rup
->username
, flags
, rup
->ID
);
38 controlreply(sender
, "CHECKHASHPASS OK %s %s %u %s", rup
->username
, flags
, rup
->ID
, rup
->email
?rup
->email
->content
:"-");