Lines Matching refs:sr

63 smb_authenticate_old(smb_request_t *sr)  in smb_authenticate_old()  argument
68 user = smb_user_new(sr->session); in smb_authenticate_old()
73 sr->uid_user = user; in smb_authenticate_old()
74 sr->smb_uid = user->u_uid; in smb_authenticate_old()
75 sr->smb2_ssnid = 0; in smb_authenticate_old()
82 if ((status = smb_authsock_open(sr)) != 0) in smb_authenticate_old()
88 if ((status = smb_auth_do_clinfo(sr)) != 0) in smb_authenticate_old()
94 if ((status = smb_auth_do_oldreq(sr)) != 0) in smb_authenticate_old()
100 if ((status = smb_auth_get_token(sr)) != 0) in smb_authenticate_old()
115 smb_auth_do_oldreq(smb_request_t *sr) in smb_auth_do_oldreq() argument
120 smb_arg_sessionsetup_t *sinfo = sr->sr_ssetup; in smb_auth_do_oldreq()
133 user_info.lg_workstation = sr->session->workstation; in smb_auth_do_oldreq()
134 user_info.lg_clnt_ipaddr = sr->session->ipaddr; in smb_auth_do_oldreq()
135 user_info.lg_local_ipaddr = sr->session->local_ipaddr; in smb_auth_do_oldreq()
136 user_info.lg_local_port = sr->session->s_local_port; in smb_auth_do_oldreq()
137 user_info.lg_challenge_key.val = sr->session->challenge_key; in smb_auth_do_oldreq()
138 user_info.lg_challenge_key.len = sr->session->challenge_len; in smb_auth_do_oldreq()
143 user_info.lg_native_os = sr->session->native_os; in smb_auth_do_oldreq()
144 user_info.lg_native_lm = sr->session->native_lm; in smb_auth_do_oldreq()
159 status = smb_authsock_sendrecv(sr, &msg_hdr, sbuf, &rbuf); in smb_auth_do_oldreq()
226 smb_authenticate_ext(smb_request_t *sr) in smb_authenticate_ext() argument
229 smb_arg_sessionsetup_t *sinfo = sr->sr_ssetup; in smb_authenticate_ext()
235 ASSERT(sr->uid_user == NULL); in smb_authenticate_ext()
243 if (sr->session->dialect >= SMB_VERS_2_BASE) { in smb_authenticate_ext()
245 ASSERT(sr->smb_uid == 0); in smb_authenticate_ext()
246 sr->smb_uid = 0; in smb_authenticate_ext()
249 ASSERT(sr->smb2_ssnid == 0); in smb_authenticate_ext()
250 sr->smb2_ssnid = 0; in smb_authenticate_ext()
260 if (sr->smb2_ssnid == 0 && sr->smb_uid == 0) { in smb_authenticate_ext()
261 user = smb_user_new(sr->session); in smb_authenticate_ext()
266 sr->uid_user = user; in smb_authenticate_ext()
267 if (sr->session->dialect >= SMB_VERS_2_BASE) { in smb_authenticate_ext()
269 sr->smb2_ssnid = user->u_ssnid; in smb_authenticate_ext()
272 sr->smb_uid = user->u_uid; in smb_authenticate_ext()
280 if ((status = smb_authsock_open(sr)) != 0) in smb_authenticate_ext()
286 if ((status = smb_auth_do_clinfo(sr)) != 0) in smb_authenticate_ext()
291 if (sr->session->dialect >= SMB_VERS_3_11) { in smb_authenticate_ext()
292 if (smb31_preauth_sha512_calc(sr, &sr->command, in smb_authenticate_ext()
293 sr->session->smb31_preauth_hashval, in smb_authenticate_ext()
299 user = smb_session_lookup_uid_st(sr->session, in smb_authenticate_ext()
300 sr->smb2_ssnid, sr->smb_uid, SMB_USER_STATE_LOGGING_ON); in smb_authenticate_ext()
305 sr->uid_user = user; in smb_authenticate_ext()
309 if (sr->session->dialect >= SMB_VERS_3_11) { in smb_authenticate_ext()
310 if (smb31_preauth_sha512_calc(sr, &sr->command, in smb_authenticate_ext()
324 status = smb_authsock_sendrecv(sr, &msg_hdr, in smb_authenticate_ext()
338 sinfo->ssi_osecblob = smb_srm_alloc(sr, sinfo->ssi_oseclen); in smb_authenticate_ext()
349 sinfo->ssi_osecblob = smb_srm_alloc(sr, sinfo->ssi_oseclen); in smb_authenticate_ext()
355 status = smb_auth_get_token(sr); in smb_authenticate_ext()
390 smb_auth_do_clinfo(smb_request_t *sr) in smb_auth_do_clinfo() argument
403 clinfo.lci_clnt_ipaddr = sr->session->ipaddr; in smb_auth_do_clinfo()
405 sr->session->challenge_key, in smb_auth_do_clinfo()
407 status = smb_authsock_sendrecv(sr, &msg_hdr, &clinfo, &rbuf); in smb_auth_do_clinfo()
422 smb_auth_get_token(smb_request_t *sr) in smb_auth_get_token() argument
426 smb_user_t *user = sr->uid_user; in smb_auth_get_token()
438 status = smb_authsock_sendrecv(sr, &msg_hdr, NULL, &rbuf); in smb_auth_get_token()
496 if (sr->session->dialect >= SMB_VERS_3_0) in smb_auth_get_token()
497 smb3_encrypt_begin(sr->uid_user, token); in smb_auth_get_token()
504 if (sr->session->dialect >= SMB_VERS_2_BASE) { in smb_auth_get_token()
505 smb2_sign_begin(sr, token); in smb_auth_get_token()
507 smb_sign_begin(sr, token); in smb_auth_get_token()
513 sr->user_cr = user->u_cred; in smb_auth_get_token()
575 smb_authsock_cancel(smb_request_t *sr) in smb_authsock_cancel() argument
577 smb_user_t *user = sr->cancel_arg2; in smb_authsock_cancel()
580 ASSERT(user == sr->uid_user); in smb_authsock_cancel()
593 (void) ksocket_shutdown(authsock, SHUT_RDWR, sr->user_cr); in smb_authsock_cancel()
606 smb_authsock_sendrecv(smb_request_t *sr, smb_lsa_msg_hdr_t *hdr, in smb_authsock_sendrecv() argument
609 smb_user_t *user = sr->uid_user; in smb_authsock_sendrecv()
629 mutex_enter(&sr->sr_mutex); in smb_authsock_sendrecv()
630 if (sr->sr_state != SMB_REQ_STATE_ACTIVE) { in smb_authsock_sendrecv()
631 mutex_exit(&sr->sr_mutex); in smb_authsock_sendrecv()
635 sr->sr_state = SMB_REQ_STATE_WAITING_AUTH; in smb_authsock_sendrecv()
636 sr->cancel_method = smb_authsock_cancel; in smb_authsock_sendrecv()
637 sr->cancel_arg2 = user; in smb_authsock_sendrecv()
638 mutex_exit(&sr->sr_mutex); in smb_authsock_sendrecv()
672 mutex_enter(&sr->sr_mutex); in smb_authsock_sendrecv()
674 switch (sr->sr_state) { in smb_authsock_sendrecv()
677 sr->sr_state = SMB_REQ_STATE_ACTIVE; in smb_authsock_sendrecv()
681 cv_wait(&sr->sr_st_cv, &sr->sr_mutex); in smb_authsock_sendrecv()
690 sr->cancel_method = NULL; in smb_authsock_sendrecv()
691 sr->cancel_arg2 = NULL; in smb_authsock_sendrecv()
692 mutex_exit(&sr->sr_mutex); in smb_authsock_sendrecv()
728 smb_authsock_open(smb_request_t *sr) in smb_authsock_open() argument
730 smb_user_t *user = sr->uid_user; in smb_authsock_open()
731 smb_server_t *sv = sr->sr_server; in smb_authsock_open()
790 mutex_enter(&sr->sr_mutex); in smb_authsock_open()
791 if (sr->sr_state != SMB_REQ_STATE_ACTIVE) { in smb_authsock_open()
792 mutex_exit(&sr->sr_mutex); in smb_authsock_open()
796 sr->sr_state = SMB_REQ_STATE_WAITING_AUTH; in smb_authsock_open()
797 sr->cancel_method = smb_authsock_cancel; in smb_authsock_open()
798 sr->cancel_arg2 = user; in smb_authsock_open()
799 mutex_exit(&sr->sr_mutex); in smb_authsock_open()
817 mutex_enter(&sr->sr_mutex); in smb_authsock_open()
819 switch (sr->sr_state) { in smb_authsock_open()
822 sr->sr_state = SMB_REQ_STATE_ACTIVE; in smb_authsock_open()
826 cv_wait(&sr->sr_st_cv, &sr->sr_mutex); in smb_authsock_open()
835 sr->cancel_method = NULL; in smb_authsock_open()
836 sr->cancel_arg2 = NULL; in smb_authsock_open()
837 mutex_exit(&sr->sr_mutex); in smb_authsock_open()