Committer  : entrope
CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Commit time: 2007-03-06 02:36:07 UTC

Modified files:
     ChangeLog ircd/m_privs.c tests/test-driver.pl

Added files:
     tests/bug-1674539.cmd

Log message:

Fix SourceForge bug #1674539, and add a test for it.

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.839 ircu2.10/ChangeLog:1.840
--- ircu2.10/ChangeLog:1.839    Mon Mar  5 18:25:56 2007
+++ ircu2.10/ChangeLog  Mon Mar  5 18:35:57 2007
@@ -1,5 +1,14 @@
 2007-03-05  Michael Poole <[EMAIL PROTECTED]>
 
+       * ircd/m_privs.c (ms_privs): Use the correct source when
+       forwarding the PRIVS request.
+
+       * tests/bug-1674539.cmd: New file to test for this.
+
+       * tests/test-driver.pl: Recognize "oper" command from scripts.
+
+2007-03-05  Michael Poole <[EMAIL PROTECTED]>
+
        * tests/ircd.conf: Make into a hub.
 
        * tests/ircd-2.conf: New file, for a second server.
Index: ircu2.10/ircd/m_privs.c
diff -u ircu2.10/ircd/m_privs.c:1.6 ircu2.10/ircd/m_privs.c:1.7
--- ircu2.10/ircd/m_privs.c:1.6 Fri Apr  1 18:50:14 2005
+++ ircu2.10/ircd/m_privs.c     Mon Mar  5 18:35:57 2007
@@ -22,7 +22,7 @@
  */
 /** @file
  * @brief Report operators' privileges to others
- * @version $Id: m_privs.c,v 1.6 2005/04/02 02:50:14 entrope Exp $
+ * @version $Id: m_privs.c,v 1.7 2007/03/06 02:35:57 entrope Exp $
  */
 
 #include "config.h"
@@ -94,7 +94,7 @@
       else if (MyUser(acptr))
        client_report_privs(sptr, acptr);
       else
-        sendcmdto_one(cptr, CMD_PRIVS, acptr, "%s%s", NumNick(acptr));
+        sendcmdto_one(sptr, CMD_PRIVS, acptr, "%s%s", NumNick(acptr));
     }
   }
 
Index: ircu2.10/tests/bug-1674539.cmd
diff -u /dev/null ircu2.10/tests/bug-1674539.cmd:1.2
--- /dev/null   Mon Mar  5 18:36:07 2007
+++ ircu2.10/tests/bug-1674539.cmd      Mon Mar  5 18:35:57 2007
@@ -0,0 +1,33 @@
+define srv1 127.0.0.1:7611
+define srv1-name irc-2.example.net
+define srv2 127.0.0.2:7621
+define srv2-name irc-3.example.net
+define cl1-nick oper1
+define cl2-nick oper2
+define cl3-nick oper3
+
+# Connect two clients to server 1, one to server 2, and oper them all up.
+connect cl1 %cl1-nick% oper %srv1% :Oper 1
+connect cl2 %cl2-nick% oper %srv1% :Oper 2
+connect cl3 %cl3-nick% oper %srv2% :Oper 3
+:cl1 oper oper oper
+:cl2 oper oper oper
+:cl3 oper oper oper
+
+# Check that we get local privileges properly.
+:cl1 wait cl2,cl3
+:cl1 raw :privs %cl1-nick%
+:cl1 expect %srv1-name% 270 %cl1-nick% %cl1-nick% :CHAN_LIMIT
+:cl1 raw :privs %cl2-nick%
+:cl1 expect %srv1-name% 270 %cl1-nick% %cl2-nick% :CHAN_LIMIT
+
+# Bug 1674539 is that remote /privs do not get any response.
+# Testing shows that the problem only shows up with a hub between.
+:cl1 raw :privs %cl3-nick%
+:cl1 expect %srv2-name% 270 %cl1-nick% %cl3-nick% :CHAN_LIMIT
+
+# Synchronize everything
+sync cl1,cl2,cl3
+:cl1 quit done
+:cl2 quit done
+:cl3 quit done
Index: ircu2.10/tests/test-driver.pl
diff -u ircu2.10/tests/test-driver.pl:1.2 ircu2.10/tests/test-driver.pl:1.3
--- ircu2.10/tests/test-driver.pl:1.2   Mon Jan 22 18:36:26 2007
+++ ircu2.10/tests/test-driver.pl       Mon Mar  5 18:35:57 2007
@@ -58,6 +58,7 @@
                       cmd_mode => \&cmd_generic,
                       cmd_nick => \&cmd_generic,
                       cmd_notice => \&cmd_message,
+                      cmd_oper => \&cmd_generic,
                       cmd_part => \&cmd_generic,
                       cmd_privmsg => \&cmd_message,
                       cmd_quit => \&cmd_generic,
----------------------- End of diff -----------------------
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches

Reply via email to