summaryrefslogtreecommitdiffstats
path: root/libsysutils
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | libsysutils: Fix a file descriptor leak.David 'Digit' Turner2011-01-211-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: Handle EINTR in FrameworkClient.cppDavid 'Digit' Turner2011-01-191-4/+6
| | | | | | | | | | | | | | | | | | + get rid of strcpy + strcat calls. Change-Id: I47778f3d14aa961474648cddf6510b761f124e74
* | | libsysutils: Fix potential overwrites in FrameworkListenerDavid 'Digit' Turner2011-01-191-5/+25
| | | | | | | | | | | | | | | | | | + Handle EINTR in read() Change-Id: If7d486dd4fb5666ce16ef36dca5f417da23e0b73
* | | libsysutils: Fix race condition in SocketListener thread.David 'Digit' Turner2011-01-191-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-01-191-13/+29
| | | | | | | | | | | | | | | | | | + Improve allocation code in sendMsg(code,msg,addErrno) Change-Id: Ib5fe84bec1a167c369e7ba759acea395e832f6b5
* | | libsysutils: Fix wait loop in ServiceManager::start and ::stopDavid 'Digit' Turner2011-01-191-12/+54
| | | | | | | | | | | | | | | | | | Also check the service name length. Change-Id: Iffb82aa9e71dd96c85c05c4e2016930f4847c1e8
* | | libsysutils: Handle EINTR in NetlinkListenerDavid 'Digit' Turner2011-01-191-1/+2
| | | | | | | | | | | | Change-Id: Id881a9ca0f0e54f7c78b3609120bedec00d6671c
* | | libsysutils: Fix NetLinkEvent security issues.David 'Digit' Turner2011-01-191-15/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issues were the following: - The code in decode() didn't handle the degenerate case where the input buffer is full of '@' - The code in decode() assumed the input buffer is properly zero-terminated. - The code in decode() would not check that it doesn't overwrite the mParams[] array. - The code in findParam() would check mParams[i] before checking the value of 'i' Also remove un-necessary calls to strlen() at runtime. Change-Id: I8acead959bd10d97c5380b08958fcb796248a010
* | | Add missing headers for compilation on x86 targetsOlivier Bailly2010-11-172-0/+2
| | | | | | | | | | | | Change-Id: I5f4dc797b353a0f01fa00d38375ec303bf863254
* | | Permit 0 length writes.Brad Fitzpatrick2010-11-021-0/+4
| | | | | | | | | | | | Change-Id: I087d0074c8d9e13ce814187475966da94f693fc0
* | | Let SocketClient users write binary data to clients.Brad Fitzpatrick2010-10-271-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: Ic3475c697913ba85805b4e49801b65e7a1d59289
* | am 6fd75635: Merge "Fetch peer credentials for local sockets" into gingerbreadKenny Root2010-09-141-2/+18
|\ \ | |/ | | | | | | | | | | Merge commit '6fd75635d820754295557c300ccee89c643864cc' into gingerbread-plus-aosp * commit '6fd75635d820754295557c300ccee89c643864cc': Fetch peer credentials for local sockets
| * Fetch peer credentials for local socketsKenny Root2010-09-141-2/+18
| | | | | | | | | | | | | | Fetch the PID, UID, and GID of the remote side of a local socket connection in case any users of this library class want to check it. Change-Id: Ia3230e6bc68ab6f93160df9f5996d2bf744b872c
* | am 40c2b7cb: Merge "Add missing lock in SocketListener." into gingerbreadBrad Fitzpatrick2010-09-141-0/+1
|\ \ | |/ | | | | | | | | | | Merge commit '40c2b7cbedff612ce8bc7a51589a952cc1d047b6' into gingerbread-plus-aosp * commit '40c2b7cbedff612ce8bc7a51589a952cc1d047b6': Add missing lock in SocketListener.
| * Merge "Add missing lock in SocketListener." into gingerbreadBrad Fitzpatrick2010-09-141-0/+1
| |\
| | * Add missing lock in SocketListener.Brad Fitzpatrick2010-09-141-0/+1
| | | | | | | | | | | | Change-Id: I3d97a06381fce67ef13b1ccdeaa4e8e2830ab2aa
* | | am f31d2ed1: Return false on socket read errorKenny Root2010-09-141-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | Merge commit 'f31d2ed1fd3a39a92bccc12eb66728594290ef3b' into gingerbread-plus-aosp * commit 'f31d2ed1fd3a39a92bccc12eb66728594290ef3b': Return false on socket read error
| * | Return false on socket read errorKenny Root2010-09-141-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | FrameworkListener was returning the errno from a function marked as returning bool which caused an implicit conversion to true since we were in an error block where errno was set to something non-zero. This caused the clients that had errors to stick around forever and not get removed from the set of file descriptors that SocketListener was listening to. Change-Id: Ia27a4cac47459f3a3c2bb6a7f66803a3165c894a
* | libsysutils: reimplement NetlinkEvent::findParam in the proper wayChih-Wei Huang2010-07-141-7/+5
|/ | | | | | | | The original implementation can not find correct parameters for certain cases. For example, if you have both foo_bar and foo, try to find foo may be mismatched. The correct way is to match with "=". Change-Id: I403b1a7b889583a57a4f3a14e575181ce93b10ff
* system/core: Switch libsysutils & sched_policy LOG -> SLOGSan Mehat2010-03-258-30/+30
| | | | | Change-Id: Id74c6895a8012c5915f2e259339101844de7c085 Signed-off-by: San Mehat <san@google.com>
* sysutils: Add dump() to NetlinkEventSan Mehat2009-12-241-0/+10
| | | | Signed-off-by: San Mehat <san@google.com>
* merge from open-source masterJean-Baptiste Queru2009-10-142-4/+4
|\
| * libsysutils: Fix some bugs in NetlinkListener and NetlinkEventSan Mehat2009-10-102-4/+4
| | | | | | | | Signed-off-by: San Mehat <san@android.com>
* | nexus: Rollup update for nexusSan Mehat2009-07-102-16/+103
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nexus: Change field separator from : to ' ' Signed-off-by: San Mehat <san@google.com> nexus: Add some prototypes for stuff to come Signed-off-by: San Mehat <san@google.com> nexus: Add some TODOs Signed-off-by: San Mehat <san@google.com> libsysutils: Put a proper token parser into the FrameworkListener which supports minimal \ escapes and quotes Signed-off-by: San Mehat <san@google.com> nexus: Fix a lot of bugs Signed-off-by: San Mehat <san@google.com> libsysutils: Remove some debugging Signed-off-by: San Mehat <san@google.com> nexus: Send broadcasts for supplicant state changes Signed-off-by: San Mehat <san@google.com> nexus: Plumb DHCP listener state changes to NetworkManager Signed-off-by: San Mehat <san@google.com> nexus: Make the SupplicantState strings more parsable Signed-off-by: San Mehat <san@google.com> nexus: Broadcast a message when dhcp state changes. Signed-off-by: San Mehat <san@google.com> nexus: Add a few new response codes Signed-off-by: San Mehat <san@google.com> nexus: Rename ErrorCode -> ResponseCode Signed-off-by: San Mehat <san@google.com> nexus: Add DHCP event broadcasting. Also adds the framework for tracking supplicant 'searching-for-AP' state Signed-off-by: San Mehat <san@google.com> nexus: REmove WifiScanner Signed-off-by: San Mehat <san@google.com> nexus: Change the way scanning works. scanmode can now be selected independantly of triggering a scan. Also adds rxfilter support Signed-off-by: San Mehat <san@google.com> nexus: Add support for configuring bluetooth coexistence scanning and modes Signed-off-by: San Mehat <san@google.com> nexus: use case insensitive match for property names Signed-off-by: San Mehat <san@google.com> nexus: Rollup of a bunch of stuff: - 'list' command now takes an argument to match against - InterfaceConfig has been moved into the Controller base (for now) - DhcpClient now has some rudimentry locking - process 'ADDRINFO' messages from dhcpcd - Drop tertiary dns Signed-off-by: San Mehat <san@google.com> nexus: Clean up some of the supplicant variable parsing and add 'wifi.current' Signed-off-by: San Mehat <san@google.com> nexus: Add driver-stop/start, initial suspend support Signed-off-by: San Mehat <san@google.com> nexus: Add Controller suspend/resume callbacks, as well as locking Signed-off-by: San Mehat <san@google.com> nexus: Make ARP probing configurable for DhcpClient Signed-off-by: San Mehat <san@google.com> nexus: Add linkspeed / rssi retrieval Signed-off-by: San Mehat <san@google.com> nexus: Add WifiStatusPoller to track RSSI/linkspeed when associated Signed-off-by: San Mehat <san@google.com> nexus: Disable some debugging and add 'wifi.netcount' property Signed-off-by: San Mehat <san@google.com> nexus: Replace the hackish property system with something more flexible with namespaces Signed-off-by: San Mehat <san@google.com> libsysutils: Fix a few bugs in SocketListener Signed-off-by: San Mehat <san@google.com> nexus: PropertyManager: Add array support Signed-off-by: San Mehat <san@google.com> nexus: Clean up properties Signed-off-by: San Mehat <san@google.com> nexus: WifiController: Change name of 'CurrentNetwork' property Signed-off-by: San Mehat <san@google.com>