mirror of
https://github.com/systemd/systemd
synced 2026-03-16 18:14:46 +01:00
Compare commits
3 Commits
a9859a62f1
...
db4b6b7043
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db4b6b7043 | ||
|
|
89065ada83 | ||
|
|
81a43a44eb |
@ -31,6 +31,7 @@ Packages=
|
|||||||
iproute
|
iproute
|
||||||
iputils
|
iputils
|
||||||
knot
|
knot
|
||||||
|
libucontext
|
||||||
linux
|
linux
|
||||||
man-db
|
man-db
|
||||||
multipath-tools
|
multipath-tools
|
||||||
|
|||||||
@ -43,6 +43,7 @@ Packages=
|
|||||||
kernel-core
|
kernel-core
|
||||||
knot
|
knot
|
||||||
libcap-ng-utils
|
libcap-ng-utils
|
||||||
|
libucontext
|
||||||
man-db
|
man-db
|
||||||
nmap-ncat
|
nmap-ncat
|
||||||
openssh-clients
|
openssh-clients
|
||||||
|
|||||||
@ -10,3 +10,4 @@ Packages=
|
|||||||
diffutils
|
diffutils
|
||||||
erofs-utils
|
erofs-utils
|
||||||
git
|
git
|
||||||
|
libucontext
|
||||||
|
|||||||
@ -12,5 +12,6 @@ Packages=
|
|||||||
git-core
|
git-core
|
||||||
libasan
|
libasan
|
||||||
libubsan
|
libubsan
|
||||||
|
libucontext-devel
|
||||||
rpm-build
|
rpm-build
|
||||||
which
|
which
|
||||||
|
|||||||
@ -10,6 +10,7 @@ Packages=
|
|||||||
clang-tools-extra
|
clang-tools-extra
|
||||||
github-cli
|
github-cli
|
||||||
lcov
|
lcov
|
||||||
|
libucontext
|
||||||
mypy
|
mypy
|
||||||
pkgconf
|
pkgconf
|
||||||
ruff
|
ruff
|
||||||
|
|||||||
@ -12,4 +12,5 @@ Packages=
|
|||||||
rpm-build
|
rpm-build
|
||||||
libasan
|
libasan
|
||||||
libubsan
|
libubsan
|
||||||
|
libucontext-devel
|
||||||
compiler-rt
|
compiler-rt
|
||||||
|
|||||||
@ -432,7 +432,7 @@ static int handle_generic_user_record_error(
|
|||||||
|
|
||||||
assert(secret);
|
assert(secret);
|
||||||
|
|
||||||
(void) pam_prompt_graceful(pamh, PAM_ERROR_MSG, NULL, _("Please authenticate physically on security token of user %s."), user_name);
|
(void) pam_prompt_graceful(pamh, PAM_TEXT_INFO, NULL, _("Please authenticate physically on security token of user %s."), user_name);
|
||||||
|
|
||||||
r = user_record_set_pkcs11_protected_authentication_path_permitted(secret, true);
|
r = user_record_set_pkcs11_protected_authentication_path_permitted(secret, true);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
@ -443,7 +443,7 @@ static int handle_generic_user_record_error(
|
|||||||
|
|
||||||
assert(secret);
|
assert(secret);
|
||||||
|
|
||||||
(void) pam_prompt_graceful(pamh, PAM_ERROR_MSG, NULL, _("Please confirm presence on security token of user %s."), user_name);
|
(void) pam_prompt_graceful(pamh, PAM_TEXT_INFO, NULL, _("Please confirm presence on security token of user %s."), user_name);
|
||||||
|
|
||||||
r = user_record_set_fido2_user_presence_permitted(secret, true);
|
r = user_record_set_fido2_user_presence_permitted(secret, true);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
@ -454,7 +454,7 @@ static int handle_generic_user_record_error(
|
|||||||
|
|
||||||
assert(secret);
|
assert(secret);
|
||||||
|
|
||||||
(void) pam_prompt_graceful(pamh, PAM_ERROR_MSG, NULL, _("Please verify user on security token of user %s."), user_name);
|
(void) pam_prompt_graceful(pamh, PAM_TEXT_INFO, NULL, _("Please verify user on security token of user %s."), user_name);
|
||||||
|
|
||||||
r = user_record_set_fido2_user_verification_permitted(secret, true);
|
r = user_record_set_fido2_user_verification_permitted(secret, true);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
#include "alloc-util.h"
|
#include "alloc-util.h"
|
||||||
#include "async.h"
|
#include "async.h"
|
||||||
#include "dirent-util.h"
|
#include "dirent-util.h"
|
||||||
|
#include "errno-util.h"
|
||||||
#include "fd-util.h"
|
#include "fd-util.h"
|
||||||
#include "fdset.h"
|
#include "fdset.h"
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
@ -179,9 +180,10 @@ int fdset_new_fill(
|
|||||||
d = opendir("/proc/self/fd");
|
d = opendir("/proc/self/fd");
|
||||||
if (!d) {
|
if (!d) {
|
||||||
if (errno == ENOENT && proc_mounted() == 0)
|
if (errno == ENOENT && proc_mounted() == 0)
|
||||||
return -ENOSYS;
|
return log_debug_errno(SYNTHETIC_ERRNO(ENOSYS),
|
||||||
|
"Failed to open /proc/self/fd/, /proc/ is not mounted.");
|
||||||
|
|
||||||
return -errno;
|
return log_debug_errno(errno, "Failed to open /proc/self/fd/: %m ");
|
||||||
}
|
}
|
||||||
|
|
||||||
s = fdset_new();
|
s = fdset_new();
|
||||||
@ -210,9 +212,14 @@ int fdset_new_fill(
|
|||||||
* been passed in can be collected and fds which have been created locally can be
|
* been passed in can be collected and fds which have been created locally can be
|
||||||
* ignored, under the assumption that only the latter have O_CLOEXEC set. */
|
* ignored, under the assumption that only the latter have O_CLOEXEC set. */
|
||||||
|
|
||||||
fl = fcntl(fd, F_GETFD);
|
fl = RET_NERRNO(fcntl(fd, F_GETFD));
|
||||||
if (fl < 0)
|
if (fl < 0) {
|
||||||
return -errno;
|
_cleanup_free_ char *path = NULL;
|
||||||
|
(void) fd_get_path(fd, &path);
|
||||||
|
return log_debug_errno(fl,
|
||||||
|
"Failed to get flag of fd=%d (%s): %m ",
|
||||||
|
fd, strna(path));
|
||||||
|
}
|
||||||
|
|
||||||
if (FLAGS_SET(fl, FD_CLOEXEC) != !!filter_cloexec)
|
if (FLAGS_SET(fl, FD_CLOEXEC) != !!filter_cloexec)
|
||||||
continue;
|
continue;
|
||||||
@ -221,13 +228,23 @@ int fdset_new_fill(
|
|||||||
/* We need to set CLOEXEC manually only if we're collecting non-CLOEXEC fds. */
|
/* We need to set CLOEXEC manually only if we're collecting non-CLOEXEC fds. */
|
||||||
if (filter_cloexec <= 0) {
|
if (filter_cloexec <= 0) {
|
||||||
r = fd_cloexec(fd, true);
|
r = fd_cloexec(fd, true);
|
||||||
if (r < 0)
|
if (r < 0) {
|
||||||
return r;
|
_cleanup_free_ char *path = NULL;
|
||||||
|
(void) fd_get_path(fd, &path);
|
||||||
|
return log_debug_errno(r,
|
||||||
|
"Failed to set CLOEXEC flag fd=%d (%s): %m ",
|
||||||
|
fd, strna(path));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
r = fdset_put(s, fd);
|
r = fdset_put(s, fd);
|
||||||
if (r < 0)
|
if (r < 0) {
|
||||||
return r;
|
_cleanup_free_ char *path = NULL;
|
||||||
|
(void) fd_get_path(fd, &path);
|
||||||
|
return log_debug_errno(r,
|
||||||
|
"Failed to put fd=%d (%s) into fdset: %m ",
|
||||||
|
fd, strna(path));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*ret = TAKE_PTR(s);
|
*ret = TAKE_PTR(s);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user