Commit Graph

19573 Commits

Author SHA1 Message Date
David Pursell fe12d889e4 Merge "fastboot: socket testing improvements."
am: f971b6a24b

* commit 'f971b6a24b2d785187cf98cb002b9aee9ab6b2a7':
  fastboot: socket testing improvements.
2016-02-02 19:41:21 +00:00
David Pursell f971b6a24b Merge "fastboot: socket testing improvements." 2016-02-02 19:36:44 +00:00
David Pursell c3a466960f fastboot: socket testing improvements.
(This code was originally part of a huge fastboot CL but has been split
out to try to make the CLs a little more manageable).

More prep for fastboot TCP and UDP implementations. This CL adds a
SocketMock class that makes it easy to mock out network behavior so we
can unit test the TCP and UDP protocols.

Also uses the new libcutils socket_get_local_port() to avoid hardcoding
a server port in unit tests.

Bug: http://b/26157893.
Change-Id: I1ba10f31e98d7349313fc15f240383d63378a8db
2016-02-02 11:29:10 -08:00
David Pursell d56499b21d Merge "libcutils: add multi-buffer socket send."
am: d95ecfc432

* commit 'd95ecfc432206d5408738bb7cbc6eb15e5827d91':
  libcutils: add multi-buffer socket send.
2016-02-02 19:23:51 +00:00
David Pursell d95ecfc432 Merge "libcutils: add multi-buffer socket send." 2016-02-02 19:20:07 +00:00
David Pursell 9875e6c7e3 Merge "libcutils: add socket_get_local_port()."
am: d90adbc45b

* commit 'd90adbc45b905dcf3e5cddcd2908b9307fc2a332':
  libcutils: add socket_get_local_port().
2016-02-02 19:19:27 +00:00
David Pursell 8385fb299f libcutils: add multi-buffer socket send.
Unix and Windows both have functions to write multiple buffers to a
socket with a single call but they have very different signatures. This
CL creates some cross-platform functions to be able to perform these
operations in a uniform way, which will be required for upcoming
fastboot functionality.

This CL also fixes some inconsistent spacing in the touched files.

Bug: http://b/26558551
Change-Id: I8f14d52d3a1de1f3b464267666d6cd3b54263238
2016-02-02 11:18:56 -08:00
David Pursell d90adbc45b Merge "libcutils: add socket_get_local_port()." 2016-02-02 19:06:02 +00:00
David Pursell 756e1c81e8 libcutils: add socket_get_local_port().
Tests that require a local server currently hardcode a test value,
which can run into conflicts depending on what's currently running on
the machine.

This CL adds socket_get_local_port(), which lets us pass 0 so the
system picks an open port and we can query which port it chose.

Bug: http://b/26236380
Change-Id: I01d1558884e7636081d9a357db6faa86929934f6
2016-02-02 09:52:02 -08:00
Yabin Cui 2abff32d30 Merge "Fix for host simpleperf \'gettid\' unsat."
am: 650f6809a3

* commit '650f6809a39d8116f8f13f527c65372b80070f5e':
  Fix for host simpleperf 'gettid' unsat.
2016-02-02 02:10:22 +00:00
Yabin Cui 650f6809a3 Merge "Fix for host simpleperf 'gettid' unsat." 2016-02-02 02:06:22 +00:00
Mark Salyzyn 1f26d0b73e Merge "logd: security buffer only AID_SYSTEM reader"
am: ef68c867ac

* commit 'ef68c867ac220f21e86a44fda9f501359425cae5':
  logd: security buffer only AID_SYSTEM reader
2016-02-01 22:36:47 +00:00
Mark Salyzyn ef68c867ac Merge "logd: security buffer only AID_SYSTEM reader" 2016-02-01 22:32:26 +00:00
Greg Hackmann ef605cb749 Merge "init.rc: add missing /dev/fd symlink"
am: 54bf0718f4

* commit '54bf0718f4eb1b170f55bbd07207cd6ad2e7e0f5':
  init.rc: add missing /dev/fd symlink
