Commit Graph

61 Commits (534d97365848f9a6b6391a73acef0024a7a57b69)

Author SHA1 Message Date
l10n daemon script 534d973658 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-16 05:37:13 +01:00
l10n daemon script 509674ec9a GIT_SILENT made messages (after extraction) 2019-12-16 03:22:08 +01:00
l10n daemon script 747a40a821 GIT_SILENT made messages (after extraction) 2019-12-13 03:31:51 +01:00
l10n daemon script c789859873 GIT_SILENT made messages (after extraction) 2019-12-07 03:20:04 +01:00
l10n daemon script 23f63cbbd7 GIT_SILENT made messages (after extraction) 2019-12-06 03:31:57 +01:00
Bart Ribbers 94940b9385
Set initial appdata contents 2019-12-05 15:55:19 +01:00
l10n daemon script ffb3dd67c1 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-11-28 05:58:25 +01:00
l10n daemon script 73f4d58cda GIT_SILENT made messages (after extraction) 2019-11-28 03:31:11 +01:00
l10n daemon script a66537dd1c 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-11-17 05:16:42 +01:00
l10n daemon script f9dde151d4 GIT_SILENT made messages (after extraction) 2019-11-17 03:13:06 +01:00
l10n daemon script 5c1a7f3878 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-11-16 05:08:09 +01:00
l10n daemon script da3dfaa1c6 GIT_SILENT made messages (after extraction) 2019-11-16 03:03:30 +01:00
Johan Ouwerkerk d46680e3f2 Fixup desktop file: remove duplicate Icon entry 2019-11-03 16:52:18 +01:00
Bhushan Shah 3da22c1de6 install new icon file and edit metadata 2019-11-03 11:57:25 +05:30
Carson Black 2223d7dd2b Icon for Keysmith 2019-11-03 06:23:41 +00:00
Johan Ouwerkerk 4ab08353bd Add dummy CTest configuration file to fix CTest warnings by ensuring CMake generates all files. 2019-10-22 19:38:19 +02:00
Johan Ouwerkerk f87d014ce5 Respect ENABLE_TESTING, but build tests by default 2019-10-22 19:34:38 +02:00
Johan Ouwerkerk 33b1ec033e Fixup CMakeLists find_packages(): Kirigami is required, and Qt5::Test was mentioned twice 2019-10-22 19:34:38 +02:00
Johan Ouwerkerk 68bd4dad00 Fix failing tests due to inconsistencies in French number formatting 2019-10-22 19:34:38 +02:00
Johan Ouwerkerk e6a53b6f3b Rebrand otpclient as Keysmith 2019-10-21 19:16:51 +02:00
Johan Ouwerkerk f68df63d89 Fixup flatpak manifest: patch entries should not have SHA sums 2019-10-20 14:11:48 +02:00
Johan Ouwerkerk 4d7bf2f975 Add a rudimentary details page for accounts and wire up navigation to/from it.
The account details page has a kind of modality:

 - hide mode: in which the user is shown the account info but sensitive information such as secret keys should not be displayed openly visible.
 - show mode: the same, but in this case all details are openly visible. This will be useful for showing QR codes explicitly.
 - edit mode: in which the user may edit account details (all except the name).
