| version 1.42, 2015/01/19 20:07:45 |
version 1.43, 2015/07/18 07:57:14 |
|
|
| void *ctxt; |
void *ctxt; |
| KbdintDevice *device; |
KbdintDevice *device; |
| u_int nreq; |
u_int nreq; |
| |
u_int devices_done; |
| }; |
}; |
| |
|
| static KbdintAuthctxt * |
static KbdintAuthctxt * |
|
|
| if (len == 0) |
if (len == 0) |
| break; |
break; |
| for (i = 0; devices[i]; i++) { |
for (i = 0; devices[i]; i++) { |
| if (!auth2_method_allowed(authctxt, |
if ((kbdintctxt->devices_done & (1 << i)) != 0 || |
| |
!auth2_method_allowed(authctxt, |
| "keyboard-interactive", devices[i]->name)) |
"keyboard-interactive", devices[i]->name)) |
| continue; |
continue; |
| if (strncmp(kbdintctxt->devices, devices[i]->name, len) == 0) |
if (strncmp(kbdintctxt->devices, devices[i]->name, |
| |
len) == 0) { |
| kbdintctxt->device = devices[i]; |
kbdintctxt->device = devices[i]; |
| |
kbdintctxt->devices_done |= 1 << i; |
| |
} |
| } |
} |
| t = kbdintctxt->devices; |
t = kbdintctxt->devices; |
| kbdintctxt->devices = t[len] ? xstrdup(t+len+1) : NULL; |
kbdintctxt->devices = t[len] ? xstrdup(t+len+1) : NULL; |