int mm_answer_bsdauthquery(int sock, Buffer *m) { char *name, *infotxt; u_int numprompts; u_int *echo_on; char **prompts; u_int success; success = bsdauth_query(authctxt, &name, &infotxt, &numprompts, &prompts, &echo_on) < 0 ? 0 : 1; buffer_clear(m); buffer_put_int(m, success); if (success) buffer_put_cstring(m, prompts[0]); debug3("%s: sending challenge success: %u", __func__, success); mm_request_send(sock, MONITOR_ANS_BSDAUTHQUERY, m); if (success) { xfree(name); xfree(infotxt); xfree(prompts); xfree(echo_on); } return (0); }
int mm_answer_bsdauthquery(int sock, struct sshbuf *m) { char *name, *infotxt, **prompts; u_int numprompts, *echo_on, success; int r; success = bsdauth_query(authctxt, &name, &infotxt, &numprompts, &prompts, &echo_on) < 0 ? 0 : 1; sshbuf_reset(m); if ((r = sshbuf_put_u32(m, success)) != 0 || (success && (r = sshbuf_put_cstring(m, prompts[0])) != 0)) fatal("%s: buffer error: %s", __func__, ssh_err(r)); debug3("%s: sending challenge success: %u", __func__, success); mm_request_send(sock, MONITOR_ANS_BSDAUTHQUERY, m); if (success) { free(name); free(infotxt); free(prompts); free(echo_on); } return (0); }
int mm_answer_bsdauthquery(int socket, Buffer *m) { char *name, *infotxt; u_int numprompts; u_int *echo_on; char **prompts; int res; res = bsdauth_query(authctxt, &name, &infotxt, &numprompts, &prompts, &echo_on); buffer_clear(m); buffer_put_int(m, res); if (res != -1) buffer_put_cstring(m, prompts[0]); debug3("%s: sending challenge res: %d", __func__, res); mm_request_send(socket, MONITOR_ANS_BSDAUTHQUERY, m); if (res != -1) { xfree(name); xfree(infotxt); xfree(prompts); xfree(echo_on); } return (0); }
int mm_answer_bsdauthquery(int sock, Buffer *m) { char *name, *infotxt; u_int numprompts; u_int *echo_on; char **prompts; u_int success; if (!options.kbd_interactive_authentication) fatal("%s: kbd-int authentication not enabled", __func__); success = bsdauth_query(authctxt, &name, &infotxt, &numprompts, &prompts, &echo_on) < 0 ? 0 : 1; buffer_clear(m); buffer_put_int(m, success); if (success) buffer_put_cstring(m, prompts[0]); debug3("%s: sending challenge success: %u", __func__, success); mm_request_send(sock, MONITOR_ANS_BSDAUTHQUERY, m); if (success) { free(name); free(infotxt); free(prompts); free(echo_on); } return (0); }