mirror of
https://github.com/systemd/systemd.git
synced 2024-12-23 21:35:11 +03:00
Revert "Handle Unix domain socket connections from outside our namespace"
This reverts commit 9754d56e9b
.
It causes a crash in PID1:
Apr 19 13:49:32 lon systemd[1]: Code should not be reached 'Unhandled socket type.'
at src/core/socket.c:684, function instance_from_socket(). Aborting.
Apr 19 13:49:32 lon systemd[1]: Caught <ABRT>, dumped core as pid 336.
Apr 19 13:49:32 lon systemd[1]: Freezing execution.
This commit is contained in:
parent
a606871da5
commit
2f20a8ebdb
@ -663,21 +663,17 @@ static int instance_from_socket(int fd, unsigned nr, char **instance) {
|
||||
int k;
|
||||
|
||||
k = getpeercred(fd, &ucred);
|
||||
if (k >= 0) {
|
||||
if (asprintf(&r,
|
||||
"%u-"PID_FMT"-"UID_FMT,
|
||||
nr, ucred.pid, ucred.uid) < 0)
|
||||
return -ENOMEM;
|
||||
} else if (k == -ENODATA) {
|
||||
/* This handles the case where somebody is
|
||||
* connecting from another pid/uid namespace
|
||||
* (e.g. from outside of our container). */
|
||||
if (asprintf(&r,
|
||||
"%u-unknown",
|
||||
nr) < 0)
|
||||
return -ENOMEM;
|
||||
} else
|
||||
if (k < 0)
|
||||
return k;
|
||||
|
||||
if (asprintf(&r,
|
||||
"%u-%lu-%lu",
|
||||
nr,
|
||||
(unsigned long) ucred.pid,
|
||||
(unsigned long) ucred.uid) < 0)
|
||||
return -ENOMEM;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user