Giter VIP home page Giter VIP logo

moolticute's People

Contributors

ali-raheem avatar araab avatar arffeh avatar asashnov avatar barathrm avatar bobsaintcool avatar cor3ntin avatar dexol avatar drakx avatar flegall2014 avatar hbxu avatar kazord avatar korone00 avatar limpkin avatar medyakovvit avatar naguirre avatar nekromant avatar nemunaire avatar netromdk avatar nicohood avatar pokamest avatar principis avatar raoulh avatar sbobykin avatar seemuth avatar sriep avatar therealsoret avatar tomasz-janiczek avatar vincentvanlaer avatar wirr00 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moolticute's Issues

Importer for LastPass Vault

As Mooltipass is a more secure replacement for LastPass it would be nice to have a LastPass importer for making the transition from LastPass to Mooltipass even easier.

Issues on debian

  1. right clicking on the tray icon: first item is empty:

image

  1. unplugging the mooltipass: moolticute does not detect the disconnected event

  2. first MoolticuteApp start: displayed screen is "The Moolticute deamon is not running" even though MoolticuteApp has started it... but disappears after 40-50 seconds -- SAME FOR MACOS

  3. linux: change update notification to download the update file.

Lock tabs when entering MMM or FMM

When trying to enter file management mode or normal management mode, disable every other tab until management mode is entered or denied.

Failed to build app with msvc2015

Error:
D:\Projects\moolticute\repo\src\PasswordLineEdit.cpp:323: see reference to class template instantiation 'std::uniform_int_distribution' being compiled
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\random:2387: error: C2338: invalid template argument for uniform_int_distribution

the reason is using char instead of int as template argument.

Compiling on arch linux

g++ -c -pipe -O2 -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -std=gnu++0x -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../../moolticute -I. -I../src/QtAwesome -I../src -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtWebSockets -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o QtAwesome.o ../src/QtAwesome/QtAwesome.cpp
../src/QtAwesome/QtAwesome.h:392:7: error: expected identifier before numeric constant
       linux                = 0xf17c,
       ^
../src/QtAwesome/QtAwesome.h:392:7: error: expected '}' before numeric constant
../src/QtAwesome/QtAwesome.h:392:7: error: expected unqualified-id before numeric constant
In file included from ../src/QtAwesome/QtAwesome.cpp:10:0:
../src/QtAwesome/QtAwesome.h:699:1: error: expected declaration before '}' token
 }
 ^
Makefile.gui:417: recipe for target 'QtAwesome.o' failed
make[1]: *** [QtAwesome.o] Error 1
make[1]: Leaving directory '/home/alarm/hackallthethings/moolticute/build'
Makefile:58: recipe for target 'sub-gui-pro-make_first' failed
make: *** [sub-gui-pro-make_first] Error 2

I installed

sudo pacman -S --needed qt5-websockets libusb qt5-base

Any ideas what might be missing?
Those packages are available, starting with qt:

[alarm@alarmpi build]$ pacman -S qt     
qt-assistant-compat   qt4pas                qt5-doc               qt5-imageformats      qt5-sensors           qt5-translations      qt5-x11extras         qtcurve-gtk2          qtkeychain            qtspim
qt-at-spi             qt5-3d                qt5-enginio           qt5-location          qt5-serialbus         qt5-virtualkeyboard   qt5-xmlpatterns       qtcurve-qt4           qtmpc                 qtwebkit
qt-recordmydesktop    qt5-base              qt5-examples          qt5-multimedia        qt5-serialport        qt5-wayland           qt5ct                 qtcurve-qt5           qtox                  
qt4                   qt5-canvas3d          qt5-feedback          qt5-quickcontrols     qt5-svg               qt5-webchannel        qtav                  qtcurve-utils         qtractor              
qt4-gstreamer         qt5-connectivity      qt5-graphicaleffects  qt5-quickcontrols2    qt5-systems           qt5-webkit            qtchooser             qtfm                  qtscriptgenerator     
qt4-private-headers   qt5-declarative       qt5-gstreamer         qt5-script            qt5-tools             qt5-websockets        qtcreator             qtiplot               qtscrobbler

