summaryrefslogtreecommitdiffstats
path: root/adb/adb_client.c
Commit message (Collapse)AuthorAgeFilesLines
* add sideload-host mode to adbDoug Zongker2014-09-161-1/+2
| | | | | | | | | | | | | | | The sideload-host mode turns the host into a server capable of sending the device various pieces of the file on request, rather than downloading it all in one transfer. It's used to support sideloading OTA packages to devices without the need for them to hold the whole package in RAM. If the connected device doesn't support sideload-host mode, we fall back to the older sideload connection. (cherry-picked from commit 71fe584a1a7256c057267ae46a35f7c74d1d549e) Change-Id: I5adaedd8243dc3b76414bba0149879ca2bbf35fa
* Fix adb forward --list when forwarding a lotSnild Dolkow2014-02-211-1/+4
| | | | | | | | | | | | | | | | | | | The list action had some problems with large numbers of forwards: * adb_query() limited replies to 1024 B (and the print was useless) * the reply header's length could overflow (also in other commands) * ...and the client had no way of detecting it * writex() didn't retry on EAGAIN ("Resource temporarily unavailable") This patch makes all "OKAY%04x" replies use a common function which checks the length and limits it to 0xffff. This means that the client can easily check for truncated replies. Before: forward --list starts failing at 15-30 forwards (depending on device serial and forward spec lengths). After: no problems with forward --list. Change-Id: Ie1e82c4d622f5c56e51abb26533ba17d40459914
* Fix overflow in adb_clientNick Kralevich2014-01-271-2/+2
| | | | | | | | | Credit: Joshua Drake Bug: 12060953 (cherry picked from commit e89e09dd2b9b42184973e3ade291186a2737bced) Change-Id: I8a9b2592a5e4f7527c607abfe4ea6df6eb550aa8
* Improve some adb error loggingBrian Carlstrom2013-10-271-1/+3
| | | | | Bug: 11290643 Change-Id: Ibad4e9f0b69421cd6017b70a52237e7f27aab848
* Support adb client connect to remote serverMatt Gumbel2013-01-041-3/+16
| | | | | | | | | | | | | | | | | | ADB client: allow user to specify hostname and port number of remote adb server. ADB server: bind server to all network interfaces instead of just localhost when user gives -a flag. Primary use-case for this change is to support remote testing of USB devices. HostA is running some test automation software which invokes adb client. HostB has USB-only device attached and is running adb server. adb client on HostA makes connection to adb server on HostB to talk to the USB device. Change-Id: I845cc8c00350b400317f8c18f813e6fd79bd5470 Signed-off-by: Dean Kwon <daex.i.kwon@intel.com> Signed-off-by: Jim Bride <jim.bride@intel.com> Signed-off-by: Matt Gumbel <matthew.k.gumbel@intel.com>
* adb: fix subprocess exit handling, oom adjust fixes, extra debugging.JP Abgrall2011-03-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for correctly handling subprocess termination in shell service (b/3400254 b/3482112 b/2249397) - have a waitpid() track the subprocess, then notify the fdevent via a socket - force an eof on the pty master in fdevent's new subproc handler. - modify fdevent to force-read the pty after an exit. * Migrate the "shell:blabla" handling to "#if !ADB_HOST" sections, where it belongs. * Fix the race around OOM adjusting. - Do it in the child before exec() instead of the in the parent as the child could already have started or not (no /proc/pid/... yet). * Allow for multi-threaded D() invocations to not clobber each other. - Allow locks across object files. - Add lock within D() - Make sure sysdesp init (mutex init also) is called early. * Add some missing close(fd) calls - Match similar existing practices near dup2() * Add extra D() invocations related to FD handling. * Warn about using debugging as stderr/stdout is used for protocol. * Fix some errno handling and make D() correctly handle it. * Add new adb trace_mask: services. * Make fdevent_loop's handle BADFDs more gracefully (could occur some subproc closed its pts explicitely). * Remove obsolete commandline args reported in help. (b/3509092) Change-Id: I928287fdf4f1a86777e22ce105f9581685f46e35
* Revert "Fix adb hang when subprocess dies early."JP Abgrall2011-02-231-3/+0
| | | | | | | | This is for http://b/3482112 "adb interactions with device causing test harness failures". This reverts commit 69c5c4c45bd4f1575ae8bdba13795297be7deb8c. Change-Id: I630bf2e04d2ecf0223bd2af4e87136754ff880d3
* Fix adb hang when subprocess dies early.JP Abgrall2011-02-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | * Handling of the subprocess and its FD. This fixes http://b/3400254 "Many bugreports getting hung at the end in monkey" - Start up a service thread that waits on the subprocess to terminate, then closes the FD associated with it. - Have the event handler select() with a timeout so that it can detect the closed FD. Select() with no timeout does not return when an FD is closed. - Have the event handler force a read on the closed FD to trigger the close sequence. - Migrate the "shell:blabla" handling to "#if !ADB_HOST" sections. * Fix the race around OOM adjusting. - Do it in the child before exec() instead of the in the parent as the child could already have started or not (no /proc/pid/... yet). * Allow for multi-threaded D() invocations to not clobber each other. - Allow locks across object files. - Add lock within D() * Add some missing close(fd) calls - Match similar existing practices near dup2() * Add extra D() invocations related to FD handling. * Warn about using debugging as stderr/stdout is used for protocol. Change-Id: Ie5c4a5e6bfbe3f22201adf5f9a205d32e069bf9d Signed-off-by: JP Abgrall <jpa@google.com>
* Make adb's daemon-port on the host machine configurable.Stefan Hilzinger2010-04-221-5/+11
| | | | | | | | | | | | This is the first CL of a somewhat larger effort which, among other things, will involve changing the emulator and ddms to talk to adb running on a configurable port. The port can be configured using environment variable ANDROID_ADB_SERVER_PORT. Further CLs will also address the set of ports used for the local transport. Change-Id: Ib2f431801f0adcd9f2dd290a28005644a36a780a
* Revert "Make adb's daemon-port on the host machine configurable."Mike Lockwood2010-04-121-11/+5
| | | | | Fix the build. This reverts commit 5a00fd1c5542b302e5534d7c424ee92da3d6bceb.
* Make adb's daemon-port on the host machine configurable.Stefan Hilzinger2010-04-081-5/+11
| | | | | | | | | | | | This is the first CL of a somewhat larger effort which, among other things, will involve changing the emulator and ddms to talk to adb running on a configurable port. The port can be configured using environment variable ANDROID_ADB_PORT. Further CLs will also address the set of ports used for the local transport. Change-Id: I8082ee10ce504dab1cf89fe6d189eccf43ce9cf4
* Support for 3rd party USB Vendor IDs in adb.Xavier Ducrohet2009-05-221-1/+1
| | | | | | | | | | Vendor IDs are read from ~/.android/adb_usb.ini. The format is very simple: 1 number per line. First number is ID count, followed by the ID themselves. Lines starting with # are considered comments. Other misc changes: moved VENDOR_ID_* to usb_vendors.c to prevent direct access. Made transport_usb.c reuse the USB constant introduced in usb_osx (moved them to adb.h)
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+318
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-318/+0
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-171-13/+13
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+318