Commit Graph

1554 Commits

Author SHA1 Message Date
Mike Frysinger 7e4d906f2f Merge "adbd: refactor priv dropping logic" am: 6945e36060
am: e2d0403e1c

* commit 'e2d0403e1c6fc610e1536090e903ddced58a2015':
  adbd: refactor priv dropping logic
2015-12-11 10:58:00 -08:00
Mike Frysinger 6945e36060 Merge "adbd: refactor priv dropping logic" 2015-12-11 17:03:19 +00:00
Josh Gao eaad29ed53 Merge "adb: shell: add -n flag to not read from stdin." am: aae38d9704
am: 5abed250dd

* commit '5abed250dd8a808271527c02a8c7758a863541fc':
  adb: shell: add -n flag to not read from stdin.
2015-12-10 15:43:31 -08:00
Nick Kralevich d1de91b26c Merge "Revert "adb: Make HOME=/data/local/tmp"" am: ce4bbcfb08
am: a09565ad1d

* commit 'a09565ad1d4c552b6d1dc8be28cf674d2ec8b3ec':
  Revert "adb: Make HOME=/data/local/tmp"
2015-12-10 15:43:17 -08:00
Josh Gao 0f871e8257 Merge "adb: make the test_pull_dir test actually test something." am: f31aba9e8d
am: e0dcc75107

* commit 'e0dcc751072591e471a489e18d2d30abc045ffa4':
  adb: make the test_pull_dir test actually test something.
2015-12-10 15:42:48 -08:00
Josh Gao 12debfc4cb Merge "Move adb tests to system/core/adb." am: 4d0e10b24e
am: fe5c23b388

* commit 'fe5c23b388d1c4166558f4b3d3222f9015528afb':
  Move adb tests to system/core/adb.
2015-12-10 15:42:30 -08:00
Josh Gao aae38d9704 Merge "adb: shell: add -n flag to not read from stdin." 2015-12-10 21:30:19 +00:00
Josh Gao 7d58607360 adb: shell: add -n flag to not read from stdin.
Shell scripts of the following form do not work properly with adb:
    echo "foo\nbar\nbaz" | {
        read FOO
        while [ "$FOO" != "" ]; do
            adb shell echo $FOO
            read FOO
        done
    }
The first run of adb shell will consume all of the contents of stdin,
causing the loop to immediately end. ssh solves this by providing a -n
flag that causes it to not read from stdin. This commit adds the same.

Bug: http://b/25817224
Change-Id: Id74ca62ef520bcf03678b50f4bf203916fd81038
2015-12-10 12:52:06 -08:00
Nick Kralevich ce4bbcfb08 Merge "Revert "adb: Make HOME=/data/local/tmp"" 2015-12-10 20:48:08 +00:00
Nick Kralevich b118762241 Revert "adb: Make HOME=/data/local/tmp"
During early boot, we may be mounting and unmounting /data.
Having the home directory for adb shell commands, such as
"adb shell logcat", on the /data directory prevents unmounting.

This reverts commit 173eb396c7.

Bug: 26132185
Change-Id: Ib7c2f9e696f52bf5bbb79223d90dd76791779587
2015-12-10 20:42:18 +00:00
Mike Frysinger 4120ebc635 adbd: refactor priv dropping logic
Makes the code a little cleaner.

Change-Id: I961b6fc8730c45d8fd4f9fd2981a6d6ab8f51fb6
2015-12-10 13:35:10 -05:00
Josh Gao f31aba9e8d Merge "adb: make the test_pull_dir test actually test something." 2015-12-10 18:09:53 +00:00
Josh Gao 4d0e10b24e Merge "Move adb tests to system/core/adb." 2015-12-10 18:09:47 +00:00
Elliott Hughes ffc39903c6 Merge "Simplify adb LinePrinter newline handling." am: 9fa5cefea4
am: ab31c07ce9

