| Commit message (Collapse) | Author | Age |
|
|
|
| |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|
|
|
|
|
|
|
| |
Handle UNKNOWN_ERROR code (introduced in Storage v0.51, firmware commit
687d4aca31ce405db41231be73864ee2f91b3714) and is returned,
when device fails to retrieve the AES key.
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Add virtual destructor to logger classes.
Fixes compilation warning
Fixes #131
Fixes #129
|
| |
| |
| |
| |
| | |
Fixes: https://github.com/Nitrokey/libnitrokey/issues/129
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Update Catch to 2.3.0
Both CMake and Meson build files updated.
Tests compile (with both) and run with a Storage device.
Fixes #132
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| |/
|/|
| |
| | |
Meson: copy udev, fallback for git version.
Fixes #130
|
| |
| |
| |
| | |
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|/
|
|
| |
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|\
| |
| |
| |
| |
| | |
Meson fixes for tests build
Fixes #128
|
| |
| |
| |
| |
| |
| | |
Better to use meson's subproject, but let's go with submodule for now.
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|/
|
|
| |
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Meson:
- fix typo in lib name
- use real library version in getter
Fixes #127
|
| |
| |
| |
| | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|/
|
|
| |
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
|\
| |
| |
| |
| |
| | |
Support build via Meson and Ninja
Fixes #85
|
| |
| |
| |
| | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
| |
| |
| |
| | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|/
|
|
|
| |
References: https://github.com/Nitrokey/nitrokey-app/issues/306
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
|
|
|
|
| |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|
|
|
|
|
| |
Return version 3.0 and Git string "unknown"
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|
|
|
| |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|
|
|
|
|
|
| |
Sets version to "unknown"
Fixes #126
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|\
| |
| |
| |
| |
| | |
Allow to connect to device with model specified by enum.
Fixes #116
|
| |
| |
| |
| | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
| |
| |
| |
| |
| |
| |
| | |
Using return value instead of memory manipulation seem to be cleaner solution and less error prone
due to avoiding pointer usage.
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The C++ API already provides access to the model of the connected device
in NitrokeyManager::get_connected_device_model(). This patch also
exposes this information in the C API by adding NK_get_device_model. As
there might be no device connected, the function returns a boolean
indicating the connection status and writes the model of the connected
device to a pointer passed as an argument.
|
|\ \
| | |
| | |
| | | |
Fixes #124
|
| | |
| | |
| | |
| | | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Attribute specifiers are a C++-only feature. Therefore this patch
removes the [[deprecated(...)]] attribute from the NK_totp_get_time
method in NK_C_API.h and replaces it with a comment.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | | |
Add C minimal offline test
Fixes #125
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All current tests are written in C++. Therefore C++-only code in the C
API might not be detected by the tests. This patch adds a minimal test
written in C that only includes the C API header. This should make sure
that the C API code is valid.
The new test is called `test_minimal.c` and is added to the CMake
COMPILE_OFFLINE_TESTS option.
|
|\ \
| | |
| | |
| | | |
Handle command for getting production info
|
|/ /
| |
| |
| | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|\ \
| | |
| | |
| | | |
Handle WINK command, introduced in Storage v0.52
|
| | |
| | |
| | |
| | | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | | |
Fix version getter test
Closes #123
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`git describe` may return a tag name or <tag>-<n>-g<hash>, where <n> is
the number of commits since the last tag <tag> and <hash> is the hash of
the current commit. The current test case only considers the latter
case. This patch adds a regular expression to handle both cases.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | | |
Fix connect() return value in offline mode
Fixes #115
|
| | |
| | |
| | |
| | | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
NitrokeyManager::connect() currently returns true if the device pointer
is set. Yet this does not mean that the connection was successful. For
example, NitrokeyManger::connect(const char*) sets the device pointer
even if it was not successful.
This patch introduces a variable that keeps track of the connection
instead of checking the device pointer. This corrects the return value
without changing the behavior of the connect method (returning the
Storage device if both a Pro and a Storage device are present).
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | | |
Cleanup API related to device's TOTP time management
Fixes #114
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
device's side
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The SetTime command supports two modes: set the time without checking
the currently set time, or verify that the currently set time is not
zero and not larger than the new time (see cmd_set_time(uint8_t*,
uint8_t*) in src/keyboard/report_protocol.c, lines 678--710, in the
Nitrokey Pro firmware).
NitrokeyManager called these two modes set_time(uint64_t) and
get_time(uint64_t), which is highly misleading -- the command does never
get the time. Furthermore, the get_time method per default calls the
command with the time zero, which will always result in an error.
The C API has the methods NK_totp_set_time(uint64_t) and
NK_totp_get_time(). NK_totp_get_time() calls get_time(uint64_t) with
the time zero, leading to an error, and is therefore useless.
This patch proposes a new wording. While it would make sense to call
the first mode “reset” and the second mode “set”, this would break
compatibility. Therefore, new methods set_time_soft(uint64_t) and
NK_totp_set_time_soft(uint64_t) are introduced to represent the
difference between a hard and a soft setting of the time.
The old methods, get_time(uint64_t) and NK_totp_get_time(), are not
removed but marked as deprecated. They should be removed in an upcoming
major release.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Library version getter for C API
Fixes #117
Fixes #35
Fixes #62
|