Cannot entering management mode

Between commits: 4fda5d01c7651c30fb27d3a78cf1f561b287133 .. 9486816 when building moolticuted from source I am not able to enter memory management mode:

Here are daemon logs

DEBUG: :0 - Mooltipass connected
DEBUG: :0 - received MP_MOOLTIPASS_STATUS:  1
DEBUG: :0 - New connection
DEBUG: :0 - received MP_MOOLTIPASS_STATUS:  3
DEBUG: :0 - Update client status changed:  WSServerCon(0x2a98e10)
DEBUG: :0 - received MP_MOOLTIPASS_STATUS:  5
DEBUG: :0 - Update client status changed:  WSServerCon(0x2a98e10)
INFO: :0 - "Loading device parameters"
DEBUG: :0 - received MP version FLASH size:  4 Mb
DEBUG: :0 - received MP version hw:  "v1.2_mini"
DEBUG: :0 - received language:  147
DEBUG: :0 - received lock timeout enable:  1
DEBUG: :0 - received lock timeout:  5
DEBUG: :0 - received screensaver:  1
DEBUG: :0 - received userRequestCancel:  1
DEBUG: :0 - received userInteractionTimeout:  5
DEBUG: :0 - received flashScreen:  1
DEBUG: :0 - received offlineMode:  1
DEBUG: :0 - received tutorialEnabled:  0
DEBUG: :0 - received screenBrightness:  51
DEBUG: :0 - received set_knockEnabled:  1
DEBUG: :0 - received knockSensitivity:  5
INFO: :0 - Finished loading device options
INFO: :0 - Mini firmware above v1.2, requesting serial number
INFO: :0 - "Send date to device"
DEBUG: :0 - Sending current date:  "0x0e" "0x3f"
INFO: :0 - Date set success
INFO: :0 - Firmware above v1.2, requesting change numbers
INFO: :0 - "Loading device serial number"
DEBUG: :0 - JSON API recv: {
    "msg": "start_memorymgmt"
}

And client Apps logs

