Bug #2186

converting Pidgin to ChatSecure file crashes on Windows

Added by hans about 4 years ago. Updated about 4 years ago.

Status:ClosedStart date:10/22/2013
Priority:ImmediateDue date:
Assignee:abeluck% Done:

0%

Category:-
Target version:0.2
Component:

Description

WARNING: file already exists but should not: C:\DOCUME~1\pd\LOCALS~1\Temp\_MEI18442\include\pyconfig.h
WARNING: file already exists but should not: C:\DOCUME~1\pd\LOCALS~1\Temp\_MEI18442\include\pyconfig.h
Parsing  pidgin
Exception in Tkinter callback
Traceback (most recent call last):
  File "c:\Users\abel\Documents\keysync\build\keysync-gui-onefile\out00-PYZ.pyz\Tkinter", line 1470, in __call__
  File "<string>", line 466, in convert_to_local
  File "<string>", line 458, in convert
  File "c:\Users\abel\Documents\keysync\build\keysync-gui-onefile\out00-PYZ.pyz\otrapps.chatsecure", line 108, in write
  File "c:\Users\abel\Documents\keysync\build\keysync-gui-onefile\out00-PYZ.pyz\subprocess", line 711, in __init__
  File "c:\Users\abel\Documents\keysync\build\keysync-gui-onefile\out00-PYZ.pyz\subprocess", line 948, in _execute_child
WindowsError: [Error 2] The system cannot find the file specified

accounts.xml Magnifier (14.4 KB) hans, 10/22/2013 09:35 pm

otr.fingerprints (281 Bytes) hans, 10/22/2013 09:35 pm

otr.private_key (2.92 KB) hans, 10/22/2013 09:35 pm

History

#1 Updated by hans about 4 years ago

I attached the Pidgin files from that VM, in case they are related at all.

#2 Updated by abeluck about 4 years ago

  • Status changed from New to In Progress
  • Assignee changed from abeluck to hans
  • Priority changed from Urgent to Immediate

Yesterday I tested keysync on a different windows computer and it worked.

I thought it was some sort of user/path issue seeing how you got "abel" in your paths in the ST, I thought this bug was inadvertently fixed.

It was bothering me though, so today I tried again in a new windows VM and repro-ed this crash. Turns out the path containing 'abel' was a red-herring.

The cause of the crash is that openssl is not installed. By luck it turns out the other windows computer I tested it on had openssl installed (the guy was also a developer).

We've a few options:

  1. Require the user to install openssl via the installer before using KeySync
  2. Compile OpenSSL ourselves and bundle it with KeySync
  3. Migrate away from OpenSSL (to keyczar?)

There are no "official" openssl builds for windows, and the one linked from the project page only comes as an installer, hence (1), which really isn't an option IMHO. The whole easy-to-use one-click convenience of keysync disappears if we have to install a dependency.

(3) is probably the right choice in the long term, but would require too much effort to ensure cross-android / python compat, so I think (2) is what we should do for now.

I estimate it would take a few hours to get a OpenSSL build w/ mingw going, then an hour more to get it bundled into the pyinstaller .exe

#3 Updated by abeluck about 4 years ago

  • Target version changed from 0.2 to 0.2.1

#4 Updated by hans about 4 years ago

For the short term, can't you just bundle in the openssl binaries that you've been using?

For the long term, I think we should implement what we need in python as much as possible.

We're basically at negative hours left for PSST, so the quickest route is the best.

#5 Updated by hans about 4 years ago

Upon thinking about it, let's just tell people to install the OpenSSL binaries themselves for now. Then in a future version, hopefully we can implement AES-GCM in python and this issue will go away. Can you add the download link and quick install instructions to the keysync page:
https://guardianproject.info/apps/keysync/

#6 Updated by hans about 4 years ago

  • Assignee changed from hans to abeluck
  • Target version changed from 0.2.1 to 0.2

#7 Updated by abeluck about 4 years ago

  • Status changed from In Progress to Closed

Add install instructions to the website.

Also available in: Atom PDF