added gnutls backend and moved backend code into new files
[ircu2.10.12-pk.git] / ircd / m_account.c
index 9a7cfe817e76977af5a9b7dc91467df76594a520..5040a528333ee6c090b5d319ec641653bc79b9c3 100644 (file)
 
 #include "client.h"
 #include "ircd.h"
+#include "ircd_log.h"
 #include "ircd_reply.h"
 #include "ircd_string.h"
 #include "msg.h"
 #include "numnicks.h"
+#include "s_debug.h"
 #include "s_user.h"
 #include "send.h"
 
-#include <assert.h>
+/* #include <assert.h> -- Now using assert in ircd_log.h */
+#include <stdlib.h>
 #include <string.h>
 
 /*
@@ -126,11 +129,20 @@ int ms_account(struct Client* cptr, struct Client* sptr, int parc,
                               "Received account (%s) longer than %d for %s; "
                               "ignoring.",
                               parv[2], ACCOUNTLEN, cli_name(acptr));
+
+  if (parc > 3) {
+    cli_user(acptr)->acc_create = atoi(parv[3]);
+    Debug((DEBUG_DEBUG, "Received timestamped account: account \"%s\", "
+           "timestamp %Tu", parv[2], cli_user(acptr)->acc_create));
+  }
+
   ircd_strncpy(cli_user(acptr)->account, parv[2], ACCOUNTLEN);
   hide_hostmask(acptr, FLAG_ACCOUNT);
 
-  sendcmdto_serv_butone(sptr, CMD_ACCOUNT, cptr, "%C %s", acptr,
-                       cli_user(acptr)->account);
+  sendcmdto_serv_butone(sptr, CMD_ACCOUNT, cptr,
+                        cli_user(acptr)->acc_create ? "%C %s %Tu" : "%C %s",
+                        acptr, cli_user(acptr)->account,
+                        cli_user(acptr)->acc_create);
 
   return 0;
 }