ChatSecure-iOS icon indicating copy to clipboard operation
ChatSecure-iOS copied to clipboard

File Transfer Not working - OMEMO

Open john4526 opened this issue 7 years ago • 36 comments

After ChatSecure version 4.1 was pushed through the app store my images cannot will send.

I see that it is now trying to send via OMEMO vs. OTR. I don't know what is wrong. I get either an error stating an SSL error occurred where an secure connection cannot be established or I get Chatsecure filetransfererror error 3.

I am using prosody on the server side. Are there specific modules that are required to support this besides HTTP_upload?

john4526 avatar Jul 05 '17 15:07 john4526

Are you using https for file transfer? If so, do you have a self signed cert?

futurealecks avatar Jul 05 '17 16:07 futurealecks

I am using letsencrypt for the server cert. Do I need a cert for the http upload domain? I have the http_upload setup in my prosody component section of my config. Do I need https somewhere, like as a module?

john4526 avatar Jul 05 '17 17:07 john4526

I have confirmed I am using http_load using https. I can see it loading when I restart. Now the error I get is solely the Chatsecure filetransfererror error 3 which I don't know where to start with.

john4526 avatar Jul 05 '17 19:07 john4526

Apologies, I thought I added "user friendly" error messages, they must not be showing up. One possibility is that the TLS version is too low and iOS is rejecting the connection. You should make sure your Prosody (0.9.12) and OpenSSL (1.1.0f) versions are the latest (beyond the Debian version).

chrisballinger avatar Jul 06 '17 16:07 chrisballinger

@chrisballinger When I send a file from CS on iOS to Conversations on Android, HTTP upload works fine. When I do the other way round, without OMEMO I just see s link in CS and with OMEMO I just see an empty message. I am on stable 4.1.0. d491c2a8-3755-4216-a46c-bcbc7eada305_14cd28b7c7

mimi89999 avatar Jul 06 '17 17:07 mimi89999

Our link detection code isn't ideal for https:// scheme, and will require a "filename" like http://example.com/file.jpg, or an image/video/audio mime type. If you are using http:// scheme it will never show a preview because of Apple's ATS. When using OMEMO it shouldn't be empty or blank... possibly an unsupported format or too large?

On Thu, Jul 6, 2017 at 7:47 PM, Michel Le Bihan [email protected] wrote:

When I send a file from CS on iOS to Conversations on Android, HTTP upload works fine. When I do the other way round, without OMEMO I just see s link in CS and with OMEMO I just see an empty message. I am on stable 4.1.0.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ChatSecure/ChatSecure-iOS/issues/810#issuecomment-313469521, or mute the thread https://github.com/notifications/unsubscribe-auth/AAfqH9geTHXVnmk0ekl0RyrmSx6eKBCbks5sLR25gaJpZM4OOeNf .

chrisballinger avatar Jul 07 '17 10:07 chrisballinger

@chrisballinger The format is jpg, so it should be supported. The first link is aesgcm://lebihan.pl/xmpp-upload/index.php/dfe65e99-c857-4852-ab33-9714c28b27e7/198A16C5-F5F8-421C-BA94-3D3667C87853.jpg#04dda6a1779962762560e03d9f69c16f468367f5d3011a652147ff4ba552c1bbbd653e672920111b6d9e4712f30b0ad3. The second is https://lebihan.pl/xmpp-upload/index.php/dc394a38-ac6f-4b5a-8b0a-def8b21d3c01/l_-qAqrvRmuGCYVJJU6ehg.jpg

mimi89999 avatar Jul 07 '17 10:07 mimi89999

I was able to get this to work. I realized there were some prosody modules I was missing.

john4526 avatar Jul 12 '17 16:07 john4526

I'm having the same issue, what Prosody modules were you missing, would love to get this to work.

hansenandrew avatar Jul 27 '17 14:07 hansenandrew

@hansenandrew mod_http_upload or mod_http_upload_external

mimi89999 avatar Jul 27 '17 15:07 mimi89999

@mimi89999 thanks, I have both of them installed but it's still not working, do you need one or the other not both, is that my problem

