| Commit message (Collapse) | Author | Files | Lines |
|
This CL mainly changes:
a) moving the interface in struct provider_vtab to std::function;
b) code cleanup, such as moving the declaration closer to the uses,
using explicit type conversion.
Test: recovery_component_test
Test: minadbd_test
Test: Sideload a package on marlin.
Change-Id: Id0e3c70f1ada54a4cd985b54c84438c23ed4687e
|
|
We encountered segfaults in Imgdiff host tests due to the failure to
reset states of getopt. The problem can be solved by switching to use
bionic's gtest where a new process is forked for each test.
Also modify the recovery_component_test to make sure it runs in parallel.
Changes include:
1. Merge the writes to misc partition into one single test.
2. Change the hard coded location "/cache/saved.file" into a configurable
variable.
Bug: 67849209
Test: recovery tests pass
Change-Id: I165d313f32b83393fb7922c5078636ac40b50bc2
|
|
The only one left is libedify. Will handle that in a separate CL.
Test: mmma bootable/recovery
Change-Id: I732a5f85229da90fd767bee2e46c5c95f529c396
|
|
clang is the default compiler since Android nougat
Change-Id: I930bba431dc49970cb4491ed5fcf44b5e00e97df
Signed-off-by: Lennart Wieboldt <lennart.1997@gmx.de>
|
|
Test: minadbd_test on bullhead.
Change-Id: Iab1c51ba8d3113a83e8b464c3640be770a6cda97
|
|
Switch some function signatures to std::string to avoid memory leak.
Bug: 30039381
Test: sideload a package on angler
Change-Id: Iae1e75871a782d6e5d6dde5dcf3f18469eb63f7d
|
|
Test: treehugger
Change-Id: I7edcb13eb1fc6d4f36f5a764a1b647fbf9cd063e
|
|
Design doc:
Generalized Suites & the Unification of APCT & CTS Workflows Design/Roadmap
https://docs.google.com/document/d/1eabK3srlBLouMiBMrNP3xJPiRRdcoCquNxC8gBWPvx8/edit#heading=h.78vup5eivwzo
Details about test configs changes are tracked in doc
https://docs.google.com/document/d/1EWUjJ7fjy8ge_Nk0YQbFdRp8DSHo3z6GU0R8jLgrAcw/edit#
Bug: 35882476
Test: local test
Change-Id: I51e1b410536469d254ae7a353bc61a7df06c8324
|
|
Bug: N/A
Test: N/A
Change-Id: I9467286e57522c6ed640a3599cb678ac10d9e2a4
|
|
So it's automatically displayed for folks browsing the source.
Bug: N/A
Test: N/A
Change-Id: Ie9b190072ebdf0faf06cc1fd7b3467c031056753
|
|
static_cast is preferable to reinterpret_cast when casting from void*
pointers returned by malloc/calloc/realloc/mmap calls.
Discovered while looking at compiler warnings (b/26936282).
Test: WITH_TIDY=1 WITH_STATIC_ANALYZER=1 mma
Change-Id: Iaffd537784aa857108f6981fdfd82d0496eb5592
Merged-In: I151642d5a60c94f312d0611576ad0143c249ba3d
|
|
static_cast is preferable to reinterpret_cast when casting from void*
pointers returned by malloc/calloc/realloc/mmap calls.
Discovered while looking at compiler warnings (b/26936282).
Test: WITH_TIDY=1 WITH_STATIC_ANALYZER=1 mma
Change-Id: I151642d5a60c94f312d0611576ad0143c249ba3d
|
|
adb_server_main in adb refers to the adb server on the host, not adbd.
Since there doesn't seem to be a good reason to reuse the declaration
from adb's headers, give minadbd a main function of its own.
Change-Id: I748f1a6822dc14c726cb73ef3b533c57a6615608
|
|
Change-Id: Icddc4a4f226595338fafbcb14ee9338c58b4a80f
|
|
Distinguish our "services.cpp" more clearly from the regular adbd
"services.cpp", and remove a few useless includes of "sysdeps.h".
Change-Id: Ided4945a3ac5916133322ca7e95fa51add9abaa4
|
|
Change-Id: Ifa0b4d8c1cf0bb39abac61984ff165e82e41222c
(cherry picked from commit cc07b3556510d03e389a8994a8e5dbed3f3bbbb4)
|
|
Change-Id: Ifa0b4d8c1cf0bb39abac61984ff165e82e41222c
|
|
Change-Id: I835805348a9817c81639ad8471e3b49cae93c107
|
|
And a few trival fixes to suppress warnings.
Change-Id: Id28e3581aaca4bda59826afa80c0c1cdfb0442fc
(cherry picked from commit 80e46e08de5f65702fa7f7cd3ef83f905d919bbc)
|
|
So sideload thread will not use argument which is to be freed
in the main thread.
Bug: 23968770
Change-Id: I9d6dadc6c33cfbe4b5759382a80fe14cd0d54355
|
|
Change-Id: I542e2ae8f5ef18b2d6b3dbc1888b3ce1e02a7404
|
|
No functional change, just matching the signature to an adb change. See
https://android-review.googlesource.com/#/c/169601/.
Change-Id: Ic826864e126054849b3a4d193ded8acc5ee5269c
|
|
A recent adb cleanup changed the signature of adb_main.
Change-Id: I98d084f999966f1a7aa94c63e9ed996b3375096d
|
|
Bug: http://b/22025550
Change-Id: I20f09ae442536f924f19ede0abf6a2bcc0a5cedf
(cherry picked from commit 9813f5ba57fe7d90d45cb1c2b6f65920ce580e72)
|
|
Bug: http://b/22025550
Change-Id: I20f09ae442536f924f19ede0abf6a2bcc0a5cedf
|
|
And a few trival fixes to suppress warnings.
Change-Id: I38734b5f4434643e85feab25f4807b46a45d8d65
|
|
Change-Id: I2e0fb7e880e205b0bca324ff53ffdb5df9e34baf
|
|
Change-Id: Ia3f30f3ba85c0246d4b667fb7723cfcdce299d4a
|
|
Looks like the mips64 linker isn't as good as the others at GCing
unused stuff, which means it needs libcutils.
Change-Id: I5f768e44514350fb81e5360351db3e9cc4201702
(cherry picked from commit dbb20c48633e63c7c244e84f3fea76e083e225d7)
|
|
Looks like the mips64 linker isn't as good as the others at GCing
unused stuff, which means it needs libcutils.
Change-Id: I5f768e44514350fb81e5360351db3e9cc4201702
|
|
Change-Id: I889bcf2222245c7665287513669cae8831e37081
(cherry picked from commit 4039933c62f52dda06e6f355cf42ac9b392d0888)
|
|
Change-Id: I98bb900debb7d7dd57d3f8f84d605163ec192b03
(cherry picked from commit 3e7d82c621240bb80f9882c64377c4f5f3d97c7b)
|
|
Change-Id: I98bb900debb7d7dd57d3f8f84d605163ec192b03
|
|
Change-Id: I889bcf2222245c7665287513669cae8831e37081
|
|
(cherry picked from commit ba45ddf37cf4543143af6b2e27fc1214f3dbe892)
Change-Id: Iba4f77f7db54ca0184437bd8ea96abfadabc72a3
|
|
Change-Id: I323ffda71b82cc939aed446f9c9fb86ca78df153
|
|
Change-Id: I5afaf70caa590525627c676c88b445d3162de33e
|
|
Change-Id: I22797643103ce1d4371198433ad9849cc83d3d7c
|
|
These tests aren't completely representative in that they don't run in
the recovery image. We might want to look in to adding a self-test
option to the recovery UI. Until then, these can be run on a normal
device (which is easier to do anyway).
Bug: 19522788
Change-Id: Idb20feb55d10c62905c2480ab1b61a2e4b5f60d8
|
|
Too many mechanical changes in a row...
Bug: 19522788
Change-Id: Ic451792aab2700cdbdbb64529b99ff5f567918ad
|
|
Change-Id: I9556960b8293ea0e81def8b73f88edadb68841e3
|
|
services.c:57:12: error: format '%llu' expects argument of type 'long
long unsigned int', but argument 2 has type 'uint64_t' [-Werror=format=]
Change-Id: Ieba691bf9e7a30c8bb38f4e1f36e86b6ea3f8c80
|
|
None of the functions needing these are used.
Change-Id: Ibe3ca24d993788bf2f1108bac8417a7094ef386b
|
|
Turn the warning on by default and turn on -Werror so this doesn't
happen next time.
Change-Id: Id65bf0cb63bbf0ff224655b425463ae2f55435df
|
|
I think everything left now is here to stay (services.c might get
massaged in to libadbd if it gets refactored).
Bug: 17626262
Change-Id: I01faf8b277a601a40e3a0f4c3b8206c97f1d2ce6
|
|
Change-Id: Ia5150e1ef8be5a8f2d2da0fdca9383e22218f4ac
|
|
This code doesn't exist in the normal adb, so it just makes it harder
to diff the two.
Change-Id: Ibb21b49bb9944c4245199536cbe88e8a107cf00d
|
|
adb.h has diverged a bit, so that one will be more involved, but these
three are all trivial, unimportant changes.
Change-Id: Ief8474c1c2927d7e955adf04f887c76ab37077a6
|
|
Change-Id: Ie37734e75bc4d1e284dcb5dee4c0512021663dbd
|
|
Bug: 17626262
Change-Id: If41031ba20a3a75fa510f155c654a482b47e409d
|
|
Change-Id: Idc249ff1b199b7c455f90092ff2c8a48b539faf4
|
|
Change-Id: I06ea08400efa511e627be37a4fd70fbdfadea2e6
|
|
There was a misinterpretation of how the v2 header works. The flags
in the header indicate what is in the rest of the structure.
Bug: 19127803
Change-Id: I83fd93df1df196300a80ddeb3b49ca7851ffcfb8
|
|
The patch "[RFC] usb: gadget: f_fs: Add flags
to descriptors block" marks the current
usb_functionfs_descs_head format deprecated
and introduces support for sending SuperSpeed
descriptors.
This CL makes adbd to send Descriptors in the
new format. Adbd would fall back to the old
format, if kernel is not able to recognize
the new format. This is done to prevent
adbd from breaking in the older versions
of the kernel.
Bug: 17394972
(cherry picked from commit b5b43043fa71f9cb620ddd02ec2bc98eced5a6ce)
Change-Id: I5af9dc9d4f41ad47d678279054a648f69497b24e
|
|
Bug: 17626262
Change-Id: I8ce7cff2b7789f39f35a4211d7120d072c05a863
|
|
Bug: 18317407
Change-Id: Idd4e0effa96752e2c0ca959728f80df4d2d34187
|
|
The patch "[RFC] usb: gadget: f_fs: Add flags
to descriptors block" marks the current
usb_functionfs_descs_head format deprecated
and introduces support for sending SuperSpeed
descriptors.
This CL makes adbd to send Descriptors in the
new format. Adbd would fall back to the old
format, if kernel is not able to recognize
the new format. This is done to prevent
adbd from breaking in the older versions
of the kernel.
Bug: 17394972
Change-Id: I1acf684ef8a4dcc612ac20b5abe1e27b43901031
Signed-off-by: Badhri Jagan Sridharan <badhri@google.com>
|
|
This reverts commit db8c959049d21fe63e48c270f1fc12b32a0cf0ec.
|
|
Bug: 17588403
Change-Id: Ib3525824ff09330bd9d6f9e96d662e5a55a20ec2
|
|
Split the adb-specific portions (fetching a block from the adb host
and closing the connections) out from the rest of the FUSE filesystem
code, so that we can reuse the fuse stuff for installing off sdcards
as well.
Change-Id: I0ba385fd35999c5f5cad27842bc82024a264dd14
|
|
Implement a new method of sideloading over ADB that does not require
the entire package to be held in RAM (useful for low-RAM devices and
devices using block OTA where we'd rather have more RAM available for
binary patching).
We communicate with the host using a new adb service called
"sideload-host", which makes the host act as a server, sending us
different parts of the package file on request.
We create a FUSE filesystem that creates a virtual file
"/sideload/package.zip" that is backed by the ADB connection -- users
see a normal file, but when they read from the file we're actually
fetching the data from the adb host. This file is then passed to the
verification and installation systems like any other.
To prevent a malicious adb host implementation from serving different
data to the verification and installation phases of sideloading, the
FUSE filesystem verifies that the contents of the file don't change
between reads -- every time we fetch a block from the host we compare
its hash to the previous hash for that block (if it was read before)
and cause the read to fail if it changes.
One necessary change is that the minadbd started by recovery in
sideload mode no longer drops its root privileges (they're needed to
mount the FUSE filesystem). We rely on SELinux enforcement to
restrict the set of things that can be accessed.
Change-Id: Ida7dbd3b04c1d4e27a2779d88c1da0c7c81fb114
|
|
Change-Id: I92d5abd1a628feab3b0246924fab7f97ba3b9d34
|
|
Use intptr_t/uintptr_t to cast between pointer and int to allow
building with -Werror=pointer-to-int-cast and
Werror=int-to-pointer-cast turned on.
Cast to char* instead of unsigned int for pointer arithmetic.
Change-Id: Ia862306fdcca53866b330e8cf726f3d62f2248a0
|
|
Change-Id: Ia1f34a17ae582575f8cd3514ed7bc015b0a5006e
|
|
In kernel(3.10) USB ADB gadget driver is removed.
Using Functionfs for USB adb gadget.
Android recovery uses a stripped down version
of adb command for sideload only. It's missing
the ffs function support, so add the ffs
support to allow sideload command to work
b/12608946
Change-Id: I4ad024723dfc5bdb544548391f99637c390b171e
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
|
|
Change-Id: Iff2b53d9e63b279d0262cd2e9cfb11e0ca4d6b42
|
|
A return here leaves adb sideload in a permanent loop. An exit is
more appropriate for this error.
Change-Id: I80fb8abae4f6378833aa75f9eaf7ec1acd44b274
Signed-off-by: Ethan Yonker <ethanayonker@gmail.com>
|
|
Make minadbd drop its root privileges after initializing. We need to
make the /tmp directory writable by the shell group so that it can
drop the sideloaded file there.
|
|
Change-Id: I2f192c67ef425a53a1dba65d3e0544c1d5a567bd
|
|
Make minadbd drop its root privileges after initializing. We need to
make the /tmp directory writable by the shell group so that it can
drop the sideloaded file there.
Change-Id: I67b292cf769383f0f67fb934e5a80d408a4c131d
|
|
Rather than depending on the existence of some place to store a file
that is accessible to users on an an unbootable device (eg, a physical
sdcard, external USB drive, etc.), add support for sideloading
packages sent to the device with adb.
This change adds a "minimal adbd" which supports nothing but receiving
a package over adb (with the "adb sideload" command) and storing it to
a fixed filename in the /tmp ramdisk, from where it can be verified
and sideloaded in the usual way. This should be leave available even
on locked user-build devices.
The user can select "apply package from ADB" from the recovery menu,
which starts minimal-adb mode (shutting down any real adbd that may be
running). Once minimal-adb has received a package it exits
(restarting real adbd if appropriate) and then verification and
installation of the received package proceeds.
always initialize usb product, vendor, etc. for adb in recovery
Set these values even on non-debuggable builds, so that the mini-adb
now in recovery can work.
|
|
Rather than depending on the existence of some place to store a file
that is accessible to users on an an unbootable device (eg, a physical
sdcard, external USB drive, etc.), add support for sideloading
packages sent to the device with adb.
This change adds a "minimal adbd" which supports nothing but receiving
a package over adb (with the "adb sideload" command) and storing it to
a fixed filename in the /tmp ramdisk, from where it can be verified
and sideloaded in the usual way. This should be leave available even
on locked user-build devices.
The user can select "apply package from ADB" from the recovery menu,
which starts minimal-adb mode (shutting down any real adbd that may be
running). Once minimal-adb has received a package it exits
(restarting real adbd if appropriate) and then verification and
installation of the received package proceeds.
Change-Id: I6fe13161ca064a98d06fa32104e1f432826582f5
|