Lines Matching defs:ssh

54 #include "ssh.h"
74 #include "ssh-gss.h"
96 extern struct sshauthopt *auth_opts; /* XXX move to permanent ssh->authctxt? */
103 int mm_answer_moduli(struct ssh *, int, struct sshbuf *);
104 int mm_answer_sign(struct ssh *, int, struct sshbuf *);
105 int mm_answer_pwnamallow(struct ssh *, int, struct sshbuf *);
106 int mm_answer_auth2_read_banner(struct ssh *, int, struct sshbuf *);
107 int mm_answer_authserv(struct ssh *, int, struct sshbuf *);
108 int mm_answer_authpassword(struct ssh *, int, struct sshbuf *);
109 int mm_answer_bsdauthquery(struct ssh *, int, struct sshbuf *);
110 int mm_answer_bsdauthrespond(struct ssh *, int, struct sshbuf *);
111 int mm_answer_keyallowed(struct ssh *, int, struct sshbuf *);
112 int mm_answer_keyverify(struct ssh *, int, struct sshbuf *);
113 int mm_answer_pty(struct ssh *, int, struct sshbuf *);
114 int mm_answer_pty_cleanup(struct ssh *, int, struct sshbuf *);
115 int mm_answer_term(struct ssh *, int, struct sshbuf *);
116 int mm_answer_state(struct ssh *, int, struct sshbuf *);
119 int mm_answer_gss_setup_ctx(struct ssh *, int, struct sshbuf *);
120 int mm_answer_gss_accept_ctx(struct ssh *, int, struct sshbuf *);
121 int mm_answer_gss_userok(struct ssh *, int, struct sshbuf *);
122 int mm_answer_gss_checkmic(struct ssh *, int, struct sshbuf *);
144 int (*f)(struct ssh *, int, struct sshbuf *);
156 static int monitor_read(struct ssh *, struct monitor *, struct mon_table *,
226 monitor_child_preauth(struct ssh *ssh, struct monitor *pmonitor)
239 authctxt = (Authctxt *)ssh->authctxt;
241 ssh->authctxt = authctxt;
256 authenticated = (monitor_read(ssh, pmonitor,
279 !auth_root_allowed(ssh, auth_method))
283 auth_log(ssh, authenticated, partial,
306 ssh->authctxt = NULL;
307 ssh_packet_set_log_preamble(ssh, "user %s", authctxt->user);
309 mm_get_keystate(ssh, pmonitor);
335 monitor_child_postauth(struct ssh *ssh, struct monitor *pmonitor)
359 monitor_read(ssh, pmonitor, mon_dispatch, NULL);
416 monitor_read(struct ssh *ssh, struct monitor *pmonitor, struct mon_table *ent,
465 ret = (*ent->f)(ssh, pmonitor->m_sendfd, m);
514 mm_answer_state(struct ssh *ssh, int sock, struct sshbuf *m)
567 (r = sshbuf_put_stringb(m, ssh->kex->server_version)) != 0 ||
568 (r = sshbuf_put_stringb(m, ssh->kex->client_version)) != 0 ||
591 mm_answer_moduli(struct ssh *ssh, int sock, struct sshbuf *m)
631 mm_answer_sign(struct ssh *ssh, int sock, struct sshbuf *m)
651 if ((keyid = get_hostkey_index(pubkey, 1, ssh)) == -1)
674 if ((key = get_hostkey_public_by_index(keyid, ssh)) == NULL)
702 } else if ((key = get_hostkey_public_by_index(keyid, ssh)) != NULL &&
765 mm_answer_pwnamallow(struct ssh *ssh, int sock, struct sshbuf *m)
778 pwent = getpwnamallow(ssh, authctxt->user);
811 ssh_packet_set_log_preamble(ssh, "%suser %s",
818 authctxt->user, ssh_remote_ipaddr(ssh),
819 ssh_remote_port(ssh));
846 int mm_answer_auth2_read_banner(struct ssh *ssh, int sock, struct sshbuf *m)
862 mm_answer_authserv(struct ssh *ssh, int sock, struct sshbuf *m)
882 mm_answer_authpassword(struct ssh *ssh, int sock, struct sshbuf *m)
895 auth_password(ssh, passwd);
916 mm_answer_bsdauthquery(struct ssh *ssh, int sock, struct sshbuf *m)
950 mm_answer_bsdauthrespond(struct ssh *ssh, int sock, struct sshbuf *m)
1011 mm_answer_keyallowed(struct ssh *ssh, int sock, struct sshbuf *m)
1039 allowed = user_key_allowed(ssh, authctxt->pw, key,
1051 allowed = hostbased_key_allowed(ssh, authctxt->pw,
1083 auth_log(ssh, 0, 0, auth_method, NULL);
1103 monitor_valid_userblob(struct ssh *ssh, const u_char *data, u_int datalen)
1116 if (ssh->compat & SSH_OLD_SESSIONID) {
1173 * can't check ssh->kex->initial_hostkey directly at this point
1176 if (get_hostkey_index(hostkey, 1, ssh) == -1)
1253 mm_answer_keyverify(struct ssh *ssh, int sock, struct sshbuf *m)
1285 valid_data = monitor_valid_userblob(ssh, data, datalen);
1307 sigalg, ssh->compat, &sig_details);
1324 authctxt->user, ssh_remote_ipaddr(ssh),
1325 ssh_remote_port(ssh));
1336 authctxt->user, ssh_remote_ipaddr(ssh),
1337 ssh_remote_port(ssh));
1344 auth_activate_options(ssh, key_opts);
1370 mm_record_login(struct ssh *ssh, Session *s, struct passwd *pw)
1381 if (ssh_packet_connection_is_on_socket(ssh)) {
1382 if (getpeername(ssh_packet_get_connection_in(ssh),
1390 session_get_remote_name_or_ip(ssh, utmp_len, options.use_dns),
1406 mm_answer_pty(struct ssh *ssh, int sock, struct sshbuf *m)
1434 mm_record_login(ssh, s, authctxt->pw);
1476 mm_answer_pty_cleanup(struct ssh *ssh, int sock, struct sshbuf *m)
1494 mm_answer_term(struct ssh *ssh, int sock, struct sshbuf *req)
1502 session_destroy_all(ssh, &mm_session_close);
1515 monitor_clear_keystate(struct ssh *ssh, struct monitor *pmonitor)
1517 ssh_clear_newkeys(ssh, MODE_IN);
1518 ssh_clear_newkeys(ssh, MODE_OUT);
1524 monitor_apply_keystate(struct ssh *ssh, struct monitor *pmonitor)
1530 if ((r = ssh_packet_set_state(ssh, child_state)) != 0)
1534 if ((kex = ssh->kex) == NULL)
1535 fatal_f("internal error: ssh->kex == NULL");
1536 if (session_id2_len != sshbuf_len(ssh->kex->session_id)) {
1538 sshbuf_len(ssh->kex->session_id), session_id2_len);
1540 if (memcmp(sshbuf_ptr(ssh->kex->session_id), session_id2,
1566 mm_get_keystate(struct ssh *ssh, struct monitor *pmonitor)
1636 mm_answer_gss_setup_ctx(struct ssh *ssh, int sock, struct sshbuf *m)
1669 mm_answer_gss_accept_ctx(struct ssh *ssh, int sock, struct sshbuf *m)
1703 mm_answer_gss_checkmic(struct ssh *ssh, int sock, struct sshbuf *m)
1734 mm_answer_gss_userok(struct ssh *ssh, int sock, struct sshbuf *m)