Lines Matching refs:si

192 srvsvc_shr_setdfsroot(smb_share_t *si, boolean_t on)  in srvsvc_shr_setdfsroot()  argument
198 if (on && ((si->shr_flags & SMB_SHRF_DFSROOT) == 0)) { in srvsvc_shr_setdfsroot()
199 si->shr_flags |= SMB_SHRF_DFSROOT; in srvsvc_shr_setdfsroot()
201 } else if (!on && (si->shr_flags & SMB_SHRF_DFSROOT)) { in srvsvc_shr_setdfsroot()
202 si->shr_flags &= ~SMB_SHRF_DFSROOT; in srvsvc_shr_setdfsroot()
217 nerr = srvsvc_sa_setprop(si, nvl); in srvsvc_shr_setdfsroot()
223 return (smb_shr_modify(si)); in srvsvc_shr_setdfsroot()
876 smb_share_t si; in srvsvc_s_NetShareGetInfo() local
880 status = smb_shr_get((char *)param->netname, &si); in srvsvc_s_NetShareGetInfo()
887 if ((si.shr_flags & SMB_SHRF_ABE) != 0 && in srvsvc_s_NetShareGetInfo()
888 !srvsvc_share_access(mxa, &si)) { in srvsvc_s_NetShareGetInfo()
894 netname = (uint8_t *)NDR_STRDUP(mxa, si.shr_name); in srvsvc_s_NetShareGetInfo()
895 comment = (uint8_t *)NDR_STRDUP(mxa, si.shr_cmnt); in srvsvc_s_NetShareGetInfo()
915 info1->shi1_type = si.shr_type; in srvsvc_s_NetShareGetInfo()
924 (uint8_t *)srvsvc_share_mkpath(mxa, si.shr_path); in srvsvc_s_NetShareGetInfo()
926 info2->shi2_type = si.shr_type; in srvsvc_s_NetShareGetInfo()
937 info501->shi501_type = si.shr_type; in srvsvc_s_NetShareGetInfo()
938 info501->shi501_flags = srvsvc_get_share_flags(&si); in srvsvc_s_NetShareGetInfo()
947 (uint8_t *)srvsvc_share_mkpath(mxa, si.shr_path); in srvsvc_s_NetShareGetInfo()
949 info502->shi502_type = si.shr_type; in srvsvc_s_NetShareGetInfo()
954 status = srvsvc_share_getsd(mxa, &si, &sd); in srvsvc_s_NetShareGetInfo()
971 (uint8_t *)srvsvc_share_mkpath(mxa, si.shr_path); in srvsvc_s_NetShareGetInfo()
973 info503->shi503_type = si.shr_type; in srvsvc_s_NetShareGetInfo()
979 status = srvsvc_share_getsd(mxa, &si, &sd); in srvsvc_s_NetShareGetInfo()
999 info1005->shi1005_flags = srvsvc_get_share_flags(&si); in srvsvc_s_NetShareGetInfo()
1012 status = srvsvc_share_getsd(mxa, &si, &sd); in srvsvc_s_NetShareGetInfo()
1039 srvsvc_share_getsd(ndr_xa_t *mxa, smb_share_t *si, srvsvc_sd_t *sd) in srvsvc_share_getsd() argument
1043 status = srvsvc_sd_get(si, NULL, &sd->sd_size); in srvsvc_share_getsd()
1056 status = srvsvc_sd_get(si, sd->sd_buf, NULL); in srvsvc_share_getsd()
1091 smb_share_t si; in srvsvc_s_NetShareSetInfo() local
1103 if (smb_shr_get((char *)param->netname, &si) != NERR_Success) { in srvsvc_s_NetShareSetInfo()
1119 status = srvsvc_modify_share(&si, &info); in srvsvc_s_NetShareSetInfo()
1127 status = srvsvc_modify_share(&si, &info); in srvsvc_s_NetShareSetInfo()
1136 status = srvsvc_modify_share(&si, &info); in srvsvc_s_NetShareSetInfo()
1145 status = srvsvc_modify_share(&si, &info); in srvsvc_s_NetShareSetInfo()
1147 status = srvsvc_update_share_flags(&si, in srvsvc_s_NetShareSetInfo()
1159 status = srvsvc_modify_share(&si, &info); in srvsvc_s_NetShareSetInfo()
1170 status = srvsvc_modify_share(&si, &info); in srvsvc_s_NetShareSetInfo()
1177 status = srvsvc_modify_share(&si, &info); in srvsvc_s_NetShareSetInfo()
1183 status = srvsvc_update_share_flags(&si, in srvsvc_s_NetShareSetInfo()
1202 status = srvsvc_sd_set(&si, sdbuf); in srvsvc_s_NetShareSetInfo()
1223 srvsvc_modify_share(smb_share_t *si, srvsvc_netshare_setinfo_t *info) in srvsvc_modify_share() argument
1227 if (si->shr_flags & SMB_SHRF_TRANS) in srvsvc_modify_share()
1228 return (srvsvc_modify_transient_share(si, info)); in srvsvc_modify_share()
1231 nerr = srvsvc_sd_set(si, info->nss_sd.sd_buf); in srvsvc_modify_share()
1236 if ((nerr = srvsvc_sa_modify(si, info)) == NERR_Success) in srvsvc_modify_share()
1237 nerr = smb_shr_modify(si); in srvsvc_modify_share()
1246 srvsvc_modify_transient_share(smb_share_t *si, srvsvc_netshare_setinfo_t *info) in srvsvc_modify_transient_share() argument
1251 smb_strcasecmp(info->nss_netname, si->shr_name, 0) != 0) { in srvsvc_modify_transient_share()
1252 nerr = smb_shr_rename(si->shr_name, info->nss_netname); in srvsvc_modify_transient_share()
1256 (void) strlcpy(si->shr_name, info->nss_netname, MAXNAMELEN); in srvsvc_modify_transient_share()
1260 (strcmp(info->nss_comment, si->shr_cmnt) != 0)) { in srvsvc_modify_transient_share()
1261 (void) strlcpy(si->shr_cmnt, info->nss_comment, in srvsvc_modify_transient_share()
1264 if ((nerr = smb_shr_modify(si)) != NERR_Success) in srvsvc_modify_transient_share()
1279 srvsvc_update_share_flags(smb_share_t *si, uint32_t shi_flags) in srvsvc_update_share_flags() argument
1293 si->shr_flags &= ~SMB_SHRF_ABE; in srvsvc_update_share_flags()
1294 si->shr_flags |= flag; in srvsvc_update_share_flags()
1313 si->shr_flags &= ~SMB_SHRF_CSC_MASK; in srvsvc_update_share_flags()
1314 si->shr_flags |= flag; in srvsvc_update_share_flags()
1316 if ((si->shr_flags & SMB_SHRF_TRANS) == 0) { in srvsvc_update_share_flags()
1317 csc_value = smb_shr_sa_csc_name(si); in srvsvc_update_share_flags()
1329 nerr = srvsvc_sa_setprop(si, nvl); in srvsvc_update_share_flags()
1336 return (smb_shr_modify(si)); in srvsvc_update_share_flags()
1340 srvsvc_get_share_flags(smb_share_t *si) in srvsvc_get_share_flags() argument
1345 switch (si->shr_flags & SMB_SHRF_CSC_MASK) { in srvsvc_get_share_flags()
1363 if (si->shr_flags & SMB_SHRF_ABE) in srvsvc_get_share_flags()
1367 if ((smb_kmod_shareinfo(si->shr_name, &shortnames) == 0) && in srvsvc_get_share_flags()
1979 smb_share_t si; in srvsvc_s_NetShareAdd() local
2041 status = smb_shr_get((char *)info2->shi2_netname, &si); in srvsvc_s_NetShareAdd()
2044 (void) srvsvc_sd_set(&si, sdbuf); in srvsvc_s_NetShareAdd()
2288 smb_share_t *si; in mlsvc_NetShareEnumLevel0() local
2303 while ((si = smb_shr_iterate(&iterator)) != NULL) { in mlsvc_NetShareEnumLevel0()
2311 if ((si->shr_flags & SMB_SHRF_ABE) != 0 && in mlsvc_NetShareEnumLevel0()
2312 !srvsvc_share_access(mxa, si)) in mlsvc_NetShareEnumLevel0()
2315 if (sticky && (si->shr_flags & SMB_SHRF_TRANS)) in mlsvc_NetShareEnumLevel0()
2318 if (si->shr_flags & SMB_SHRF_AUTOHOME) in mlsvc_NetShareEnumLevel0()
2326 status = mlsvc_NetShareEnumCommon(mxa, se, si, (void *)info0); in mlsvc_NetShareEnumLevel0()
2352 smb_share_t *si; in mlsvc_NetShareEnumLevel1() local
2367 while ((si = smb_shr_iterate(&iterator)) != 0) { in mlsvc_NetShareEnumLevel1()
2375 if ((si->shr_flags & SMB_SHRF_ABE) != 0 && in mlsvc_NetShareEnumLevel1()
2376 !srvsvc_share_access(mxa, si)) in mlsvc_NetShareEnumLevel1()
2379 if (sticky && (si->shr_flags & SMB_SHRF_TRANS)) in mlsvc_NetShareEnumLevel1()
2382 if (si->shr_flags & SMB_SHRF_AUTOHOME) in mlsvc_NetShareEnumLevel1()
2390 status = mlsvc_NetShareEnumCommon(mxa, se, si, (void *)info1); in mlsvc_NetShareEnumLevel1()
2416 smb_share_t *si; in mlsvc_NetShareEnumLevel2() local
2431 while ((si = smb_shr_iterate(&iterator)) != 0) { in mlsvc_NetShareEnumLevel2()
2439 if ((si->shr_flags & SMB_SHRF_ABE) != 0 && in mlsvc_NetShareEnumLevel2()
2440 !srvsvc_share_access(mxa, si)) in mlsvc_NetShareEnumLevel2()
2443 if (sticky && (si->shr_flags & SMB_SHRF_TRANS)) in mlsvc_NetShareEnumLevel2()
2446 if (si->shr_flags & SMB_SHRF_AUTOHOME) in mlsvc_NetShareEnumLevel2()
2454 status = mlsvc_NetShareEnumCommon(mxa, se, si, (void *)info2); in mlsvc_NetShareEnumLevel2()
2480 smb_share_t *si; in mlsvc_NetShareEnumLevel501() local
2496 while ((si = smb_shr_iterate(&iterator)) != 0) { in mlsvc_NetShareEnumLevel501()
2504 if ((si->shr_flags & SMB_SHRF_ABE) != 0 && in mlsvc_NetShareEnumLevel501()
2505 !srvsvc_share_access(mxa, si)) in mlsvc_NetShareEnumLevel501()
2508 if (sticky && (si->shr_flags & SMB_SHRF_TRANS)) in mlsvc_NetShareEnumLevel501()
2511 if (si->shr_flags & SMB_SHRF_AUTOHOME) in mlsvc_NetShareEnumLevel501()
2519 status = mlsvc_NetShareEnumCommon(mxa, se, si, (void *)info501); in mlsvc_NetShareEnumLevel501()
2545 smb_share_t *si; in mlsvc_NetShareEnumLevel502() local
2561 while ((si = smb_shr_iterate(&iterator)) != NULL) { in mlsvc_NetShareEnumLevel502()
2569 if ((si->shr_flags & SMB_SHRF_ABE) != 0 && in mlsvc_NetShareEnumLevel502()
2570 !srvsvc_share_access(mxa, si)) in mlsvc_NetShareEnumLevel502()
2573 if (sticky && (si->shr_flags & SMB_SHRF_TRANS)) in mlsvc_NetShareEnumLevel502()
2576 if (si->shr_flags & SMB_SHRF_AUTOHOME) in mlsvc_NetShareEnumLevel502()
2584 status = mlsvc_NetShareEnumCommon(mxa, se, si, (void *)info502); in mlsvc_NetShareEnumLevel502()
2618 smb_share_t *si, void *infop) in mlsvc_NetShareEnumCommon() argument
2632 netname = (uint8_t *)NDR_STRDUP(mxa, si->shr_name); in mlsvc_NetShareEnumCommon()
2633 comment = (uint8_t *)NDR_STRDUP(mxa, si->shr_cmnt); in mlsvc_NetShareEnumCommon()
2635 path = (uint8_t *)srvsvc_share_mkpath(mxa, si->shr_path); in mlsvc_NetShareEnumCommon()
2650 info1[i].shi1_type = si->shr_type; in mlsvc_NetShareEnumCommon()
2658 info2[i].shi2_type = si->shr_type; in mlsvc_NetShareEnumCommon()
2669 info501[i].shi501_type = si->shr_type; in mlsvc_NetShareEnumCommon()
2670 info501[i].shi501_flags = srvsvc_get_share_flags(si); in mlsvc_NetShareEnumCommon()
2678 info502[i].shi502_type = si->shr_type; in mlsvc_NetShareEnumCommon()
2684 if (srvsvc_share_getsd(mxa, si, &sd) == ERROR_SUCCESS) { in mlsvc_NetShareEnumCommon()
2709 srvsvc_share_access(ndr_xa_t *xa, smb_share_t *si) in srvsvc_share_access() argument
2727 if ((si->shr_flags & SMB_SHRF_ACC_ALL) != SMB_SHRF_ACC_OPEN) { in srvsvc_share_access()
2730 si->shr_access_none, in srvsvc_share_access()
2731 si->shr_access_ro, in srvsvc_share_access()
2732 si->shr_access_rw, in srvsvc_share_access()
2733 si->shr_flags & SMB_SHRF_ACC_ALL); in srvsvc_share_access()
2741 if (smb_kmod_shareaccess(ui, si) != 0) in srvsvc_share_access()
2758 smb_share_t si; in srvsvc_add_autohome() local
2773 if (smb_shr_get(username, &si) != NERR_Success) in srvsvc_add_autohome()
2776 if ((si.shr_flags & SMB_SHRF_AUTOHOME) == 0) in srvsvc_add_autohome()
2779 status = mlsvc_NetShareEnumCommon(mxa, se, &si, infop); in srvsvc_add_autohome()
2835 smb_share_t *si; in srvsvc_s_NetShareCheck() local
2848 while ((si = smb_shr_iterate(&iterator)) != NULL) { in srvsvc_s_NetShareCheck()
2849 path = srvsvc_share_mkpath(mxa, si->shr_path); in srvsvc_s_NetShareCheck()
2851 if ((si->shr_flags & SMB_SHRF_ABE) != 0 && in srvsvc_s_NetShareCheck()
2852 !srvsvc_share_access(mxa, si)) in srvsvc_s_NetShareCheck()
2856 param->stype = (si->shr_type & STYPE_MASK); in srvsvc_s_NetShareCheck()
2881 smb_share_t si; in srvsvc_s_NetShareDel() local
2889 if (smb_shr_get((char *)param->netname, &si) == NERR_Success) { in srvsvc_s_NetShareDel()
2890 if (si.shr_flags & SMB_SHRF_DFSROOT) { in srvsvc_s_NetShareDel()
3044 srvsvc_sa_modify(smb_share_t *si, srvsvc_netshare_setinfo_t *info) in srvsvc_sa_modify() argument
3056 if ((share = sa_find_share(handle, si->shr_path)) == NULL) { in srvsvc_sa_modify()
3061 if ((resource = sa_get_share_resource(share, si->shr_name)) == NULL) { in srvsvc_sa_modify()
3075 smb_strcasecmp(info->nss_netname, si->shr_name, 0) != 0) { in srvsvc_sa_modify()
3086 (strcmp(info->nss_comment, si->shr_cmnt) != 0)) { in srvsvc_sa_modify()
3093 (void) strlcpy(si->shr_cmnt, info->nss_comment, in srvsvc_sa_modify()
3098 if (sa_zfs_setprop(handle, si->shr_path, nvl) != 0) { in srvsvc_sa_modify()
3108 nerr = smb_shr_rename(si->shr_name, info->nss_netname); in srvsvc_sa_modify()
3112 (void) strlcpy(si->shr_name, info->nss_netname, MAXNAMELEN); in srvsvc_sa_modify()
3127 srvsvc_sa_setprop(smb_share_t *si, nvlist_t *nvl) in srvsvc_sa_setprop() argument
3142 if ((share = sa_find_share(handle, si->shr_path)) == NULL) { in srvsvc_sa_setprop()
3147 if ((resource = sa_get_share_resource(share, si->shr_name)) == NULL) { in srvsvc_sa_setprop()
3153 if (sa_zfs_setprop(handle, si->shr_path, nvl) != 0) in srvsvc_sa_setprop()