Lines Matching +full:pin +full:- +full:val
2 * Copyright (c) 2018-2023 Yubico AB. All rights reserved.
3 * Use of this source code is governed by a BSD-style
5 * SPDX-License-Identifier: BSD-2-Clause
16 #include "../openbsd-compat/openbsd-compat.h"
22 fido_opt_t pin;
47 char *val;
51 if ((val = strchr(assignment, '=')) == NULL)
55 *val++ = '\0';
57 if (!strcmp(val, "true"))
59 else if (!strcmp(val, "false"))
62 errx(1, "unknown value '%s'", val);
65 k = &opt->up;
67 k = &opt->uv;
68 else if (!strcmp(key, "pin"))
69 k = &opt->pin;
110 fprintf(stderr, "up=%s\n", opt2str(opt->up));
111 fprintf(stderr, "uv=%s\n", opt2str(opt->uv));
112 fprintf(stderr, "pin=%s\n", opt2str(opt->pin));
125 if ((r = fido_assert_set_up(assert, opt->up)) != FIDO_OK)
127 if ((r = fido_assert_set_uv(assert, opt->uv)) != FIDO_OK)
218 char pin[128];
227 opt.up = opt.uv = opt.pin = FIDO_OPT_OMIT;
229 while ((ch = getopt(argc, argv, "bdhi:o:prt:uvw")) != -1) {
259 /* -v implies both pin and uv for historical reasons */
260 opt.pin = FIDO_OPT_TRUE;
271 argc -= optind;
288 if (opt.pin == FIDO_OPT_TRUE) {
289 r = snprintf(prompt, sizeof(prompt), "Enter PIN for %s: ",
293 if (!readpassphrase(prompt, pin, sizeof(pin), RPP_ECHO_OFF))
295 if (strlen(pin) < 4 || strlen(pin) > 63) {
296 explicit_bzero(pin, sizeof(pin));
297 errx(1, "invalid PIN length");
299 r = fido_dev_get_assert(dev, assert, pin);
303 explicit_bzero(pin, sizeof(pin));