DEBUG: :0 - Running  "/home/user/git/moolticute/build/moolticuted"   ()
DEBUG: :0 - Websocket connected
DEBUG: :0 - New message:  QJsonObject({"msg":"mp_connected"})
DEBUG: :0 - New message:  QJsonObject({"msg":"mp_connected"})
DEBUG: :0 - New message:  QJsonObject({"data":"Locked","msg":"status_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"keyboard_layout","value":0},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"lock_timeout_enabled","value":false},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"lock_timeout","value":0},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"screensaver","value":false},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"user_request_cancel","value":false},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"user_interaction_timeout","value":0},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"flash_screen","value":false},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"offline_mode","value":false},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"tutorial_enabled","value":false},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":false,"msg":"memorymgmt_changed"})
DEBUG: :0 - MMM exitted
DEBUG: :0 - New message:  QJsonObject({"data":{"data_nodes":[],"login_nodes":[]},"msg":"memorymgmt_data"})
DEBUG: :0 - New message:  QJsonObject({"data":{"flash_size":0,"hw_version":""},"msg":"version_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"screen_brightness","value":0},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"knock_enabled","value":false},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"knock_sensitivity","value":0},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":"LockedScreen","msg":"status_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":"Unlocked","msg":"status_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"flash_size":4,"hw_version":""},"msg":"version_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"flash_size":4,"hw_version":"v1.2_mini"},"msg":"version_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"keyboard_layout","value":147},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"lock_timeout_enabled","value":true},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"lock_timeout","value":5},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"screensaver","value":true},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"user_request_cancel","value":true},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"user_interaction_timeout","value":5},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"flash_screen","value":true},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"offline_mode","value":true},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"screen_brightness","value":51},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"knock_enabled","value":true},"msg":"param_changed"})
DEBUG: :0 - New message:  QJsonObject({"data":{"parameter":"knock_sensitivity","value":2},"msg":"param_changed"})

On the GUI I have Wait for device confirmation confirm the request on your device but nothing show up on the device :(

Anyone else can reproduce that ?

MoolticuteApp-v0.2.3-alpha.dmg - Not working for me.

Hello Raoulh!

Installed latest version. Started normally.

Won't work for me neither in FF or Chrome.

Here's some debug info:

Chrome - Context and fallback appears to be right, the BLUE part is raw from what I got from Moolticute:

screen shot 2016-10-06 at 6 14 30 pm

Log - From another request / No subdomain.

screen shot 2016-10-06 at 6 11 44 pm

Could it be me? Let me know how can I help!

[internal to developpers] define and document the data exchange format between MMM GUI and backend

[wish] rename moolticuteApp

... with lower case.
For the sake of consistency, the daemon + app names should either be moolticuted & moolticuteApp or Moolticuted & MoolticuteApp.

I have a preference for the former.

Maybe gentoo specific: I can use qmake QT5 but includes are QT4

build # qmake -qt=5 ../Moolticute.pro
build # make
( test -e Makefile.daemon || /usr/lib64/qt5/bin/qmake /usr/local/src/git/moolticute/daemon.pro -o Makefile.daemon ) && make -f Makefile.daemon
make[1]: Entering directory '/usr/local/src/git/moolticute/build'
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I../../moolticute -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4 -I. -I../../moolticute -I. -o main_daemon.o ../src/main_daemon.cpp
In file included from ../src/main_daemon.cpp:20:0:
../src/AppDaemon.h:22:24: fatal error: QApplication: No such file or directory
#include
^
compilation terminated.
Makefile.daemon:313: recipe for target 'main_daemon.o' failed
make[1]: *** [main_daemon.o] Error 1
make[1]: Leaving directory '/usr/local/src/git/moolticute/build'
Makefile:41: recipe for target 'sub-daemon-pro-make_first' failed
make: *** [sub-daemon-pro-make_first] Error 2

Orphan child issue

After the Chrome extension created a new credential with an incorrect username, I attempted to change the username to NoahAndrews through Moolticute's credential management mode.

When I clicked the "Save all changes" button, I got this error:
image

Now, every time I click "save all changes" I get the same error, even if I didn't change anything. If I did change anything, it doesn't get saved. The original username change never got saved either.

The relevant-looking lines from the log:

image

Those lines show up every time I press "save all changes".

Moolticute compilation error

../src/MPDevice.cpp: In member function โ€˜void MPDevice::cancelUserRequest(const QString&)โ€™:
../src/MPDevice.cpp:2595:42: error: call of overloaded โ€˜qAsConst(QQueue<AsyncJobs*>&)โ€™ is ambiguous
for (AsyncJobs j: qAsConst(jobsQueue))
^
../src/MPDevice.cpp:2595:42: note: candidates are:
In file included from ../src/MPDevice.h:23:0,
from ../src/MPDevice.cpp:19:
../src/Common.h:91:33: note: mc_remove_reference_t& qAsConst(T&&) [with T = QQueue<AsyncJobs
>&; mc_remove_reference_t = QQueue<AsyncJobs*>]
mc_remove_reference_t const& qAsConst(T&&t){return t;}
^
../src/Common.h:93:9: note: const T qAsConst(T&&) [with T = QQueue<AsyncJobs*>&]
T const qAsConst(T&&t){return std::forward(t);}
^
../src/Common.h:95:10: note: const T& qAsConst(T&) [with T = QQueue<AsyncJobs*>]
T const& qAsConst(T&t){return t;}
^
Makefile.daemon:563: recipe for target 'MPDevice.o' failed
make[1]: *** [MPDevice.o] Error 1
make[1]: Leaving directory '/home/bzt/mooltipass/moolticute/build'
Makefile:41: recipe for target 'sub-daemon-pro-make_first' failed
make: *** [sub-daemon-pro-make_first] Error 2

Qt version:
QMake version 3.0
Using Qt version 5.6.2 in /usr/lib64

G++ version:
g++ (SUSE Linux) 4.8.5

Please let me know if you need more data

Closing unofficial firefox extension crashes moolticuted & app on win10 x64

steps to reproduce the problem:

using https://calaos.fr/mooltipass/windows/moolticute_setup_v0.1.24-alpha.exe
browse to about:debugging#addons at FF 48
click on Enable Add-on debugging
click "load temporary add-on"
select manifest.json from the chrome_extension folder from https://github.com/Gastonius/mooltipass
click on the extension icon, click on settings
select "use moolticute instead of chrome app..."
go back to the about:debugging#addons and click on "reload" for the mooltipass extension
visit the website of interest, DO NOT accept the prompt on the device, don't let it time out
close firefox

fontawesome icons are wrong in release

In released build, icons from fontawesome are wrong or not displayed

image

Password linedit should have an Eye + a tool icon, instead there is an arrow on windows. On macos no icons are displayed but two squares.

moolticuted crash when no mooltipass connected

On win10 x64, steps to reproduce the problem:

  • have moolticute configured to start at boot
  • have chrome extension configured to talk with moolticute
  • restart computer
  • launch chrome
  • go to any login page

Can't compile moolticute for ARM

Hi,

I tried to compile moolticute for ARM but at make step I have the following error :

    $ make
    ( test -e Makefile.daemon || /opt/qt5/bin/qmake -o Makefile.daemon /tmp/moolticute/daemon.pro ) && 
    make -f Makefile.daemon 
    Project WARNING: Cross compiling without sysroot. Disabling pkg-config.
    Project WARNING: Cross compiling without sysroot. Disabling pkg-config.
    sh: --exists: command not found
    Project ERROR: libusb-1.0 development package not found
    Makefile:44: recipe for target 'sub-daemon-pro-make_first' failed
    make: *** [sub-daemon-pro-make_first] Error 3

But :

    $ pkg-config libusb-1.0 --libs --cflags 
    -I/usr/include/libusb-1.0 -lusb-1.0

Do you have an idea about whats going on ?

Minor gui issues

In main window of gui application "Synchronisation" should be "SynchroniZation", in case the language is English of course.

On settings page in fullscreen mode at display with resolution 1920x1080 the distance between labels and controls is too big (in my opinion):
settings

Unable to build QApplication: No such file or directory

Something seems to be wrong, both qtcreator and the CLI make yield the following problem:

bert@bert-virtual-machine:/moolticute/build$ qmake ../Moolticute.pro
bert@bert-virtual-machine:
/moolticute/build$ make
( test -e Makefile.daemon || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/bert/moolticute/daemon.pro -o Makefile.daemon ) && make -f Makefile.daemon
make[1]: Entering directory '/home/bert/moolticute/build'
g++ -c -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DMC_INSTALL_PREFIX="/usr/local" -DQT_NO_DEBUG -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../../moolticute -I. -isystem /usr/include/libusb-1.0 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o UsbMonitor_linux.o ../src/UsbMonitor_linux.cpp
g++ -c -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DMC_INSTALL_PREFIX="/usr/local" -DQT_NO_DEBUG -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../../moolticute -I. -isystem /usr/include/libusb-1.0 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o MPDevice_linux.o ../src/MPDevice_linux.cpp
g++ -c -m64 -pipe -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DMC_INSTALL_PREFIX="/usr/local" -DQT_NO_DEBUG -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../../moolticute -I. -isystem /usr/include/libusb-1.0 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebSockets -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o main_daemon.o ../src/main_daemon.cpp
In file included from ../src/main_daemon.cpp:19:0:
../src/AppDaemon.h:26:24: fatal error: QApplication: No such file or directory
compilation terminated.
Makefile.daemon:561: recipe for target 'main_daemon.o' failed
make[1]: *** [main_daemon.o] Error 1
make[1]: Leaving directory '/home/bert/moolticute/build'
Makefile:41: recipe for target 'sub-daemon-pro-make_first' failed
make: *** [sub-daemon-pro-make_first] Error 2

I think there's some kind of regression bug, since it's fixed when I revert one commit back from the latest one (a765c85 to 9a97fc1)

7070 segmentation fault

Inside the Credential Management mode, whenever I click on the "settings" icon of a password (the one beside the eye to show the password), I get a 7070 segmentation fault.
I was using https://github.com/raoulh/moolticute/releases/download/v0.9.8-beta/moolticute_0.9.8-beta_amd64.deb Here some gdb details

stefan@klapprechner:~/Downloads|โ‡’  gdb /usr/bin/moolticute 
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/moolticute...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/moolticute 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fbb3e658700 (LWP 7595)]
INFO: :0 - Trying to set language:  ":/lang/mc_en.qm"
[New Thread 0x7fbb3d626700 (LWP 7596)]
[New Thread 0x7fbb367f8700 (LWP 7597)]
INFO: :0 - Running  "/usr/bin/moolticuted"   ()
INFO: :0 - Daemon started
WARNING: :0 - Daemon exits with error code  1  Exit Status :  0
[New Thread 0x7fbb3560a700 (LWP 7650)]
INFO: :0 - Checking software updates from  ""
WARNING: :0 - Network error when checking for update:  "Protocol \"\" is unknown"
[Thread 0x7fbb367f8700 (LWP 7597) exited]

Thread 1 "moolticute" received signal SIGSEGV, Segmentation fault.
0x00007fbb49cd720e in QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb) where
#0  0x00007fbb49cd720e in QObject::connect(QObject const*, char const*, QObject const*, char const*, Qt::ConnectionType) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007fbb4aea0cc2 in QComboBox::setModel(QAbstractItemModel*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2  0x0000000000461025 in ?? ()
#3  0x00007fbb49cd197f in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007fbb4ada1d82 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007fbb4ada446c in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#6  0x00007fbb4af65aeb in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#7  0x00007fbb4af65d44 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#8  0x00007fbb4af4507a in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007fbb4ade8db8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007fbb4af45114 in QToolButton::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007fbb4ada846c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007fbb4adb028f in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007fbb49ca2d68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007fbb4adaf262 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007fbb4ae0393b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007fbb4ae05faa in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007fbb4ada846c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007fbb4adafd34 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007fbb49ca2d68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007fbb4a5ecf43 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#21 0x00007fbb4a5eea25 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#22 0x00007fbb4a5c6cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#23 0x00007fbb421045a0 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#24 0x00007fbb47370f67 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fbb473711a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fbb4737122c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007fbb49cfb3ff in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#28 0x00007fbb49ca0dba in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007fbb49ca9d24 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x0000000000422216 in ?? ()
#31 0x00007fbb48be52e1 in __libc_start_main (main=0x4221d0, argc=1, argv=0x7fffffffe3c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe3b8)
    at ../csu/libc-start.c:291
