summaryrefslogtreecommitdiffstats
path: root/libsysutils
Commit message (Collapse)AuthorAgeFilesLines
* Merge tag 'android-6.0.1_r72' into HEADJessica Wagantall2016-10-061-3/+14
|\ | | | | | | | | | | | | Android 6.0.1 Release 72 (M4B30X) # gpg: Signature made Tue 04 Oct 2016 09:47:47 AM PDT using DSA key ID 9AB10E78 # gpg: Can't check signature: public key not found
| * Fix vold vulnerability in FrameworkListenerConnor O'Brien2016-08-261-3/+14
| | | | | | | | | | | | | | | | | | | | | | Modify FrameworkListener to ignore commands that exceed the maximum buffer length and send an error message. Bug: 29831647 Change-Id: I9e57d1648d55af2ca0191bb47868e375ecc26950 Signed-off-by: Connor O'Brien <connoro@google.com> (cherry picked from commit baa126dc158a40bc83c17c6d428c760e5b93fb1a) (cherry picked from commit 470484d2a25ad432190a01d1c763b4b36db33c7e)
* | core: Add some static librariesSteve Kondik2015-11-041-8/+13
|/ | | | | | * Add static versions of libdiskconfig and libsysutils for MiniVold Change-Id: I9ea9498dcff3f094bbcbb1e05e6d10bc9b83ac74
* Fix incorrectly sized buffer.Erik Kline2015-07-281-4/+4
| | | | | | | | | Also: use a more correct size type. Bug: 21562630 Bug: 21764392 Bug: 22464419 Change-Id: I9a9cf64f0481670828fac707e00196e222d0311e
* Qualify IPv6 link-local DNS servers with an interface nameErik Kline2015-06-181-6/+12
| | | | | | Bug: 21562630 Bug: 21764392 Change-Id: I7d271ae0f3fd92f70049017d38ccc15e3c1dda83
* Give SocketListener some FD_CLOEXEC.Jeff Sharkey2015-04-011-0/+2
| | | | | | | Sockets love FD_CLOEXEC. Bug: 19993667 Change-Id: I0d72a27e0f46b79843bb91ed48ebaf1c89484fd2
* Revert "Sigh, more vendors linking against hidden APIs."Vineeta Srivastava2015-03-201-13/+0
| | | | | | This reverts commit 31837298166e678d8e9c9fba1b30aea5abf1350f. Change-Id: I5c041d7438b64c4c258c414ca9a133075999e1b6
* Sigh, more vendors linking against hidden APIs.Jeff Sharkey2015-03-161-0/+13
| | | | | Bug: 19762346 Change-Id: I6c0823bf69e3f7e854ffea7b5483d09bb7359ff6
* Define enum class for NetlinkEvent actions.Jeff Sharkey2015-03-131-25/+13
| | | | | | | This lets us use it for switch statements, and gives us stronger type safety. Change-Id: Idb3ad7098657a09f13c95dc7070611d35ede66ae
* Add missing <malloc.h> and <string.h> includes.Elliott Hughes2015-01-281-0/+1
| | | | Change-Id: Ia41756e607663d056e7d2fdd7ecbec7e5841a913
* Remove obsolete BUILD_TINY_ANDROID check from libsysutils makefileTrevor Drake2015-01-241-3/+0
| | | | Change-Id: I3cd1430b1555a5cd27b31ed3eebc1663f43e7b3b
* Extend to receive NFLOG packets.Jeff Sharkey2015-01-153-10/+65
| | | | | | | | | Packets captured and logged by the NFLOG target are unicast, so extend to catch and decode them. To avoid escaping issues, the raw contents are passed around as hex strings. Bug: 18335678 Change-Id: Ib7299500baa00080a1f000f9da843eb527363353
* Fix formatting in 4df4dfedf6beef891d05d4e80704f5f4a594a885.Elliott Hughes2014-11-101-1/+2
| | | | Change-Id: I1ad219285cb1f4a39cfe2bdef224b78eff843317
* When new error happend,then errno should be updated accordingly.Bo Huang2014-11-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, need to keep previous errno. Reproduced steps: pre-condition: DUT support external SDcard or Usb mass storage; 1. Insert blank(no partition) SDcard or UMS to DUT; Expected result: Should prompt user with storage error. Test result: There is no notification for error. Error log: 01-01 01:06:49.239 I/fsck_msdos( 200): fsck_msdos terminated by exit(8) 01-01 01:06:49.239 E/Vold ( 200): /dev/block/vold/179:16 failed FS checks (I/O error) 01-01 01:06:49.239 D/Vold ( 200): Volume sdcard1 state changing 3 (Checking) -> 1 (Idle-Unmounted) 01-01 01:06:49.239 W/Vold ( 200): Returning OperationFailed - no handler for errno 0) Root cause analysis: 1.Volume::setState will call senBroadcase to send out state notification; 2.Finally, SocketClient::sendDataLockedv was called to sent message. In sendDataLockedv funtion, when current == iovcnt, e is 0 by default. So Vold get incorrect errno. Change-Id: Icb32a4193f02f22b5e3feaba177bc278f8f1f41b Signed-off-by: Bo Huang <bo.b.huang@intel.com>
* Support parsing netlink route messages.Lorenzo Colitti2014-06-211-0/+99
| | | | | Bug: 9180552 Change-Id: I4a36d869ac692647fb226d0912285bdf2ffcb1fa
* Improvements to netlink event parsing.Lorenzo Colitti2014-06-212-107/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Accept that parseNetlinkMessage can only parse one netlink message, because its way of returning output is to modify its member variables (mAction, mParams, etc.). Currently, it loops through all the messages it finds, updating its member variables as it goes along, and always returns true at the end of the buffer. This has the following problems: 1. Since the function always returns true even when no messages were parsed, the caller has no way to know if parsing succeeded, and we get lots of "No subsystem found in netlink event" logs if the buffer did not contain any valid messages we were interested in. 2. If there are multiple messages in the buffer, all but the last message will be silently ignored. 3. If there are multiple messages and previous messages have more parameters than the last one, the resulting event will have a mixture of parameters from multiple messages. Instead of doing all this, change the contract to "parse the first valid message of interest in the buffer and return true, or return false if there were no such messages", and update the code and the comments accordingly. 2. Modify the caller (NetlinkListener) so it doesn't log an error when parseBinaryNetlinkMessage returns false, because this can now simply mean that we weren't interested in that particular message. parseBinaryNetlinkMessage already logs more informative errors. 3. Provide utility functions to check received message lengths and to convert message types to message names. 4. Simplify logging duplicate attributes. 5. Use the appropriate IFLA_xxx macros instead of rolling our own code to parse link state messages. 6. Move all the parsing code out to per-message-type parsing functions to order to simplify parseBinaryNetlinkMessage. Bug: 9180552 Change-Id: I6bbc2f7a104f618674dde2369c1fd5e93ea49430
* libsysutil: turn on -Werror (part deux)Mark Salyzyn2014-05-012-5/+4
| | | | | | - x86_64 format warnings Change-Id: I81c2702f564bcada946f6a10f34bbf34c90f766b
* libsysutil: turn off -WerrorMark Salyzyn2014-04-301-1/+1
| | | | | | temporary to work out issue with git_mirror-asop-master build Change-Id: Ie65c65abb0a70dc134fded15db8b9d98e1701edd
* libsysutils: turn on -WerrorMark Salyzyn2014-04-303-4/+2
| | | | | | - Deal with some -Wunused / -Wunused-variable issues Change-Id: I428a0032a8743c68c97f528d5f305ba63fee1d29
* Add prefx to netlink failure and dispatchCommand overflow logs.William Luh2014-04-291-2/+2
| | | | | | | | | Prefix ensures proper user-consent filter. (cherry picked from commit 564244cd3809aee58c7e18114970bb88bce9e9e9) Bug:5848002 Change-Id: Iee7287773f0af52c225a821ee0e9d643c83cc060
* logd: libsysutils: logd startup outside init environmentMark Salyzyn2014-04-171-0/+5
| | | | Change-Id: I3426b6c3eebdd0c8258e966dcaaaa2825d7a23d1
* set /proc/sys/net/unix/max_dgram_qlen to large valueMark Salyzyn2014-03-031-1/+5
| | | | | | | | - init: set /proc/sys/net/unix/max_dgram_qlen to 300 - libsysutils: Add listen backlog argument to startListener - logd: set listen backlog to 300 Change-Id: Id6d37d6c937ba2d221e76258d89c9516619caeec
* libsysutil: frequent native crash /system/bin/voldMark Salyzyn2014-01-311-12/+24
| | | | | | | | | | | | regression from commit a6e965578e44f9ae5f98de822ba5decec381dffc * wrap writev with sigaction SIG_IGN SIGPIPE to emulate the send(,,,MSG_NOSIGNAL) call it had replaced. (cherry pick from commit 83fc720785c4e40f3341daf7c0bf5ee99261fee9) BUG: 12796279 Change-Id: I14363630ada79c0a5b85bb6b2afd0a1c4d5c3109
* libsysutils: SocketListener export releaseMark Salyzyn2014-01-271-26/+50
| | | | | | | | | | | | * Foreground thread (legacy) closes connection by reporting false return value for onDataAvailable. * Background thread can choose instead to close the connection asynchronously by calling release, must return true for the onDataAvailable method. (cherry picked from commit d7ad4e409eaac53db3a9789060097b712850b337) Change-Id: I70ab37d5c22b02804aa3b4dfb26cc9b75291f8b6
* libsysutils: Add iovec/runOnEachSocketMark Salyzyn2014-01-272-23/+89
| | | | | | | | | | | | | | | | | | | | SocketClient: * Replace sendDataLocked with sendDataLockedv which takes an iovec. * Add a version of sendData, sendDatav, which takes an iovec. * do not preserve iovec content through sendDatav SocketListener: * Add runOnEachSocket, which allows to to specify a SocketClientCommand to run individually on each socket. This allows you to do broadcast-like actions customized for each individual socket. * Client safe list reference counting for sendBroadcast & runOnEach Socket (cherry picked from commit a6e965578e44f8ae5f98de822ba5decec381d5fc) Signed-off-by: Nick Kralevich <nnk@google.com> Signed-off-by: Mark Salyzyn <salyzyn@google.com> Change-Id: I716f89c01b4cb7af900045c7e41fac1492defb06
* libsysutils: Get rid of warningsMark Salyzyn2014-01-273-4/+7
| | | | | | | | | - UNUSED argument warnings - Remove LOG_NDEBUG define (cherry picked from commit 696f267ff5a1e6227c2f5784dae60c190e0228b8) Change-Id: I48b0942adfdb7a46a7693e580bc6ed5a685b0d5b
* system/core: remove $(KERNEL_HEADERS) from includesColin Cross2014-01-221-1/+1
| | | | | | | | The kernel headers are already in the include path, and manually adding them again will break on a multiarch build, where the kernel headers may be different for each arch. Change-Id: Ib13d96543f2c97b1b487a46e1748ceb2c5724169
* Merge commit '536dea9d61a032e64bbe584a97463c6638ead009' into HEADThe Android Open Source Project2013-11-221-0/+1
|\ | | | | | | Change-Id: I5c469a4b738629d99d721cad7ded02d6c35f56d5
| * Switch back to subsystem "net" for netlink events.Lorenzo Colitti2013-09-031-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | The change to enable address tracking via netlink incorrectly changed the subsystem of rtnetlink events from "net" to "interface". This broke interface add/delete notifications, which come from the kernel with subsystem "net". Switch back to "net" and deal with address tracking via new action codes instead of a new subsystem. Bug: 10433320 Change-Id: Ibf30efb426949dfd02304cc1d9adb1c005a539a6
| * Get rid of an infinite loop in NetlinkEvent.cpp.Lorenzo Colitti2013-08-171-8/+7
| | | | | | | | | | | | | | Bug: 10358527 Bug: 10263310 Bug: 10232006 Change-Id: I750e4bdf2000040adf214d6a772591d7bd25b350
| * Parse IP address changes in NetlinkEvent.Lorenzo Colitti2013-08-141-1/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for parsing RTM_NEWADDR and RTM_DELADDR netlink messages received on netd's netlink socket and formatting them them so NetlinkHandler can process them. Address changes are notified in subsystem "address". Interface changes, which used to be notified in subsystem "net", are now notified in subsystem "interface" to avoid confusion. Bug: 10232006 Change-Id: I93a50e8de17014e118a42f5cc0eb90a0cbfa73cc
* | Support parsing RDNSS ND options from netlink.Lorenzo Colitti2013-11-201-4/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The RDNSS options (RFC 6106) used to configure DNS servers via router advertisements are passed from the kernel to userspace via RTM_NEWNDUSEROPT netlink messages. Add code to NetlinkEvent to parse them. Also fix a compiler warning and a couple of style issues. [Cherry-pick of b185e90dcc6ac111bff908edcc6d89fd6b37dc11] Bug: 9180552 Change-Id: I6c532c8f0ceef3afdc977a431a036df398013e1a
* | Switch back to subsystem "net" for netlink events.Lorenzo Colitti2013-11-201-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change to enable address tracking via netlink incorrectly changed the subsystem of rtnetlink events from "net" to "interface". This broke interface add/delete notifications, which come from the kernel with subsystem "net". Switch back to "net" and deal with address tracking via new action codes instead of a new subsystem. [Cherry-pick of f34861346d5c207912075fba9874090e4c947869] Bug: 10433320 Change-Id: Ibf30efb426949dfd02304cc1d9adb1c005a539a6
* | Get rid of an infinite loop in NetlinkEvent.cpp.Lorenzo Colitti2013-11-201-8/+7
| | | | | | | | | | | | | | | | | | [Cherry-pick of 3984276ce47c965ad02a522280a139e0a0c7e5cf] Bug: 10358527 Bug: 10263310 Bug: 10232006 Change-Id: I750e4bdf2000040adf214d6a772591d7bd25b350
* | Parse IP address changes in NetlinkEvent.Lorenzo Colitti2013-11-201-1/+116
|/ | | | | | | | | | | | | | | This adds support for parsing RTM_NEWADDR and RTM_DELADDR netlink messages received on netd's netlink socket and formatting them them so NetlinkHandler can process them. Address changes are notified in subsystem "address". Interface changes, which used to be notified in subsystem "net", are now notified in subsystem "interface" to avoid confusion. [Cherry-pick of a4b4e9ad8e35ab424e61d76ebe6654445fc61e63] Bug: 10232006 Change-Id: I93a50e8de17014e118a42f5cc0eb90a0cbfa73cc
* am 51a2e4d5: Merge "libsysutils: fix null pointer and memory leak issue"Colin Cross2013-05-211-1/+8
|\ | | | | | | | | * commit '51a2e4d5d44a6f788da207dff301356e16b4e283': libsysutils: fix null pointer and memory leak issue
| * libsysutils: fix null pointer and memory leak issueHong-Mei Li2013-05-201-1/+8
| | | | | | | | | | | | | | | | | | In SocketClient::quoteArg function 1. Fix potential null pointer accessing issue 2. Fix potential memory leak introduced by realloc fail Change-Id: I1ca0f9089290d43452e9a71428244545f4ed866b Signed-off-by: Hong-Mei Li <a21834@motorola.com>
* | Add liblogYing Wang2013-04-091-3/+3
|/ | | | | Bug: 8580410 Change-Id: Iab3a9b4307f207c14a04a922cc7350c54e60e9ad
* libsysutils: Increase command buffersize and command argsJosef Kindberg2012-11-121-3/+7
| | | | | | | Needed to support tethering of multiple remote Bluetooth devices. Change-Id: I9f736affd83226e8b2fa4f0faacd3654175dd8c9 Signed-off-by: Patrik Ryd <patrik.ryd@stericsson.com>
* am 7bb1b958: am ff856a2b: Merge "Add error handling to SocketClient::sendData"Robert Greenwalt2012-05-301-5/+5
|\ | | | | | | | | * commit '7bb1b9585d2d61beaf05c997971aee27f87ad3f7': Add error handling to SocketClient::sendData
| * Add error handling to SocketClient::sendDataMattias Falk2012-05-291-5/+5
| | | | | | | | | | | | Return failure and set errno if mSocket isn't valid. Change-Id: I579114d435db46d0bb5682167ef34bebe061a8f8
* | Revert "libsysutils: NetlinkEvent: add support for interface xt_IDLETIMER ↵JP Abgrall2012-04-261-13/+1
| | | | | | | | | | | | | | | | | | events." This reverts commit 731d831e91d5d9f8b15ca95367977abe35967166. Now that the xt_IDLETIMER uses the KOBJECT_UEVENT netlink, this change is not needed anymore.
* | Add ability to quote responses as needed.Robert Greenwalt2012-04-201-0/+23
| | | | | | | | | | | | | | | | It's up to the protocol to know when quotes are required. In the future the response should probably all be binary blobs with lengths. bug:6353048 Change-Id: I3f9b48ab0f4e6746d75cdc9c0c84d33f38f63661
* | libsysutils: NetlinkEvent: add support for interface xt_IDLETIMER events.Ashish Sharma2012-04-111-1/+13
| | | | | | | | | | | | | | xt_IDLETIMER events are used to infer the interface (radio) state based on a inactivity timeout value. Change-Id: I755eb54a048ca1c6ce0c646564d61188d8241851
* | Added netlink failure logging to NetlinkListener.cppGeremy Condra2012-03-292-1/+6
| | | | | | | | | | | | This depends on If2f00708a1dd6196c415b1ebc2a7eeb72399a90e Change-Id: If6c63e46f906b94f4778eb5e78123d8efe1710d4
* | Do not generate SIGPIPE errors in SocketCLient.Selim Gurun2012-03-121-1/+1
| | | | | | | | | | | | | | This change is to make sure the users of library does not crash if they are not handling SIGPIPE properly. Change-Id: I4ea80d6bfc26a4bca6b901959ae3060b059d46d3
* | Fix pointer arith.Robert Greenwalt2012-03-091-8/+8
| | | | | | | | | | | | | | | | | | Sending 3digit code, null, binary-length and data. Current code sends 3digit code, space, null, binary-length, binary-data. The space should not be sent. Change-Id: I1df00a3e70805b39b6105966c7f3c613461a6858
* | Add a utility function to send a code + binary msgSelim Gurun2012-03-071-4/+39
| | | | | | | | | | | | | | | | | | Add a utility function to SocketClient to send a c-string code prepended to a binary message. This is necessary to be able to send a binary message while keeping compatible with underlying text-based protocol. Change-Id: Ifc6562003a687577d7deb50260533a5147ae4f97
* | New NativeDaemonConnector protocol adds a seqnum.Robert Greenwalt2012-03-053-49/+93
| | | | | | | | | | | | | | | | | | | | Allows for one socket to be multiplexed for multiple requests. Doesn't use command sequence numbers for broadcasts - would make no sense. Doesn't alter current default behavior so OEM's using these classes won't notice a difference. bug:5864209 Change-Id: Ie3b19c4f81eea868569229a365c8cb7de249c2dd
* | Revert "New NativeDaemonConnector protocol adds a seqnum."Guang Zhu2012-02-073-45/+21
| | | | | | | | | | | | | | | | Reverting because it seems to break `adb reboot` This reverts commit dc58e73071aa829a5038caf37211f6b3e2d7b275. Change-Id: Ib8cc4379254694398cbb7f3e7a64c20e1ed8c1ba