Merge pull request #9783 from poettering/get-user-creds-flags
beef up get_user_creds() a bit and other improvements
This commit is contained in:
@@ -60,7 +60,7 @@ static int netdev_tuntap_add(NetDev *netdev, struct ifreq *ifr) {
|
||||
assert(netdev);
|
||||
assert(ifr);
|
||||
|
||||
fd = open(TUN_DEV, O_RDWR);
|
||||
fd = open(TUN_DEV, O_RDWR|O_CLOEXEC);
|
||||
if (fd < 0)
|
||||
return log_netdev_error_errno(netdev, -errno, "Failed to open tun dev: %m");
|
||||
|
||||
@@ -75,10 +75,9 @@ static int netdev_tuntap_add(NetDev *netdev, struct ifreq *ifr) {
|
||||
assert(t);
|
||||
|
||||
if (t->user_name) {
|
||||
|
||||
user = t->user_name;
|
||||
|
||||
r = get_user_creds(&user, &uid, NULL, NULL, NULL);
|
||||
r = get_user_creds(&user, &uid, NULL, NULL, NULL, USER_CREDS_ALLOW_MISSING);
|
||||
if (r < 0)
|
||||
return log_netdev_error_errno(netdev, r, "Cannot resolve user name %s: %m", t->user_name);
|
||||
|
||||
@@ -87,10 +86,9 @@ static int netdev_tuntap_add(NetDev *netdev, struct ifreq *ifr) {
|
||||
}
|
||||
|
||||
if (t->group_name) {
|
||||
|
||||
group = t->group_name;
|
||||
|
||||
r = get_group_creds(&group, &gid);
|
||||
r = get_group_creds(&group, &gid, USER_CREDS_ALLOW_MISSING);
|
||||
if (r < 0)
|
||||
return log_netdev_error_errno(netdev, r, "Cannot resolve group name %s: %m", t->group_name);
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ int main(int argc, char *argv[]) {
|
||||
goto out;
|
||||
}
|
||||
|
||||
r = get_user_creds(&user, &uid, &gid, NULL, NULL);
|
||||
r = get_user_creds(&user, &uid, &gid, NULL, NULL, 0);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Cannot resolve user name %s: %m", user);
|
||||
goto out;
|
||||
|
||||
Reference in New Issue
Block a user