mirror of
https://github.com/swaywm/sway.git
synced 2024-12-29 16:36:26 +01:00
c89e00a97e
Today I learned that GNU flaunts the POSIX standard in yet another creative way. Additionally, this adds some security improvements, namely: - Zeroing out password buffers in the privileged child process - setuid/setgid after reading /etc/shadow
55 lines
1 KiB
Meson
55 lines
1 KiB
Meson
sysconfdir = get_option('sysconfdir')
|
|
|
|
dependencies = [
|
|
cairo,
|
|
client_protos,
|
|
gdk_pixbuf,
|
|
math,
|
|
pango,
|
|
pangocairo,
|
|
xkbcommon,
|
|
wayland_client,
|
|
wlroots,
|
|
]
|
|
|
|
sources = [
|
|
'main.c',
|
|
'password.c',
|
|
'render.c',
|
|
'seat.c'
|
|
]
|
|
|
|
if libpam.found()
|
|
sources += ['pam.c']
|
|
dependencies += [libpam]
|
|
else
|
|
warning('The swaylock binary must be setuid when compiled without libpam')
|
|
warning('You must do this manually post-install: chmod a+s /path/to/swaylock')
|
|
sources += ['shadow.c']
|
|
if crypt.found()
|
|
dependencies += [crypt]
|
|
endif
|
|
endif
|
|
|
|
executable('swaylock',
|
|
sources,
|
|
include_directories: [sway_inc],
|
|
dependencies: dependencies,
|
|
link_with: [lib_sway_common, lib_sway_client],
|
|
install_rpath : rpathdir,
|
|
install: true
|
|
)
|
|
|
|
if is_freebsd
|
|
install_data(
|
|
'pam/swaylock.freebsd',
|
|
install_dir: sysconfdir + '/pam.d/',
|
|
rename: 'swaylock'
|
|
)
|
|
else
|
|
install_data(
|
|
'pam/swaylock.linux',
|
|
install_dir: sysconfdir + '/pam.d/',
|
|
rename: 'swaylock'
|
|
)
|
|
endif
|