mooltipass / moolticute Goto Github PK
View Code? Open in Web Editor NEWMooltipass crossplatform daemon/tools
License: GNU General Public License v3.0
Mooltipass crossplatform daemon/tools
License: GNU General Public License v3.0
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.
unplugging the mooltipass: moolticute does not detect the disconnected event
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
linux: change update notification to download the update file.
... no point in spamming the device.
When trying to enter file management mode or normal management mode, disable every other tab until management mode is entered or denied.
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.
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
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 ?
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:
Log - From another request / No subdomain.
Could it be me? Let me know how can I help!
When pressing the save button in MM, the backend needs to know the changes that were made to the db
for info, on the current app
FYI on the back end, the UID used for making smart merges with the db is the node address
... 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.
As far as I could test this make install
does nothing on archlinux. It seems this is not implemented.
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
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:
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:
Those lines show up every time I press "save all changes".
../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
Add an API to open moolticute app from another client (the MP extension in firefox/chrome)
Implement a retry mechanism to retry for commands after a timeout delay
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
Title pretty much says everything.
Not sure if it matters, but this issue started after I started working on moolticute
... from raoulh to something more "evocative" such as mooltipass
for qsettings on windows: currently HKEY_CURRENT_USER\Software\Raoulh
for temporary files (used to keep a copy of mini file names): local data... raoulh...
On win10 x64, steps to reproduce the problem:
``
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 ?
Something seems to be wrong, both qtcreator and the CLI make yield the following problem:
bert@bert-virtual-machine:/moolticute/build$ qmake ../Moolticute.pro/moolticute/build$ make
bert@bert-virtual-machine:
( 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)
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.
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.
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);
}
}
... when saving a credential
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
@azubieta will implement libusb_process_events from the async tasks
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 ?
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.
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.
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.
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.
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.
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:
[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
[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
[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:
[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
[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
[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
wishes
Memory Management
Display Bugs
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.
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
Is there any way release could by signed with GPG ?
Thanks!
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.
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:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.