Committer  : isomer
CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Branch tags: u2_10_11_07
Commit time: 2004-08-30 21:32:39 UTC

Modified files:
  Tag: u2_10_11_07
     ChangeLog ircd/m_account.c

Log message:

Author: Isomer <[EMAIL PROTECTED]>
Log message:

Backout untested login-on-connect extensions, we'll relook at this issue for
2.10.12

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.290.2.130.2.13 ircu2.10/ChangeLog:1.290.2.130.2.14
--- ircu2.10/ChangeLog:1.290.2.130.2.13 Mon Aug 30 13:48:32 2004
+++ ircu2.10/ChangeLog  Mon Aug 30 14:32:26 2004
@@ -1,3 +1,7 @@
+2004-08-31  Isomer <[EMAIL PROTECTED]>
+       * ircd/m_account.c: Back out untested login-on-connect extensions,
+       we'll relook at these for .12
+
 2004-04-17  Isomer <[EMAIL PROTECTED]>
        * ircd/parse.c: Don't rate limit /gline messages
 
Index: ircu2.10/ircd/m_account.c
diff -u ircu2.10/ircd/m_account.c:1.1.2.4.8.2 ircu2.10/ircd/m_account.c:1.1.2.4.8.3
--- ircu2.10/ircd/m_account.c:1.1.2.4.8.2       Sun Jun 20 12:20:32 2004
+++ ircu2.10/ircd/m_account.c   Mon Aug 30 14:32:29 2004
@@ -19,7 +19,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: m_account.c,v 1.1.2.4.8.2 2004/06/20 19:20:32 decampos Exp $
+ * $Id: m_account.c,v 1.1.2.4.8.3 2004/08/30 21:32:29 isomer Exp $
  */
 
 /*
@@ -99,26 +99,12 @@
  *
  * parv[0] = sender prefix
  * parv[1] = numeric of client to act on
- * parv[2] = message sub-type
- *
- * for parv[2] == 'R' (remote auth):
- * parv[3] = account name (12 characters or less)
- * parv[4] = account TS (optional)
- *
- * for parv[2] == 'C' (auth check):
- * parv[3] = request id (transparent, uninterpreted string)
- * parv[4] = username
- * parv[parc-1] = password
- *
- * for parv[2] == 'A' (auth ok) or
- * for parv[2] == 'D' (auth denied):
- * parv[3] = request id (transparent, uninterpreted string)
+ * parv[2] = account name (12 characters or less)
  */
 int ms_account(struct Client* cptr, struct Client* sptr, int parc,
               char* parv[])
 {
   struct Client *acptr;
-  char type;
 
   if (parc < 3)
     return need_more_params(sptr, "ACCOUNT");
@@ -127,79 +113,33 @@
     return protocol_violation(cptr, "ACCOUNT from non-server %s",
                              cli_name(sptr));
 
-#if 1
-  /* XXX HACK -- remove when all servers understand the new syntax */
-  if (parc < 4) {
-    /* old-school message, remap it to 'R' */
-    parv[4] = NULL;
-    parv[3] = parv[2];
-    parv[2] = "R";
-    parc = 4;
-  } else if (parc == 4 && atoi(parv[3])) {
-    /* old-school message with timestamp, remap it to 'R' */
-    parv[5] = NULL;
-    parv[4] = parv[3];
-    parv[3] = parv[2];
-    parv[2] = "R";
-    parc = 5;
+  if (!(acptr = findNUser(parv[1])))
+    return 0; /* Ignore ACCOUNT for a user that QUIT; probably crossed */
+
+  if (IsAccount(acptr))
+    return protocol_violation(cptr, "ACCOUNT for already registered user %s "
+                             "(%s -> %s)", cli_name(acptr),
+                             cli_user(acptr)->account, parv[2]);
+
+  assert(0 == cli_user(acptr)->account[0]);
+
+  if (strlen(parv[2]) > ACCOUNTLEN) {
+    return protocol_violation(cptr, "Received account (%s) longer than %d for %s; 
ignoring.", parv[2], ACCOUNTLEN, cli_name(acptr));
   }
-#endif
 
-  type = parv[2][0];
-  if (type == 'R') {
-    if (!(acptr = findNUser(parv[1])))
-      return 0; /* Ignore ACCOUNT for a user that QUIT; probably crossed */
-
-    if (IsAccount(acptr))
-      return protocol_violation(cptr, "ACCOUNT for already registered user %s "
-                               "(%s -> %s)", cli_name(acptr),
-                               cli_user(acptr)->account, parv[3]);
-
-    assert(0 == cli_user(acptr)->account[0]);
-
-    if (strlen(parv[3]) > ACCOUNTLEN) {
-      return protocol_violation(cptr, "Received account (%s) longer than %d for %s; 
ignoring.", parv[3], ACCOUNTLEN, cli_name(acptr));
-    }
-
-    if (parc > 4) {
-      cli_user(acptr)->acc_create = atoi(parv[4]);
-      Debug((DEBUG_DEBUG, "Received timestamped account: account \"%s\", "
-            "timestamp %Tu", parv[3], cli_user(acptr)->acc_create));
-    }
-
-    ircd_strncpy(cli_user(acptr)->account, parv[3], ACCOUNTLEN);
-    hide_hostmask(acptr, FLAG_ACCOUNT);
-
-#if 1
-  /* remove when all servers understand the new syntax */
-    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);
-#else
-    sendcmdto_serv_butone(sptr, CMD_ACCOUNT, cptr,
-                         cli_user(acptr)->acc_create ? "%C R %s %Tu" : "%C R %s",
-                         acptr, cli_user(acptr)->account,
-                         cli_user(acptr)->acc_create);
-#endif
-  } else {
-    if (type == 'C' && parc < 6)
-      return need_more_params(sptr, "ACCOUNT");
-
-    if (!(acptr = findNUser(parv[1])) && !(acptr = FindNServer(parv[1])))
-      return 0; /* target not online, ignore */
-    
-    if (!IsMe(acptr)) {
-      /* in-transit message, forward it */
-      sendcmdto_one(sptr, CMD_ACCOUNT, acptr,
-                   type == 'C' ? "%C %s %s %s :%s" : "%C %s %s",
-                   acptr, parv[2], parv[3], parv[4], parv[parc-1]);
-      return 0;
-    }
-    
-    /* the message is for &me, process it */
-    return protocol_violation(cptr, "ACCOUNT sub-type '%s' not implemented.", 
parv[2]);
+  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,
+                       cli_user(acptr)->acc_create ? "%C %s %Tu" : "%C %s",
+                       acptr, cli_user(acptr)->account,
+                       cli_user(acptr)->acc_create);
+
   return 0;
 }
----------------------- End of diff -----------------------

Reply via email to