#32 0x0000000000423079 in ?? ()
(gdb) list
1	../sysdeps/x86_64/dl-procinfo.c: No such file or directory.

Cannot connect to device

Once I got the app compile now, I am not able to connect to mooltipass.

./MoolticuteApp 
DEBUG: :0 - Websocket disconnect
DEBUG: :0 - Websocket error:  "Connection refused"
DEBUG: :0 - Websocket open()

I am using Ubuntu Mate 16.04 and I've enable the udev rules. The chrome app works, I also closed the chrome app before launching moolticute. I tried replugging and unlocking.

Version of Qt needed?

I'm using MacOS 10.12 with Qt 5.5.1 and I had to remove calls to setIsMask on icon to make the code compile. Is there a specific version of Qt needed for this to work?

My changes:

diff --git a/src/AppGui.cpp b/src/AppGui.cpp
index 2d62bdf..2918168 100644
--- a/src/AppGui.cpp
+++ b/src/AppGui.cpp
@@ -26,9 +26,6 @@ bool AppGui::initialize()

     systray = new QSystemTrayIcon(this);
     QIcon icon(":/systray_disconnected.png");
-#ifdef Q_OS_MAC
-    icon.setIsMask(true);
-#endif
     systray->setIcon(icon);
     systray->show();

@@ -211,9 +208,6 @@ void AppGui::connectedChanged()
         QIcon icon(":/systray_disconnected.png");
 #endif

