Lines Matching refs:grp

277 	smb_group_t grp;  in smb_lgrp_add()  local
288 bzero(&grp, sizeof (grp)); in smb_lgrp_add()
289 grp.sg_name = smb_strlwr(gname); in smb_lgrp_add()
290 grp.sg_cmnt = cmnt; in smb_lgrp_add()
325 grp.sg_id.gs_type = SidTypeAlias; in smb_lgrp_add()
326 grp.sg_domain = SMB_DOMAIN_LOCAL; in smb_lgrp_add()
327 grp.sg_rid = pxgrp->gr_gid; in smb_lgrp_add()
335 grp.sg_id.gs_type = wka->wka_type; in smb_lgrp_add()
341 (void) smb_sid_getrid(sid, &grp.sg_rid); in smb_lgrp_add()
343 grp.sg_domain = SMB_DOMAIN_BUILTIN; in smb_lgrp_add()
344 grp.sg_privs = smb_privset_new(); in smb_lgrp_add()
345 smb_lgrp_set_default_privs(&grp); in smb_lgrp_add()
348 if (smb_lgrp_exists(grp.sg_name)) { in smb_lgrp_add()
353 grp.sg_attr = SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | in smb_lgrp_add()
357 rc = smb_lgrp_gtbl_insert(db, &grp); in smb_lgrp_add()
360 smb_privset_free(grp.sg_privs); in smb_lgrp_add()
373 smb_group_t grp; in smb_lgrp_rename() local
394 grp.sg_name = new_gname; in smb_lgrp_rename()
412 rc = smb_lgrp_gtbl_update(db, gname, &grp, SMB_LGRP_GTBL_NAME); in smb_lgrp_rename()
460 smb_group_t grp; in smb_lgrp_setcmnt() local
470 grp.sg_cmnt = cmnt; in smb_lgrp_setcmnt()
476 rc = smb_lgrp_gtbl_update(db, gname, &grp, SMB_LGRP_GTBL_CMNT); in smb_lgrp_setcmnt()
491 smb_group_t grp; in smb_lgrp_getcmnt() local
505 rc = smb_lgrp_gtbl_lookup(db, SMB_LGRP_GTBL_NAME, &grp, in smb_lgrp_getcmnt()
511 *cmnt = grp.sg_cmnt; in smb_lgrp_getcmnt()
512 grp.sg_cmnt = NULL; in smb_lgrp_getcmnt()
513 smb_lgrp_free(&grp); in smb_lgrp_getcmnt()
565 smb_group_t grp; in smb_lgrp_getpriv() local
578 rc = smb_lgrp_gtbl_lookup(db, SMB_LGRP_GTBL_NAME, &grp, in smb_lgrp_getpriv()
584 *enable = (smb_privset_query(grp.sg_privs, priv_lid) == 1); in smb_lgrp_getpriv()
585 smb_lgrp_free(&grp); in smb_lgrp_getpriv()
671 smb_lgrp_getbyname(char *gname, smb_group_t *grp) in smb_lgrp_getbyname() argument
683 rc = smb_lgrp_gtbl_lookup(db, SMB_LGRP_GTBL_NAME, grp, in smb_lgrp_getbyname()
708 smb_lgrp_getbyrid(uint32_t rid, smb_domain_type_t domtype, smb_group_t *grp) in smb_lgrp_getbyrid() argument
718 if (grp == NULL) { in smb_lgrp_getbyrid()
719 grp = &tmpgrp; in smb_lgrp_getbyrid()
724 rc = smb_lgrp_gtbl_lookup(db, SMB_LGRP_GTBL_SIDRID, grp, infolvl, in smb_lgrp_getbyrid()
776 smb_lgrp_free(smb_group_t *grp) in smb_lgrp_free() argument
780 if (grp == NULL) in smb_lgrp_free()
783 free(grp->sg_name); in smb_lgrp_free()
784 free(grp->sg_cmnt); in smb_lgrp_free()
785 smb_sid_free(grp->sg_id.gs_sid); in smb_lgrp_free()
786 smb_privset_free(grp->sg_privs); in smb_lgrp_free()
788 for (i = 0; i < grp->sg_nmembers; i++) in smb_lgrp_free()
789 smb_sid_free(grp->sg_members[i].gs_sid); in smb_lgrp_free()
790 free(grp->sg_members); in smb_lgrp_free()
889 smb_lgrp_iterate(smb_giter_t *iter, smb_group_t *grp) in smb_lgrp_iterate() argument
903 bzero(grp, sizeof (smb_group_t)); in smb_lgrp_iterate()
927 rc = smb_lgrp_decode(grp, (char **)values, SMB_LGRP_INFO_ALL, in smb_lgrp_iterate()
948 smb_lgrp_is_member(smb_group_t *grp, smb_sid_t *sid) in smb_lgrp_is_member() argument
952 if (grp == NULL || grp->sg_members == NULL || sid == NULL) in smb_lgrp_is_member()
955 for (i = 0; i < grp->sg_nmembers; i++) { in smb_lgrp_is_member()
956 if (smb_sid_cmp(grp->sg_members[i].gs_sid, sid)) in smb_lgrp_is_member()
1318 smb_lgrp_gtbl_lookup(sqlite *db, int key, smb_group_t *grp, int infolvl, ...) in smb_lgrp_gtbl_lookup() argument
1331 bzero(grp, sizeof (smb_group_t)); in smb_lgrp_gtbl_lookup()
1391 rc = smb_lgrp_decode(grp, &result[SMB_LGRP_GTBL_NCOL], infolvl, db); in smb_lgrp_gtbl_lookup()
1476 smb_lgrp_gtbl_insert(sqlite *db, smb_group_t *grp) in smb_lgrp_gtbl_insert() argument
1488 dom_idx = (grp->sg_domain == SMB_DOMAIN_LOCAL) in smb_lgrp_gtbl_insert()
1493 smb_lgrp_encode_privset(grp, &plist); in smb_lgrp_gtbl_insert()
1499 grp->sg_name, dom_idx, grp->sg_rid, grp->sg_id.gs_type, in smb_lgrp_gtbl_insert()
1500 grp->sg_attr, (grp->sg_cmnt) ? grp->sg_cmnt : "", in smb_lgrp_gtbl_insert()
1511 grp->sg_name, NULL_MSGCHK(errmsg)); in smb_lgrp_gtbl_insert()
1562 smb_lgrp_gtbl_update(sqlite *db, char *gname, smb_group_t *grp, int col_id) in smb_lgrp_gtbl_update() argument
1577 if (smb_lgrp_gtbl_exists(db, grp->sg_name)) in smb_lgrp_gtbl_update()
1580 "WHERE name = '%s'", grp->sg_name, gname); in smb_lgrp_gtbl_update()
1585 "WHERE name = '%s'", grp->sg_cmnt, gname); in smb_lgrp_gtbl_update()
2191 smb_lgrp_encode_privset(smb_group_t *grp, smb_lgplist_t *plist) in smb_lgrp_encode_privset() argument
2200 privs = grp->sg_privs; in smb_lgrp_encode_privset()
2224 smb_lgrp_decode_privset(smb_group_t *grp, char *nprivs, char *privs) in smb_lgrp_decode_privset() argument
2234 grp->sg_privs = smb_privset_new(); in smb_lgrp_decode_privset()
2235 if (grp->sg_privs == NULL) in smb_lgrp_decode_privset()
2239 smb_privset_enable(grp->sg_privs, plist.p_ids[i]); in smb_lgrp_decode_privset()
2252 smb_lgrp_decode_members(smb_group_t *grp, char *nmembers, char *members, in smb_lgrp_decode_members() argument
2263 grp->sg_nmembers = 0; in smb_lgrp_decode_members()
2264 grp->sg_members = NULL; in smb_lgrp_decode_members()
2298 grp->sg_nmembers = m_num; in smb_lgrp_decode_members()
2299 grp->sg_members = m_sids; in smb_lgrp_decode_members()
2314 smb_lgrp_decode(smb_group_t *grp, char **values, int infolvl, sqlite *db) in smb_lgrp_decode() argument
2323 grp->sg_name = strdup(values[SMB_LGRP_GTBL_NAME]); in smb_lgrp_decode()
2324 if (grp->sg_name == NULL) in smb_lgrp_decode()
2329 grp->sg_cmnt = strdup(values[SMB_LGRP_GTBL_CMNT]); in smb_lgrp_decode()
2330 if (grp->sg_cmnt == NULL) { in smb_lgrp_decode()
2331 smb_lgrp_free(grp); in smb_lgrp_decode()
2339 grp->sg_rid = atoi(values[SMB_LGRP_GTBL_SIDRID]); in smb_lgrp_decode()
2340 grp->sg_attr = atoi(values[SMB_LGRP_GTBL_SIDATR]); in smb_lgrp_decode()
2341 grp->sg_id.gs_type = atoi(values[SMB_LGRP_GTBL_SIDTYP]); in smb_lgrp_decode()
2342 rc = smb_lgrp_getsid(sid_idx, &grp->sg_rid, grp->sg_id.gs_type, in smb_lgrp_decode()
2343 db, &grp->sg_id.gs_sid); in smb_lgrp_decode()
2345 smb_lgrp_free(grp); in smb_lgrp_decode()
2348 grp->sg_domain = (sid_idx == SMB_LGRP_LOCAL_IDX) in smb_lgrp_decode()
2353 rc = smb_lgrp_decode_privset(grp, values[SMB_LGRP_GTBL_NPRIVS], in smb_lgrp_decode()
2357 smb_lgrp_free(grp); in smb_lgrp_decode()
2363 rc = smb_lgrp_decode_members(grp, values[SMB_LGRP_GTBL_NMEMBS], in smb_lgrp_decode()
2366 smb_lgrp_free(grp); in smb_lgrp_decode()
2397 smb_lgrp_set_default_privs(smb_group_t *grp) in smb_lgrp_set_default_privs() argument
2399 if (smb_strcasecmp(grp->sg_name, "Administrators", 0) == 0) { in smb_lgrp_set_default_privs()
2400 smb_privset_enable(grp->sg_privs, SE_TAKE_OWNERSHIP_LUID); in smb_lgrp_set_default_privs()
2401 smb_privset_enable(grp->sg_privs, SE_BACKUP_LUID); in smb_lgrp_set_default_privs()
2402 smb_privset_enable(grp->sg_privs, SE_RESTORE_LUID); in smb_lgrp_set_default_privs()
2406 if (smb_strcasecmp(grp->sg_name, "Backup Operators", 0) == 0) { in smb_lgrp_set_default_privs()
2407 smb_privset_enable(grp->sg_privs, SE_BACKUP_LUID); in smb_lgrp_set_default_privs()
2408 smb_privset_enable(grp->sg_privs, SE_RESTORE_LUID); in smb_lgrp_set_default_privs()