hansenandrew avatar Jul 27 '17 15:07 hansenandrew

@hansenandrew You can't have both. Have you read and understood the doc?

mimi89999 avatar Jul 27 '17 15:07 mimi89999

@mimi89999 Thanks for you help I've kept mod_http_upload_external

hansenandrew avatar Jul 27 '17 15:07 hansenandrew

@hansenandrew Have you configured Apache or Nginx for receiving and sending files? Did you install the provided PHP script?

mimi89999 avatar Jul 27 '17 15:07 mimi89999

@mimi89999 I have edited the share.php file and installed it into a web directory, I haven't done any configurations to Apache, my wife gets the photos on her android using conversation app

hansenandrew avatar Jul 27 '17 15:07 hansenandrew

@hansenandrew So it works... Be sure to properly secure it by using a very strong, randomly generated password (mine is ~30 chars) in share.php and Prosody conf, putting the storage directory outside of the webroot and setting good permissions.

mimi89999 avatar Jul 27 '17 15:07 mimi89999

@mimi89999 Sorry still not working on my iPhone, what configurations do I need to do on Apache

hansenandrew avatar Jul 27 '17 15:07 hansenandrew

@mimi89999 Yes I have done both the settings within share.php and withing the prosody config file

hansenandrew avatar Jul 27 '17 15:07 hansenandrew

@hansenandrew It is a bit off topic here. Best place to get support with Prosody is the support MUC: [email protected]

mimi89999 avatar Jul 27 '17 15:07 mimi89999

@mimi89999 Ok thanks

hansenandrew avatar Jul 27 '17 15:07 hansenandrew

@hansenandrew This isn't the place to discuss Prosody configuration issues, please only post bugs related to the ChatSecure client itself. For example, if you also can't get it to work when using Conversations for Android, chances are it's a server problem and you should be looking elsewhere.

@mimi89999 Thanks for nudging this back on topic

chrisballinger avatar Jul 27 '17 17:07 chrisballinger

@chrisballinger Did you find out why could images not display in ChatSecure like in https://github.com/ChatSecure/ChatSecure-iOS/issues/810#issuecomment-313469521? Is there anything I could do to help finding out without having MacOS X with XCode?

mimi89999 avatar Jul 27 '17 17:07 mimi89999

Other people are seeing this from images sent via Conversations so I believe there is a recent(?) crypto compatibility issue.

chrisballinger avatar Jul 27 '17 18:07 chrisballinger

I'm recently receiving ChatSecureCore.FileTransferError 3 when sending images. It used to work fine (iPhone 6 with latest iOS). I also have the problem with pictures being links despite having a .jpg file format.

Pentabyteman avatar Aug 18 '17 08:08 Pentabyteman

@chrisballinger Any news on this? I still can't see OMEMO encrypted images.

mimi89999 avatar Oct 22 '17 19:10 mimi89999

It should work now. Does the server support valid https?

chrisballinger avatar Oct 22 '17 20:10 chrisballinger

I do have valid HTTPS with A+ grade on ssllabs.

mimi89999 avatar Oct 22 '17 20:10 mimi89999

Hm..

  1. "Plaintext Only" mode unencrypted transfer works fine?
  2. OMEMO text chat works?
  3. Other side is Conversations or ChatSecure?

chrisballinger avatar Oct 22 '17 20:10 chrisballinger

  1. Yes
  2. Yes
  3. Conversations or Gajm. Same result.

mimi89999 avatar Oct 22 '17 20:10 mimi89999

I am using ejabbered server. Following is my findings...

Android : Conversations iOS : ChatSecure-iOS

Unencrypted mode of file transfer works in all the scenarios ( iPhone <--> iPhone, iPhone <--> Android ) OMEMO Encrypted mode of file transfer works in the scenarios ( iPhone <--> iPhone, iPhone --> Android ). But in Android --> iPhone not works.

I found Aes Gcm used for file's encryption and decryption. Is this make any problem with this ?

Please help me...

skumarm avatar Nov 02 '18 06:11 skumarm