]> jfr.im git - irc/quakenet/newserv.git/blobdiff - ticketauth/ticketauth.c
Fix various compliation issues when no DB api is available.
[irc/quakenet/newserv.git] / ticketauth / ticketauth.c
index b06fceddea0739591cf0ebdb2ea7dc872dcc0203..e0a6418b91de9f0ca3d8c2435623205362ce48c4 100644 (file)
@@ -14,6 +14,9 @@
 #include "../core/hooks.h"
 #include "../irc/irc.h"
 
+#define CS_NODB
+#include "../chanserv/chanserv.h"
+
 #define WARN_CHANNEL "#twilightzone"
 
 MODULE_VERSION("");
@@ -22,7 +25,7 @@ sstring *sharedsecret = NULL;
 
 int ta_ticketauth(void *source, int cargc, char **cargv) {
   nick *np = (nick *)source;
-  char buffer[1024], *uhmac, *acc, *junk;
+  char buffer[1024], *uhmac, *acc, *junk, *flags;
   unsigned char digest[32];
   int expiry, acclen, id;
   hmacsha256 hmac;
@@ -33,15 +36,16 @@ int ta_ticketauth(void *source, int cargc, char **cargv) {
     return CMD_ERROR;
   }
 
-  if(cargc != 5)
+  if(cargc != 6)
     return CMD_USAGE;
 
   acc = cargv[0];
   expiry = atoi(cargv[1]);
   id = atoi(cargv[2]);
   acclen = strlen(acc);
-  junk = cargv[3];
-  uhmac = cargv[4];
+  flags = cargv[3];
+  junk = cargv[4];
+  uhmac = cargv[5];
 
   if((acclen <= 1) || (acclen > ACCOUNTLEN)) {
     controlreply(np, "Bad account.");
@@ -76,7 +80,7 @@ int ta_ticketauth(void *source, int cargc, char **cargv) {
 
   controlreply(np, "Ticket valid, authing. . .");
 
-  localusersetaccountwithuserid(np, acc, id);
+  localusersetaccount(np, acc, id, 0, cs_accountflagmap_str(flags));
 
   controlreply(np, "Done.");
   return CMD_OK;