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
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.
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/
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
+*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. +