Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stickers and images are not received any more #404

Open
boris-petrov opened this issue Jan 30, 2018 · 37 comments
Open

Stickers and images are not received any more #404

boris-petrov opened this issue Jan 30, 2018 · 37 comments
Labels

Comments

@boris-petrov
Copy link

Recently I've noticed that stickers are not received as well as (I think) some links, attachments, etc. Also, I think, sometimes messages in group chats are being missed. Is anyone else seeing any of these problems? I'm pretty sure that stickers no longer work but I'm not really sure about the rest.

@jkufner
Copy link

jkufner commented Jan 30, 2018

Most of these things never worked. It would be nice to receive at least some message about unsupported content being received.

@boris-petrov
Copy link
Author

Stickers always worked before. It's just recently that they stopped. Most other things also worked pretty much consistently before - I've never had such issues as now. I guess Facebook are changing things in their protocol. I hope these issues can be resolved as I cannot live without this plugin.

@dequis
Copy link
Owner

dequis commented Jan 30, 2018

screenshot

Works for me.

Send a debug log.

https://github.com/dequis/purple-facebook/wiki/Debugging-Logs

@boris-petrov
Copy link
Author

I also don't receive images and not even a notification for them - for example now I missed a new chat with 4 messages with images because the window with the person didn't even show up. It didn't happen before. :( I'll try to get the debug logs ASAP.

@dequis
Copy link
Owner

dequis commented Jan 31, 2018

I got debug logs from #405 which is likely to be related, but i still need debug logs here to hopefully narrow things down.

@boris-petrov
Copy link
Author

boris-petrov commented Feb 1, 2018

I've sent the debug logs over email. They contain three messages from a single person:

  1. ala bala
  2. a sticker
  3. ?

The second one (the sticker) was never shown in Pidgin.

I'm on Arch Linux.

@dequis
Copy link
Owner

dequis commented Feb 1, 2018

Yep looks like #405

(10:59:20) proxy: Attempting connection to 157.240.9.23
(10:59:20) proxy: Connecting to scontent.xx.fbcdn.net:443 with no proxy
(10:59:20) proxy: Connection in progress
(10:59:20) proxy: Connecting to scontent.xx.fbcdn.net:443.
(10:59:20) proxy: Connected to scontent.xx.fbcdn.net:443.
(10:59:20) nss: Handshake failed  (-12286)
(10:59:20) http: error: Unable to connect to scontent.xx.fbcdn.net: SSL Handshake Failed
(10:59:20) http: Cancelling connection 0x557db4f8e800...
(10:59:20) http: releasing a socket: 0x557db4fd1e70
(10:59:20) socket: invalid state: 3 (should be: 2)(10:59:20) http: destroying socket: 0x557db4fd1e70
(10:59:20) http: Request 0x557db4f8e800 performed without success.
(10:58:31) nss: Cipher - TLS_AES_128_GCM_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_CHACHA20_POLY1305_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_AES_256_GCM_SHA384: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: Enabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: Enabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: Enabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: Enabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_RC4_128_SHA: Enabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: Enabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: Disabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: Disabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_AES_128_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_AES_128_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: Enabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_AES_256_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_AES_256_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: Enabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_RC4_128_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_ECDSA_WITH_RC4_128_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_RSA_WITH_RC4_128_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_AES_128_GCM_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_AES_256_GCM_SHA384: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_AES_128_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_AES_128_CBC_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_AES_256_CBC_SHA: Enabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_AES_256_CBC_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_SEED_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_3DES_EDE_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_RC4_128_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_RC4_128_MD5: Disabled
(10:58:31) nss: Cipher - TLS_DHE_RSA_WITH_DES_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_DHE_DSS_WITH_DES_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_DES_CBC_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_ECDSA_WITH_NULL_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDHE_RSA_WITH_NULL_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_RSA_WITH_NULL_SHA: Disabled
(10:58:31) nss: Cipher - TLS_ECDH_ECDSA_WITH_NULL_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_NULL_SHA: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_NULL_SHA256: Disabled
(10:58:31) nss: Cipher - TLS_RSA_WITH_NULL_MD5: Disabled
(10:58:31) nss: TLS supported versions: 0x0301 through 0x0304
(10:58:31) nss: TLS versions allowed by default: 0x0301 through 0x0303
(10:58:31) nss: Changed allowed TLS versions to 0x0301 through 0x0304

