Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 331713 - net-voip/telepathy-haze-0.3.2: Can't connect to Yahoo due to stale haze.manager file
Summary: net-voip/telepathy-haze-0.3.2: Can't connect to Yahoo due to stale haze.manag...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: voip herd (OBSOLETE)
URL: https://bugs.freedesktop.org/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-09 02:18 UTC by Christopher Byrne
Modified: 2010-09-30 08:22 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Path to remove haze.manager file (telepathy-haze-0.3.2-r1.ebuild.diff,443 bytes, patch)
2010-08-09 02:37 UTC, Christopher Byrne
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Christopher Byrne 2010-08-09 02:18:45 UTC
I recently upgraded to Empathy, imported all my contact from Pidgin, and all my accounts works except for Yahoo which have a "Network error"

Debugging produced bizarre results: If telepathy-haze was started first, it worked just fine; otherwise it failed (but othe OTHER protocols besides Yahoo which are a part of telepathy-haze.

Finally found the problem: When /usr/share/telepathy/managers/haze.manager was deleted it worked fine; the reason things worked when telepathy-haze was started first is because introspection was used rather than reading that file

Introspection reveals the following:

dbus-send --session --type=method_call --print-reply --dest=org.freedesktop.Telepathy.ConnectionManager.haze /org/freedesktop/Telepathy/ConnectionManager/haze  org.freedesktop.DBus.Introspectable.Introspect
   string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <interface name="org.freedesktop.DBus.Introspectable">
    <method name="Introspect">
      <arg name="data" direction="out" type="s"/>
    </method>
  </interface>
  <interface name="org.freedesktop.DBus.Properties">
    <method name="Get">
      <arg name="interface" direction="in" type="s"/>
      <arg name="propname" direction="in" type="s"/>
      <arg name="value" direction="out" type="v"/>
    </method>
    <method name="Set">
      <arg name="interface" direction="in" type="s"/>
      <arg name="propname" direction="in" type="s"/>
      <arg name="value" direction="in" type="v"/>
    </method>
    <method name="GetAll">
      <arg name="interface" direction="in" type="s"/>
      <arg name="props" direction="out" type="a{sv}"/>
    </method>
  </interface>
  <interface name="org.freedesktop.Telepathy.ConnectionManager">
    <method name="RequestConnection">
      <arg name="Protocol" type="s" direction="in"/>
      <arg name="Parameters" type="a{sv}" direction="in"/>
      <arg name="Bus_Name" type="s" direction="out"/>
      <arg name="Object_Path" type="o" direction="out"/>
    </method>
    <method name="ListProtocols">
      <arg name="Protocols" type="as" direction="out"/>
    </method>
    <method name="GetParameters">
      <arg name="Protocol" type="s" direction="in"/>
      <arg name="Parameters" type="a(susv)" direction="out"/>
    </method>
    <signal name="NewConnection">
      <arg type="s"/>
      <arg type="o"/>
      <arg type="s"/>
    </signal>
  </interface>
</node>
"

dbus-send --session --type=method_call --print-reply --dest=org.freedesktop.Telepathy.ConnectionManager.haze /org/freedesktop/Telepathy/ConnectionManager/haze  org.freedesktop.Telepathy.ConnectionManager.ListProtocols

   array [
      string "aim"
      string "icq"
      string "irc"
      string "jabber"
      string "msn"
      string "myspace"
      string "simple"
      string "yahoo"
      string "yahoojp"
   ]

dbus-send --session --type=method_call --print-reply --dest=org.freedesktop.Telepathy.ConnectionManager.haze /org/freedesktop/Telepathy/ConnectionManager/haze  org.freedesktop.Telepathy.ConnectionManager.GetParameters string:'yahoo'

   array [
      struct {
         string "account"
         uint32 1
         string "s"
         variant             string ""
      }
      struct {
         string "password"
         uint32 1
         string "s"
         variant             string ""
      }
      struct {
         string "port"
         uint32 4
         string "i"
         variant             int32 5050
      }
      struct {
         string "xfer-host"
         uint32 4
         string "s"
         variant             string "filetransfer.msg.yahoo.com"
      }
      struct {
         string "xfer-port"
         uint32 4
         string "i"
         variant             int32 80
      }
      struct {
         string "room-list-locale"
         uint32 4
         string "s"
         variant             string "us"
      }
      struct {
         string "charset"
         uint32 4
         string "s"
         variant             string "UTF-8"
      }
      struct {
         string "ignore-invites"
         uint32 4
         string "b"
         variant             boolean false
      }
      struct {
         string "proxy-ssl"
         uint32 4
         string "b"
         variant             boolean false
      }
   ]

Now, if one checks /usr/share/telepathy/managers/haze.manager one sees the following:

[Protocol yahoo]
param-account=s required
param-password=s required
param-server=s
param-port=i
param-xfer-host=s
param-xfer-port=i
param-room-list-locale=s
param-ignore-invites=b
param-charset=s
default-server=scsa.msg.yahoo.com
default-port=5050
default-xfer-host=filetransfer.msg.yahoo.com
default-xfer-port=80
default-room-list-locale=us
default-ignore-invites=false
default-charset=UTF-8

The haze.manager lists a "server" parameter, but the introspected version does not (which isn't the only mismatch, but its the one causing the problem). Removing the "param-server" and "default-server" lines fix the problem.

As it turns however, the managers are depreciated in favor of introspection.

So to make a long story short, I propose to fix the problem by not including the manager file, which is going away anyway
Comment 1 Christopher Byrne 2010-08-09 02:37:46 UTC
Created attachment 241913 [details, diff]
Path to remove haze.manager file

This patch removes the haze.manager file. The remove_manager function can be used in the other telepathy packages if the problem ever occurs in any other ones.
Comment 2 Pacho Ramos gentoo-dev 2010-09-29 17:31:08 UTC
Please test if 0.4.0 also requires to remove that file for working ok, in that case please open a bug upstream:
https://bugs.freedesktop.org/
Comment 3 Christopher Byrne 2010-09-29 21:31:28 UTC
It still does require removing (or modifying) the file, even in 0.4.0. Files upstream: https://bugs.freedesktop.org/show_bug.cgi?id=30475
Comment 4 Pacho Ramos gentoo-dev 2010-09-30 08:22:41 UTC
+*telepathy-haze-0.4.0-r1 (30 Sep 2010)
+
+  30 Sep 2010; Pacho Ramos <pacho@gentoo.org> -telepathy-haze-0.4.0.ebuild,
+  +telepathy-haze-0.4.0-r1.ebuild:
+  Remove haze.manager (as Fedora and Debian are doing) to prevent connection
+  problems reported in bug #331713 by Salah Coronya. Remove previous
+  version.
+