Launchpad has imported 5 comments from the remote bug at
https://bugs.freedesktop.org/show_bug.cgi?id=63326.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2013-04-09T16:44:46+00:00 Chemobejk wrote:

Created attachment 77679
Patch to support purple_request_fields()

libpurple plugins which support accounts with optional passwords don't
work with telepathy-haze, because it doesn't
purple_account_request_password(), which boils down to a
purple_request_fields() call to the UI client.

One example is SIPE since version 1.14.1, which no longer works with
Empathy (Fedora bug https://bugzilla.redhat.com/show_bug.cgi?id=754395)

Attached is a proposal how this could be implemented. The patch is based
on the 0.6.x branch.

Unfortunately this change requires --enable-leaky-request-stubs, so this
will need some more work.

Reply at: https://bugs.launchpad.net/ubuntu/+source/account-
plugins/+bug/1070377/comments/21

------------------------------------------------------------------------
On 2013-04-10T14:00:24+00:00 Chemobejk wrote:

Created attachment 77742
Version 2 of the proposed change

Version 2:

 - commit 1: cleaned up version of version 1
 - commit 2: fix resource leakage in haze_request_field()

Reply at: https://bugs.launchpad.net/ubuntu/+source/account-
plugins/+bug/1070377/comments/22

------------------------------------------------------------------------
On 2013-04-11T10:49:20+00:00 Will Thompson wrote:

Comment on attachment 77742
Version 2 of the proposed change

Review of attachment 77742:
-----------------------------------------------------------------

I think this will still leak, actually. Take a look at
pidgin/request.c's implementation of request_fields: if the user closes
the window without picking a response, it makes sure to call the
cancel_cb before purple_request_close(). This allows whatever bit of
libpurple made the request to clean up.

But if that's fixed, I think it looks good.

::: src/request.c
@@ +27,3 @@
>  
>  #include "debug.h"
>  #include "request.h"

What happens if libpurple gives us a password request, and before the
user answers the challenge, libpurple cancels it?

I think what will happen is: haze_close_request() is called by
libpurple, freeing this stuff up.

Then later, haze_request_password_cb() will be called, which will call
back into libpurple with a freed request and crash.

@@ +33,2 @@
>  static gpointer
>  haze_request_input (const char *title,

Use g_slice_free (fields_data, fd);

@@ +104,5 @@
> +struct password_data {
> +    PurpleRequestFields *fields;
> +    PurpleRequestField *password;
> +    GCallback ok_cb;
> +    GCallback cancel_cb;

I think it would be better to cast these to PurpleRequestFieldsCb in
haze_request_fields, not at the point you call them. I think that would
be clearer.

@@ +138,4 @@
>                       PurpleConversation *conv,
>                       void *user_data)
>  {
> +    /*

Use g_slice_new0.

@@ +166,2 @@
>  
>      return NULL;

I think the idle callback should call the cancel_cb, so that whatever
made the request doesn't leak.

Reply at: https://bugs.launchpad.net/ubuntu/+source/account-
plugins/+bug/1070377/comments/23

------------------------------------------------------------------------
On 2013-04-11T12:51:12+00:00 Chemobejk wrote:

Created attachment 77806
Version 3 of the proposed change

Thanks for the review comments. Please see attached version 3.

Reply at: https://bugs.launchpad.net/ubuntu/+source/account-
plugins/+bug/1070377/comments/24

------------------------------------------------------------------------
On 2013-04-11T18:43:34+00:00 Will Thompson wrote:

Merged to master:

http://cgit.freedesktop.org/telepathy/telepathy-haze/commit/?id=66b7fff2f65b65a5d298bf868bb8e21a32492a58
http://cgit.freedesktop.org/telepathy/telepathy-haze/commit/?id=eef971c3aeb61b9b60013f3b728f62e7ac5580bf
http://cgit.freedesktop.org/telepathy/telepathy-haze/commit/?id=4068d8504b2155168b82144a4d45b138e0579ef2

Thanks!

Reply at: https://bugs.launchpad.net/ubuntu/+source/account-
plugins/+bug/1070377/comments/25


** Changed in: empathy
       Status: Unknown => Fix Released

** Changed in: empathy
   Importance: Unknown => Wishlist

** Bug watch added: Red Hat Bugzilla #754395
   https://bugzilla.redhat.com/show_bug.cgi?id=754395

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to account-plugins in Ubuntu.
https://bugs.launchpad.net/bugs/1070377

Title:
  Empathy change to Online Accounts no longer supports SIPE

Status in Online Accounts: Account plugins:
  In Progress
Status in Chat app, and Telepathy user interface:
  Fix Released
Status in Telepathy Haze:
  New
Status in “account-plugins” package in Ubuntu:
  Confirmed

Bug description:
  Many of us use SIPE as way a way to use Microsoft Communicator/Lync in
  order to IM with workplaces.   Empathy used to allow for SIPE
  connections through the pidgin-sipe package but since I switched to
  12.10 and "online accounts" functionality, I can no longer find a way
  to do so.

  While I can still use SIPE in pidgin, pidgin no longer integrates into
  the Unity notification system.

  In either case, it means that I no longer get notifications when
  people at work IM me.  As such, the new version of Ubuntu has greatly
  diminished my ability to use Linux at my workplace.

  A way to use SIPE (or any previously supported account type not
  supported by Online Accounts) in Empathy -- even if it requires a non
  --pretty command line/config change -- would be very welcome.

  ProblemType: Bug
  DistroRelease: Ubuntu 12.10
  Package: empathy 3.6.0.3-0ubuntu1
  ProcVersionSignature: Ubuntu 3.5.0-17.28-generic 3.5.5
  Uname: Linux 3.5.0-17-generic x86_64
  NonfreeKernelModules: nvidia
  ApportVersion: 2.6.1-0ubuntu3
  Architecture: amd64
  Date: Tue Oct 23 07:18:15 2012
  InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Beta amd64 (20120926)
  ProcEnviron:
   TERM=xterm
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: empathy
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/account-plugins/+bug/1070377/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to