Johan Ouwerkerk
41d94024c2
Add basic clipboard support for copying tokens
2020-04-04 11:35:43 +02:00
Johan Ouwerkerk
1a1c531dd3
Boyscout: fix a few compiler warnings about unused variables
2020-04-04 11:25:37 +02:00
Johan Ouwerkerk
a23e5473a6
UI updates: prevent "invalid" accounts, better secret UI.
...
With this change the "Add" button in the "Add account" page is not enabled
until the entered account name and details are valid. Additionally, the UI
for entering the token secret now uses a password field with appropriate
hints for input methods.
2020-04-04 11:24:26 +02:00
Johan Ouwerkerk
768ccdba97
Refactor and update input validation
...
This change fixes input validation for the following cases:
- Check that entered account names are still available
- Working validation for time steps (input mask was completely broken)
- Allow longer tokens: liboath is no longer used, Keysmith can handle it
Additionally the QML code is refactored significantly:
- Extracted the main accounts overview page
- Extracted the add an account page
- Completed the internal renaming of "Oath" to "Keysmith" for QML types
2020-04-04 11:22:15 +02:00
Johan Ouwerkerk
2a9c80fff5
Add a custom validator that checks if the name is still available.
2020-04-04 10:51:39 +02:00
Johan Ouwerkerk
28454721df
Do not fix up input during validation
...
This change is a workaround for behaviour of QML controls: when fixup is
called during input validation, the `acceptableInput` property is not
updated correctly.
2020-04-04 10:50:52 +02:00
Volker Krause
82a4fcce5f
Adapt Android manifest to Qt 5.14
2020-03-05 21:02:24 +01:00
Johan Ouwerkerk
19f457960e
Fixup: comment about minimum HOTP token lengths.
2020-02-18 19:53:09 +01:00
Johan Ouwerkerk
8b3fd592b7
Fix: always call endGroup()
...
Make sure to call endGroup() even if the account is rejected before
moving on to examine the next (possible) account.
2020-02-18 19:49:45 +01:00
Johan Ouwerkerk
6a06a2f5f0
Fixup HMAC key size sanity checking.
...
Key lengths should be checked against the output size of the hashing
algorithm (instead of block size, which was used previously).
2020-02-17 07:08:09 +00:00
l10n daemon script
eb99b2abf6
GIT_SILENT made messages (after extraction)
2020-02-16 02:57:36 +01:00
Yuri Chornoivan
112b4bdf8b
Fix minor typos
2020-02-13 20:27:57 +02:00
Nicolas Fella
ce1b5e8db4
[android] bundle icons
2020-02-12 22:18:26 +01:00
Nicolas Fella
bf8ae38fcf
[android] Add app icon
2020-02-12 22:09:19 +01:00
Nicolas Fella
7c8f6a4ee1
Add AndroidManifest
2020-02-08 18:34:56 +01:00
Johan Ouwerkerk
0cc2fbc98e
Fixup: signedness in comparison.
2020-02-08 17:10:17 +01:00
Bhushan Shah
ec8838aa04
cmake: change the required cmake version to 3.10
...
This builds fine with cmake 3.10.X
2020-02-08 21:33:46 +05:30
Johan Ouwerkerk
e5929e7dd5
Fixups for the flatpak build
2020-02-08 16:54:52 +01:00
Johan Ouwerkerk
8bd765e385
Remove the dependency on oath-toolkit.
...
This resolves issue #9 .
2020-02-08 14:46:55 +01:00
Johan Ouwerkerk
f950526f8b
Port HOTP/TOTP algorithms away from oath-toolkit.
2020-02-08 14:46:55 +01:00
Johan Ouwerkerk
8729b92b8b
Provide a custom HOTP/TOTP primitives.
...
Provides a building block for re-implementing the HOTP/TOTP algorithms
without using oath-toolkit: see issue #9 .
2020-02-08 14:46:55 +01:00
Johan Ouwerkerk
2fe3eb8083
Provide a custom HMAC implementation
...
Provide a building block towards re-implementing the HOTP/TOTP
algorithms without using oath-toolkit: see issue #9 .
The hmac::compute function trades simplicity (having to pre-allocate
a scratch buffer) for avoding accidental leaks of key material
(security).
This particular trade-off will help with resolving issue #6 .
2020-02-08 14:21:45 +01:00
Johan Ouwerkerk
26d6d62cbe
Validate that an account secret is valid base32.
2020-02-08 14:21:45 +01:00
Johan Ouwerkerk
ea81dafb8e
Port base32 decoding away from liboath
...
Provide a custom base32 implementation; relates to issues: #9 and #6 .
In particular being able to control memory allocation prior to
decoding base32 will help with resolving issue #6 in a (more) secure
fashion.
2020-02-08 14:21:45 +01:00
l10n daemon script
bf5dba5b58
SVN_SILENT made messages (.desktop file) - always resolve ours
...
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-02-04 06:03:03 +01:00
l10n daemon script
c9415736b0
GIT_SILENT made messages (after extraction)
2020-02-04 02:51:39 +01:00
l10n daemon script
0c96f0c445
GIT_SILENT made messages (after extraction)
2020-01-30 02:48:05 +01:00
Johan Ouwerkerk
f9a726fb7a
Improve appdata XML metadata
...
Add provides, categories, and project group.
Based on the example set by KTrip.
2020-01-29 23:27:22 +00:00
Johan Ouwerkerk
771ebccab5
Fixup reference error
2020-01-29 19:40:01 +01:00
Carl Schwan
cad3d9bd5c
Adding utility category to desktop file
2020-01-29 17:45:34 +00:00
Johan Ouwerkerk
6ae5f7be21
Rework main page UX:
...
- Get rid of cards in favour of a more plain list view
- Implement removing (deleting) accounts
2020-01-28 17:56:39 +01:00
Johan Ouwerkerk
a0caf83da2
Use the new Account models.
...
Drop the AccountDetailsPage instead of trying to update it: see issue #7
With this change issue #2 should be fixed
2020-01-28 06:49:06 +00:00
Johan Ouwerkerk
1f15fb6e08
Introduce an 'application context' (sub)module for Keysmtih.
...
This module is meant to simplify consumption of various Keysmith objects in QML by not having to expose/manage all C++ dependencies.
2020-01-28 06:49:06 +00:00
Johan Ouwerkerk
a813810dfe
Rewrite Account model(s) as a separate (sub)module within Keysmith, layered on top of the new Account (storage) module.
...
This fixes the model part in issue #2
2020-01-28 06:49:06 +00:00
Johan Ouwerkerk
0d5b792637
Rewrite Account (storage) management as a separate (sub)module within Keysmtih
...
This provides the ground work to finally fix issue #2
2020-01-28 06:49:06 +00:00
Johan Ouwerkerk
992d52ddba
Licensing/REUSE: add a copy of the GPLv3 (or later) license text
2020-01-28 06:49:06 +00:00
l10n daemon script
c46f8e2e75
SVN_SILENT made messages (.desktop file) - always resolve ours
...
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-01-28 05:37:05 +01:00
Yuri Chornoivan
6fada16de7
Fix minor EBN issues
2020-01-24 20:44:47 +02:00
l10n daemon script
b7d2c92683
SVN_SILENT made messages (.desktop file) - always resolve ours
...
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-01-10 05:51:23 +01:00
l10n daemon script
c1dad59a40
GIT_SILENT made messages (after extraction)
2020-01-10 03:20:14 +01:00
l10n daemon script
f2da5f98f3
SVN_SILENT made messages (.desktop file) - always resolve ours
...
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-01-09 05:47:13 +01:00
Johan Ouwerkerk
40a5491026
Remove application title property binding: it is redundant and causes QML warnings at runtime.
2019-12-31 18:20:58 +01:00
Bhushan Shah
78240a9efb
Rename binary to keysmith
...
org.kde prefix is definitely unusual so get rid of it.
2019-12-31 20:04:35 +05:30
Bhushan Shah
f4264b9c8c
app: add i18n support
2019-12-31 19:34:33 +05:30
l10n daemon script
5b430ddc95
SVN_SILENT made messages (.desktop file) - always resolve ours
...
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-12-30 05:39:49 +01:00
l10n daemon script
e551b2a04d
GIT_SILENT made messages (after extraction)
2019-12-30 03:15:32 +01:00
Johan Ouwerkerk
00821e1982
Use KDE standard BUILD_TESTING option instead of custom ENABLE_TESTING one.
2019-12-28 16:30:23 +01:00
Johan Ouwerkerk
70b50727c1
Bump Qt and KF5 frameworks versions:
...
- Ensure our Qt minimum requirement is not less than that of Kirigami
- Take the opportunity to bump frameworks version while we're still in review.
2019-12-28 14:43:11 +01:00
Johan Ouwerkerk
a5794e02da
Refactor: turn the base32 wrapper into a static library
...
This library is meant for private use by Keysmith, to simplify linking to the base32 functionality in CMake files.
2019-12-28 06:40:31 +00:00
l10n daemon script
32693b7092
SVN_SILENT made messages (.desktop file) - always resolve ours
...
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-12-28 05:19:26 +01:00