Home | History | Annotate | Download | only in src

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");
45 ERR(handle, "out of memory, could not create selinux user key");
65 const sepol_user_t * user,
69 if (sepol_user_key_create(handle, user->name, key_ptr) < 0) {
70 ERR(handle, "could not extract key from user %s", user->name);
85 int sepol_user_compare(const sepol_user_t * user, const sepol_user_key_t * key)
88 return strcmp(user->name, key->name);
91 int sepol_user_compare2(const sepol_user_t * user, const sepol_user_t * user2)
94 return strcmp(user->name, user2->name);
98 const char *sepol_user_get_name(const sepol_user_t * user)
101 return user->name;
105 sepol_user_t * user, const char *name)
113 free(user->name);
114 user->name = tmp_name;
121 const char *sepol_user_get_mlslevel(const sepol_user_t * user)
124 return user->mls_level;
130 sepol_user_t * user, const char *mls_level)
139 free(user->mls_level);
140 user->mls_level = tmp_mls_level;
146 const char *sepol_user_get_mlsrange(const sepol_user_t * user)
149 return user->mls_range;
155 sepol_user_t * user, const char *mls_range)
164 free(user->mls_range);
165 user->mls_range = tmp_mls_range;
172 int sepol_user_get_num_roles(const sepol_user_t * user)
175 return user->num_roles;
179 sepol_user_t * user, const char *role)
185 if (sepol_user_has_role(user, role))
192 roles_realloc = realloc(user->roles,
193 sizeof(char *) * (user->num_roles + 1));
197 user->num_roles++;
198 user->roles = roles_realloc;
199 user->roles[user->num_roles - 1] = role_cp;
212 int sepol_user_has_role(const sepol_user_t * user, const char *role)
217 for (i = 0; i < user->num_roles; i++)
218 if (!strcmp(user->roles[i], role))
226 sepol_user_t * user,
248 for (i = 0; i < user->num_roles; i++)
249 free(user->roles[i]);
250 free(user->roles);
251 user->roles = tmp_roles;
252 user->num_roles = num_roles;
257 "user %s", user->name);
271 const sepol_user_t * user,
277 (const char **)malloc(sizeof(char *) * user->num_roles);
281 for (i = 0; i < user->num_roles; i++)
282 tmp_roles[i] = user->roles[i];
285 *num_roles = user->num_roles;
290 "allocate roles array for user %s", user->name);
297 void sepol_user_del_role(sepol_user_t * user, const char *role)
301 for (i = 0; i < user->num_roles; i++) {
302 if (!strcmp(user->roles[i], role)) {
303 free(user->roles[i]);
304 user->roles[i] = NULL;
305 user->roles[i] = user->roles[user->num_roles - 1];
306 user->num_roles--;
315 sepol_user_t *user = (sepol_user_t *) malloc(sizeof(sepol_user_t));
317 if (!user) {
319 "could not create selinux user record");
323 user->roles = NULL;
324 user->num_roles = 0;
325 user->name = NULL;
326 user->mls_level = NULL;
327 user->mls_range = NULL;
329 *user_ptr = user;
337 const sepol_user_t * user, sepol_user_t ** user_ptr)
346 if (sepol_user_set_name(handle, new_user, user->name) < 0)
349 for (i = 0; i < user->num_roles; i++) {
350 if (sepol_user_add_role(handle, new_user, user->roles[i]) < 0)
354 if (user->mls_level &&
355 (sepol_user_set_mlslevel(handle, new_user, user->mls_level) < 0))
358 if (user->mls_range &&
359 (sepol_user_set_mlsrange(handle, new_user, user->mls_range) < 0))
366 ERR(handle, "could not clone selinux user record");
372 void sepol_user_free(sepol_user_t * user)
377 if (!user)
380 free(user->name);
381 for (i = 0; i < user->num_roles; i++)
382 free(user->roles[i]);
383 free(user->roles);
384 free(user->mls_level);
385 free(user->mls_range);
386 free(user);