-#ifdef Q_OS_MAC
-        icon.setIsMask(true);
-#endif
         systray->setIcon(icon);
     }
     else
@@ -223,10 +217,6 @@ void AppGui::connectedChanged()
 #else
         QIcon icon(":/systray.png");
 #endif
-
-#ifdef Q_OS_MAC
-        icon.setIsMask(true);
-#endif
         systray->setIcon(icon);
     }
 }

Error with credential management mode if wrong password

If you request to manage credential from the moolticute your device will ask you credential confirmation. If you type a wrong password on the mooltipass, and retry with the good one, the application did not detect it and the application ask you to unlock your device. The device was unlock at this time. The solution is to unplug/plug the device.

app version v0.9.8-beta, with mooltipass mini v1.2_mini on Debian 9

Moolticuted listening port

As the listening port of moolticuted is hardcoded it will be hard to allow two different user to run the daemon on the same system.

Is this something expected ?

moolticuted critical error: tagPointedNodes: couldn't find parent node with address "" in our list

I started using my Mooltipass Mini yesterday and got it set up on my Linux machine with a few shared credentials. At some point I unplugged the Mooltipass while the card was plugged in and unlocked. After that, moolticuted errors out when I plug in the Mooltipass.

The daemon log is available at https://gist.github.com/seemuth/69dce3bd01a815f45eb1ed276ec1823f

