logo       

[CVS] Module ircu2.10: Change committed: msg#00012

Subject: [CVS] Module ircu2.10: Change committed
Committer  : entrope
CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Branch tags: u2_10_12_branch
Commit time: 2006-04-29 02:34:14 UTC

Modified files:
  Tag: u2_10_12_branch
     ircd/s_auth.c ChangeLog

Log message:

Fix new auth system timeout bugs (SF bug#1469462).

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.710.2.92 ircu2.10/ChangeLog:1.710.2.93
--- ircu2.10/ChangeLog:1.710.2.92       Fri Apr 28 19:21:56 2006
+++ ircu2.10/ChangeLog  Fri Apr 28 19:34:03 2006
@@ -1,5 +1,13 @@
 2006-04-28  Michael Poole <mdpoole@xxxxxxxxxxx>
 
+       * ircd/s_auth.c (AuthRequest): Clarify comment on 'timeout' field.
+       (check_auth_finished): Fix timeout update.
+       (destroy_auth_request): Only delete timer if it is active.
+       (auth_timeout_callback): Do not disconnect client on timeout, so
+       that the user can finish sending NICK/USER or doing iauth.
+
+2006-04-28  Michael Poole <mdpoole@xxxxxxxxxxx>
+
        * doc/example.conf (Admin): Fix documentation of which line can be
        listed twice.
 
Index: ircu2.10/ircd/s_auth.c
diff -u ircu2.10/ircd/s_auth.c:1.37.2.7 ircu2.10/ircd/s_auth.c:1.37.2.8
--- ircu2.10/ircd/s_auth.c:1.37.2.7     Thu Apr  6 21:00:31 2006
+++ ircu2.10/ircd/s_auth.c      Fri Apr 28 19:34:03 2006
@@ -31,7 +31,7 @@
  */
 /** @file
  * @brief Implementation of DNS and ident lookups.
- * @version $Id: s_auth.c,v 1.37.2.7 2006/04/07 04:00:31 entrope Exp $
+ * @version $Id: s_auth.c,v 1.37.2.8 2006/04/29 02:34:03 entrope Exp $
  */
 #include "config.h"
 
@@ -96,7 +96,7 @@
   struct irc_sockaddr local;      /**< local endpoint address */
   struct irc_in_addr  original;   /**< original client IP address */
   struct Socket       socket;     /**< socket descriptor for auth queries */
-  struct Timer        timeout;    /**< timeout timer for auth queries */
+  struct Timer        timeout;    /**< timeout timer for ident and dns queries 
*/
   struct AuthRequestFlags flags;  /**< current state of request */
   unsigned int        cookie;     /**< cookie the user must PONG */
   unsigned short      port;       /**< client's remote port number */
@@ -405,7 +405,7 @@
 
       /* If iauth wants it, give client more time. */
       if (IAuthHas(iauth, IAUTH_EXTRAWAIT))
-        timer_chg(&auth->timeout, TT_RELATIVE, feature_int(FEAT_AUTH_TIMEOUT));
+        cli_firsttime(auth->client) = CurrentTime;
     }
 
     Debug((DEBUG_INFO, "Auth %p [%d] still has flag %d", auth,
@@ -415,7 +415,6 @@
   else
     FlagSet(&auth->flags, AR_IAUTH_HURRY);
 
-
   destroy_auth_request(auth, send_reports);
   if (!IsUserPort(auth->client))
     return 0;
@@ -716,7 +715,8 @@
     s_fd(&auth->socket) = -1;
   }
 
-  timer_del(&auth->timeout);
+  if (t_active(&auth->timeout))
+    timer_del(&auth->timeout);
   cli_auth(auth->client) = NULL;
 }
 
@@ -746,9 +746,6 @@
     }
     /* Try to register the client. */
     check_auth_finished(auth, 1);
-    /* If that failed, kick them off. */
-    if (!IsUser(auth->client))
-      exit_client(auth->client, auth->client, &me, "Authorization timed out");
   }
 }
 
----------------------- End of diff -----------------------


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
linux.arklinux....    user-groups.lin...    kde.usability/2...    ietf.ipp/2002-0...    mail.spam.spamc...    os.netbsd.devel...    audio.cd-record...    text.unicode.de...    php.documentati...    games.fps.halfl...    window-managers...    suse.oracle.gen...    bug-tracking.gn...    video.dvdrip.us...    xfree86.cvs/200...    java.netbeans.m...    network.argus/2...    culture.sf.kill...    debian.ports.al...    freebsd.questio...    qplus.devel/200...    handhelds.palm....   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe