mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +00:00
varlink: add varlink_get_peer_gid() helper
This commit is contained in:
parent
b3a8264831
commit
52bd61373b
|
@ -2807,12 +2807,29 @@ int varlink_get_peer_uid(Varlink *v, uid_t *ret) {
|
|||
return varlink_log_errno(v, r, "Failed to acquire credentials: %m");
|
||||
|
||||
if (!uid_is_valid(v->ucred.uid))
|
||||
return varlink_log_errno(v, SYNTHETIC_ERRNO(ENODATA), "Peer uid is invalid.");
|
||||
return varlink_log_errno(v, SYNTHETIC_ERRNO(ENODATA), "Peer UID is invalid.");
|
||||
|
||||
*ret = v->ucred.uid;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int varlink_get_peer_gid(Varlink *v, gid_t *ret) {
|
||||
int r;
|
||||
|
||||
assert_return(v, -EINVAL);
|
||||
assert_return(ret, -EINVAL);
|
||||
|
||||
r = varlink_acquire_ucred(v);
|
||||
if (r < 0)
|
||||
return varlink_log_errno(v, r, "Failed to acquire credentials: %m");
|
||||
|
||||
if (!gid_is_valid(v->ucred.gid))
|
||||
return varlink_log_errno(v, SYNTHETIC_ERRNO(ENODATA), "Peer GID is invalid.");
|
||||
|
||||
*ret = v->ucred.gid;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int varlink_get_peer_pid(Varlink *v, pid_t *ret) {
|
||||
int r;
|
||||
|
||||
|
|
|
@ -173,6 +173,7 @@ void* varlink_set_userdata(Varlink *v, void *userdata);
|
|||
void* varlink_get_userdata(Varlink *v);
|
||||
|
||||
int varlink_get_peer_uid(Varlink *v, uid_t *ret);
|
||||
int varlink_get_peer_gid(Varlink *v, gid_t *ret);
|
||||
int varlink_get_peer_pid(Varlink *v, pid_t *ret);
|
||||
int varlink_get_peer_pidref(Varlink *v, PidRef *ret);
|
||||
|
||||
|
|
Loading…
Reference in a new issue