Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1369379e authored by Tom Cherry's avatar Tom Cherry
Browse files

init: allow ':' in property names

Bug: 62114389
Test: boot bullhead, get/set properties with ':' via command line
Test: trigger an init trigger with a property containing a ':'
Change-Id: Ib51853a1ef9d4f79d510c8175c0d9684e2025e23
parent f8e96ea2
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -144,7 +144,7 @@ bool is_legal_property_name(const std::string& name) {
    if (name[0] == '.') return false;
    if (name[0] == '.') return false;
    if (name[namelen - 1] == '.') return false;
    if (name[namelen - 1] == '.') return false;


    /* Only allow alphanumeric, plus '.', '-', '@', or '_' */
    /* Only allow alphanumeric, plus '.', '-', '@', ':', or '_' */
    /* Don't allow ".." to appear in a property name */
    /* Don't allow ".." to appear in a property name */
    for (size_t i = 0; i < namelen; i++) {
    for (size_t i = 0; i < namelen; i++) {
        if (name[i] == '.') {
        if (name[i] == '.') {
@@ -152,7 +152,7 @@ bool is_legal_property_name(const std::string& name) {
            if (name[i-1] == '.') return false;
            if (name[i-1] == '.') return false;
            continue;
            continue;
        }
        }
        if (name[i] == '_' || name[i] == '-' || name[i] == '@') continue;
        if (name[i] == '_' || name[i] == '-' || name[i] == '@' || name[i] == ':') continue;
        if (name[i] >= 'a' && name[i] <= 'z') continue;
        if (name[i] >= 'a' && name[i] <= 'z') continue;
        if (name[i] >= 'A' && name[i] <= 'Z') continue;
        if (name[i] >= 'A' && name[i] <= 'Z') continue;
        if (name[i] >= '0' && name[i] <= '9') continue;
        if (name[i] >= '0' && name[i] <= '9') continue;