Repository navigation
New package: noctalia-greeter-1.7.0 - #63053
BlackScorp wants to merge 1 commit into
Conversation
|
A new version (v1.7.0) of Noctalia Greeter is now available. Compiling with this template (adding libjxl-devel and changing the version to 1.7.0) for
succeeded and I tested the package briefly for my own system. |
deedbb4 to
15ea9b6
Compare
|
@juandmcr thanks for the hint, i updated the PR |
|
from local testing, noctalia-greeter's passwordless sync doesn't work with Void due to diff --git a/src/tools/passwordless_sync_policy.cpp b/src/tools/passwordless_sync_policy.cpp
index bfffee7..ba588af 100644
--- a/src/tools/passwordless_sync_policy.cpp
+++ b/src/tools/passwordless_sync_policy.cpp
@@ -46,6 +46,10 @@ namespace greeter::passwordless_sync {
constexpr std::size_t kMaximumUsers = 256;
constexpr std::size_t kMaximumUserNameLength = 256;
constexpr std::size_t kMaximumPathLength = 4096;
+ const uid_t kPolkitdUid = [] {
+ if (const struct passwd* pw = ::getpwnam("polkitd")) return pw->pw_uid;
+ return static_cast<uid_t>(-1);
+ }();
class UniqueFd {
public:
@@ -212,8 +216,8 @@ namespace greeter::passwordless_sync {
if (::stat(current.c_str(), &state) != 0) {
return setErrnoError(std::string("failed to inspect ") + std::string(description) + " directory", errorOut);
}
- if (!S_ISDIR(state.st_mode) || state.st_uid != 0 || (state.st_mode & (S_IWGRP | S_IWOTH)) != 0) {
- errorOut = std::string(description) + " must use a root-owned, non-user-writable directory chain";
+ if (!S_ISDIR(state.st_mode) || (state.st_uid != 0 && state.st_uid != kPolkitdUid) || (state.st_mode & (S_IWGRP | S_IWOTH)) != 0) {
+ errorOut = std::string(description) + " must use a root-owned or polkitd-owned, non-user-writable directory chain";
return false;
}
if (current == current.root_path()) {
@@ -432,7 +436,7 @@ namespace greeter::passwordless_sync {
if (::fstat(directory.get(), &state) != 0) {
return setErrnoError("failed to inspect the Polkit rules directory", errorOut);
}
- if (!S_ISDIR(state.st_mode) || state.st_uid != 0 || (state.st_mode & (S_IWGRP | S_IWOTH)) != 0) {
+ if (!S_ISDIR(state.st_mode) || (state.st_uid != 0 && state.st_uid != kPolkitdUid) || (state.st_mode & (S_IWGRP | S_IWOTH)) != 0) {
errorOut = "the Polkit rules directory has unsafe ownership or permissions";
return false;
} |
2837ba2 to
2f54bc7
Compare
Add the greeter with support for Void's polkitd-owned rules directory so passwordless appearance synchronization works while executable and policy paths remain restricted to root-owned directory chains.
2f54bc7 to
5e6d1ef
Compare
|
hi @Anidetrix thanks for pointing that out. i didnt use passwordless login. i added your patch but modified it slightly and squasched my pr. |
Testing the changes
./xbps-src pkg noctalia-greetercompleted successfully. With-Q, eight tests passed, one was skipped because EGL was unavailable, and the headless compositor test failed in the build environment.New package
Local build testing
x86_64-glibc.Related: #62968