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

Commit 5d40a337 authored by Tom Cherry's avatar Tom Cherry Committed by android-build-merger
Browse files

Merge "Allow setting read-only properties with value length > 92 characters"

am: 96e8042e

Change-Id: I538a1e415f4a80df29ba7129af479c061948d36f
parents bea33084 96e8042e
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@
#include "persistent_properties.h"
#include "util.h"

using android::base::StartsWith;
using android::base::StringPrintf;
using android::base::Timer;

@@ -153,7 +154,7 @@ static uint32_t PropertySetImpl(const std::string& name, const std::string& valu
        return PROP_ERROR_INVALID_NAME;
    }

    if (valuelen >= PROP_VALUE_MAX) {
    if (valuelen >= PROP_VALUE_MAX && !StartsWith(name, "ro.")) {
        LOG(ERROR) << "property_set(\"" << name << "\", \"" << value << "\") failed: "
                   << "value too long";
        return PROP_ERROR_INVALID_VALUE;
@@ -162,7 +163,7 @@ static uint32_t PropertySetImpl(const std::string& name, const std::string& valu
    prop_info* pi = (prop_info*) __system_property_find(name.c_str());
    if (pi != nullptr) {
        // ro.* properties are actually "write-once".
        if (android::base::StartsWith(name, "ro.")) {
        if (StartsWith(name, "ro.")) {
            LOG(ERROR) << "property_set(\"" << name << "\", \"" << value << "\") failed: "
                       << "property already set";
            return PROP_ERROR_READ_ONLY_PROPERTY;
@@ -180,7 +181,7 @@ static uint32_t PropertySetImpl(const std::string& name, const std::string& valu

    // Don't write properties to disk until after we have read all default
    // properties to prevent them from being overwritten by default values.
    if (persistent_properties_loaded && android::base::StartsWith(name, "persist.")) {
    if (persistent_properties_loaded && StartsWith(name, "persist.")) {
        WritePersistentProperty(name, value);
    }
    property_changed(name, value);
@@ -401,7 +402,7 @@ static void handle_property_set(SocketConnection& socket,
  char* source_ctx = nullptr;
  getpeercon(socket.socket(), &source_ctx);

  if (android::base::StartsWith(name, "ctl.")) {
  if (StartsWith(name, "ctl.")) {
    if (check_control_mac_perms(value.c_str(), source_ctx, &cr)) {
      handle_control_message(name.c_str() + 4, value.c_str());
      if (!legacy_protocol) {