DEBUG: ../moolticute/src/WSServer.cpp:105 - Mooltipass connected
INFO: ../moolticute/src/MPDevice.cpp:2013 - Checking database...
CRITICAL: ../moolticute/src/MPDevice.cpp:1487 - tagPointedNodes: couldn't find parent node with address "" in our list
INFO: ../moolticute/src/MPDevice.cpp:2067 - Number of parent orphans: 0
INFO: ../moolticute/src/MPDevice.cpp:2068 - Number of children orphans: 0
INFO: ../moolticute/src/MPDevice.cpp:2069 - Number of data parent orphans: 0
INFO: ../moolticute/src/MPDevice.cpp:2070 - Number of data children orphans: 0
INFO: ../moolticute/src/MPDevice.cpp:2108 - Errors were found in the database
INFO: ../moolticute/src/AsyncJobs.cpp:97 - "Exiting MMM"
CRITICAL: ../moolticute/src/MPDevice.cpp:2358 - Failed to exit MMM

This error persists even after I erase the Mooltipass and re-initialize the card, and the same error occurs on both Linux systems I tried.

I am able to successfully use the same Mooltipass using the Chrome add-ons on a Mac, so it appears that the hardware itself is still fine. Even on the Linux computers, I can manually choose Login on the Mooltipass itself and have it type in my credentials for me.

My main Linux desktop is Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2+deb8u3 (2016-07-02) x86_64 GNU/Linux, using i3wm, with Qt version 5.8.0.

MAC: Remap Apple + Q, detect first app launch and enable app launch at boot by default

Moolticute users would appreciate having the daemon (and app) started when the user first logins into his session.
Therefore, as moolticute doesn't have an installer, moolticute could detect its first launch and then set itself to start every time the user logs in.
Moreoever, as currently closing the app closes the daemon as well, apple+q should be remapped to not close them when these keys are pressed.

Refine the selection of special characters for password generator

Currently the password generator uses all possible special characters. Including some that aren't accepted by several pages (like { or } or |). The addition of a settings menu to choose which special characters should be added to the password generator would be nice.

Bug when deleting ssh keys