* commit 'ab31c07ce9a9d6df3483c326c42a50c63f737695':
  Simplify adb LinePrinter newline handling.
2015-12-09 18:53:19 -08:00
Elliott Hughes 77f539ab49 Simplify adb LinePrinter newline handling.
We had mostly-working hacks before, but it's time to just modify LinePrinter
to suit our needs. If we tell LinePrinter what kind of output we're giving
it, it can manage things automatically.

This fixes the minor bug where we'd sometimes have a blank line after an
error message.

Change-Id: I07ff52437f2402de311e237dd1b2dd338d9b668a
2015-12-09 18:42:41 -08:00
Josh Gao ce8f2cdcd0 adb: make the test_pull_dir test actually test something.
Change-Id: I8b525377557528d5bc70c44d587891fad9f739bd
2015-12-09 14:41:33 -08:00
Josh Gao 191c154832 Move adb tests to system/core/adb.
Change-Id: If240f45817a46d1e055a8e5173ee7191b9d6c8ea
2015-12-09 11:26:11 -08:00
David Pursell 9046c23ed6 Merge "adb: add help text for USB permission errors." am: 663e949b2b am: e37325defc
am: 4542b62cca

* commit '4542b62ccafb749542bddaf0b442db554e7210e3':
  adb: add help text for USB permission errors.
2015-12-08 16:22:44 +00:00
David Pursell 663e949b2b Merge "adb: add help text for USB permission errors." 2015-12-08 16:12:22 +00:00
Nick Kralevich e042ff867c Merge "adb: Make HOME=/data/local/tmp" am: 5358093225 am: 65ab87dd9b
am: b87df11678

* commit 'b87df11678c22d56d02c776f8f91031bf81a963d':
  adb: Make HOME=/data/local/tmp
2015-12-08 05:06:19 +00:00
Nick Kralevich 5358093225 Merge "adb: Make HOME=/data/local/tmp" 2015-12-08 04:56:05 +00:00
Erik Kline 79a3210eda Merge "Switch from using sockaddr to sockaddr_storage." am: 46b0b1c694 am: 4c1b3840f0
am: cbc6f68e32

* commit 'cbc6f68e320bd30d0cd7fbe73847deacbd54e073':
  Switch from using sockaddr to sockaddr_storage.
2015-12-08 04:54:05 +00:00
Erik Kline 46b0b1c694 Merge "Switch from using sockaddr to sockaddr_storage." 2015-12-08 01:41:38 +00:00
Nick Kralevich 173eb396c7 adb: Make HOME=/data/local/tmp
Make the home directory for adb shell be /data/local/tmp and
automatically change into that directory.

Change-Id: Ib5cc6e1ecdd31a37e986cf03836f7589ebd40868
2015-12-07 16:56:12 -08:00
Elliott Hughes ef119a14b8 Merge "Track rename of base/ to android-base/." am: 912ed3d8ca am: e2a9563be1
am: 3608ee5e90

* commit '3608ee5e903689ea7c433587be664649689816e1':
  Track rename of base/ to android-base/.
2015-12-07 23:59:44 +00:00
Erik Kline 7e16cc15b5 Switch from using sockaddr to sockaddr_storage.
This is to ensure sufficient space is always available.

Change-Id: Ifa87b93ecdc90dcacbfb24446c872344da6703d3
2015-12-07 16:07:46 +09:00
Elliott Hughes 4f71319df0 Track rename of base/ to android-base/.
Change-Id: Idf9444fece4aa89c93e15640de59a91f6e758ccf
2015-12-04 22:00:26 -08:00
Josh Gao 02025afe2b Merge "adbd: split up writes longer than 16k." am: 1c6cd21c43 am: eb4426f2b4
am: 8e7bde369b

* commit '8e7bde369b8cdd8b65a3e91bf77d60c1c5ed308c':
  adbd: split up writes longer than 16k.
