diff options
| author | Brad Fitzpatrick <bradfitz@android.com> | 2010-06-21 15:31:01 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-06-21 15:31:01 -0700 |
| commit | ef8f96a717554a85aa63a60f8c61be2afbd12a5c (patch) | |
| tree | 0a6550aabca59a3e91a5a3d88bdd5351ce14d043 /libs/binder/Parcel.cpp | |
| parent | d91ac98a8ead216b12af6df61d90229b74c7f0f6 (diff) | |
| parent | 27b3a7a75960d026655f3acd1de8a672e80a5776 (diff) | |
| download | frameworks_base-ef8f96a717554a85aa63a60f8c61be2afbd12a5c.zip frameworks_base-ef8f96a717554a85aa63a60f8c61be2afbd12a5c.tar.gz frameworks_base-ef8f96a717554a85aa63a60f8c61be2afbd12a5c.tar.bz2 | |
Merge "Start of work on passing around StrictMode policy over Binder calls." into gingerbread
Diffstat (limited to 'libs/binder/Parcel.cpp')
| -rw-r--r-- | libs/binder/Parcel.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index 00d2210..c2574bd 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp @@ -19,6 +19,7 @@ #include <binder/Parcel.h> +#include <binder/IPCThreadState.h> #include <binder/Binder.h> #include <binder/BpBinder.h> #include <utils/Debug.h> @@ -436,19 +437,22 @@ bool Parcel::hasFileDescriptors() const return mHasFds; } +// Write RPC headers. (previously just the interface token) status_t Parcel::writeInterfaceToken(const String16& interface) { + writeInt32(IPCThreadState::self()->getStrictModePolicy()); // currently the interface identification token is just its name as a string return writeString16(interface); } bool Parcel::checkInterface(IBinder* binder) const { - return enforceInterface(binder->getInterfaceDescriptor()); + return enforceInterface(binder->getInterfaceDescriptor()); } bool Parcel::enforceInterface(const String16& interface) const { + int32_t strict_policy = readInt32(); const String16 str(readString16()); if (str == interface) { return true; @@ -457,7 +461,7 @@ bool Parcel::enforceInterface(const String16& interface) const String8(interface).string(), String8(str).string()); return false; } -} +} const size_t* Parcel::objects() const { |
