/* * Public interface for adding groups */ int groupadd(TALLOC_CTX *mem_ctx, struct sysdb_ctx *sysdb, struct ops_ctx *data) { int ret; ret = sysdb_add_group(sysdb, data->name, data->gid, NULL, 0); if (ret == EOK) { flush_nscd_cache(mem_ctx, NSCD_DB_GROUP); } return ret; }
/* * Public interface for adding groups */ int groupadd(struct sysdb_ctx *sysdb, struct ops_ctx *data) { int ret; ret = sysdb_add_group(sysdb, data->domain, data->name, data->gid, NULL, 0, 0); if (ret == EOK) { flush_nscd_cache(NSCD_DB_GROUP); } return ret; }
void setup_simple_group(void) { errno_t ret; setup_simple(); /* Add test users u1 and u2 that would be members of test groups * g1 and g2 respectively */ ret = sysdb_add_group(test_ctx->ctx->domain, "pvt", 999, NULL, 0, 0); fail_if(ret != EOK, "Could not add private group %s", strerror(ret)); ret = sysdb_store_user(test_ctx->ctx->domain, "u1", NULL, 123, 999, "u1", "/home/u1", "/bin/bash", NULL, NULL, NULL, -1, 0); fail_if(ret != EOK, "Could not add u1"); ret = sysdb_store_user(test_ctx->ctx->domain, "u2", NULL, 456, 999, "u1", "/home/u1", "/bin/bash", NULL, NULL, NULL, -1, 0); fail_if(ret != EOK, "Could not add u2"); ret = sysdb_store_user(test_ctx->ctx->domain, "u3", NULL, 789, 999, "u1", "/home/u1", "/bin/bash", NULL, NULL, NULL, -1, 0); fail_if(ret != EOK, "Could not add u3"); ret = sysdb_add_group(test_ctx->ctx->domain, "g1", 321, NULL, 0, 0); fail_if(ret != EOK, "Could not add g1"); ret = sysdb_add_group(test_ctx->ctx->domain, "g2", 654, NULL, 0, 0); fail_if(ret != EOK, "Could not add g2"); ret = sysdb_add_group_member(test_ctx->ctx->domain, "g1", "u1", SYSDB_MEMBER_USER, false); fail_if(ret != EOK, "Could not add u1 to g1"); ret = sysdb_add_group_member(test_ctx->ctx->domain, "g2", "u2", SYSDB_MEMBER_USER, false); fail_if(ret != EOK, "Could not add u2 to g2"); }
/* * Public interface for adding groups */ int groupadd(struct ops_ctx *data) { int ret; data->sysdb_fqname = sss_create_internal_fqname(data, data->name, data->domain->name); if (data->sysdb_fqname == NULL) { return ENOMEM; } ret = sysdb_add_group(data->domain, data->sysdb_fqname, data->gid, NULL, 0, 0); if (ret == EOK) { flush_nscd_cache(NSCD_DB_GROUP); } return ret; }
static void create_groups(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain) { errno_t ret; char *fqname; for (int i = 0; i < 2; i++) { fqname = sss_create_internal_fqname(mem_ctx, groups[i].name, domain->name); assert_non_null(fqname); ret = sysdb_add_group(domain, fqname, groups[i].gid, NULL, 30, time(NULL)); talloc_free(fqname); assert_int_equal(ret, EOK); } }