Lines Matching refs:name
95 static int check_mac_perms(const char *name, char *sctx) in check_mac_perms() argument
111 if (selabel_lookup(sehandle_prop, &tctx, name, 1) != 0) in check_mac_perms()
114 if (selinux_check_access(sctx, tctx, class, perm, (void*) name) == 0) in check_mac_perms()
122 static int check_control_mac_perms(const char *name, char *sctx) in check_control_mac_perms() argument
131 int ret = snprintf(ctl_name, sizeof(ctl_name), "ctl.%s", name); in check_control_mac_perms()
143 static int check_perms(const char *name, char *sctx) in check_perms() argument
148 if(!strncmp(name, "ro.", 3)) in check_perms()
149 name +=3; in check_perms()
151 return check_mac_perms(name, sctx); in check_perms()
154 int __property_get(const char *name, char *value) in __property_get() argument
156 return __system_property_get(name, value); in __property_get()
159 static void write_persistent_property(const char *name, const char *value) in write_persistent_property() argument
175 snprintf(path, sizeof(path), "%s/%s", PERSISTENT_PROPERTY_DIR, name); in write_persistent_property()
182 static bool is_legal_property_name(const char* name, size_t namelen) in is_legal_property_name() argument
187 if (name[0] == '.') return false; in is_legal_property_name()
188 if (name[namelen - 1] == '.') return false; in is_legal_property_name()
193 if (name[i] == '.') { in is_legal_property_name()
195 if (name[i-1] == '.') return false; in is_legal_property_name()
198 if (name[i] == '_' || name[i] == '-') continue; in is_legal_property_name()
199 if (name[i] >= 'a' && name[i] <= 'z') continue; in is_legal_property_name()
200 if (name[i] >= 'A' && name[i] <= 'Z') continue; in is_legal_property_name()
201 if (name[i] >= '0' && name[i] <= '9') continue; in is_legal_property_name()
208 int property_set(const char *name, const char *value) in property_set() argument
213 size_t namelen = strlen(name); in property_set()
216 if (!is_legal_property_name(name, namelen)) return -1; in property_set()
219 pi = (prop_info*) __system_property_find(name); in property_set()
223 if(!strncmp(name, "ro.", 3)) return -1; in property_set()
227 ret = __system_property_add(name, namelen, value, valuelen); in property_set()
229 ERROR("Failed to set '%s'='%s'\n", name, value); in property_set()
234 if (strncmp("net.", name, strlen("net.")) == 0) { in property_set()
235 if (strcmp("net.change", name) == 0) { in property_set()
243 property_set("net.change", name); in property_set()
245 strncmp("persist.", name, strlen("persist.")) == 0) { in property_set()
250 write_persistent_property(name, value); in property_set()
251 } else if (strcmp("selinux.reload_policy", name) == 0 && in property_set()
255 property_changed(name, value); in property_set()
309 msg.name[PROP_NAME_MAX-1] = 0; in handle_property_set_fd()
312 if (!is_legal_property_name(msg.name, strlen(msg.name))) { in handle_property_set_fd()
313 ERROR("sys_prop: illegal property name. Got: \"%s\"\n", msg.name); in handle_property_set_fd()
320 if(memcmp(msg.name,"ctl.",4) == 0) { in handle_property_set_fd()
325 handle_control_message((char*) msg.name + 4, (char*) msg.value); in handle_property_set_fd()
328 msg.name + 4, msg.value, cr.uid, cr.gid, cr.pid); in handle_property_set_fd()
331 if (check_perms(msg.name, source_ctx)) { in handle_property_set_fd()
332 property_set((char*) msg.name, (char*) msg.value); in handle_property_set_fd()
335 cr.uid, msg.name); in handle_property_set_fd()