Lines Matching refs:sr

285 smb1_newrq_negotiate(smb_request_t *sr)
293 if (smb_mbc_decodef(&sr->command, SMB_HEADER_ED_FMT,
294 &sr->smb_com,
295 &sr->smb_rcls,
296 &sr->smb_reh,
297 &sr->smb_err,
298 &sr->smb_flg,
299 &sr->smb_flg2,
301 sr->smb_sig,
302 &sr->smb_tid,
304 &sr->smb_uid,
305 &sr->smb_mid) != 0)
307 if (sr->smb_com != SMB_COM_NEGOTIATE)
310 sr->smb_pid = (pid_hi << 16) | pid_lo;
315 (void) smb_mbc_encodef(&sr->reply, "#.", SMB_HEADER_LEN);
316 sr->first_smb_com = sr->smb_com;
318 if (smb_mbc_decodef(&sr->command, "b", &sr->smb_wct) != 0)
320 (void) MBC_SHADOW_CHAIN(&sr->smb_vwv, &sr->command,
321 sr->command.chain_offset, sr->smb_wct * 2);
323 if (smb_mbc_decodef(&sr->command, "#.w", sr->smb_wct*2, &sr->smb_bcc))
325 (void) MBC_SHADOW_CHAIN(&sr->smb_data, &sr->command,
326 sr->command.chain_offset, sr->smb_bcc);
328 sr->command.chain_offset += sr->smb_bcc;
329 if (sr->command.chain_offset > sr->command.max_bytes)
333 sr->cur_reply_offset = sr->reply.chain_offset;
335 sdrc = smb_pre_negotiate(sr);
337 sdrc = smb_com_negotiate(sr);
338 smb_post_negotiate(sr);
341 smbsr_send_reply(sr);
349 smb_pre_negotiate(smb_request_t *sr)
357 skc = &sr->session->s_cfg;
358 negprot = smb_srm_zalloc(sr, sizeof (smb_arg_negotiate_t));
360 sr->sr_negprot = negprot;
362 for (pos = 0; smbsr_decode_data_avail(sr); pos++) {
363 if (smbsr_decode_data(sr, "%L", sr, &negprot->ni_name) != 0) {
364 smbsr_error(sr, 0, ERRSRV, ERRerror);
385 DTRACE_SMB_2(op__Negotiate__start, smb_request_t *, sr,
392 smb_post_negotiate(smb_request_t *sr)
394 smb_arg_negotiate_t *negprot = sr->sr_negprot;
396 DTRACE_SMB_2(op__Negotiate__done, smb_request_t *, sr,
403 smb_com_negotiate(smb_request_t *sr)
405 smb_session_t *session = sr->session;
406 smb_arg_negotiate_t *negprot = sr->sr_negprot;
417 smbsr_error(sr, 0, ERRSRV, ERRerror);
433 rc = smb1_negotiate_smb2(sr);
446 negprot->ni_tzcorrection = sr->sr_gmtoff / 60;
450 nbdomain = sr->sr_cfg->skc_nbdomain;
459 rc = smbsr_encode_result(sr, 1, 0, "bww", 1,
473 sr->smb_flg |= SMB_FLAGS_LOCK_AND_READ_OK;
474 rc = smbsr_encode_result(sr, 13, VAR_BCC,
498 sr->smb_flg |= SMB_FLAGS_LOCK_AND_READ_OK;
499 rc = smbsr_encode_result(sr, 13, VAR_BCC,
528 sr->sr_cfg->skc_signing_enable) {
530 if (sr->sr_cfg->skc_signing_required)
542 if ((sr->smb_flg2 & SMB_FLAGS2_EXT_SEC) != 0 &&
547 sr->smb_flg2 &= ~SMB_FLAGS2_EXT_SEC;
555 wcbuf = smb_srm_zalloc(sr, wclen);
559 smbsr_error(sr, 0, ERRSRV, ERRerror);
563 rc = smbsr_encode_result(sr, 17, VAR_BCC,
591 rc = smbsr_encode_result(sr, 17, VAR_BCC,
607 sr->sr_cfg->skc_machine_uuid,
608 sr->sr_cfg->skc_negtok_len,
609 sr->sr_cfg->skc_negtok);
614 rc = smbsr_encode_result(sr, 1, 0, "bww", 1, -1, 0);