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 -----------------------