View | Details | Raw Unified | Return to bug 702 | Differences between
and this patch

Collapse All | Expand All

(-)auth2-chall.c (-10 / +10 lines)
Lines 244-250 Link Here
244
{
244
{
245
	Authctxt *authctxt = ctxt;
245
	Authctxt *authctxt = ctxt;
246
	KbdintAuthctxt *kbdintctxt;
246
	KbdintAuthctxt *kbdintctxt;
247
	int i, authenticated = 0, res, len;
247
	int i, authenticated = 0, postponed, res, len;
248
	u_int nresp;
248
	u_int nresp;
249
	char **response = NULL, *method;
249
	char **response = NULL, *method;
250
250
Lines 304-319 Link Here
304
	snprintf(method, len, "keyboard-interactive/%s",
304
	snprintf(method, len, "keyboard-interactive/%s",
305
	    kbdintctxt->device->name);
305
	    kbdintctxt->device->name);
306
306
307
	if (!authctxt->postponed) {
307
	/*
308
		if (authenticated) {
308
	 * Save authctxt->postponed, because auth2_challenge_start
309
			auth2_challenge_stop(authctxt);
309
	 * may modify this value.
310
		} else {
310
	 */
311
			/* start next device */
311
	postponed = authctxt->postponed;
312
			/* may set authctxt->postponed */
312
	if (!postponed && !authenticated)
313
			auth2_challenge_start(authctxt);
313
		auth2_challenge_start(authctxt);  /* start next device */
314
		}
315
	}
316
	userauth_finish(authctxt, authenticated, method);
314
	userauth_finish(authctxt, authenticated, method);
315
	if (!postponed && authenticated)
316
		auth2_challenge_stop(authctxt);
317
	xfree(method);
317
	xfree(method);
318
}
318
}
319
319

Return to bug 702