add support for the http method (MSN over HTTP)

Bug #392195 reported by Mathieu Trudel-Lapierre on 2009-06-25
52
This bug affects 11 people
Affects Status Importance Assigned to Milestone
telepathy-butterfly
Fix Released
Wishlist
telepathy-butterfly (Fedora)
New
Undecided
Unassigned
telepathy-butterfly (Ubuntu)
Wishlist
Unassigned

Bug Description

Binary package hint: telepathy-butterfly

There seems to be no way to connect to MSN through another method than using port 1863.

In some environments, ports other than, for example, 80 and 443 are not allowed to egress. Users then commonly try to use gateway.messenger.msn.com over port 80 (or is it 443)?

This is behavior that is already implemented in Pidgin, as well as the official MSN clients.

FROM A LAUNCHPAD BUG

There seems to be no way to connect to MSN through another method than using port 1863.

In some environments, ports other than, for example, 80 and 443 are not allowed to egress. Users then commonly try to use gateway.messenger.msn.com over port 80 (or is it 443)?

This is behavior that is already implemented in Pidgin, as well as the official MSN clients.

Changed in telepathy-butterfly:
status: Unknown → Confirmed
Changed in telepathy-butterfly (Ubuntu):
importance: Undecided → Wishlist
status: New → Triaged

Created an attachment (id=27953)
patch

This is a quick patch, not even tested

The ideal scenario would be that we don't have to expose that property to the user. tp-butterfly should auto-magically use the gateway if necessary.

Did someone test this patch on a HTTP only connection?
My connection lets me use the MSN port so I can't

I attempted the patch but I realized I have additional requirements.
It needs to go through a HTTP proxy with authentication on the HTTP proxy.
I have the Gnome system proxy set up but I could not find where to set it up in Empathy.

bviyuviuviul (bviyuviuviul) wrote :

Same Here. I'm behind a firewall witch allows 80 and 443. I mustn't be complicated to implement this. I'll try to find a workaround.

Thank you !

Marcello (pogliamarci) wrote :

The same... by switching from Pidgin to Empathy as the Ubuntu default IM client, this appears to be a huge regression in functionality (I'm not able to connect to msn and I will go back to Pidgin, because of the firewall\proxy that blocks all protocols\ports except http ... but a new linux\ubuntu user that find Empathy preinstalled and simply can't connect?)

bviyuviuviul (bviyuviuviul) wrote :

I've read that there is a way to connect trough 80 port. Just configure MSN account as following:
server: gateway.messenger.hotmail.com
port: 80

But, it doesn't work for me. With netstat I see that the connection is successfully established, but there is another error. I'll check source code.

PD: Sorry about my poor English

Nope, it's indeed not working if you try to set it manually.

There is a patch attached to the upstream bug, I'll test it and try to fix it if it doesn't work, reporting back here shortly.

Created an attachment (id=31006)
fallback to http automatically

Inspired by Laurent's patch and Louis-Francis' indications...

Here's a patch that tries a connection to the server and port specified in the user's settings, and if it doesn't connect within 10 seconds, falls back to an HTTP connection.

/ Matt

I have uploaded a patched telepathy-butterfly to my PPA, for testing. My patch is also attached to the upstream tracker.

bviyuviuviul (bviyuviuviul) wrote :

Thank you. I've been having a look to the patch and It looks great. Now I'll wait until they accept this change in the official repositories. I'm new here and can anybody explain me the procedure to do so?

Ibai,

The procedure from now would be to re-do the patch against the current package in karmic/lucid the right way (against the branch that holds the packaging, or by creating a debdiff), and subscribe the appropriate sponsors team (main).

I'll be preparing this now, I just wanted to get some kind of testing from people other than me first :)

bviyuviuviul (bviyuviuviul) wrote :

I've been testing this patch and it works perfectly. It took me a while to download the source, apply the patch and rebuilding the package again, but as I said before, it works for me.

There is an updated package on my PPA which fixes the problem (the patch is
applied). I will prepare a debdiff shortly.

Le 6 11 2009, 4:55 PM, "Ibai" <email address hidden> a écrit :

I've been testing this patch and it works perfectly. It took me a while
to download the source, apply the patch and rebuilding the package
again, but as I said before, it works for me.

-- add support for the http method (MSN over HTTP)
https://bugs.launchpad.net/bugs/392195 You rece...
Status in telepathy-butterfly: Confirmed
Status in “telepathy-butterfly” package in Ubuntu: Triaged

Bug description: Binary package hint: telepathy-butterfly There seems to be
no way to connect to M...

Attached a debdiff with a patch that fixes the bug. Subscribing ubuntu-main-sponsors...

Hi,

I've installed your telepathy-butterfly package from your PPA, but unfortunately Empathy still won't connect using http method. Any idea ?

Thanks,
Kob

Sebastien Bacher (seb128) wrote :

thank you for your work there, I'm unsubscribing the sponsors for now though since we would like to get upstream review on the changes before uploading and one user at least commented saying the current changeset is not working as expected...

@Kobalt,

Not sure, but there are a couple of things we could try. For example, do you normally need to set a proxy in Firefox? If so, you will also need to specify that proxy in Gnome for it to be used in Empathy.

Also, please try the following to get logs from telepathy-butterfly to know what is going on:
1- Quit empathy.
2- Wait a few seconds so empathy and the telepathy-butterfly CM can stop.
3- Start telepathy-butterfly:
BUTTERFLY_PERSIST=1 BUTTERFLY_DEBUG=all /usr/lib/telepathy/telepathy-butterfly 2>&1 | tee butterfly.log
4- Restart empathy.

