diff options
-rw-r--r-- | p11-kit/pin.c | 13 | ||||
-rw-r--r-- | p11-kit/pin.h | 4 | ||||
-rw-r--r-- | tests/pin-test.c | 38 |
3 files changed, 28 insertions, 27 deletions
diff --git a/p11-kit/pin.c b/p11-kit/pin.c index 328785f..14cb171 100644 --- a/p11-kit/pin.c +++ b/p11-kit/pin.c @@ -284,9 +284,9 @@ p11_kit_pin_unregister_callback (const char *pinfile, p11_kit_pin_callback callb } int -p11_kit_pin_read_pinfile (const char *pinfile, P11KitUri *pin_uri, - const char *pin_description, P11KitPinFlags flags, - char *pin, size_t pin_max) +p11_kit_pin_retrieve (const char *pinfile, P11KitUri *pin_uri, + const char *pin_description, P11KitPinFlags flags, + char *pin, size_t pin_length) { PinfileCallback **snapshot = NULL; unsigned int snapshot_count = 0; @@ -317,9 +317,10 @@ p11_kit_pin_read_pinfile (const char *pinfile, P11KitUri *pin_uri, if (snapshot == NULL) return 0; - for (i = 0; i < snapshot_count; i++) { - ret = (snapshot[i]->func) (pinfile, pin_uri, pin_description, flags, - snapshot[i]->user_data, pin, pin_max); + ret = 0; + for (i = snapshot_count; ret == 0 && i > 0; i--) { + ret = (snapshot[i - 1]->func) (pinfile, pin_uri, pin_description, flags, + snapshot[i - 1]->user_data, pin, pin_length); } _p11_lock (); diff --git a/p11-kit/pin.h b/p11-kit/pin.h index 780e72d..bb5daae 100644 --- a/p11-kit/pin.h +++ b/p11-kit/pin.h @@ -58,7 +58,7 @@ typedef int (*p11_kit_pin_callback) (const char *pinfile P11KitPinFlags pin_flags, void *callback_data, char *pin, - size_t pin_max); + size_t pin_length); typedef void (*p11_kit_pin_callback_destroy) (void *callback_data); @@ -71,7 +71,7 @@ void p11_kit_pin_unregister_callback (const char *pinfile p11_kit_pin_callback callback, void *callback_data); -int p11_kit_pin_read_pinfile (const char *pinfile, +int p11_kit_pin_retrieve (const char *pinfile, P11KitUri *pin_uri, const char *pin_description, P11KitPinFlags pin_flags, diff --git a/tests/pin-test.c b/tests/pin-test.c index 7f1bc08..344fe6b 100644 --- a/tests/pin-test.c +++ b/tests/pin-test.c @@ -96,9 +96,9 @@ test_pin_read (CuTest *tc) &data, destroy_data); uri = p11_kit_uri_new (); - ret = p11_kit_pin_read_pinfile ("/the/pinfile", uri, "The token", - P11_KIT_PIN_FLAGS_USER_LOGIN, - buffer, sizeof (buffer)); + ret = p11_kit_pin_retrieve ("/the/pinfile", uri, "The token", + P11_KIT_PIN_FLAGS_USER_LOGIN, + buffer, sizeof (buffer)); p11_kit_uri_free (uri); CuAssertIntEquals (tc, 1, ret); @@ -116,9 +116,9 @@ test_pin_read_no_match (CuTest *tc) int ret; uri = p11_kit_uri_new (); - ret = p11_kit_pin_read_pinfile ("/the/pinfile", uri, "The token", - P11_KIT_PIN_FLAGS_USER_LOGIN, - buffer, sizeof (buffer)); + ret = p11_kit_pin_retrieve ("/the/pinfile", uri, "The token", + P11_KIT_PIN_FLAGS_USER_LOGIN, + buffer, sizeof (buffer)); p11_kit_uri_free (uri); CuAssertIntEquals (tc, 0, ret); @@ -141,9 +141,9 @@ test_pin_register_duplicate (CuTest *tc) p11_kit_pin_register_callback ("/the/pinfile", callback_other, value, NULL); - ret = p11_kit_pin_read_pinfile ("/the/pinfile", uri, "The token", - P11_KIT_PIN_FLAGS_USER_LOGIN, - buffer, sizeof (buffer)); + ret = p11_kit_pin_retrieve ("/the/pinfile", uri, "The token", + P11_KIT_PIN_FLAGS_USER_LOGIN, + buffer, sizeof (buffer)); CuAssertIntEquals (tc, 1, ret); CuAssertStrEquals (tc, "secret", buffer); @@ -151,9 +151,9 @@ test_pin_register_duplicate (CuTest *tc) p11_kit_pin_unregister_callback ("/the/pinfile", callback_other, value); - ret = p11_kit_pin_read_pinfile ("/the/pinfile", uri, "The token", - P11_KIT_PIN_FLAGS_USER_LOGIN, - buffer, sizeof (buffer)); + ret = p11_kit_pin_retrieve ("/the/pinfile", uri, "The token", + P11_KIT_PIN_FLAGS_USER_LOGIN, + buffer, sizeof (buffer)); CuAssertIntEquals (tc, 1, ret); CuAssertStrEquals (tc, "one", buffer); @@ -161,7 +161,7 @@ test_pin_register_duplicate (CuTest *tc) p11_kit_pin_unregister_callback ("/the/pinfile", callback_one, &data); - ret = p11_kit_pin_read_pinfile ("/the/pinfile", uri, "The token", + ret = p11_kit_pin_retrieve ("/the/pinfile", uri, "The token", P11_KIT_PIN_FLAGS_USER_LOGIN, buffer, sizeof (buffer)); @@ -184,9 +184,9 @@ test_pin_register_fallback (CuTest *tc) p11_kit_pin_register_callback (P11_KIT_PIN_FALLBACK, callback_one, &data, destroy_data); - ret = p11_kit_pin_read_pinfile ("/the/pinfile", uri, "The token", - P11_KIT_PIN_FLAGS_USER_LOGIN, - buffer, sizeof (buffer)); + ret = p11_kit_pin_retrieve ("/the/pinfile", uri, "The token", + P11_KIT_PIN_FLAGS_USER_LOGIN, + buffer, sizeof (buffer)); CuAssertIntEquals (tc, 1, ret); CuAssertStrEquals (tc, "one", buffer); @@ -194,9 +194,9 @@ test_pin_register_fallback (CuTest *tc) p11_kit_pin_register_callback ("/the/pinfile", callback_other, value, NULL); - ret = p11_kit_pin_read_pinfile ("/the/pinfile", uri, "The token", - P11_KIT_PIN_FLAGS_USER_LOGIN, - buffer, sizeof (buffer)); + ret = p11_kit_pin_retrieve ("/the/pinfile", uri, "The token", + P11_KIT_PIN_FLAGS_USER_LOGIN, + buffer, sizeof (buffer)); CuAssertIntEquals (tc, 1, ret); CuAssertStrEquals (tc, "secret", buffer); |