Only check passwords on user ports.
authorMichael Poole <mdpoole@troilus.org>
Tue, 16 May 2006 02:34:00 +0000 (02:34 +0000)
committerMichael Poole <mdpoole@troilus.org>
Tue, 16 May 2006 02:34:00 +0000 (02:34 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1655 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
ircd/s_auth.c

index 57869837a57f31a3eb3c5d8e306d504457b2a4f0..660928dd42ed4b66fdf229a5857c3d167e1522b5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-05-15  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_auth.c (check_auth_finished): Only check passwords on
+       user ports.
+
 2006-05-14  Michael Poole <mdpoole@troilus.org>
 
        * doc/example.conf (Connect): Mention the vhost option.
index fdefd97443f8e982b45a74fcc5405ccb544709d1..34baf898e7d98b6d45f45c94635ef2fc7f94d4e6 100644 (file)
@@ -383,12 +383,14 @@ static int check_auth_finished(struct AuthRequest *auth)
    * as possible so that iauth's challenge/response (which uses PASS
    * for responses) is not confused with the client's password.
    */
-  if (!FlagHas(&auth->flags, AR_PASSWORD_CHECKED))
+  if (IsUserPort(auth->client)
+      && !FlagHas(&auth->flags, AR_PASSWORD_CHECKED))
   {
     struct ConfItem *aconf;
 
     aconf = cli_confs(auth->client)->value.aconf;
-    if (!EmptyString(aconf->passwd)
+    if (aconf
+        && !EmptyString(aconf->passwd)
         && strcmp(cli_passwd(auth->client), aconf->passwd))
     {
       ServerStats->is_ref++;