Lines Matching refs:user

9 	/* This user's name */
12 /* This user's mls level (only required for mls) */
15 /* This user's mls range (only required for mls) */
26 /* This user's name */
39 "could not create selinux user key");
60 const sepol_user_t * user,
64 if (sepol_user_key_create(handle, user->name, key_ptr) < 0) {
65 ERR(handle, "could not extract key from user %s", user->name);
77 int sepol_user_compare(const sepol_user_t * user, const sepol_user_key_t * key)
80 return strcmp(user->name, key->name);
83 int sepol_user_compare2(const sepol_user_t * user, const sepol_user_t * user2)
86 return strcmp(user->name, user2->name);
90 const char *sepol_user_get_name(const sepol_user_t * user)
93 return user->name;
97 sepol_user_t * user, const char *name)
105 free(user->name);
106 user->name = tmp_name;
113 const char *sepol_user_get_mlslevel(const sepol_user_t * user)
116 return user->mls_level;
122 sepol_user_t * user, const char *mls_level)
131 free(user->mls_level);
132 user->mls_level = tmp_mls_level;
138 const char *sepol_user_get_mlsrange(const sepol_user_t * user)
141 return user->mls_range;
147 sepol_user_t * user, const char *mls_range)
156 free(user->mls_range);
157 user->mls_range = tmp_mls_range;
164 int sepol_user_get_num_roles(const sepol_user_t * user)
167 return user->num_roles;
171 sepol_user_t * user, const char *role)
177 if (sepol_user_has_role(user, role))
181 roles_realloc = realloc(user->roles,
182 sizeof(char *) * (user->num_roles + 1));
187 user->num_roles++;
188 user->roles = roles_realloc;
189 user->roles[user->num_roles - 1] = role_cp;
202 int sepol_user_has_role(const sepol_user_t * user, const char *role)
207 for (i = 0; i < user->num_roles; i++)
208 if (!strcmp(user->roles[i], role))
216 sepol_user_t * user,
238 for (i = 0; i < user->num_roles; i++)
239 free(user->roles[i]);
240 free(user->roles);
241 user->roles = tmp_roles;
242 user->num_roles = num_roles;
247 "user %s", user->name);
261 const sepol_user_t * user,
267 (const char **)malloc(sizeof(char *) * user->num_roles);
271 for (i = 0; i < user->num_roles; i++)
272 tmp_roles[i] = user->roles[i];
275 *num_roles = user->num_roles;
280 "allocate roles array for user %s", user->name);
287 void sepol_user_del_role(sepol_user_t * user, const char *role)
291 for (i = 0; i < user->num_roles; i++) {
292 if (!strcmp(user->roles[i], role)) {
293 free(user->roles[i]);
294 user->roles[i] = NULL;
295 user->roles[i] = user->roles[user->num_roles - 1];
296 user->num_roles--;
305 sepol_user_t *user = (sepol_user_t *) malloc(sizeof(sepol_user_t));
307 if (!user) {
309 "could not create selinux user record");
313 user->roles = NULL;
314 user->num_roles = 0;
315 user->name = NULL;
316 user->mls_level = NULL;
317 user->mls_range = NULL;
319 *user_ptr = user;
327 const sepol_user_t * user, sepol_user_t ** user_ptr)
336 if (sepol_user_set_name(handle, new_user, user->name) < 0)
339 for (i = 0; i < user->num_roles; i++) {
340 if (sepol_user_add_role(handle, new_user, user->roles[i]) < 0)
344 if (user->mls_level &&
345 (sepol_user_set_mlslevel(handle, new_user, user->mls_level) < 0))
348 if (user->mls_range &&
349 (sepol_user_set_mlsrange(handle, new_user, user->mls_range) < 0))
356 ERR(handle, "could not clone selinux user record");
362 void sepol_user_free(sepol_user_t * user)
367 if (!user)
370 free(user->name);
371 for (i = 0; i < user->num_roles; i++)
372 free(user->roles[i]);
373 free(user->roles);
374 free(user->mls_level);
375 free(user->mls_range);
376 free(user);