[Konversation-devel] [Bug 227795] background /who information ends up in log if /who is used without arguments

Eike Hein hein at kde.org
Sat Feb 20 13:53:37 CET 2010


https://bugs.kde.org/show_bug.cgi?id=227795


Eike Hein <hein at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED




--- Comment #1 from Eike Hein <hein kde org>  2010-02-20 13:53:35 ---
commit 72fb97be5988451527479d09441f1240a27da8c1
Author: Eike Hein <hein at kde.org>
Date:   Sat Feb 20 13:38:07 2010 +0100

    Fix auto-who responses becoming visible after parameterless '/who.'

    Fixes a bug causing the server responses to background data gather-
    ing via WHO (to keep the app's idea of its own hostmask up to date,
    as well as optionally channel user info) to be displayed in tabs as
    if the user had made the requests manually after sending a '/who'
    command without parameters.

    For background, 76f47cde1 introduced a change adding a parameterless
    '/who' as a 'WHO *' to InputFilter's WHO request tracking list,
    claiming that servers interpret a parameterless WHO as a 'WHO *',
    which doesn't hold up in reality. While RFC 1459 and RFC 2812 claim
    the parameter to be optional, the servers I have tested with don't
    allow it in practice, presumably for load reasons: ircd 2.11.1p1 and
    ircd-seven 1.0.1 reply with a 461 with "Not enough parameters" and
    bahamut 1.8(0.3) with a set of 334's providing a human-readable
    usage description of the WHO command. Thus the behavior of 'WHO' and
    'WHO *' differ in reality, and this commit changes things so that a
    parameterless '/who' no longer results in a 'WHO *' being put on In-
    putFilter'S WHO request tracking list.
    BUG:227795

diff --git a/ChangeLog b/ChangeLog
index 109b610..ca47a0b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,11 @@ Changes since 1.2.3:
 * The "Clear All Windows" action will now also resets the notification
   state of all tabs (i.e. removes active new message or highlight no-
   tifications from the tab bar).
+* Fixed a bug causing the server responses to background data gather-
+  ing via WHO (to keep the app's idea of its own hostmask up to date,
+  as well as optionally channel user info) to be displayed in tabs as
+  if the user had made the requests manually after sending a '/who'
+  command without parameters.


 Changes from 1.2.2 to 1.2.3:
diff --git a/src/irc/server.cpp b/src/irc/server.cpp
index 8664fc1..0c74f85 100644
--- a/src/irc/server.cpp
+++ b/src/irc/server.cpp
@@ -1162,13 +1162,8 @@ int Server::_send_internal(QString outputLine)
     }

     // remember the first arg of /WHO to identify responses
-    if (outboundCommand == 0) //"WHO"
-    {
-        if (outputLineSplit.count() >= 2)
-            m_inputFilter.addWhoRequest(outputLineSplit[1]);
-        else // no argument (servers recognize it as "*")
-            m_inputFilter.addWhoRequest("*");
-    }
+    if (outboundCommand == 0 && outputLineSplit.count() >= 2) //"WHO"
+        m_inputFilter.addWhoRequest(outputLineSplit[1]);
     else if (outboundCommand == 1) //"QUIT"
         updateConnectionState(Konversation::SSDeliberatelyDisconnected);

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Konversation-devel mailing list