- Remove SIGUSR1 unlock handler (unauthenticated unlock vector) - Sanitize LD_PRELOAD (discard inherited environment) - Refuse to run as root - Validate D-Bus signal sender against fprintd proxy owner - Pass bytearray (not str) to PAM conversation callback for wipeable password - Resolve libc before returning CFUNCTYPE callback - Bundle fingerprint success idle_add into single atomic callback - Add running/device_proxy guards to VerifyStart retries with error handling - Add fingerprint attempt counter (max 10 before disabling) - Add power button confirmation dialog (inline yes/cancel) - Move fingerprint D-Bus init before session lock to avoid mainloop blocking - Resolve wallpaper path once, share across all monitor windows - Document faillock as UI-only (pam_faillock handles real brute-force protection) - Fix type hints (Callable), remove dead import (c_char), fix import order
31 lines
596 B
TOML
31 lines
596 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "moonlock"
|
|
version = "0.3.0"
|
|
description = "A secure Wayland lockscreen with GTK4, PAM and fingerprint support"
|
|
requires-python = ">=3.11"
|
|
license = "MIT"
|
|
dependencies = [
|
|
"PyGObject>=3.46",
|
|
]
|
|
|
|
[project.scripts]
|
|
moonlock = "moonlock.main:main"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/moonlock"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
pythonpath = ["src"]
|
|
|
|
[tool.pyright]
|
|
pythonVersion = "3.11"
|
|
pythonPlatform = "Linux"
|
|
venvPath = "."
|
|
venv = ".venv"
|
|
typeCheckingMode = "standard"
|