History log of /frameworks/native/libs/binder/IServiceManager.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
273e144215bbe3042686577032e584c4ec701447 10-Apr-2017 Iliyan Malchev <malchev@google.com> IServiceManager: dump stack on blocked vndbinder requests

Dump the stack of the thread requesting a service over /dev/vndbinder,
when the requestor is blocked waiting on the service. This is very
helpful in identifying bugs in converting code to /dev/vndbinder.

Test: sailfish

Change-Id: Iaaf6a83df3465dd5b64cd83c19d8918cfa01d3d8
Signed-off-by: Iliyan Malchev <malchev@google.com>
/frameworks/native/libs/binder/IServiceManager.cpp
6456e4488d59c0568a1f29dc93b7beb472236086 06-Dec-2016 Andy Hung <hunga@google.com> IServiceManager: Improve getService responsiveness in absence of service

Now blocks for 4 seconds worst case instead of 5 seconds.
Some android devices may not have all the normal android phone services.

Test: Wear device on feldspar-dev
Bug: 33086228
Change-Id: Id83fc8cd6b657b53ef78823a460d5fba4a522ab4
/frameworks/native/libs/binder/IServiceManager.cpp
e2347b7953f70232541bdc1b392230d6231aaeb9 26-Apr-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings.

Bug: 28341362
Change-Id: I0ce850de85e0de6a5472dd142f738856142db9ec
/frameworks/native/libs/binder/IServiceManager.cpp
8282342215156d77d27fdf10c34a982bf54e66bf 14-Apr-2016 Jorge Lucangeli Obes <jorgelo@google.com> Run 'nativeperms', remove Brillo #ifdef.

Bug: 25663983
Change-Id: I5b9f9747695d75f84bdfb61f90d28e0e5fee612c
/frameworks/native/libs/binder/IServiceManager.cpp
c2832705373b1ba058aafa6064f6ebd30ac6ee48 13-Oct-2015 Daniel Erat <derat@google.com> libbinder: Stub out checkPermissions() on Brillo.

When BRILLO is defined at build-time, avoid checking
permissions with ActivityManager (which isn't built for
Brillo).

Bug: 24907738
Change-Id: I8e277fe45d73d551e3a8ab41bd9dfa2535967522
/frameworks/native/libs/binder/IServiceManager.cpp
1835c85fb4367dc75e79571081f2919a1ea1e301 15-Sep-2015 Daniel Erat <derat@google.com> Remove BnServiceManager.