2015-12-03 23:02:51 +00:00
Josh Gao 1c6cd21c43 Merge "adbd: split up writes longer than 16k." 2015-12-03 22:50:11 +00:00
Josh Gao 6b531c4e6d adbd: split up writes longer than 16k.
Also, inline the bulk_read and bulk_write functions which were only
being used by one other function.

Bug: http://b/25847115
Change-Id: I218a869030219f606577a5529601c542488115e0
2015-12-03 14:40:03 -08:00
David Pursell d2acbd1931 adb: add help text for USB permission errors.
The current permission messages can be confusing for users who don't
know about udev and USB access permissions. This CL adds some checks to
try to identify common udev problems, and adds a link to online
documentation.

Example messages:

1) adb server is in plugdev group but access is still denied:
$ adb devices
List of devices attached
082f59270073e1e3  no permissions (verify udev rules); see [developer.android.com/tools/device.html]

2) plugdev group exists but adb server is not in it:
$ adb shell
error: USB permission failure: udev requires plugdev group membership.
See [developer.android.com/tools/device.html] for more information.

3) plugdev group does not exist:
$ adb shell
error: USB permission failure.
See [developer.android.com/tools/device.html] for more information.

Bug: http://b/25777880
Change-Id: I536565adc12ab657c75151309795674181205db0
2015-12-03 11:00:47 -08:00
Josh Gao f681478787 Merge "adb: don\'t divide by zero" am: 1702f427b5 am: e53fadf4b3
am: 9f941b96f5

* commit '9f941b96f52e975e97f3f3c41bc5d931fe8fb0e6':
  adb: don't divide by zero
2015-12-02 22:09:56 +00:00
Josh Gao 1702f427b5 Merge "adb: don't divide by zero" 2015-12-02 21:56:04 +00:00
Elliott Hughes b69320e215 Merge "Fix "adb sync" (and "adb push") error reporting." am: d0d87f78e5 am: 59021ad415
am: fa454c1faa

* commit 'fa454c1faab102458d18fc07d1f8211bd89da80b':
  Fix "adb sync" (and "adb push") error reporting.
2015-12-02 19:06:39 +00:00
Elliott Hughes d0d87f78e5 Merge "Fix "adb sync" (and "adb push") error reporting." 2015-12-02 18:53:28 +00:00
Josh Gao 68e26811f0 Merge changes I25bdcbc5,I12314da5,I055b0821 am: a3892504ac am: 81d3447fa9
am: fd3770a5a2

* commit 'fd3770a5a26b23303d49686cd24bab2939e5776b':
  adb: don't pull symlinks when pulling a directory
  adb: remove extraneous newline from skip message
  adb: correctly count skipped files in push/pull
2015-12-01 02:52:46 +00:00
Josh Gao b0e039f4ca adb: don't divide by zero
If we stat a file and get a size of 0, and then successfully read bytes
from that file, we would previously divide by zero when calculating the
percentage completion of the file. This case happens either when we're
racing against something else writing to the file, or when we're pulling
magical files such as the ones in /dev/cpuctl/ that lie about their
size.

Bug: http://b/25925733
Change-Id: I980b9c14f44a1eb4a42bc8736c94fa6db06c08d1
2015-11-30 12:03:12 -08:00
Josh Gao 7b284b2f22 adb: don't pull symlinks when pulling a directory
The previous change to do this (f96dc73b) only skipped individually
named symlinks, not symlinks inside of a directory that was being
pulled.

Bug: http://b/25601283
Change-Id: I25bdcbc546a9d3a0dbd8dacdb065fb134d96022b
2015-11-30 11:02:44 -08:00
Josh Gao d3266e058e adb: remove extraneous newline from skip message
Change-Id: I12314da589bf0db14b37ae4c1f526665182f4776
2015-11-30 11:02:21 -08:00
Josh Gao dd6cc4d7ee adb: correctly count skipped files in push/pull
Bug: http://b/25650207
Change-Id: I055b08216938640c4f7c5e96a7ea3719bf90ba70
2015-11-30 10:42:37 -08:00
Elliott Hughes cc65c3b9f8 Fix "adb sync" (and "adb push") error reporting.
This patch ensures that we read any error response from the server if the
server closes the connection. Unfortunately, that's not sufficient to ensure
that we always see the server's error message --- sometimes the data just
gets thrown away because we keep writing without reading. Setting SO_LINGER
avoids this.

