summaryrefslogtreecommitdiff
path: root/NitrokeyManager.cc
Commit message (Collapse)AuthorAge
* Add set_time_soft to replace get_timeRobin Krahl2018-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Change const char* to char* for functions returning duplicated strings.Szczepan Zalega2018-04-19
| | | | | | | All functions returning duplicated C-strings, which needs to be deallocated on caller side, are typed char* instead of const char* Issue #110 Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Do not output DEBUG messages by defaultv3.3Szczepan Zalega2018-04-10
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Delay RO/RW PIN type change to start from v0.52 (instead of v0.51)Szczepan Zalega2018-04-10
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Merge branch '102-get_status_invalid'Szczepan Zalega2018-04-10
|\ | | | | | | Fixes #102
| * Precise value for p.enable_user_password field to 1 on true, as in firmwareSzczepan Zalega2018-04-10
| | | | | | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* | Add a NitrokeyManager::connect overload for enumRobin Krahl2018-04-10
|/ | | | | | | Identifying the model to connect to by the first character of a string is not intuitive. This patch adds an overload for the connect function that accepts a device::DeviceModel enum value, providing a cleaner interface.
* Make unbundling easierDavid Seifert2018-03-13
|
* Minor cleanupSzczepan Zalega2018-03-01
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Add to device's ID USB path. Convert ID to hex.Szczepan Zalega2018-02-28
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Log current device IDSzczepan Zalega2018-02-28
| | | | | | | | Allow logger to set global prefix Used to indicate current device Store USB path when used to connection as well Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Return USB path as id, when device is running long operationSzczepan Zalega2018-02-28
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Disconnect all devices before enumerating and discovering ids. Add log.Szczepan Zalega2018-02-28
| | | | | | Disconnection allows rediscovering devices. Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Do not disconnect device on getting status failureSzczepan Zalega2018-02-28
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* List devices by unique SC:SD idSzczepan Zalega2018-02-28
| | | | | | | Add C API and tests Add mutexes Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Initial support for multiple devices with C++ and testSzczepan Zalega2018-02-28
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Handle getting firmware version internallySzczepan Zalega2018-02-23
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Divide unencrypted volume ro/rw commands for backward compatibilitySzczepan Zalega2018-02-23
| | | | | | | | | | Unencrypted volume ro/rw: rename user_admin_pin -> admin_pin to be consistent with latest API. Update description. Document PIN requirements in C++ API Extract pin type function Add C API for separate unencrypted volume read write handling Use correct commands to set ro/rw mode of unencrypted volume Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Implement command for testing smartcard statusSzczepan Zalega2018-02-23
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Correct variable name for unencrypted ro/rw switchSzczepan Zalega2018-02-23
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Tests: set debug level from environment variable, show connected device ↵Szczepan Zalega2018-02-23
| | | | | | model and version Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Unify unencrypted volume ro/rw switchingSzczepan Zalega2018-02-23
| | | | | | | For 0.49 run new command, which needs Admin PIN For 0.48 and lower run old command Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Correct getting minor and major from firmware versionSzczepan Zalega2018-02-23
| | | | | | | | | Add get_minor_firmware_version Correct get_major_firmware version (was returning minor instead) Name 3rd version field for test builds Use minor firmware version in tests Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Support execution of the 0.49 commandsSzczepan Zalega2018-02-23
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Update license/copyright linesSzczepan Zalega2018-01-16
| | | | | | Remove redundant file Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Merge branch 'test_organize'Szczepan Zalega2017-10-10
|\ | | | | | | | | | | Improve test organization Disable CRC check Improve log
| * Increase maximum duplicated string lengthSzczepan Zalega2017-10-10
| | | | | | | | | | | | To cover Storage's status string getter Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* | Correct exception typeSzczepan Zalega2017-10-07
|/ | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Merge branch 'windows_MSVC2017' into OSX_merge_cleanedSzczepan Zalega2017-09-20
|\
| * Run compilation using Qt CreatorSzczepan Zalega2017-06-28
| |
| * Adjust code to make compilation under MSVC 2017Szczepan Zalega2017-06-28
| |
* | Correct mutex placementSzczepan Zalega2017-09-20
|/ | | | | | Move mutex from template instantation to single compilation unit to make it work as desired Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Code refactoringSzczepan Zalega2017-05-13
| | | | | | | Remove doubled implementation Remove clutter from DEBUG log level Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Refactor log codeSzczepan Zalega2017-05-12
| | | | | | | Inverse log levels order. Allow to change logging level with int. Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Return empty value on no connectionSzczepan Zalega2017-04-26
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Rename device mutex in NitrokeyManagerSzczepan Zalega2017-04-25
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Use own strndup implementation under WindowsSzczepan Zalega2017-04-25
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Security: exchange strdup with strndupSzczepan Zalega2017-04-14
| | | | | | Keep build directory (removed in earlier commit) Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Translate HOTP counter for StorageSzczepan Zalega2017-04-14
| | | | | | | | Storage returns its HOTP counter as string in readslot command. This adds translating it from string to ULL. Fixes #59 Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Handle print function in logger by functorSzczepan Zalega2017-04-07
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Return OTP codes as strings to make sure they are zero-filled properlySzczepan Zalega2017-04-03
| | | | | | | | | Adjust Python tests for new OTP codes return value Also remove manual 0-filling Fixes #57 Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Fix compilation warningsSzczepan Zalega2017-03-31
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Do not allow to set delays lower than 20 msSzczepan Zalega2017-03-31
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Allow to directly choose loglevelSzczepan Zalega2017-03-29
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Allow to change device commands delays runtimeSzczepan Zalega2017-03-29
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Add function commentSzczepan Zalega2017-03-14
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Allow to check is current device visible to the OSSzczepan Zalega2017-03-11
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Handle enabling update mode on Storage deviceSzczepan Zalega2017-03-11
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Log execution of connect functionSzczepan Zalega2017-03-11
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Build debug-log-free library for increased securitySzczepan Zalega2017-03-11
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>