aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add simple test for NK_list_devicesRobin Krahl2019-01-13
| | | | | | | Unfortunately, I cannot test more as the current ffi implementation does not allow me to import struct definitions. Without the definition for the NK_device_info struct, I cannot inspect the result of the NK_list_devices function.
* Add NK_device_info, NK_list_devices and NK_free_device_infoRobin Krahl2019-01-13
| | | | | | NK_list_devices corresponds to NitrokeyManager::list_devices. It returns a linked list of NK_device_info, which has to be freed using the NK_free_device_info function.
* Change std::wstring to std::string in DeviceInfoRobin Krahl2019-01-13
| | | | | | | For easier handling, we should use a std::string instead of std::wstring for the serial number in DeviceInfo. For the conversion, I assume that the serial number is valid UTF-8. As it should be alphanumeric and ASCII only, this should be true.
* Add NK_connect_with_path to C APIRobin Krahl2019-01-13
| | | | NK_connect_with_path corresponds to NitrokeyManager::connect_with_path.
* Add test case for NitrokeyManager::connect_with_path to test_multiple_devicesRobin Krahl2019-01-13
| | | | | | The current test case is renamed to “Use Storage API” as it queries the storage status. The new test case, “Use API”, lists all connected devices and prints their model, path and serial number.
* Change NitrokeyManager::connect_with_path to also work with ProRobin Krahl2019-01-13
| | | | | | | | | | Previously, Stick20 was hardcoded in connect_with_path. Now we first use hid_enumerate to find out the model on that path, then we connect to that model. We also could have added the model as a parameter to connect_with_path. Yet we cannot directly check the model after connecting, so this would be error-prone.
* Add test case for Device::enumerate to test_multiple_devicesRobin Krahl2019-01-13
| | | | | | The current test case is renamed to “List Storage devices” as it also displays the SD card ID. The new test case, “List devices”, lists all connected devices and prints their model, path and serial number.
* Implement operator<< for DeviceModelRobin Krahl2019-01-13
|
* Add Device::create static methodRobin Krahl2019-01-13
| | | | | The method makes it easier to create a std::shared_ptr<Device> from a model enum instance.
* Make Device::enumerate staticRobin Krahl2019-01-13
| | | | | | | | | | | Device::enumerate does not need any instance data, therefore it is made static. Note that this not only changes the public API by making the method static. We also return all connected Nitrokey devices instead of only Storage devices. The NitrokeyManager method list_devices_by_cpuID is changed to check the device type so that they still only return Storage devices. The list_device method now returns both Storage and Pro devices.
* Add product_id_to_model functionRobin Krahl2019-01-13
|
* Add misc::Option<T> classRobin Krahl2019-01-13
| | | | | Option<T> is a simple replacement for std::optional, which was introduced in C++17. It stores a value that can be present or absent.
* Extract vendor and product IDs into constantsRobin Krahl2019-01-13
|
* Change Nitrokey::list_devices return type to use DeviceInfoRobin Krahl2019-01-13
| | | | | | In the previous commit, we changed the return value of Device::enumerate to std::vector<DeviceInfo>. Now we change Nitrokey::list_devices to also return DeviceInfo instances.
* Change Device::enumerate return type to use DeviceInfoRobin Krahl2019-01-13
| | | | | | The return type of Device::enumerate is changed from std::vector<std::string> to std::vector<DeviceInfo> to expose the additional information contained in the DeviceInfo struct.
* Add DeviceInfo struct for enumerationRobin Krahl2019-01-13
| | | | | | This is a preparation for a future patch that will change the enumerate method to return a vector of DeviceInfo instances instead of a vector of strings.
* Merge branch 'cpp_tests_update'Szczepan Zalega2019-01-02
|\ | | | | | | | | | | | | | | | | Update C++ tests Add safe C++ test for simple connection test, device agnostic. Better describe the use case of C++ tests in the Readme. Related: https://github.com/d-e-s-o/nitrocli/issues/39
| * Update Readme, mostly test sectionSzczepan Zalega2019-01-02
| | | | | | | | | | | | | | Describe better C++ tests Related: https://github.com/d-e-s-o/nitrocli/issues/39 Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
| * Mention potential test failure cause, when no git version is providedSzczepan Zalega2019-01-02
| | | | | | | | | | | | Related to #133 Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
| * Add test_safe target for buildSzczepan Zalega2019-01-02
| | | | | | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
| * Add safe to user data C++ tests - test_safe.cppSzczepan Zalega2019-01-02
|/ | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Merge branch 'tests_update'Szczepan Zalega2018-11-22
|\ | | | | | | Adding corrections found while testing Storage v0.53 RC1.
| * Run enabling firmware update mode, but with wrong password onlySzczepan Zalega2018-11-22
| | | | | | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
| * Handle UNKNOWN_ERROR return codeSzczepan Zalega2018-11-22
|/ | | | | | | | 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>
* Merge branch 'pr_131'Szczepan Zalega2018-07-24
|\ | | | | | | | | | | | | | | Add virtual destructor to logger classes. Fixes compilation warning Fixes #131 Fixes #129
| * log: define default virtual destructor for LogHandlerIgor Gnatenko2018-07-18
| | | | | | | | | | Fixes: https://github.com/Nitrokey/libnitrokey/issues/129 Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
* | Merge branch 'pr_132'Szczepan Zalega2018-07-24
|\ \ | | | | | | | | | | | | | | | | | | 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
| * | Update for compatibility with Catch2 version 2.3.0Tom Hughes2018-07-24
| | |
| * | Update Catch to version 2.3.0Tom Hughes2018-07-24
| | |
| * | Update URL for Catch submoduleTom Hughes2018-07-24
|/ /
* | Merge branch 'pr_130'Szczepan Zalega2018-07-18
|\ \ | |/ |/| | | | | Meson: copy udev, fallback for git version. Fixes #130
| * meson: install udev rulesIgor Gnatenko2018-07-18
| | | | | | | | Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
| * meson: improve generation of vcs_tagIgor Gnatenko2018-07-18
|/ | | | Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
* Merge branch 'pr_128'Szczepan Zalega2018-07-18
|\ | | | | | | | | | | Meson fixes for tests build Fixes #128
| * meson: add support for bundled catchIgor Gnatenko2018-07-18
| | | | | | | | | | | | Better to use meson's subproject, but let's go with submodule for now. Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
| * meson: fix usage of system-wide catchIgor Gnatenko2018-07-18
| | | | | | | | Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
| * meson: test_minimal is written in CIgor Gnatenko2018-07-18
|/ | | | Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
* Merge branch 'pr_127'Szczepan Zalega2018-07-18
|\ | | | | | | | | | | | | | | Meson: - fix typo in lib name - use real library version in getter Fixes #127
| * meson: fix sneaky typo of the library nameSzczepan Zalega2018-07-18
| | | | | | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
| * meson: add support for generated VCS tagIgor Gnatenko2018-07-18
|/ | | | Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
* Merge branch 'pr_85'Szczepan Zalega2018-07-18
|\ | | | | | | | | | | Support build via Meson and Ninja Fixes #85
| * Mention build with meson in the ReadmeSzczepan Zalega2018-07-18
| | | | | | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
| * Update meson definition to v3.4.1Szczepan Zalega2018-07-18
| | | | | | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
| * add meson buildsystem definitionsIgor Gnatenko2018-07-18
|/ | | | | References: https://github.com/Nitrokey/nitrokey-app/issues/306 Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
* Allow for <patch> field in library version getter testSzczepan Zalega2018-07-18
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Handle get_library_version for Qt (temporarily)v3.4.1Szczepan Zalega2018-07-18
| | | | | | Return version 3.0 and Git string "unknown" Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Bump version to 3.4.1Szczepan Zalega2018-07-18
| | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Handle build without Git repository infoSzczepan Zalega2018-07-18
| | | | | | | Sets version to "unknown" Fixes #126 Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
* Merge branch 'pr_116'v3.4Szczepan Zalega2018-07-07
|\ | | | | | | | | | | Allow to connect to device with model specified by enum. Fixes #116
| * Handle new enum model value in NK_login_enumpr_116Szczepan Zalega2018-07-07
| | | | | | | | Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>