2016-02-01 22:04:06 +00:00
Greg Hackmann 54bf0718f4 Merge "init.rc: add missing /dev/fd symlink" 2016-02-01 21:58:33 +00:00
Mark Salyzyn 8fa8896d2e logd: security buffer only AID_SYSTEM reader
- limit AID_SYSTEM uid or gid to read security buffer messages
- adjust liblog tests to reflect the reality of this adjustment

To fully test all security buffer paths and modes

$ su 0,0,0 /data/nativetest/liblog-unit-tests/liblog-unit-tests --gtest_filter=liblog.__security*
$ su 1000,1000,1000 /data/nativetest/liblog-unit-tests/liblog-unit-tests --gtest_filter=liblog.__security*
$ su 2000,2000,2000 /data/nativetest/liblog-unit-tests/liblog-unit-tests --gtest_filter=liblog.__security*

ToDo: Integrate the above individually into the gTest Q/A testing

Bug: 26029733
Change-Id: Idcf5492db78fa6934ef6fb43f3ef861052675651
2016-02-01 13:29:06 -08:00
Colin Cross d484e7cef5 Merge "Fix static analyzer issues caught by clang"
am: c2c0df900d

* commit 'c2c0df900ded71aa3f7c9aee05614c7c050eef06':
  Fix static analyzer issues caught by clang
2016-02-01 21:21:30 +00:00
Colin Cross c2c0df900d Merge "Fix static analyzer issues caught by clang" 2016-02-01 21:16:20 +00:00
Than McIntosh 1e0fea291a Fix for host simpleperf 'gettid' unsat.
Bug: 26900419
Change-Id: Ifefd017f4b62ecfb2521bd1c38dbb3b09054f205
2016-02-01 15:59:40 -05:00
David Pursell 8467ab758c Merge "adb: win32: handle incomplete UTF-8 in console output, other fixes"
am: 85c65dab42

* commit '85c65dab429f1f47b6f07e26f9637084fb314eb5':
  adb: win32: handle incomplete UTF-8 in console output, other fixes
2016-02-01 20:54:26 +00:00
David Pursell 85c65dab42 Merge "adb: win32: handle incomplete UTF-8 in console output, other fixes" 2016-02-01 20:49:25 +00:00
David Pursell cbb5d714d7 Merge "base: add SystemErrorCodeToString() function."
am: 79d8f07a6f

* commit '79d8f07a6f97511397d96dbb0676d710ce604f8c':
  base: add SystemErrorCodeToString() function.
2016-02-01 20:43:28 +00:00
David Pursell 79d8f07a6f Merge "base: add SystemErrorCodeToString() function." 2016-02-01 20:39:09 +00:00
David Pursell 5f787ed2b3 base: add SystemErrorCodeToString() function.
Pulls the Windows error string generation out of adb into libbase so
that it can be used by fastboot as well. Also makes a Unix equivalent
that just wraps strerror() so that upcoming fastboot error reporting
code can be platform-independent.

The intent here is just to provide a portable way to report an error to
the user. More general cross-platform error handling is out of scope.

Bug: http://b/26236380
Change-Id: I5a784a844775949562d069bb41dcb0ebd13a32bc
2016-02-01 12:18:26 -08:00
Colin Cross 1eb743ba8b Fix static analyzer issues caught by clang
system/core/libsparse/sparse_read.c:260:51: warning: Dereference of null pointer (loaded from variable 'crc_ptr')
                        ret = process_crc32_chunk(fd, chunk_data_size, *crc_ptr);
system/core/libsparse/sparse_read.c:404:9: warning: Potential leak of memory pointed to by 'buf'
        return 0;

Fixes leak in sparse_file_read_normal, and null pointer dereference
crash if an image with an obsolete CRC chunk was read with CRC checking
disabled.

Bug: 26904425