This should give you the full debugging logs for telepathy-butterfly. Please attach it to this bug after making sure it doesn't contain sensitive data.

Thanks!

Thank you for your answer Matt.

I do set my proxy settings from Gnome (and have Firefox fetch them from here).

I have produced the telepathy-butterfly logs, if it's any help to you here it is.

Thanks,
Kob.

Hi Matt,

Sorry for the wait, I took a look at your patch and it looks good but we would rather not have a separate test connection but use the http method if the normal one fail, do you think you can make that adjustement?

Also where the code test if proxy is None, in the else you should set use_http_method to True since it make sense if you have a http proxy to use the HTTP method.

Regards,
Olivier

Hi,

Where the code test if proxy is None, in the else try setting use_http_method to True. Since, it make sense if you have a http proxy to use the HTTP method.

Regards,
Olivier

Olivier, sorry I didn't respond any sooner I had only seen the comment on Launchpad. I certainly can make the change. I had opted to use a separate test because it does cause one to wait substancially less for the standard connection to fail (since you can wait a long time if a firewall just drops packets rather than sending an ICMP reply). I however know that the test itself was kind of poorly done, with an arbitrary timeout...

Thanks for the response about using the HTTP transport by default for proxy connections, it does make sense. That said, I'd then also remove "proxies" from the standard connection since it would always be empty in that case.

/ Matt

Thanks for the catch Olivier, what you say is totally right, it would make more sense to "default" to using the HTTP method when a proxy is set.

@Kobalt, there should be an updated package in my PPA shortly (waiting to be built). Is there any chance you could test it? It includes the fix suggested by Olivier to use the HTTP method by default if a proxy is set (which I believe is exactly why the patch didn't correct the issue for you). This would be version ~mtk4.

One testing looks good and we can have some feedback from upstream I'll create a new debdiff against 0.5.3 which is now the version in Lucid.

OK so for now, no more luck but I should precise I'm on a Lucid system right now, I'll test on my karmic system tonight (or tomorrow).
I've manually installed your package on an up-to-date Lucid, and Empathy still doesn't connect.
Though I'm not sure it's relevant to test your package on Lucid I gave it a shot.
If it's any help, I also attach the butterfly.log it produces.

It is relevant but from both logs it looks like it's not going to work, and
it's likely exactly why Olivier was suggesting to not use a socket
connection to test for reachability. I'm working on fixing this differently,
it's just more complicated and thus takes more time to do and test.

/ Matt

On Dec 21, 2009 10:41 AM, "Kobalt" <email address hidden> wrote:

OK so for now, no more luck but I should precise I'm on a Lucid system right
now, I'll test on my karmic system tonight (or tomorrow).
I've manually installed your package on an up-to-date Lucid, and Empathy
still doesn't connect.
Though I'm not sure it's relevant to test your package on Lucid I gave it a
shot.
If it's any help, I also attach the butterfly.log it produces.

** Attachment added: "butterfly.log"
  http://launchpadlibrarian.net/37020510/butterfly.log

-- add support for the http method (MSN over HTTP)
https://bugs.launchpad.net/bugs/392195 You rece...
Status in telepathy-butterfly: Confirmed
Status in “telepathy-butterfly” package in Ubuntu: Triaged

Bug description: Binary package hint: telepathy-butterfly There seems to be
no way to connect to M...

To unsubscribe from this bug, go to:
https://bugs.launchpad.net/telepathy-butterfly/+bug/392195/+sub...

*** Bug 20452 has been marked as a duplicate of this bug. ***

Hello Matt,

Any chance you are still working on a fix? Any lead?

Thanks :)

Kobalt,

The patch I posted above seems to work fine for me (and most people, unless you use a proxy). It would still need to be adapted to properly handle the fallback to http only when the standard tcp connection fails, as suggested, but it proves to be much harder (at least to me) than expected :)

/ Matt

It would be nice to not need a property to use HTTP and just automatically use it when we can't use the 1863, but the direct connection takes too long to time out, so perhaps we should also have a "use-http-connection" property to force the behaiviour?

I implemented this:

    http://git.collabora.co.uk/?p=user/jonny/telepathy-butterfly.git;a=shortlog;h=refs/heads/http

I added a "use-http" parameter (using that name to be consistent with haze's MSN parameter) to force using an HTTP connection so if users know 1863 won't work, they can avoid the long timeout delay.

I played with my router (no doubt annoying my housemates) and it all appears to work with appropriate ports blocked.

Another one for you to review, Olivier!

can't test is here but the code is ok

Sebastien Bacher (seb128) wrote :

the new version in lucid has this change now

Changed in telepathy-butterfly (Ubuntu):
status: Triaged → Fix Released
Uli Tillich (utillich) wrote :

I created a new bug report (Bug #579281) for when behind a proxy, as it is a separate issue which has not been fixed yet.

MrTAZ (pinet-e) on 2010-05-20
Changed in telepathy-butterfly (Ubuntu):
status: Fix Released → Fix Committed
status: Fix Committed → Fix Released
Changed in telepathy-butterfly:
importance: Unknown → Wishlist
status: Confirmed → Fix Released
Changed in telepathy-butterfly:
importance: Wishlist → Unknown
Changed in telepathy-butterfly:
importance: Unknown → Wishlist
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.