@boris-petrov
Copy link
Author

I'm not sure I completely follow the whole issue. Is it because my computer and FB's CDN cannot establish an SSL connection due to unavailable ciphers or something like this? My version of openssl is OpenSSL 1.1.0g 2 Nov 2017.

@dequis
Copy link
Owner

dequis commented Feb 1, 2018

Read the discussion in #405 for some context on that, but I think it's a red herring. tl;dr is that the error code means SSL_ERROR_NO_CYPHER_OVERLAP but (at least when checking from here) the server does seem to support the same ciphers as the client.

For all i know it may actually mean "something went wrong super early in the connection".

@boris-petrov
Copy link
Author

Any idea of a workaround? This is really killing me. :( I have to constantly check FB for missed images and I hate doing that. I really cannot live without this plugin and really thank you for the support no matter what happens!

@dequis
Copy link
Owner

dequis commented Feb 4, 2018

Maybe configure a proxy (or tor) in pidgin.

Maybe rebuild libpurple with gnutls instead of nss (in arch grab the pkgbuild with asp export and edit)

Oh also, confirm that you can open the image urls from the debug logs in your web browser.

@boris-petrov
Copy link
Author

I confirm that the URLs can be opened. I'll try rebuilding libpurple at some point. Please notify us if there is any new information until then. Thanks!

@Penaz91
Copy link

Penaz91 commented Feb 13, 2018

Rebuilding Pidgin with the "gnutls" use flag fixed the issue for me

@dequis
Copy link
Owner

dequis commented Feb 14, 2018

I just realized that https://bitbucket.org/pidgin/main/commits/2deceb0f9ef9 isn't yet included in a stable libpurple release. That's probably what's disabling ciphersuites.

Can you please rebuild pidgin from the last commit of the release-2.x.y branch, with NSS enabled?

You can get a tarball from https://bitbucket.org/pidgin/main/get/release-2.x.y.tar.bz2 (you may have to tweak build scripts to use ./autogen.sh instead of ./configure)

@dequis
Copy link
Owner

dequis commented Feb 14, 2018

Simpler way to get a similar effect:

Tools -> plugins -> nss preferences, set maximum version to tls 1.2 instead of 1.3

@boris-petrov
Copy link
Author

@dequis - yes, that fixed the issue for me! Big thanks! Isn't it a better idea to use TLS 1.3 and enable/disable specific ciphers or that's not going to work?

@dequis
Copy link
Owner

dequis commented Feb 15, 2018

Maybe! Safer not to. TLS 1.3 isn't final yet and AFAIK it's not enabled by NSS by default - part of the bug is that pidgin force-enables the latest TLS version. This made sense a few years ago, but not anymore. Nowadays we should just leave that decision to NSS, which is what the linked commit does.

Hopefully we'll get a pidgin/libpurple release this month, it's being held back by stuff.

@boris-petrov
Copy link
Author

Ah, of course, I confused 1.3 with 1.2. Of course it's not a good idea to enable 1.3.

So I am to understand that with the new pidgin/libpurple this issue will be resolved even without setting NSS preferences?

@dequis
Copy link
Owner

dequis commented Feb 15, 2018

Correct! I'll keep this open til then.

@boris-petrov
Copy link
Author

@dequis - thank you for the support. You're the best! I cannot live without this plugin, thank you so very much!

@michaelcadilhac
Copy link

I can confirm both the bug and the workaround—I did not have the NSS plugin activated, and it was showing Min/Max to be 1.0, but activating it and setting 1.0/1.2 does the trick. FWIW, the title of this bug report could be slightly more explicit, by mentioning images. Thanks for the great work!

@boris-petrov boris-petrov changed the title Stickers are not received any more Stickers and images are not received any more Feb 21, 2018
@hrnick
Copy link

hrnick commented Feb 25, 2018

Is there a workaround for Finch as well?

@dequis
Copy link
Owner

dequis commented Feb 25, 2018

Rebuild libpurple from mercurial branch release-2.x.y, or rebuild the latest libpurple release with gnutls instead of nss.

@dequis
Copy link
Owner

dequis commented Feb 25, 2018

Wait, how do you even expect to see images in finch? Did that ever work?

@hrnick
Copy link

hrnick commented Feb 25, 2018

That's a valid point. :)

Normally a line is generated when a picture has been sent so you can at least see that someone has sent something, now there's just nothing. I expect it to be related to this issue but I could be mistaken. Also the images are normally downloaded to ~/.purple/logs/ but that does not seem to happen now.

@hrnick
Copy link

hrnick commented Feb 25, 2018

Rebuilding with gnutls worked to get the functionality back in finch as well! Thank you dequis!

@SpiritualForest
Copy link

Setting the maximum TLS version to 1.2 fixed the issue for me. Thank you.

@dequis
Copy link
Owner

dequis commented Mar 17, 2018

Libpurple 2.13.0 has been out for a while with a fix for this

@brianjmurrell
Copy link

brianjmurrell commented Mar 20, 2018

Just noticed this ticket. Am I understanding correctly that Pidgin with purple-facebook is supposed to be able to receive and display stickers (and GIFs?) from Facebook Messenger and not just display a blank message when they are received?

If so, and if one is just getting a blank message when stickers are received, what should one look into in trying to resolve it?

@dequis
Copy link
Owner

dequis commented Mar 20, 2018

@brianjmurrell You mean besides the solutions already mentioned in this post? Main other reason I know is the 'conversation colors' plugin which has an 'ignore incoming format' checkbox that strips images.

@brianjmurrell
Copy link

Of course I implemented one of the solutions in this post :-) so yeah, other than those, and yes, ignore incoming format was it.

