Author Topic: Desktop Edition 0.4 broken on Linux  (Read 18405 times)

Offline landroni

  • Jr. Member
  • **
  • Posts: 18
Desktop Edition 0.4 broken on Linux
« on: May 09, 2012, 06:17:37 AM »
Dear all
The Desktop Edition 0.4 is broken on Xubuntu 10.04 Lucid.

First, the compilation fails as indicated in this post [1]. It would be nice if this fix---adding '#include <QVariant>' in the file optionwindow.cpp---could be released, as it is a real turn-off when security application fails to build.
[1] http://forums.passwordmaker.org/index.php/topic,1673.0.html

Second, please indicate in 'build.txt' at the end:
"Step 4: Run make and make install"

This may be obvious to some, but it required some deduction from my side.

Third, it is equally disheartening that the compilation proceeds, after applying the hack above, with a lot of warnings, such as "shared/hasher.cpp:284: warning: unused parameter ‘algo’" or "leet.cpp:68: warning: deprecated conversion from string constant to ‘char*’". I am attaching the full build log.

Fourth, the application simply fails to generate the password. I inserted
URL: http://forums.passwordmaker.org/index.php/topic,1673.0.html
Password: my_pass
Confirmation: my_pass
Using text: passwordmaker.org
Generated pass: ERROR!ERROR!ERROR

Fifth, and this is minor, the string 'Confrimation' should read 'Confirmation'.

Sixth, please add 'install' and 'uninstall' targets in the Makefile. People should be able to install/uninstall the compiled binary. Now the following fails:
root@liv-laptop:/home/liv/Build/passwordmaker-desktop-0.4-src# make install
make: Nothing to be done for `install'.

Seventh, when using mHash the compilation also fails:
root@liv-laptop:/home/liv/Build/passwordmaker-desktop-0.4-src# qmake USE_MHASH=1
root@liv-laptop:/home/liv/Build/passwordmaker-desktop-0.4-src# make
g++ -c -pipe -O2 -D_REENTRANT -Wall -W -DUSE_QT -DUSE_MHASH -DQT_NO_DEBUG -DQT_SQL_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4 -Irelease -o release/hasher.o shared/hasher.cpp
shared/hasher.cpp: In constructor ‘Hasher::Hasher(QObject*)’:
shared/hasher.cpp:94: error: class ‘Hasher’ does not have any field named ‘script’
shared/hasher.cpp: At global scope:
shared/hasher.cpp:191: warning: unused parameter ‘hmac_sha256_bug’
shared/hasher.cpp:284: warning: unused parameter ‘hmac_sha256_bug’
make: *** [release/hasher.o] Error 1


I am looking into packaging PasswordMaker Desktop for Ubuntu via a PPA, but before proceeding I would like to know whether the issues above could be addressed. I'm using Xubuntu 10.04 with Qt 4.6.2 and mHash 0.9.9.9.
« Last Edit: May 09, 2012, 06:20:56 AM by landroni »

Offline Eric H. Jung

  • grimholtz
  • Administrator
  • *****
  • Posts: 3353
Re: Desktop Edition 0.4 broken on Linux
« Reply #1 on: May 09, 2012, 08:22:13 PM »
We can use all the help we can get. If you are willing to submit patches, we will vet them and apply them.

Eric

Offline Miquel 'Fire' Burns

  • Administrator
  • *****
  • Posts: 1157
  • Programmer
Re: Desktop Edition 0.4 broken on Linux
« Reply #2 on: May 10, 2012, 01:50:51 AM »
Just some quick notes (as I don't have time to properly fix the issues, and this is due for a new release as too many things broke over time for some reason...)

1) I tried to do this, but other stuff was broken (point 3), so I was unable to make a release with this fix. The reason that needs to be added is most likely a Windows vs. Linux setup, or the QT devs removed including QVariant in a later version from the headers that are included in that file.

3 & 4) That "shared/hasher.cpp:284: warning: unused parameter ‘algo’" is an error. Somehow no code path using those parameters is being compiled, which results in the ERROR! string being returned. (and the function being called over to fill the password length)

On my end, that warning don't pop-up, but there's a runtime error I have yet to debug.

6) Don't know how to tell qmake to add those rules.

7) Might be related to 3. Might remove support for mhash however.
"I'm not drunk, just sleep deprived."

Offline landroni

  • Jr. Member
  • **
  • Posts: 18
Re: Desktop Edition 0.4 broken on Linux
« Reply #3 on: May 10, 2012, 05:17:46 AM »
We can use all the help we can get. If you are willing to submit patches, we will vet them and apply them.

I am attaching a patch for points 1, 2 and 5---the really trivial fixes. Unfortunately I don't have the programming skills to address the issues that truly break PasswordMaker Desktop on Linux.

Offline landroni

  • Jr. Member
  • **
  • Posts: 18
Re: Desktop Edition 0.4 broken on Linux
« Reply #4 on: May 18, 2012, 09:40:50 AM »
I would like to add several more issues.

4. Issue 4 is accompanied by the following message in the terminal: "SyntaxError: Parse error"

8. As reported here [1], the 'auto-clear clipboard' feature is not functional on Linux, at least when using Xfce and the Clipman clipboard manager.
[1] http://forums.passwordmaker.org/index.php/topic,1751.msg1282848.html#msg1282848

9. There is a major security issue concerning the 'Master Password' input field. Since the field has an undo/redo mechanism, simply deleting the Master PW is not enough. In case that the app wasn't closed then a 3rd party could easily do 'ctrl+z' or 'undo' to recover the Master PW in that field. Of course they wouldn't see the actual string, but could use it to generate specific passwords.

10. PasswordMaker-Qt doesn't remember when the 'Settings > Confirm master password' is deactivated. To reproduce, deactivate the option---the 'confirmation' field will disappear---and restart the app---the field will reappear. 


And last, bug reports submitted on forums are likely to get lost or forgotten in time. Wouldn't it be better to activate the bug and enhancement trackers on SF so that people could file their requests there?

Offline Miquel 'Fire' Burns

  • Administrator
  • *****
  • Posts: 1157
  • Programmer
Re: Desktop Edition 0.4 broken on Linux
« Reply #5 on: May 18, 2012, 01:14:12 PM »
4) That's the runtime error I need to debug to get this version working again.

8) Might be a result of the fact the main developers use Windows and or OSX that this is an issue.

9) Need to see if QT offers a way to prevent this. Or a way to may those pointless.

10) Might be an actual bug. If I ever find time to fix 4, I'll have to fix 10 it seems.

And yes, I don't like the current bug reporting setup. Have to ask Eric if it's okay to turn on the bug reporting here on SF.
"I'm not drunk, just sleep deprived."

PasswordMaker Forums

Re: Desktop Edition 0.4 broken on Linux
« Reply #5 on: May 18, 2012, 01:14:12 PM »