• Home
  • Raw
  • Download

Lines Matching refs:kbdintctxt

107 	KbdintAuthctxt *kbdintctxt;  in kbdint_alloc()  local
116 kbdintctxt = xcalloc(1, sizeof(KbdintAuthctxt)); in kbdint_alloc()
125 if ((kbdintctxt->devices = sshbuf_dup_string(&b)) == NULL) in kbdint_alloc()
129 kbdintctxt->devices = xstrdup(devs); in kbdint_alloc()
131 debug("kbdint_alloc: devices '%s'", kbdintctxt->devices); in kbdint_alloc()
132 kbdintctxt->ctxt = NULL; in kbdint_alloc()
133 kbdintctxt->device = NULL; in kbdint_alloc()
134 kbdintctxt->nreq = 0; in kbdint_alloc()
136 return kbdintctxt; in kbdint_alloc()
139 kbdint_reset_device(KbdintAuthctxt *kbdintctxt) in kbdint_reset_device() argument
141 if (kbdintctxt->ctxt) { in kbdint_reset_device()
142 kbdintctxt->device->free_ctx(kbdintctxt->ctxt); in kbdint_reset_device()
143 kbdintctxt->ctxt = NULL; in kbdint_reset_device()
145 kbdintctxt->device = NULL; in kbdint_reset_device()
148 kbdint_free(KbdintAuthctxt *kbdintctxt) in kbdint_free() argument
150 if (kbdintctxt->device) in kbdint_free()
151 kbdint_reset_device(kbdintctxt); in kbdint_free()
152 free(kbdintctxt->devices); in kbdint_free()
153 explicit_bzero(kbdintctxt, sizeof(*kbdintctxt)); in kbdint_free()
154 free(kbdintctxt); in kbdint_free()
158 kbdint_next_device(Authctxt *authctxt, KbdintAuthctxt *kbdintctxt) in kbdint_next_device() argument
164 if (kbdintctxt->device) in kbdint_next_device()
165 kbdint_reset_device(kbdintctxt); in kbdint_next_device()
167 len = kbdintctxt->devices ? in kbdint_next_device()
168 strcspn(kbdintctxt->devices, ",") : 0; in kbdint_next_device()
173 if ((kbdintctxt->devices_done & (1 << i)) != 0 || in kbdint_next_device()
177 if (strncmp(kbdintctxt->devices, devices[i]->name, in kbdint_next_device()
179 kbdintctxt->device = devices[i]; in kbdint_next_device()
180 kbdintctxt->devices_done |= 1 << i; in kbdint_next_device()
183 t = kbdintctxt->devices; in kbdint_next_device()
184 kbdintctxt->devices = t[len] ? xstrdup(t+len+1) : NULL; in kbdint_next_device()
186 debug2("kbdint_next_device: devices %s", kbdintctxt->devices ? in kbdint_next_device()
187 kbdintctxt->devices : "<empty>"); in kbdint_next_device()
188 } while (kbdintctxt->devices && !kbdintctxt->device); in kbdint_next_device()
190 return kbdintctxt->device ? 1 : 0; in kbdint_next_device()
206 if (authctxt->kbdintctxt == NULL) in auth2_challenge()
207 authctxt->kbdintctxt = kbdint_alloc(devs); in auth2_challenge()
217 if (authctxt->kbdintctxt != NULL) { in auth2_challenge_stop()
218 kbdint_free(authctxt->kbdintctxt); in auth2_challenge_stop()
219 authctxt->kbdintctxt = NULL; in auth2_challenge_stop()
227 KbdintAuthctxt *kbdintctxt = authctxt->kbdintctxt; in auth2_challenge_start() local
230 kbdintctxt->devices ? kbdintctxt->devices : "<empty>"); in auth2_challenge_start()
232 if (kbdint_next_device(authctxt, kbdintctxt) == 0) { in auth2_challenge_start()
237 kbdintctxt->device->name); in auth2_challenge_start()
239 if ((kbdintctxt->ctxt = kbdintctxt->device->init_ctx(authctxt)) == NULL) { in auth2_challenge_start()
257 KbdintAuthctxt *kbdintctxt; in send_userauth_info_request() local
261 kbdintctxt = authctxt->kbdintctxt; in send_userauth_info_request()
262 if (kbdintctxt->device->query(kbdintctxt->ctxt, in send_userauth_info_request()
263 &name, &instr, &kbdintctxt->nreq, &prompts, &echo_on)) in send_userauth_info_request()
270 packet_put_int(kbdintctxt->nreq); in send_userauth_info_request()
271 for (i = 0; i < kbdintctxt->nreq; i++) { in send_userauth_info_request()
278 for (i = 0; i < kbdintctxt->nreq; i++) in send_userauth_info_request()
291 KbdintAuthctxt *kbdintctxt; in input_userauth_info_response() local
299 kbdintctxt = authctxt->kbdintctxt; in input_userauth_info_response()
300 if (kbdintctxt == NULL || kbdintctxt->ctxt == NULL) in input_userauth_info_response()
302 if (kbdintctxt->device == NULL) in input_userauth_info_response()
307 if (nresp != kbdintctxt->nreq) in input_userauth_info_response()
318 res = kbdintctxt->device->respond(kbdintctxt->ctxt, nresp, response); in input_userauth_info_response()
340 devicename = kbdintctxt->device->name; in input_userauth_info_response()