Animated stickers don't seem to animate but just having stickers at least makes me not need to pick up my phone.

GIFs still just show as a link. Is it outside of pidgin's abilities to do GIFs or is it just this plugin that has not implemented them yet?

@dequis
Copy link
Owner

dequis commented Mar 20, 2018

#173 is probably part of that, anything else please open a new ticket

@JezzaHehn
Copy link

Instead of images, I was receiving a blank message. After rebuilding from source as suggested, I'm now receiving images normally. gifs still come in as a download link, but other images come through inline perfectly. Thanks a million!!!

One note: I am not able to send images, only receive them. Not sure if this is normal or not.

@boris-petrov
Copy link
Author

@JezzaHehn - what did you rebuild from source? Because I've been having the same issue again for a while now...

@hrnick
Copy link

hrnick commented Mar 22, 2020

Same thing here, I can't see anything when a user sends a photo since some time back...

@zanzani
Copy link

zanzani commented Mar 31, 2020

Simpler way to get a similar effect:

Tools -> plugins -> nss preferences, set maximum version to tls 1.2 instead of 1.3

Could you mention this in the Wiki or such? I spent ages finding a clue to solve the ssl-handshake failure. This did the trick (on Linux Mint 19.10). I think it deserves a better place than in the bottom of a thread.

Tnx

@dequis
Copy link
Owner

dequis commented Mar 31, 2020

Doesn't mint 19.10 have libpurple 2.13.0? This shouldn't be an issue anymore...

Maybe something about your network breaks tls 1.3?

xXx-kansei-dorifto-xXx pushed a commit that referenced this issue Feb 16, 2021
ca-certs: Remove unused ca-certs directory

Approved-by: Elliott Sales de Andrade
Approved-by: Gary Kramlich
Approved-by: Eion Robb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

10 participants