]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Trustlog bugfixes.
authorGunnar Beutner <redacted>
Mon, 17 Jun 2013 06:42:45 +0000 (08:42 +0200)
committerGunnar Beutner <redacted>
Mon, 17 Jun 2013 06:42:45 +0000 (08:42 +0200)
--HG--
branch : shroudtrusts

trusts/trusts_db.c
trusts/trusts_management.c

index 3dc97557b0e862d189d0d260b3008c244ec51bff..5b3fe3f2f0007b90a49217dacee5a8145b2e06ea 100644 (file)
@@ -404,6 +404,13 @@ static void trustlogquery_callback(const struct DBAPIResult *result, void *arg)
     return;
   }
 
+  if(result->fields != 5) {
+    Error("trusts", ERR_ERROR, "Wrong number of fields in log table.");
+
+    result->clear(result);
+    return;
+  }
+
   while(result->next(result)) {
     unsigned int ts, groupid;
     char *groupname, *user, *message;
@@ -418,6 +425,8 @@ static void trustlogquery_callback(const struct DBAPIResult *result, void *arg)
     rows++;
   }
 
+  result->clear(result);
+
   controlreply(np, "--- Done. Found %d entries.", rows);
 }
 
@@ -438,7 +447,7 @@ void trustloggrep(nick *np, const char *pattern, unsigned int limit) {
   snprintf(buf, sizeof(buf), "%%%s%%", pattern);
 
   trustsdb->query(trustsdb, trustlogquery_callback, (void *)np,
-    "SELECT ts, groupid, username, message FROM ? WHERE message LIKE ? ORDER BY ts DESC LIMIT ?",
+    "SELECT ts, groupid, groupname, username, message FROM ? WHERE message LIKE ? ORDER BY ts DESC LIMIT ?",
     "Tsu", "log", buf, limit);
 }
 
index ca1195835a552b822da24c33cbdc29abb5d2b176..00063f0924ae72b1be4fe7f927338f16f653b210 100644 (file)
@@ -86,7 +86,7 @@ static int trusts_cmdtrustadd(void *source, int cargc, char **cargv) {
   triggerhook(HOOK_TRUSTS_ADDHOST, th);
 
   controlwall(NO_OPER, NL_TRUSTS, "%s TRUSTADD'ed host %s to group '%s'", controlid(sender), host, th->group->name->content);
-  trustlog(tg, controlid(sender), "Added host '%s'.", host);
+  trustlog(tg, sender->authname, "Added host '%s'.", host);
 
   return CMD_OK;
 }
@@ -182,7 +182,7 @@ static int trusts_cmdtrustgroupadd(void *source, int cargc, char **cargv) {
   triggerhook(HOOK_TRUSTS_ADDGROUP, tg);
 
   controlwall(NO_OPER, NL_TRUSTS, "%s TRUSTGROUPADD'ed '%s'", controlid(sender), tg->name->content);
-  trustlog(tg, controlid(sender), "Created trust group '%s' (ID #%d): howmany=%d, enforceident=%d, maxperident=%d, "
+  trustlog(tg, sender->authname, "Created trust group '%s' (ID #%d): howmany=%d, enforceident=%d, maxperident=%d, "
     "expires=%d, createdby=%s, contact=%s, comment=%s",
     tg->name->content, howmany, tg->id, enforceident, maxperident, expires, createdby, contact, comment);
 
@@ -208,7 +208,7 @@ static int trusts_cmdtrustgroupdel(void *source, int cargc, char **cargv) {
   }
 
   controlwall(NO_OPER, NL_TRUSTS, "%s TRUSTGROUPDEL'ed '%s'.", controlid(sender), tg->name->content);
-  trustlog(tg, controlid(sender), "Deleted group '%s'.", tg->name->content);
+  trustlog(tg, sender->authname, "Deleted group '%s'.", tg->name->content);
 
   triggerhook(HOOK_TRUSTS_DELGROUP, tg);
   tg_delete(tg);
@@ -253,7 +253,7 @@ static int trusts_cmdtrustdel(void *source, int cargc, char **cargv) {
   controlreply(sender, "Host deleted.");
 
   controlwall(NO_OPER, NL_TRUSTS, "%s TRUSTDEL'ed %s from group '%s'.", controlid(sender), host, tg->name->content);
-  trustlog(tg, controlid(sender), "Removed host '%s'.", host);
+  trustlog(tg, sender->authname, "Removed host '%s'.", host);
 
   return CMD_OK;
 }
@@ -376,7 +376,7 @@ static int trusts_cmdtrustgroupmodify(void *source, int cargc, char **cargv) {
   controlreply(sender, "Group modified.");
 
   controlwall(NO_OPER, NL_TRUSTS, "%s TRUSTMODIFIED'ed group '%s' (field: %s, value: %s)", controlid(sender), tg->name->content, what, to);
-  trustlog(tg, controlid(sender), "Modified %s: %s", what, to);
+  trustlog(tg, sender->authname, "Modified %s: %s", what, to);
 
   return CMD_OK;
 }
@@ -448,7 +448,7 @@ static int trusts_cmdtrustcomment(void *source, int cargc, char **cargv) {
   }
 
     controlwall(NO_OPER, NL_TRUSTS, "%s TRUSTCOMMENT'ed group '%s': %s", controlid(sender), tg->name->content, comment);
-  trustlog(tg, controlid(sender), "Comment: %s", comment);
+  trustlog(tg, sender->authname, "Comment: %s", comment);
 
   return CMD_OK;
 }