|  | Commit message (Collapse) | Author | Age | 
|---|
| | 
| 
| 
| | This reverts commit 0972bbe82623c3d9649b6023d8f50d304aa0cde6. | 
| | 
| 
| 
| 
| 
| | In a previous commit, we introduced the DEFAULT_{ADMIN,USER}_PIN
constants.  Therefore we no longer need in the {ADMIN,USER}_PASSWORD
constants in the util module for the tests. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | In the initial nitrokey-rs implementation, the Admin and the User struct
take the Device by value to make sure that the user cannot initiate a
second authentication while this first is still active (which would
invalidate the temporary password).  Now we realized that this is not
necessary – taking a mutable reference has the same effect, but leads to
a much cleaner API.
This patch refactors the Admin and User structs – and all dependent code
– to use a mutable reference instead of a Device value. | 
| | 
| 
| 
| 
| 
| 
| 
| | Sometimes we cannot use assert_ok! as we can’t compare the Ok value (or
do not want to).  For these cases, this patch adds the new assert_any_ok
macro to use instead of assert!(x.is_ok()).  The advantage is that the
error information is not discarded but printed in a helpful error
message. | 
| | 
| 
| 
| 
| 
| | The unwrap error message is not very useful.  This patch adds the
unwrap_ok macro that is basically the same as unwrap but prints a more
readable error message. | 
| | 
| 
| 
| 
| 
| 
| | This patch adds license and copyright information to all files to make
nitrokey-rs compliant with the REUSE practices [0].
[0] https://reuse.software/practices/2.0/ | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | If possible, check specific error codes instead of `is_err()`.  This
makes the code more readable and catches bugs resulting in the wrong
error code.  Also, using the assert_*_err and assert_ok macros yields
error messages containing the expected and the actual value.
To be able to use these macros with the `get_password_safe` method, we
also have to implement `Debug` for `PasswordSafe` and `Device`. | 
| | 
| 
| 
| 
| 
| | Previously, library errors were part of the CommandError enum.  As
command errors and library errors are two different error types, they
should be split into two enums. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | These macros allow easier comparisions using the new error type.  This
patch fixes all tests and updates nitrokey-test to 0.2.0 so that it
integrates with the new error structure.
Some tests may still fail until CommunicationError::NotConnected is
actually returned. | 
| | 
| 
| 
| 
| 
| | The update PIN is only used in the Storage tests, so it is moved from
the common tests/util module to the tests/device module.  This fixes
compiler warnings when compiling the other test modules. | 
| | 
| 
| 
| | This change adjusts the PWS tests to use the nitrokey-test crate. | 
| | 
| 
| 
| 
| 
| | This patch adds the change_update_pin method to the Storage struct that
uses the NK_change_update_password function to set the password required
for firmware updates. | 
| | 
| 
| 
| 
| 
| 
| | Currently, the test-no-device feature is used for tests that expect no
Nitrokey to be connected.  Yet test-no-device is equivalent to not
test-pro and not test-storage.  Therefore, this patch removes the
test-no-device feature. | 
|  | Newer Rust versions support integration tests in a top-level tests
directory.  This patch refactors the existing unit tests into
integration tests. |