This is needed for executable having a binder.
Also conforming to RFC 2045, mime types are made
case insensitive.
Change-Id: I065c8eada5ec044daca73b3bf994b0d6f3587414
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
- use key facilities of kernel
- remove the link to the icon on failure or create it lately
- improves safety on power failure
- use key facilities of kernel
- remove the link to the icon on failure or create it lately
- improves safety on power failure
+- make application ids (idaver) NOT CASE SENSITIVE
for (dl = launchers ; dl ; dl = dl->next)
if (dl->mode == mode)
for (tl = dl->types ; tl != NULL ; tl = tl->next)
for (dl = launchers ; dl ; dl = dl->next)
if (dl->mode == mode)
for (tl = dl->types ; tl != NULL ; tl = tl->next)
- if (!strcmp(tl->type, type))
+ if (!strcasecmp(tl->type, type))
return dl;
return NULL;
}
return dl;
return NULL;
}
static const char permission_required[] = "required";
static const char permission_optional[] = "optional";
static const char feature_required_permissions[] = FWK_PREFIX "required-permissions";
static const char permission_required[] = "required";
static const char permission_optional[] = "optional";
static const char feature_required_permissions[] = FWK_PREFIX "required-permissions";
-static const char exec_type_string[] = "application/x-executable";
+static const char* exec_type_strings[] = {
+ "application/x-executable",
+ "application/vnd.agl.native"
+};
static int check_defined(const void *data, const char *name)
{
static int check_defined(const void *data, const char *name)
{
static int install_exec_flag(const struct wgt_desc *desc)
{
static int install_exec_flag(const struct wgt_desc *desc)
{
- return desc->content_type != NULL && !strcmp(desc->content_type, exec_type_string)
- ? fchmodat(workdirfd, desc->content_src, 0755, 0) : 0;
+ int i;
+
+ if (desc->content_type) {
+ i = sizeof exec_type_strings / sizeof *exec_type_strings;
+ while (i) {
+ if (!strcasecmp(desc->content_type, exec_type_strings[--i]))
+ return fchmodat(workdirfd, desc->content_src, 0755, 0);
+ }
+ }
+ return 0;
}
static int install_security(const struct wgt_desc *desc)
}
static int install_security(const struct wgt_desc *desc)