As far as I can tell (e.g. https://goo.gl/nxpFBZ from 2009),
BnServiceManager is unused. It's only relevant for
libbinder-based C++ daemons implementing the
IServiceManager.aidl interface. service_manager.c rolls its
own binder code instead.

Change-Id: I837a897d8a201b04bf3ff65c87b0d35d10196199
/frameworks/native/libs/binder/IServiceManager.cpp
097ca275f4717a2c47a5d49f302ed2b72c8a1370 14-Nov-2014 Marco Nelissen <marcone@google.com> Replace IInterface::asBinder() with a static

so we can do NULL checks again, and update calls to IInterface::asBinder()
to use the new static version.

Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a
/frameworks/native/libs/binder/IServiceManager.cpp
317ff37cf79d31170fa7320f0ba5ded1ec043e4c 29-May-2014 Mark Salyzyn <salyzyn@google.com> binder: rm utils/Debug.h

Change-Id: I16931919a26c16a0d701771c93fa7fe1c6f60ef8
/frameworks/native/libs/binder/IServiceManager.cpp
a7b0f04aaf7f04a9617dbbc839b1aaa6f20ca6d6 19-Jun-2013 Todd Poynor <toddpoynor@google.com> defaultServiceManager wait for service manager ready

If the service manager is not ready when we attempt to create a local
proxy, fail and retry.

Change-Id: I7d7300bc07cd70608793479aa3da282d066da7f6
/frameworks/native/libs/binder/IServiceManager.cpp
a94f129a7bbaa8ea45c50e49ba3e6127ca2a15ec 10-Feb-2012 Dianne Hackborn <hackbod@google.com> Some hardening of isolated processes by restricting access to services.

Services now must explicitly opt in to being accessed by isolated
processes. Currently only the activity manager and surface flinger
allow this. Activity manager is needed so that we can actually
bring up the process; SurfaceFlinger is needed to be able to get the
display information for creating the Configuration. The SurfaceFlinger
should be safe because the app doesn't have access to the window
manager so can't actually get a surface to do anything with.

The activity manager now protects most of its entry points against
isolated processes.

Change-Id: I0dad8cb2c873575c4c7659c3c2a7eda8e98f46b0
/frameworks/native/libs/binder/IServiceManager.cpp
32397c1cd3327905173b36baa6fd1c579bc328ff 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
/frameworks/native/libs/binder/IServiceManager.cpp
a19954ab377b46dbcb9cbe8a6ab6d458f2e32bca 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
/frameworks/native/libs/binder/IServiceManager.cpp
837a0d0fb2c3fba8082d47d04cb6120af1eb9a54 14-Jul-2010 Brad Fitzpatrick <bradfitz@android.com> Add Parcel::readExceptionCode() and Parcel::writeNoException()

Add native Parcel methods analogous to the Java versions.

Currently, these don't do much, but upcoming StrictMode work changes
the RPC calling conventions in some cases, so it's important that
everybody uses these consistently, rather than having a lot of code
trying to parse RPC responses out of Parcels themselves.

As a summary, the current convention that Java Binder services use is
to prepend the reply Parcel with an int32 signaling the exception
status:

0: no exception
-1: Security exception
-2: Bad Parcelable
-3: ...
-4: ...
-5: ...

... followed by Parceled String if the exception code is non-zero.

With an upcoming change, it'll be the case that a response Parcel can,
non-exceptionally return rich data in the header, and also return data
to the caller. The important thing to note in this new case is that
the first int32 in the reply parcel *will not be zero*, so anybody
manually checking for it with reply.readInt32() will get false
negative failures.

Short summary: If you're calling into a Java service and manually
checking the exception status with reply.readInt32(), change it to
reply.readExceptionCode().

Change-Id: I23f9a0e53a8cfbbd9759242cfde16723641afe04
/frameworks/native/libs/binder/IServiceManager.cpp
702ea9d42f52fc145090c0f0bfbe64993e4b8b33 18-Jun-2010 Brad Fitzpatrick <bradfitz@android.com> Start of work on passing around StrictMode policy over Binder calls.

This is (intendend to be) a no-op change.

At this stage, Binder RPCs just have an additional uint32 passed around
in the header, right before the interface name. But nothing is actually
done with them yet. That value should right now always be 0.

This now boots and seems to work.

Change-Id: I135b7c84f07575e6b9717fef2424d301a450df7b
/frameworks/native/libs/binder/IServiceManager.cpp
375f56363a8737119ce2222dcfaacbe1cf733fc0 16-Jun-2009 Mathias Agopian <mathias@google.com> new Permission class used to improve permission checks speed (by caching results)
/frameworks/native/libs/binder/IServiceManager.cpp
83c0446f27b9542d6c2e724817b2b2d8d1f55085 23-May-2009 Mathias Agopian <mathias@google.com> some work to try to reduce the code size of some native libraries

- make sure that all binder Bn classes define a ctor and dtor in their respective library.
This avoids duplication of the ctor/dtor in libraries where these objects are instantiated.
This is also cleaner, should we want these ctor/dtor to do something one day.

- same change as above for some Bp classes and various other non-binder classes

- moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere.

- improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere

- IBinder::getInterfaceDescriptor() now returns a "const String16&" instead of String16, which saves calls to String16 and ~String16

- implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called.
The cache makes BpBinder bigger, so we need to figure out if we need this method at all.
/frameworks/native/libs/binder/IServiceManager.cpp
c5b2c0bf8007562536b822eb060fc54a01f8e08b 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
/frameworks/native/libs/binder/IServiceManager.cpp
208059f67ed2dd9fa025e07fcb6954d3cb61c79e 19-May-2009 Mathias Agopian <mathias@google.com> checkpoint: split libutils into libutils + libbinder
/frameworks/native/libs/binder/IServiceManager.cpp