aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2018-03-20 18:42:18 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2018-03-22 12:16:32 +0900
commit71d481b4c4ef47af58e44af98ef8f1272e5fe2bd (patch)
tree2d341192c9e85ac3530e87a675552f53cb02e785
parentfix autofoo build to match e auth patch backport (diff)
downloadenlightenment-71d481b4c4ef47af58e44af98ef8f1272e5fe2bd.tar.gz
desklock - make it fail to lock on non-bsd platforms if no pam support
if no pam support detected at build time, dont even lock to begin with. this should fix https://phab.enlightenment.org/T6779 yes - even better is making pam a requirement for building and to be optionallhy disabled, but then even if disabled we still need this check. this has been a long long long standing bug in e. i think this is why we had some reports of "any password unlocks e" - because it was built without pam support and before auth was always succeeding without pam. now it is always FAILING instead (which is probably better). @fix
-rw-r--r--src/bin/e_desklock.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bin/e_desklock.c b/src/bin/e_desklock.c
index 7b99fccfa..0e6cc3d71 100644
--- a/src/bin/e_desklock.c
+++ b/src/bin/e_desklock.c
@@ -247,6 +247,15 @@ e_desklock_show(Eina_Bool suspend)
E_Desklock_Hide_Cb hide_cb;
E_Zone *zone;
+#if !defined(HAVE_PAM) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
+ e_util_dialog_show(_("Cannot use password authentication"),
+ _("Enlightenment was built without PAM support.<br>"
+ "This means Enlightenment cannot authenticate<br>"
+ "your password. This means locking makes no<br>"
+ "sense because we have no other way to authenticate<br>"
+ "you as a user."));
+ return EINA_FALSE;
+#endif
if (_e_desklock_state) return EINA_TRUE;
if (e_desklock_is_external() && e_config->desklock_custom_desklock_cmd && e_config->desklock_custom_desklock_cmd[0])