Lines Matching refs:name

202 static int check_mac_perms(const char *name, char *sctx)
219 if (selabel_lookup(sehandle_prop, &tctx, name, 1) != 0)
222 if (selinux_check_access(sctx, tctx, class, perm, name) == 0)
233 static int check_control_mac_perms(const char *name, char *sctx)
238 * Create a name prefix out of ctl.<service name>
244 int ret = snprintf(ctl_name, sizeof(ctl_name), "ctl.%s", name);
261 static int check_control_perms(const char *name, unsigned int uid, unsigned int gid, char *sctx) {
265 return check_control_mac_perms(name, sctx);
269 if (strcmp(control_perms[i].service, name) == 0) {
272 return check_control_mac_perms(name, sctx);
283 static int check_perms(const char *name, unsigned int uid, unsigned int gid, char *sctx)
286 if(!strncmp(name, "ro.", 3))
287 name +=3;
290 return check_mac_perms(name, sctx);
293 if (strncmp(property_perms[i].prefix, name,
298 return check_mac_perms(name, sctx);
306 const char* property_get(const char *name)
310 if(strlen(name) >= PROP_NAME_MAX) return 0;
312 pi = (prop_info*) __system_property_find(name);
321 static void write_persistent_property(const char *name, const char *value)
327 snprintf(path, sizeof(path), "%s/%s", PERSISTENT_PROPERTY_DIR, name);
343 int property_set(const char *name, const char *value)
348 int namelen = strlen(name);
355 pi = (prop_info*) __system_property_find(name);
359 if(!strncmp(name, "ro.", 3)) return -1;
371 memcpy(pi->name, name, namelen + 1);
381 /* If name starts with "net." treat as a DNS property. */
382 if (strncmp("net.", name, strlen("net.")) == 0) {
383 if (strcmp("net.change", name) == 0) {
388 * 'net.*' property name is updated. It is _ONLY_ updated here. Its value
391 property_set("net.change", name);
393 strncmp("persist.", name, strlen("persist.")) == 0) {
398 write_persistent_property(name, value);
400 } else if (strcmp("selinux.reload_policy", name) == 0 &&
405 property_changed(name, value);
442 msg.name[PROP_NAME_MAX-1] = 0;
449 if(memcmp(msg.name,"ctl.",4) == 0) {
454 handle_control_message((char*) msg.name + 4, (char*) msg.value);
457 msg.name + 4, msg.value, cr.uid, cr.gid, cr.pid);
460 if (check_perms(msg.name, cr.uid, cr.gid, source_ctx)) {
461 property_set((char*) msg.name, (char*) msg.value);
463 ERROR("sys_prop: permission denied uid:%d name:%s\n",
464 cr.uid, msg.name);