While using Moolticute add your ssh keys to your MPM using ssh-add.
Delete your keys using ssh-add -D
Allow all prompts on the MPM
The last prompt will say "Update Data For: ????????"
Once you allow the last prompt the MPM will freeze up.

Missing dict-src.h file needed for compilation

I'm using Qt 5.8 on Debian Jessie. When I try to build through Qt Creator, it throws a compilation error due to a missing dict-src.h file.

gcc -c -pipe -g -Wall -W -D_REENTRANT -fPIC -DMC_INSTALL_PREFIX=\"/usr/local\" -DQT_QML_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../mooltipass/moolticute -I. -I../mooltipass/moolticute/src/QtAwesome/QtAwesome -I../mooltipass/moolticute/src -I../mooltipass/moolticute/src/zxcvbn-c -I../../Qt/5.8/gcc_64/include -I../../Qt/5.8/gcc_64/include/QtWidgets -I../../Qt/5.8/gcc_64/include/QtGui -I../../Qt/5.8/gcc_64/include/QtWebSockets -I../../Qt/5.8/gcc_64/include/QtNetwork -I../../Qt/5.8/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I../../Qt/5.8/gcc_64/mkspecs/linux-g++ -o zxcvbn.o ../mooltipass/moolticute/src/zxcvbn-c/zxcvbn.c
../mooltipass/moolticute/src/zxcvbn-c/zxcvbn.c:456:22: fatal error: dict-src.h: No such file or directory
 #include "dict-src.h"
                      ^
compilation terminated.

This happens regardless of if I build in Debug mode or Release mode.

Missing Settings, Bugs, Wishes

Some settings need to be implemented to fully use all the features offered by the mooltipass devices:
First box is for the dev to tick when implemented, second box is for the issue make to approve.
The current list is for the pending PR from limpkin's repo

from v1.1 firmware:

  1. [x] Adding delay after key presses
    a) enable:
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/jade/_page_settings.jade#L42
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/js/settings.js#L157
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L103
    b) delay:
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/js/settings.js#L207
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L104

  2. [x] key after login output:
    a) enable:
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/jade/_page_settings.jade#L50
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/js/settings.js#L42
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L99
    b) key:
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/jade/_page_settings.jade#L52
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/js/settings.js#L320
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L100

  3. [x] key after password output:
    Same as 2), IDs:
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L101
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L102

from v1.2 firmware:

  1. [x] hash display feature:
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/js/settings.js#L788
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L111

  2. [x] random starting pin:
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/js/settings.js#L751
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L112

  3. [x] lock unlock feature:
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/jade/_page_experts.jade#L45
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/html/js/settings.js#L832
    https://github.com/limpkin/mooltipass/blob/master/chrome_app/vendor/mooltipass/device.js#L110

bugs

  1. [x] "lock after X minutes of activity" values isn't correctly read from the device: bad param read
  2. [x] Allow settings to be changed when no card is inserted: some settings (knock) can only be changed when no card is inserted
  3. [x] in MMM service and login are together when they start with "_". To reproduce: set service to "_unlock_" and login to "_test_"
  4. [x] the key icon in the add new credential is doing nothing
  5. [x] import / export buttons are not yet implemented: please gray them out and add a sentence saying it's not implemented yet.
  6. [x] receiving a cancel request with an invalid id seems to crash the daemon
  7. [x] do not change all settings when only one is changed the knock enabling setting can only be changed when no card is inserted
  8. [x] handle settings change error: see previous item. Do not use a separate window to display the error, but insert it in the app itself
  9. [x] settings menu: ticking the "for slow computers..." item and pressing save doesn't remove the save button
  10. [x] clicking "reset" resets the screen brightness to 20%
  11. [ ] in MMM, when adding a credential and denying the prompt on the device, we get a "Unable to modify /" "Unable to set credential!/" error messages
  12. [ ] in MMM, credential add should be done differently: the credential is not directly added to the device but should only be added on the credential list

