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

Commit 8bddafa3 authored by Wink Saville's avatar Wink Saville Committed by Android Git Automerger
Browse files

am 5eeeea29: am 97667d0c: Merge "Allow vril-dump to work on user builds" into honeycomb-LTE

* commit '5eeeea29':
  Allow vril-dump to work on user builds
parents b083fa61 5eeeea29
Loading
Loading
Loading
Loading
+14 −4
Original line number Original line Diff line number Diff line
@@ -47,9 +47,11 @@ static void dumpstate() {
    char build[PROPERTY_VALUE_MAX], fingerprint[PROPERTY_VALUE_MAX];
    char build[PROPERTY_VALUE_MAX], fingerprint[PROPERTY_VALUE_MAX];
    char radio[PROPERTY_VALUE_MAX], bootloader[PROPERTY_VALUE_MAX];
    char radio[PROPERTY_VALUE_MAX], bootloader[PROPERTY_VALUE_MAX];
    char network[PROPERTY_VALUE_MAX], date[80];
    char network[PROPERTY_VALUE_MAX], date[80];
    char build_type[PROPERTY_VALUE_MAX];


    property_get("ro.build.display.id", build, "(unknown)");
    property_get("ro.build.display.id", build, "(unknown)");
    property_get("ro.build.fingerprint", fingerprint, "(unknown)");
    property_get("ro.build.fingerprint", fingerprint, "(unknown)");
    property_get("ro.build.type", build_type, "(unknown)");
    property_get("ro.baseband", radio, "(unknown)");
    property_get("ro.baseband", radio, "(unknown)");
    property_get("ro.bootloader", bootloader, "(unknown)");
    property_get("ro.bootloader", bootloader, "(unknown)");
    property_get("gsm.operator.alpha", network, "(unknown)");
    property_get("gsm.operator.alpha", network, "(unknown)");
@@ -136,10 +138,18 @@ static void dumpstate() {
#ifdef BROKEN_VRIL_IS_FIXED_B_4442803
#ifdef BROKEN_VRIL_IS_FIXED_B_4442803
   char ril_dumpstate_timeout[PROPERTY_VALUE_MAX] = {0};
   char ril_dumpstate_timeout[PROPERTY_VALUE_MAX] = {0};
    property_get("ril.dumpstate.timeout", ril_dumpstate_timeout, "30");
    property_get("ril.dumpstate.timeout", ril_dumpstate_timeout, "30");
    if (strlen(ril_dumpstate_timeout) > 0) {
    if (strnlen(ril_dumpstate_timeout, PROPERTY_VALUE_MAX - 1) > 0) {
        if (0 == strncmp(build_type, "user", PROPERTY_VALUE_MAX - 1)) {
            // su does not exist on user builds, so try running without it.
            // This way any implementations of vril-dump that do not require
            // root can run on user builds.
            run_command("DUMP VENDOR RIL LOGS", atoi(ril_dumpstate_timeout),
                    "vril-dump", NULL);
        } else {
            run_command("DUMP VENDOR RIL LOGS", atoi(ril_dumpstate_timeout),
            run_command("DUMP VENDOR RIL LOGS", atoi(ril_dumpstate_timeout),
                    "su", "root", "vril-dump", NULL);
                    "su", "root", "vril-dump", NULL);
        }
        }
    }
#endif
#endif


    print_properties();
    print_properties();
@@ -275,7 +285,7 @@ int main(int argc, char *argv[]) {


    if (getuid() == 0) {
    if (getuid() == 0) {
        /* switch to non-root user and group */
        /* switch to non-root user and group */
        gid_t groups[] = { AID_LOG, AID_SDCARD_RW, AID_MOUNT };
        gid_t groups[] = { AID_LOG, AID_SDCARD_RW, AID_MOUNT, AID_INET };
        if (setgroups(sizeof(groups)/sizeof(groups[0]), groups) != 0) {
        if (setgroups(sizeof(groups)/sizeof(groups[0]), groups) != 0) {
            LOGE("Unable to setgroups, aborting: %s\n", strerror(errno));
            LOGE("Unable to setgroups, aborting: %s\n", strerror(errno));
            return -1;
            return -1;