Change-Id: Ibc72cd37602929ae2c248bea1cdd1d22ea03baaf
2016-02-01 11:19:26 -08:00
Josh Gao 831bd4f043 Merge changes I93287b87,I30a3eb0b
am: d18aea9974

* commit 'd18aea99746d9befed6d596521ea3aa10e07d23f':
  adb: add nullability specifiers to adb_client.h.
  adb: add adb_get_feature_set.
2016-02-01 18:52:06 +00:00
Josh Gao d18aea9974 Merge changes I93287b87,I30a3eb0b
* changes:
  adb: add nullability specifiers to adb_client.h.
  adb: add adb_get_feature_set.
2016-02-01 18:48:13 +00:00
Greg Hackmann 40a96e4ba0 init.rc: add missing /dev/fd symlink
The Linux kernel implicitly expects /dev/fd to symlink to /proc/self/fd.

This change fixes the exec/execveat.c kernel selftest.

Change-Id: Ia08d50023336fdbfc098527299c326d9d59039a9
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2016-02-01 10:02:19 -08:00
Josh Gao a166e71e21 adb: add nullability specifiers to adb_client.h.
Change-Id: I93287b876cb06d871b4330d2733ef6f43c58fbbf
2016-01-31 19:22:04 -08:00
Josh Gao f3f6a1d0d4 adb: add adb_get_feature_set.
Extract a feature set getter function from commandline.cpp.

Change-Id: I30a3eb0b060a88379e29be16264637816e378978
2016-01-31 19:12:26 -08:00
Yabin Cui f79a5f513b Merge "base: add API to remove file if it exists."
am: aef26bb1a4

* commit 'aef26bb1a4adb953f6bbd5a7e01ca964ed3b386d':
  base: add API to remove file if it exists.
2016-01-30 04:31:10 +00:00
Yabin Cui aef26bb1a4 Merge "base: add API to remove file if it exists." 2016-01-30 04:27:44 +00:00
Yabin Cui b6e314aa86 base: add API to remove file if it exists.
It is a function needed in different places like uncrypt, simpleperf.

Bug: 26883096
Change-Id: I26f4f30e8367867a88272625f00858569fc8e950
2016-01-29 19:24:55 -08:00
David Pursell 4c0a6a1677 Merge "adb: fix subprocess termination for legacy shell."
am: a9352202dd

* commit 'a9352202dd52a404199fbdca160d9d2d0992cf63':
  adb: fix subprocess termination for legacy shell.
2016-01-29 22:18:44 +00:00
David Pursell a9352202dd Merge "adb: fix subprocess termination for legacy shell." 2016-01-29 22:14:46 +00:00
Josh Gao 41b04cf896 Merge "adb: SIGWINCH support for Windows"
am: c1eb5ba0fb

* commit 'c1eb5ba0fb1414ef471eb9832d82e79ef85d0d89':
  adb: SIGWINCH support for Windows
2016-01-29 22:06:27 +00:00
Josh Gao c1eb5ba0fb Merge "adb: SIGWINCH support for Windows" 2016-01-29 22:01:45 +00:00
Christopher Ferris 94f8442f2e Merge "Always have ps output to stdout at least one line."
am: 4602f2b77b

* commit '4602f2b77b6e8405c5c84e2f67749ba83ed39d6c':
  Always have ps output to stdout at least one line.
2016-01-29 19:14:29 +00:00
Christopher Ferris 4602f2b77b Merge "Always have ps output to stdout at least one line." 2016-01-29 19:11:17 +00:00
Alex Vakulenko 56636da1c8 Merge "metricsd: Removing brillo::Any from weaved\'s public APIs"
am: bade73d9b4

* commit 'bade73d9b4f5b24bb3a01558efc531bad6941014':
  metricsd: Removing brillo::Any from weaved's public APIs
2016-01-29 17:06:06 +00:00
Alex Vakulenko bade73d9b4 Merge "metricsd: Removing brillo::Any from weaved's public APIs" 2016-01-29 17:01:05 +00:00
Spencer Low 2e02dc630f adb: SIGWINCH support for Windows
- Introduces unix_read_interruptible() which is like unix_read() except
  that it can return EINTR.