2019-10-20 14:09:39 +02:00
Johan Ouwerkerk c64273355a Refactor: extract the token details form UI to its own re-usable component. 2019-10-20 14:09:39 +02:00
Johan Ouwerkerk ba4d370ee6 Refactor: prefer Q_ENUM for declaring C++ enums to the Qt meta type system 2019-10-20 14:09:39 +02:00
Johan Ouwerkerk 3734e908a9 Hide main 'Add' action if the add account form is already opened.
In this way we can avoid the confusing situation with multiple add account forms open by mistake.
2019-10-20 14:06:22 +02:00
Johan Ouwerkerk 042b51d183 Use the unsigned long long validator for the HOTP counter input field in the QML UI. 2019-10-02 21:56:58 +02:00
Johan Ouwerkerk 543766b819 Introduce a validator for the HOTP counter field. 2019-10-02 21:56:58 +02:00
Johan Ouwerkerk d60cb92b21 Refactor: support injecting locales through test data 2019-10-02 21:34:33 +02:00
Johan Ouwerkerk f0b5f8121f Refactor: extract strip_spaces() utility function. 2019-10-02 21:34:33 +02:00
Johan Ouwerkerk 668e912dfe Apply the name validator to the account name input field in the QML UI. 2019-09-30 20:25:56 +02:00
Johan Ouwerkerk 3bc3a14575 Introduce a validator for name input fields (account name). 2019-09-30 20:25:56 +02:00
Johan Ouwerkerk bccf2565b8 Refactor: extract the common logic/boilerplate of a validator test to a helper utility (header)
With this change adding tests for new validators will be much less work.
2019-09-29 19:51:00 +02:00
Johan Ouwerkerk 73acbb68ae Add the new base32 secret validator to the UI: attach it to the secret input field. 2019-09-29 12:57:07 +02:00
Johan Ouwerkerk b791bbad45 Add QML bindings for custom validators
- Add convenience function to set up QML bindings under the Oath.Validators namespace
 - Wire up the validator library in the otpclient application
2019-09-29 12:53:49 +02:00
Johan Ouwerkerk eeeac7511c Introduce a custom base32 secret validator to perform input validation.
- Add a new static library "validator_lib" covering the "validators" namespace in C++
 - Introduce the Base32Validator to perform input field validation with fixup support
2019-09-29 12:48:25 +02:00
Johan Ouwerkerk c37bf03b8e Fix typo: OAth -> Oath (the name is oath or OATH). 2019-09-29 12:40:22 +02:00
Johan Ouwerkerk 8d40008201 Use a SpinBox for more appropriate UI/UX when entering token lengths
Due to our use of liboath for generating the actual tokens, we also support only a limited range of valid token lengths.
This means that it is more user friendly to express those limits  directly in the UI through a SpinBox instead of allowing the user type in values we do not currently support.
2019-09-28 00:22:55 +02:00
Johan Ouwerkerk 29e9348097 Modernise AccountModel C++ code a bit 2019-09-25 15:38:25 +02:00
Johan Ouwerkerk 8b03fe5123 Modernise Account C++ code a bit 2019-09-25 14:40:53 +02:00
Johan Ouwerkerk 4cff5519ed Automatically show the "add OTP" form when there are no OTP tokens yet on start up.
This is a small UX improvement to make it a little easier to get started with the app.
2019-09-25 11:17:48 +02:00
Johan Ouwerkerk 1292fc749b Make flatpak build again by copying a patch from Arch
Previously the flatpak would fail to build against a recent glib.c because fseeko.c was broken. Now it should be fixed.
2019-09-13 15:47:41 +02:00
Johan Ouwerkerk b4b8b2d25c Download oath-toolkit over HTTPS
This is a bit more secure against supply chain attacks because MITM is no longer trivial
2019-09-13 15:46:47 +02:00
Johan Ouwerkerk 4fe0d069cd Add a test to check the TOTP implementation can (at least) generate the values from the RFC test vector correctly. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 3a4df16a1c Make the 'clock' an injectable dependency via the Account constructor.
In this way we can fake the current date/time during tests, making it possible to reliably test TOTP and derivative type tokens.
2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 2d147e2427 Add a test to check the HOTP implementation can (at least) generate the values from the RFC test vector correctly. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 750025f05c Fixup Account to make sure all HOTP/TOTP algorithm properties are properly initialised by the constructor. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 960c96bb90 Minimal refactoring to move Account away from its previous base32 decoding implementation. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 6d7c56f94b Add autotests for validating the new base32 decoding utilities. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 71180195e6 Add dedicated base32 helper utilities in its own namespace. 2019-09-11 09:40:44 +02:00
Johan Ouwerkerk 4f4d1c93f8 Fixup: add license information to oath_p.h 2019-09-11 09:40:27 +02:00