summaryrefslogtreecommitdiffstats
path: root/libsysutils
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | New NativeDaemonConnector protocol adds a seqnum.Robert Greenwalt2012-02-073-21/+45
| | | | | | | | | | | | | | Allows for one socket to be multiplexed for multiple requests. bug:5864209 Change-Id: I934c88da25d95e093371f455442bdf2f0ed7a4f4
* | libsysutils: log dispatchCommand overflow.Nick Kralevich2011-11-183-0/+6
|/ | | | Change-Id: Iefd3f7cc170c1fe65209c6ffe10debc21aed0c7f
* Remove log spamIrfan Sheriff2011-10-281-1/+0
| | | | | Bug: 5533986 Change-Id: I3d8108e2f65ce6513ac8b2d14541eaa5e4fc5da1
* Fix SocketListener socket leak issue.Xianzhu Wang2011-09-292-9/+13
| | | | | | | | | | | | The problem was: if a socket is shared between SocketListener and another thread, only if the last reference is removed by SocketListener can the socket be closed, otherwise the socket will leak. This sometimes happens in netd's dnsproxyd. This change let the SocketClient own the socket and close the socket when the SocketClient is destructed. Change-Id: I2865fbfe9ee4d8b3e43d7e02919dbb2d261f70de
* NetlinkEvents: adding support for iptables' quota2 NFLOG messages.JP Abgrall2011-07-141-25/+54
| | | | | | | | | | | It passes the quota2 name and the device at the time the quota was reached. ALERT_NAME=... INTERFACE=... This needs the new kernel in which xt_quota2 can log. Change-Id: Icf5045374e1e33bdd1da0d2a2c183e70903a1fea
* Remove the simulator target from all makefiles.Jeff Brown2011-07-111-11/+0
| | | | | | Bug: 5010576 Change-Id: I2fcf31af681d92880e5d31a46d5f6777f7ca1977
* Workaround Motorola ril.so incompatiblity with Netlink changesMike J. Chen2011-06-231-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | To workaround a binary incompatiblity with Motorola's ril.so, I had to temporarily provide the old constructor for NetlinkListener as well as a new contructor that takes an additional format argument. There's still a slight chance of a problem because the size of the NetlinkListener has changed with the addition of the mFormat member, but so far I've not seen any obvious problem with that incompatiblity. Another way we could have worked around the incompatiblity is to have netd (the main user of the new format argument to NetlinkListener) keep track of the format itself in it's NetlinkHandler (derived from NetlinkListener) and supply it's own version of onDataAvailable() that's almost 100% identical to NetlinkListener's except for the decode() call. That would allow us not to modify NetlinkListener at all. Worth considering but I think it's more properly divided right now and we just have to make Motorola fix their code (and ideally not use our private APIs). This change should be reverted when Motorola's has fixed their ril to either not use our private APIs or to use our updated ones. Change-Id: I255cca6908444e56cbbbed7eef1fa0cf1d8f0918 Signed-off-by: Mike J. Chen <mjchen@google.com>
* Cleanup NetlinkListener and NetlinkEventMike J. Chen2011-06-232-15/+10
| | | | | | | | | | | | | To make it easier to be compatible with older existing code, use default parameters instead of separate functions for setting. Also, reintroduce the const usage that was not in the original changes by Stan. Also fix some indent spacing. Change-Id: Ice9ec7f0d5c4a0673037e2e04a764d88a98f68eb Signed-off-by: Mike J. Chen <mjchen@google.com>
* Revert "Revert "Add NETLINK_ROUTE processing to the netlink client code, so ↵Mike J. Chen2011-06-232-8/+75
| | | | | | | | | | | | | | | | | | | | | | | | that Ethernet"" This reverts commit 1d504eeb50d980c222572629383bb76315f32ca0. Conflicts: libsysutils/src/NetlinkEvent.cpp Bring back the changes from Stan Chesnutt regarding adding NETLINK_ROUTE processing. The original commit message description was: Add NETLINK_ROUTE processing to the netlink client code, so that Ethernet physical-layer up/down events can be tracked. Upper layers will use these events to enable/disable Ethernet connectivity. The original change was reverted due to an incompatiblity with Motorola's ril.so binary. I'll submit a patch to workaround that incompatiblity separately. Change-Id: I4e97ac98833b10543e654c63ecae3b9b8c7db44f Signed-off-by: Mike J. Chen <mjchen@google.com>
* rename uevent_checked_recv to uevent_kernel_multicast_recvNick Kralevich2011-05-111-1/+1
| | | | Change-Id: I1839627490080efcbb7269699709064856312f8b
* NetlinkListener: eliminate duplicate codeNick Kralevich2011-04-291-23/+2
| | | | | | | The checks in this code duplicate uevent_checked_recv(). Use that instead. Change-Id: I2c48bcf4372f0975c27a63d929cae73e16422faf
* am 18f6d964: am f819d023: Merge "libsysutils: SocketListener: handle recv ↵Nick Kralevich2011-04-271-2/+3
|\ | | | | | | | | | | | | errors more gracefully." * commit '18f6d964cbee483106da5c96a8c067a948324da7': libsysutils: SocketListener: handle recv errors more gracefully.
| * am f819d023: Merge "libsysutils: SocketListener: handle recv errors more ↵Nick Kralevich2011-04-271-2/+3
| |\ | | | | | | | | | | | | | | | | | | gracefully." * commit 'f819d0233646668b06de36a787979e3b180d6c48': libsysutils: SocketListener: handle recv errors more gracefully.
| | * libsysutils: SocketListener: handle recv errors more gracefully.Vernon Tang2011-04-271-2/+3
| | | | | | | | | | | | | | | | | | | | | Don't close the socket when onDataAvailable returns false if the socket is connectionless. Change-Id: Ie19497f5928144c463d92aa72ba517e675549ea6
| * | am b620a0b1: Validate sender credentials on netlink msg receiveNick Kralevich2011-04-181-3/+26
| |\ \ | | |/ | |/| | | | | | | * commit 'b620a0b1c7ae486e979826200e8e441605b0a5d6': Validate sender credentials on netlink msg receive
| | * Validate sender credentials on netlink msg receiveNick Kralevich2011-04-181-3/+26
| | | | | | | | | | | | | | | | | | | | | Verify that netlink messages are actually from the kernel, and not from a userspace program. Change-Id: I709c0efe9ba0258f6d79ebcde531d7f7bbe780b2
* | | am d94bbc32: am 6bc08280: Validate sender credentials on netlink msg receiveNick Kralevich2011-04-191-3/+26
|\ \ \ | | | | | | | | | | | | | | | | * commit 'd94bbc326ab0e9ceca6f3f90a2864e40bb584c07': Validate sender credentials on netlink msg receive
| * | | Validate sender credentials on netlink msg receiveNick Kralevich2011-04-191-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Verify that netlink messages are actually from the kernel, and not from a userspace program. This is a manual cherry-pick from b620a0b1c7ae486e979826200e8e441605b0a5d6 Change-Id: I237f0a5cb56393bb3aab64a7ae5898f2bdc95cef
* | | | am cb1e616e: am 7c556549: Merge changes Icdefb5ff,Icd7f5f03Brad Fitzpatrick2011-03-292-3/+30
|\ \ \ \ | |/ / / |/| / / | |/ / | | | | | | * commit 'cb1e616e3c108a9c8b159bb95c3356acf5797ba2': Fix potential race introduced in Icd7f5f03 SocketClient: add optional reference counting
| * | Fix potential race introduced in Icd7f5f03Brad Fitzpatrick2011-03-222-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Digit wrote: "You probably don't want to close the socket here without updating c->socket as well. Otherwise, another thread holding a handle to the client after the c->decRef() could end up sending a message to a different socket, if the file descriptor index is reused by another client in the meantime." Change-Id: Icdefb5ffc0c7607325d7db761e1f04e5d868bfb7
| * | SocketClient: add optional reference countingBrad Fitzpatrick2011-03-222-2/+23
| | | | | | | | | | | | | | | | | | | | | Needed to fix a race in netd. Bug: 3438459 Change-Id: Icd7f5f035510235f733a25c0621479d3e644b152
| * | libsysutils: Fix a file descriptor leak.David 'Digit' Turner2011-03-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The recent refactoring of the select() loop in SocketListener missed a close() of the file descriptor when the onDataAvailable() callback returns false. Change-Id: I767caefab4b98ab350f2db2497ee2bd630f20850
| * | libsysutils: Fix race condition in SocketListener thread.David 'Digit' Turner2011-03-221-26/+51
| | | | | | | | | | | | | | | | | | | | | | | | + Handle EINTR in accept(), write() and select() + Fix a memory leak when deleting the mClients list + Fix typo in SocketListener.h Change-Id: Ie68bb3e2dbefe0dfdaa22a5cd06a42dbc4c0f8aa
| * | libsysutils: Handle EINTR in SocketClient::sendData()David 'Digit' Turner2011-03-221-13/+29
| | | | | | | | | | | | | | | | | | + Improve allocation code in sendMsg(code,msg,addErrno) Change-Id: Ib5fe84bec1a167c369e7ba759acea395e832f6b5
| * | Permit 0 length writes.Brad Fitzpatrick2011-01-061-0/+4
| | | | | | | | | | | | Change-Id: I087d0074c8d9e13ce814187475966da94f693fc0
| * | Let SocketClient users write binary data to clients.Brad Fitzpatrick2011-01-061-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a dependency for the DNS proxy CLs. This CL also adds a new socket for the netd process to inherit which is owned by the inet group. (so only apps with the INTERNET permission can use the DNS proxy...) Change-Id: I8a51924e0ed56c6066f77e6f1b02d39bdadac51e
* | | libsysutils: do not build for TINY_ANDROIDBrian Swetland2011-01-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This depends on frameworks/... :-( Technically it doesn't belong in system/core at all, but of course there are things in system/core that depend on it, so for now we'll hack around this. Change-Id: I6aa437f18e1c09bd10fbd3333cf6998a0b6140c6