pam_logind: skip leading /dev/ from PAM_TTY field before passing it on

Apparently, PAM documents that the PAM_TTY should come with a /dev
prefix, but we don't expect it so far, except that Wayland ends up
setting it after all, the way the docs suggest. Hence, let's simply drop
the /dev prefix if it is there.

Fixes: #6516
This commit is contained in:
Lennart Poettering
2017-08-09 19:04:36 +02:00
parent 27458ed629
commit c9ed61e7a0
+4 -1
View File
@@ -46,6 +46,7 @@
#include "strv.h"
#include "terminal-util.h"
#include "util.h"
#include "path-util.h"
static int parse_argv(
pam_handle_t *handle,
@@ -335,7 +336,9 @@ _public_ PAM_EXTERN int pam_sm_open_session(
type ="tty";
class = "user";
tty = NULL;
}
} else
/* Chop off leading /dev prefix that some clients specify, but others do not. */
tty = skip_dev_prefix(tty);
/* If this fails vtnr will be 0, that's intended */
if (!isempty(cvtnr))