Bug: http://b/25230872
Change-Id: I96c019cc72bd139198de79bf29e6536cc462c20f
2015-11-20 22:01:06 -08:00
Elliott Hughes e68e3f458c Merge "Move SendLargeFile into SyncConnection." am: ddf41f1ad0 am: 49f4f575f9
am: d88988970c

* commit 'd88988970c72434eda97319882436b40fe348a6b':
  Move SendLargeFile into SyncConnection.
2015-11-21 01:55:27 +00:00
Elliott Hughes 6aab58c499 Move SendLargeFile into SyncConnection.
Just a trivial refactor. Code change comes later.

Change-Id: If9e509a8c44649e5be4daaca57972939b037b8db
2015-11-20 17:35:17 -08:00
Elliott Hughes 159b455fcb Merge "Avoid SIGPIPE in adb." am: 8c5511c692 am: 1146ae0205
am: bd9a852e10

* commit 'bd9a852e10c7af3f2eddd6c3b9401849b792a808':
  Avoid SIGPIPE in adb.
2015-11-20 20:28:48 +00:00
Elliott Hughes 65433da1cb Avoid SIGPIPE in adb.
We're now able to send packets faster than the device can handle them,
meaning that sometimes we're several packets through before the device
says "hey, wait, I can't write" and closes the connection. At best this
led to us reporting that we couldn't sync because "Connection reset";
at worst we'd get SIGPIPE because we were still streaming to a connection
that had already been closed.

This change renames adb_main adb_server_main, and moves the ignoring of
SIGPIPE into adb_commandline so it applies to both client and server (but
not adbd).

This change doesn't address the "wrong error message" part of the problem,
but at least it means you'll get *an* error message.

Bug: http://b/25230872
Change-Id: Ic60e4d13ed03fdcdf0d5cbc97201ebd1097c16ed
2015-11-20 09:42:23 -08:00
Elliott Hughes 25092744d9 Merge "Don\'t send screen unless we\'re talking to a new adbd." am: 9f90368701 am: 5e3589da14
am: 7a2f48eb01

* commit '7a2f48eb01a64886fdf0064041daafe29a07289e':
  Don't send $TERM unless we're talking to a new adbd.
2015-11-19 05:46:53 +00:00
Elliott Hughes c2252df25a Don't send $TERM unless we're talking to a new adbd.
I put the conditional in the wrong place, not realizing that even the
old shell system allowed one 'argument'.

Bug: http://b/25765657
Change-Id: I2752fb838d6377bf24e5b4cf959462557a196c87
2015-11-18 12:45:48 -08:00
Josh Gao 00be90244d Merge "adb: don\'t use adb_dirname in between getting and printing errno." am: 44901f1147 am: 975c9a6863
am: 01f7f6fb03

* commit '01f7f6fb0323187a413dda937b9b893964fca5c9':
  adb: don't use adb_dirname in between getting and printing errno.
2015-11-18 19:18:23 +00:00
Josh Gao b5d763b053 Merge changes Ice07f892,Ie1f082a0 am: 74a33fbcef am: 053eba0bc1
am: cb601eb981

* commit 'cb601eb981f70d395e9bac5c1bf39c7773141eca':
  libcutils: don't build for Windows.
  adb: don't link against libcutils on Windows.
2015-11-18 19:17:39 +00:00
Josh Gao 44901f1147 Merge "adb: don't use adb_dirname in between getting and printing errno." 2015-11-18 00:44:05 +00:00