libcutils: lose socket_peer_is_trusted to ART, the only user.

Bug: N/A
Test: builds
Change-Id: I599270729c2037b2c06d7906a5e5f7362fbbaf08
This commit is contained in:
Elliott Hughes 2018-10-25 13:24:08 -07:00
parent 48a0e186a7
commit 396bf2109a
2 changed files with 1 additions and 43 deletions

View file

@ -14,8 +14,7 @@
* limitations under the License.
*/
#ifndef __CUTILS_SOCKETS_H
#define __CUTILS_SOCKETS_H
#pragma once
#include <errno.h>
#include <limits.h>
@ -141,19 +140,6 @@ ssize_t socket_send_buffers(cutils_socket_t sock,
const cutils_socket_buffer_t* buffers,
size_t num_buffers);
/*
* socket_peer_is_trusted - Takes a socket which is presumed to be a
* connected local socket (e.g. AF_LOCAL) and returns whether the peer
* (the userid that owns the process on the other end of that socket)
* is one of the two trusted userids, root or shell.
*
* Note: This only works as advertised on the Android OS and always
* just returns true when called on other operating systems.
*/
extern bool socket_peer_is_trusted(int fd);
#ifdef __cplusplus
}
#endif
#endif /* __CUTILS_SOCKETS_H */

View file

@ -32,34 +32,6 @@
#include "android_get_control_env.h"
#if defined(__ANDROID__)
/* For the socket trust (credentials) check */
#include <private/android_filesystem_config.h>
#define __android_unused
#else
#define __android_unused __attribute__((__unused__))
#endif
bool socket_peer_is_trusted(int fd __android_unused) {
#if defined(__ANDROID__)
ucred cr;
socklen_t len = sizeof(cr);
int n = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &cr, &len);
if (n != 0) {
ALOGE("could not get socket credentials: %s\n", strerror(errno));
return false;
}
if ((cr.uid != AID_ROOT) && (cr.uid != AID_SHELL)) {
ALOGE("untrusted userid on other end of socket: userid %d\n", cr.uid);
return false;
}
#endif
return true;
}
int socket_close(int sock) {
return close(sock);
}