Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(448)

Unified Diff: net/socket/unix_domain_server_socket_posix.cc

Issue 382143005: Supports DevTools socket access authentication based on Android permissions. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Packing parameters to a stucture Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/socket/unix_domain_server_socket_posix.cc
diff --git a/net/socket/unix_domain_server_socket_posix.cc b/net/socket/unix_domain_server_socket_posix.cc
index 8f2f2d6de2f01e4bffa0758b22edea5c96489455..551889cc28af2dff757150b49d9ecd21d3540c36 100644
--- a/net/socket/unix_domain_server_socket_posix.cc
+++ b/net/socket/unix_domain_server_socket_posix.cc
@@ -29,18 +29,19 @@ UnixDomainServerSocket::~UnixDomainServerSocket() {
// static
bool UnixDomainServerSocket::GetPeerIds(SocketDescriptor socket,
- uid_t* user_id,
- gid_t* group_id) {
+ Credentials* credentials) {
#if defined(OS_LINUX) || defined(OS_ANDROID)
struct ucred user_cred;
socklen_t len = sizeof(user_cred);
if (getsockopt(socket, SOL_SOCKET, SO_PEERCRED, &user_cred, &len) < 0)
return false;
- *user_id = user_cred.uid;
- *group_id = user_cred.gid;
+ credentials->process_id = user_cred.pid;
+ credentials->user_id = user_cred.uid;
+ credentials->group_id = user_cred.gid;
return true;
#else
- return getpeereid(socket, user_id, group_id) == 0;
+ return getpeereid(socket,
+ &credentials->user_id, &credentials->group_id) == 0;
byungchul 2014/08/04 22:18:02 wrong indentation
SeRya 2014/08/05 10:32:27 Done.
#endif
}
@@ -130,10 +131,9 @@ bool UnixDomainServerSocket::AuthenticateAndGetStreamSocket(
scoped_ptr<StreamSocket>* socket) {
DCHECK(accept_socket_);
- uid_t user_id;
- gid_t group_id;
- if (!GetPeerIds(accept_socket_->socket_fd(), &user_id, &group_id) ||
- !auth_callback_.Run(user_id, group_id)) {
+ Credentials credentials;
+ if (!GetPeerIds(accept_socket_->socket_fd(), &credentials) ||
+ !auth_callback_.Run(credentials)) {
accept_socket_.reset();
return false;
}

Powered by Google App Engine
This is Rietveld 408576698