| Index: content/browser/android/devtools_auth.cc
|
| diff --git a/content/browser/android/devtools_auth.cc b/content/browser/android/devtools_auth.cc
|
| index 777a01e00b0b6e9a20e855fda9e04db3c35528b9..46314c447684882ea3369eb2985747bfe14b63a6 100644
|
| --- a/content/browser/android/devtools_auth.cc
|
| +++ b/content/browser/android/devtools_auth.cc
|
| @@ -4,23 +4,28 @@
|
|
|
| #include "content/public/browser/android/devtools_auth.h"
|
|
|
| -#include <unistd.h>
|
| +#include <pwd.h>
|
| #include <sys/types.h>
|
| +#include <unistd.h>
|
|
|
| #include "base/logging.h"
|
|
|
| namespace content {
|
|
|
| -bool CanUserConnectToDevTools(uid_t uid, gid_t gid) {
|
| - struct passwd* creds = getpwuid(uid);
|
| +bool CanUserConnectToDevTools(
|
| + const net::UnixDomainServerSocket::Credentials& credentials) {
|
| + struct passwd* creds = getpwuid(credentials.user_id);
|
| if (!creds || !creds->pw_name) {
|
| - LOG(WARNING) << "DevTools: can't obtain creds for uid " << uid;
|
| + LOG(WARNING) << "DevTools: can't obtain creds for uid "
|
| + << credentials.user_id;
|
| return false;
|
| }
|
| - if (gid == uid &&
|
| + if (credentials.group_id == credentials.user_id &&
|
| (strcmp("root", creds->pw_name) == 0 || // For rooted devices
|
| strcmp("shell", creds->pw_name) == 0 || // For non-rooted devices
|
| - uid == getuid())) { // From processes signed with the same key
|
| +
|
| + // From processes signed with the same key
|
| + credentials.user_id == getuid())) {
|
| return true;
|
| }
|
| LOG(WARNING) << "DevTools: connection attempt from " << creds->pw_name;
|
|
|