/illumos-gate/usr/src/uts/common/fs/smbsrv/ |
H A D | smb_logoff_andx.c | 64 smb_pre_logoff_andx(smb_request_t *sr) argument 66 DTRACE_SMB_1(op__LogoffX__start, smb_request_t *, sr); 71 smb_post_logoff_andx(smb_request_t *sr) argument 73 DTRACE_SMB_1(op__LogoffX__done, smb_request_t *, sr); 77 smb_com_logoff_andx(smb_request_t *sr) argument 79 if (sr->uid_user == NULL) { 80 smbsr_error(sr, 0, ERRSRV, ERRbaduid); 84 smb_user_logoff(sr->uid_user); 86 if (smbsr_encode_result(sr, 2, 0, "bb.ww", 2, sr [all...] |
H A D | smb_process_exit.c | 57 smb_pre_process_exit(smb_request_t *sr) argument 59 DTRACE_SMB_1(op__ProcessExit__start, smb_request_t *, sr); 64 smb_post_process_exit(smb_request_t *sr) argument 66 DTRACE_SMB_1(op__ProcessExit__done, smb_request_t *, sr); 70 smb_com_process_exit(smb_request_t *sr) argument 74 sr->uid_user = smb_session_lookup_uid(sr->session, sr->smb_uid); 75 if (sr->uid_user == NULL) { 76 rc = smbsr_encode_empty_result(sr); [all...] |
H A D | smb_trans2_create_directory.c | 61 smb_com_trans2_create_directory(struct smb_request *sr, struct smb_xa *xa) argument 64 smb_pathname_t *pn = &sr->arg.dirop.fqi.fq_path; 66 if (!STYPE_ISDSK(sr->tid_tree->t_res_type)) { 67 smbsr_error(sr, NT_STATUS_ACCESS_DENIED, 72 if (smb_mbc_decodef(&xa->req_param_mb, "%4.u", sr, &pn->pn_path) != 0) 75 smb_pathname_init(sr, pn, pn->pn_path); 76 if (!smb_pathname_validate(sr, pn) || 77 !smb_validate_dirname(sr, pn)) { 81 if ((rc = smb_common_create_directory(sr)) != 0) { 82 smbsr_errno(sr, r [all...] |
H A D | smb2_echo.c | 23 smb2_echo(smb_request_t *sr) argument 33 &sr->smb_data, "ww", 45 &sr->reply, "wwl",
|
H A D | smb2_logoff.c | 23 smb2_logoff(smb_request_t *sr) argument 33 &sr->smb_data, "ww", 41 if (sr->uid_user == NULL) 43 smb_user_logoff(sr->uid_user); 49 &sr->reply, "wwl",
|
H A D | smb2_tree_disconn.c | 23 smb2_tree_disconn(smb_request_t *sr) argument 33 &sr->smb_data, "ww", 41 if (sr->uid_user == NULL || sr->tid_tree == NULL) 44 smb_session_cancel_requests(sr->session, sr->tid_tree, sr); 45 smb_tree_disconnect(sr->tid_tree, B_TRUE); 51 &sr->reply, "wwl",
|
H A D | smb_nt_cancel.c | 48 smb_pre_nt_cancel(smb_request_t *sr) argument 50 DTRACE_SMB_1(op__NtCancel__start, smb_request_t *, sr); 55 smb_post_nt_cancel(smb_request_t *sr) argument 57 DTRACE_SMB_1(op__NtCancel__done, smb_request_t *, sr); 61 smb_com_nt_cancel(smb_request_t *sr) argument 66 session = sr->session; 72 if ((req != sr) && 73 (req->smb_uid == sr->smb_uid) && 74 (req->smb_pid == sr->smb_pid) && 75 (req->smb_tid == sr [all...] |
H A D | smb_unlock_byte_range.c | 57 smb_pre_unlock_byte_range(smb_request_t *sr) argument 59 DTRACE_SMB_1(op__UnlockByteRange__start, smb_request_t *, sr); 64 smb_post_unlock_byte_range(smb_request_t *sr) argument 66 DTRACE_SMB_1(op__UnlockByteRange__done, smb_request_t *, sr); 70 smb_com_unlock_byte_range(smb_request_t *sr) argument 76 if (smbsr_decode_vwv(sr, "wll", &sr->smb_fid, &Length, &Offset) != 0) 79 smbsr_lookup_file(sr); 80 if (sr->fid_ofile == NULL) { 81 smbsr_error(sr, NT_STATUS_INVALID_HANDL [all...] |
H A D | smb2_qinfo_sec.c | 37 smb2_qinfo_sec(smb_request_t *sr, smb_queryinfo_t *qi) argument 51 if ((sr->fid_ofile->f_node == NULL) || 52 (sr->fid_ofile->f_ftype != SMB_FTYPE_DISK)) 55 if (sr->tid_tree->t_acltype != ACE_T) { 63 status = smb_sd_read(sr, &sd, secinfo); 73 if (sdlen > sr->raw_data.max_bytes) { 81 MBC_FLUSH(&sr->raw_data); 82 sr->raw_data.max_bytes = 4; 83 (void) smb_mbc_encodef(&sr->raw_data, "l", sdlen); 88 smb_encode_sd(&sr [all...] |
H A D | smb2_setinfo_fs.c | 41 smb2_setinfo_fs(smb_request_t *sr, smb_setinfo_t *si, int InfoClass) argument 50 status = smb2_setfs_control(sr, si); 53 status = smb2_setfs_obj_id(sr, si); 68 smb2_setfs_control(smb_request_t *sr, smb_setinfo_t *si) argument 71 smb_tree_t *tree = sr->tid_tree; 84 smb2_setfs_obj_id(smb_request_t *sr, smb_setinfo_t *si) argument
|
H A D | smb2_setinfo_sec.c | 37 smb2_setinfo_sec(smb_request_t *sr, smb_setinfo_t *si, uint32_t secinfo) argument 49 if ((sr->fid_ofile->f_node == NULL) || 50 (sr->fid_ofile->f_ftype != SMB_FTYPE_DISK)) 53 if (SMB_TREE_IS_READONLY(sr)) 56 if (sr->tid_tree->t_acltype != ACE_T) { 75 if (!smb_node_is_system(sr->fid_ofile->f_node)) 76 status = smb_sd_write(sr, &sd, secinfo);
|
H A D | smb_trans2_dfs.c | 44 smb_com_trans2_report_dfs_inconsistency(smb_request_t *sr) argument 53 smb_com_trans2_get_dfs_referral(smb_request_t *sr, smb_xa_t *xa) argument 60 if (!STYPE_ISIPC(sr->tid_tree->t_res_type)) { 61 smbsr_error(sr, NT_STATUS_ACCESS_DENIED, ERRDOS, 73 status = smb_dfs_get_referrals(sr, &fsctl); 81 smbsr_error(sr, NT_STATUS_NO_SUCH_DEVICE, 0, 0);
|
H A D | smb_flush.c | 57 smb_pre_flush(smb_request_t *sr) argument 61 rc = smbsr_decode_vwv(sr, "w", &sr->smb_fid); 63 DTRACE_SMB_1(op__Flush__start, smb_request_t *, sr); 69 smb_post_flush(smb_request_t *sr) argument 71 DTRACE_SMB_1(op__Flush__done, smb_request_t *, sr); 75 smb_com_flush(smb_request_t *sr) argument 82 rc = smbsr_encode_empty_result(sr); 86 if (sr->smb_fid != 0xffff) { 87 smbsr_lookup_file(sr); [all...] |
H A D | smb_close.c | 42 smb_pre_close(smb_request_t *sr) argument 46 rc = smbsr_decode_vwv(sr, "wl", &sr->smb_fid, &sr->arg.timestamp); 48 DTRACE_SMB_1(op__Close__start, smb_request_t *, sr); 53 smb_post_close(smb_request_t *sr) argument 55 DTRACE_SMB_1(op__Close__done, smb_request_t *, sr); 59 smb_com_close(smb_request_t *sr) argument 63 smbsr_lookup_file(sr); 64 if (sr 83 smb_pre_close_and_tree_disconnect(smb_request_t *sr) argument 94 smb_post_close_and_tree_disconnect(smb_request_t *sr) argument 100 smb_com_close_and_tree_disconnect(smb_request_t *sr) argument [all...] |
H A D | smb_lock_byte_range.c | 63 smb_pre_lock_byte_range(smb_request_t *sr) argument 65 DTRACE_SMB_1(op__LockByteRange__start, smb_request_t *, sr); 70 smb_post_lock_byte_range(smb_request_t *sr) argument 72 DTRACE_SMB_1(op__LockByteRange__done, smb_request_t *, sr); 76 smb_com_lock_byte_range(struct smb_request *sr) argument 83 if (smbsr_decode_vwv(sr, "wll", &sr->smb_fid, &count, &off) != 0) 86 smbsr_lookup_file(sr); 87 if (sr->fid_ofile == NULL) { 88 smbsr_error(sr, NT_STATUS_INVALID_HANDL [all...] |
H A D | smb_seek.c | 81 smb_pre_seek(smb_request_t *sr) argument 83 DTRACE_SMB_1(op__Seek__start, smb_request_t *, sr); 88 smb_post_seek(smb_request_t *sr) argument 90 DTRACE_SMB_1(op__Seek__done, smb_request_t *, sr); 94 smb_com_seek(smb_request_t *sr) argument 101 if (smbsr_decode_vwv(sr, "wwl", &sr->smb_fid, &mode, &off) != 0) 104 smbsr_lookup_file(sr); 105 if (sr->fid_ofile == NULL) { 106 smbsr_error(sr, NT_STATUS_INVALID_HANDL [all...] |
H A D | smb2_cancel.c | 32 smb2sr_newrq_cancel(smb_request_t *sr) argument 39 if ((rc = smb2_decode_header(sr)) != 0) 42 if (sr->smb2_hdr_flags & SMB2_FLAGS_ASYNC_COMMAND) 43 smb2sr_cancel_async(sr); 45 smb2sr_cancel_sync(sr); 51 smb2sr_cancel_sync(smb_request_t *sr) argument 54 struct smb_session *session = sr->session; 61 if ((req != sr) && 62 (req->smb2_messageid == sr->smb2_messageid)) { 70 uint64_t, sr 76 smb2sr_cancel_async(smb_request_t *sr) argument [all...] |
H A D | smb2_close.c | 23 smb2_close(smb_request_t *sr) argument 38 &sr->smb_data, "wwlqq", 49 status = smb2sr_lookup_fid(sr, &smb2fid); 51 smb2sr_put_error(sr, status); 54 of = sr->fid_ofile; 59 status = smb2_ofile_getattr(sr, of, &attr); 76 &sr->reply,
|
H A D | smb2_ofile.c | 23 smb2_ofile_getattr(smb_request_t *sr, smb_ofile_t *of, smb_attr_t *ap) argument 35 rc = smb_node_getattr(sr, of->f_node, of->f_cr, of, ap);
|
H A D | smb2_setinfo_quota.c | 39 smb2_setinfo_quota(smb_request_t *sr, smb_setinfo_t *si) argument 43 smb_ofile_t *ofile = sr->fid_ofile; 51 if (!smb_tree_has_feature(sr->tid_tree, SMB_TREE_QUOTA)) 54 if (!smb_user_is_admin(sr->uid_user)) 61 tnode = sr->tid_tree->t_snode; 64 smbsr_release_file(sr); 76 if (smb_quota_set(sr->sr_server, &request, &reply) != 0) { 86 smbsr_release_file(sr);
|
H A D | smb_nt_transact_notify_change.c | 83 smb_nt_transact_notify_change(smb_request_t *sr, struct smb_xa *xa) argument 91 &CompletionFilter, &sr->smb_fid, &WatchTree) != 0) { 92 smbsr_error(sr, NT_STATUS_INVALID_PARAMETER, 0, 0); 99 smbsr_lookup_file(sr); 102 status = smb_notify_common(sr, &xa->rep_data_mb, CompletionFilter); 113 sr->sr_time_start += (t2 - t1); 116 smbsr_error(sr, status, 0, 0);
|
H A D | smb_session_setup_andx.c | 36 smb_pre_session_setup_andx(smb_request_t *sr) argument 43 sinfo = smb_srm_zalloc(sr, sizeof (smb_arg_sessionsetup_t)); 44 sr->sr_ssetup = sinfo; 51 if (sr->smb_wct < 10) { 60 rc = smbsr_decode_vwv(sr, "b.www6.", 61 &sr->andx_com, &sr->andx_off, 66 if (sr->session->dialect < NT_LM_0_12) { 71 rc = smbsr_decode_vwv(sr, "w4.", 76 sinfo->ssi_lmpwd = smb_srm_zalloc(sr, sinf 198 smb_post_session_setup_andx(smb_request_t *sr) argument 222 smb_com_session_setup_andx(smb_request_t *sr) argument [all...] |
H A D | smb2_flush.c | 25 smb2_flush(smb_request_t *sr) argument 38 &sr->smb_data, "wwlqq", 49 status = smb2sr_lookup_fid(sr, &smb2fid); 51 smb2sr_put_error(sr, status); 55 smb_ofile_flush(sr, sr->fid_ofile); 61 &sr->reply, "wwl",
|
H A D | smb2_change_notify.c | 36 smb2_change_notify(smb_request_t *sr) argument 52 &sr->smb_data, "wwlqqll", 63 status = smb2sr_lookup_fid(sr, &smb2fid); 67 node = sr->fid_ofile->f_node; 77 status = smb2sr_go_async(sr, smb2_change_notify_async); 80 smb2sr_put_error(sr, status); 85 smb2_change_notify_async(smb_request_t *sr) argument 101 &sr->smb_data, "wwlqqll", 112 status = smb2sr_lookup_fid(sr, &smb2fid); 114 smb2sr_put_error(sr, statu [all...] |
H A D | smb2_oplock.c | 27 smb2_oplock_break_ack(smb_request_t *sr) argument 41 &sr->smb_data, "wb5.qq", 50 status = smb2sr_lookup_fid(sr, &smb2fid); 53 if ((node = sr->fid_ofile->f_node) == NULL) { 82 smb_oplock_ack(node, sr->fid_ofile, brk); 90 &sr->reply, "wb5.qq", 99 smb2sr_put_error(sr, status); 105 * the SMB2 header and everything, in sr->reply. 109 smb2_oplock_break_notification(smb_request_t *sr, uint8_t brk) argument 111 smb_ofile_t *ofile = sr [all...] |