- The big idea is that the Windows ReadConsoleInput() API will return an
  event on window resize and then we return EINTR from
  unix_read_interruptible() just like Unix.

- Only handles horizontal resize since Windows doesn't seem to give an
  event for vertical resize when no special screen buffer is used. This
  should be sufficient for the primary use case of adb on Windows
  (people are not running vi in the first place).

Change-Id: Id8d1710b559834c8098f2d7fbecedf2d0ade4b88
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2016-01-28 23:01:56 -08:00
Spencer Low a30b79a2d9 adb: win32: handle incomplete UTF-8 in console output, other fixes
Previously, the various adb_printf, adb_fwrite, etc. functions did not
correctly handle the case of the passed buffer ending with an incomplete
UTF-8 sequence. This is fixed by buffering up incomplete UTF-8 sequences
in g_console_output_buffer (protected by the mutex
g_console_output_buffer) and outputting it later once the full sequence
is available.

A unittest for the main worker function, ParseCompleteUTF8(), was added
to adb_test.

Other fixes:

- Fix the return value of number-of-chars written to be number of UTF-8
  bytes instead of number of UTF-16 characters.

- Don't overwrite errno in success cases of various adb_printf, etc.
  functions. This might be excessive, but might be useful in the case
  when these functions are used for debugging/tracing.

- Add missing UTF-8 stdio functions that aren't currently used by adb,
  but might be in the future: vprintf, putc, putchar, puts.

- stdin_raw_init: If we can't get the console handle, don't call
  SetConsoleMode(). Not a big deal, but this will prevent erroneous
  trace output.

Change-Id: I8730e8af92882c42b884ad921b39a17b54465085
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2016-01-28 16:31:28 -08:00
Christopher Ferris 78e08066f2 Always have ps output to stdout at least one line.
There is at least one app that assumes that you will always get at least
one line of output in stdout from ps.

To fix this, move error output to stdout, and move the check of whether
/proc can be opened until after the ps header is printed.

Bug: 26554285
Change-Id: I6d9342aafd5c6f728735507cdd87a48a8e0373ac
2016-01-28 16:08:08 -08:00
Dan Stoza 65823b7820 Merge "Name the pixel format and transform enums"
am: 53529ecacd

* commit '53529ecacdffbbffb5c9fbc4ab38103703dde32e':
  Name the pixel format and transform enums
2016-01-28 23:22:57 +00:00
Dan Stoza 53529ecacd Merge "Name the pixel format and transform enums" 2016-01-28 23:18:43 +00:00
Alex Vakulenko eca14e3722 metricsd: Removing brillo::Any from weaved's public APIs
Weaved replaces brillo::Any with base::Value in its client library,
so need to update clients.

Also this removes last D-Bus dependencies from metrics_collector.

BUG: 26558300
Change-Id: I82d571d7e2bd17347daeb1b70f48ec05378894f0
2016-01-28 14:44:28 -08:00
Todd Poynor 4a129d5a45 Merge "healthd: BatteryPropertiesRegistrar binder service ref count fixup"
am: 36ba2fad01

* commit '36ba2fad014a1a0734a6e704e30677ee88640d3b':
  healthd: BatteryPropertiesRegistrar binder service ref count fixup
2016-01-28 21:16:24 +00:00
Todd Poynor 36ba2fad01 Merge "healthd: BatteryPropertiesRegistrar binder service ref count fixup" 2016-01-28 21:11:09 +00:00
Todd Poynor e55356486f healthd: BatteryPropertiesRegistrar binder service ref count fixup
Call addService using a reference to a strong pointer to the service object,
such that the proper IBinder object is ref counted, instead of passing the
object's this pointer.

Bug: None
Change-Id: I72cac08c835a17b8cc263b2dc34864420b7a2841
2016-01-28 21:10:21 +00:00