wishes

  1. [x] small space between the settings categories for better readability
  2. [x] display firmware version in the about tab:
    https://github.com/limpkin/mooltipass/tree/master/source_code/src/USB#0xa2-version-request
    (first byte indicates the memory size!)
  3. [x] display the mooltipass serial number for mini v1.2 in the about tab:
    https://github.com/limpkin/mooltipass/tree/master/source_code/src/USB#0xda-get-mooltipass-mini-serial
  4. [x] add the uid request feature in the about tab:
    https://github.com/limpkin/mooltipass/tree/master/source_code/src/USB#0xbd-get-mooltipass-uid
    (takes a 16 bytes uid request code)
  5. [ ] display Moolticute when the user selects "start moolticute" at the end of installation
  6. [x] center the buttons in the credentials tab
  7. [x] display the mooltipass status (locked/unlocked/no smartcard/...) when hovering the tray icon
  8. [x] display moolticute when started through the OS menu
  9. [x] double click instead of single click to display moolticute from tray icon
  10. [x] add credential window: do not update description if field is empty
  11. [ ] implement USB packet send retry
  12. [x] display error message when settings can't be written, preferably not in a separate window (see current app)
  13. [ ] in the about tab, show the device memory size
  14. [x] daemon: add a "get_application_id" message that will return several informations: application_name: "moolticute" application_version:version
  15. [ ] in the credentials tab, move the computer icon a little bit to the left (too close with the text)

Memory Management

  1. [x] do not allow modification of date created and date last used (this is done in the backend)
  2. [x] double clicking on the password field should erase the "******"
  3. [ ] dates created and dates modified aren't correctly read!
  4. [x] when date created / modified are 0s, write "not specified"
  5. [x] add a way to add credentials, with a password generator
  6. [x] edit window: password generate button is not working, should be configured as well
  7. [x] set the service row in a light grey color so that the user can understand his credentials are below
  8. [x] add a way to fold/unfold all services
  9. [x] when services are folded a single click on a row should open the credentials list
  10. [x] add a small perpendicular arrow at the left of the login field so that the user can understand that the credential is for the service name above it
  11. [ ] display the reading progress when entering MMM (limpkin can write the backend code)
  12. [ ] when no login is present, add some greyed out text in the list << empty >>
  13. [ ] when entering in the MMM, completely empty the right panel as nothing is selected. Do not select by default the first one as in some cases the memory may be empty
  14. [ ] Moolticute should specify the login it wants to password for: https://github.com/limpkin/mooltipass/tree/master/source_code/src/USB#0xa4-get-login
  15. [ ] Logins for a given service should be grouped together (eg not show service1 / login 1, then service1 / login2)

Display Bugs

  1. Stretching in settings menu is odd, maybe not stretch between settings?
    image

GPG signatures for source validation

As we all know, today more than ever before, it is crucial to be able to trust our computing environments. One of the main difficulties that package maintainers of Linux distributions face, is the difficulty to verify the authenticity and the integrity of the source code.

The Arch Linux team would appreciate it if you would provide us GPG signatures in order to verify easily and quickly of your source code releases.

Overview of the required tasks:

Additional Information:

Thanks.

Win 10: Cannot exit the credentials tab

When browsing the credentials ("Credentials Management) I cannot exit to another tab (e.g. "About").
Clicking on the other tab has no effect, and pressing "discard changes" doesn't help.

I'm not ruling out a usability issue :)

Windows 10 64 bit

Signing release

Is there any way release could by signed with GPG ?

Thanks!

Disable update notification

I am running the latest aur version for archlinux. The app showed me that its up to date. Such kind of information and mechanisms should be able to disable completely on distribution with a central software repository.

Compil/run time option for multi-user environment

Open the discussion on how we can handle environment where multi-user would like to access mooltipass.

In the case where, different (unix) user would like to have access to a mooltipass it could be interesting to make moolticuted run as root and allow different client to connect to it.

Different options could be implemented to help this:

  • Tell the client to not manage the moolticute daemon
  • Allow to specify the path for the local socket on both the client and daemon
  • Allow to specify the path for storing Qt shared memory on both the client and daemon

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.