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

Commit c9674f65 authored by Seth Moore's avatar Seth Moore Committed by Automerger Merge Worker
Browse files

Merge "Change the way rkp tool obtains serial number" into main am: 40f1230a am: c3e1e032

parents 3f9deaad c3e1e032
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -130,7 +130,7 @@ struct JsonOutput {
 *   }
 *   }
 */
 */
JsonOutput jsonEncodeCsrWithBuild(const std::string instance_name,
JsonOutput jsonEncodeCsrWithBuild(const std::string instance_name,
                                  const cppbor::Array& csr);
                                  const cppbor::Array& csr, const std::string serialno_prop);


/**
/**
 * Parses a DeviceInfo structure from the given CBOR data. The parsed data is then validated to
 * Parses a DeviceInfo structure from the given CBOR data. The parsed data is then validated to
+3 −3
Original line number Original line Diff line number Diff line
@@ -337,9 +337,9 @@ ErrMsgOr<std::vector<BccEntryData>> validateBcc(const cppbor::Array* bcc,
    return result;
    return result;
}
}


JsonOutput jsonEncodeCsrWithBuild(const std::string instance_name, const cppbor::Array& csr) {
JsonOutput jsonEncodeCsrWithBuild(const std::string instance_name, const cppbor::Array& csr,
                                  const std::string serialno_prop) {
    const std::string kFingerprintProp = "ro.build.fingerprint";
    const std::string kFingerprintProp = "ro.build.fingerprint";
    const std::string kSerialNoProp = "ro.serialno";


    if (!::android::base::WaitForPropertyCreation(kFingerprintProp)) {
    if (!::android::base::WaitForPropertyCreation(kFingerprintProp)) {
        return JsonOutput::Error("Unable to read build fingerprint");
        return JsonOutput::Error("Unable to read build fingerprint");
@@ -364,7 +364,7 @@ JsonOutput jsonEncodeCsrWithBuild(const std::string instance_name, const cppbor:
    Json::Value json(Json::objectValue);
    Json::Value json(Json::objectValue);
    json["name"] = instance_name;
    json["name"] = instance_name;
    json["build_fingerprint"] = ::android::base::GetProperty(kFingerprintProp, /*default=*/"");
    json["build_fingerprint"] = ::android::base::GetProperty(kFingerprintProp, /*default=*/"");
    json["serialno"] = ::android::base::GetProperty(kSerialNoProp, /*default=*/"");
    json["serialno"] = ::android::base::GetProperty(serialno_prop, /*default=*/"");
    json["csr"] = base64.data();  // Boring writes a NUL-terminated c-string
    json["csr"] = base64.data();  // Boring writes a NUL-terminated c-string


    Json::StreamWriterBuilder factory;
    Json::StreamWriterBuilder factory;
+2 −1
Original line number Original line Diff line number Diff line
@@ -182,10 +182,11 @@ TEST(RemoteProvUtilsTest, GetProdEekChain) {
}
}


TEST(RemoteProvUtilsTest, JsonEncodeCsr) {
TEST(RemoteProvUtilsTest, JsonEncodeCsr) {
    const std::string kSerialNoProp = "ro.serialno";
    cppbor::Array array;
    cppbor::Array array;
    array.add(1);
    array.add(1);


    auto [json, error] = jsonEncodeCsrWithBuild(std::string("test"), array);
    auto [json, error] = jsonEncodeCsrWithBuild(std::string("test"), array, kSerialNoProp);


    ASSERT_TRUE(error.empty()) << error;
    ASSERT_TRUE(error.empty()) << error;