From cc0160667e8a3b132236a7bf5776c3865c481b7b Mon Sep 17 00:00:00 2001 From: Paul Wolneykien Date: Wed, 4 May 2022 16:56:42 +0300 Subject: test-runner.c: Fix: Make the test configuration files aware of the --with-greeter-user configuration parameter Use GREETER_USER for the greeter user name in the `tests/scripts/*-pam*.conf.in` files. Without this modification LightDM built with non-default greeter user name is unable to pass some tests. Signed-off-by: Paul Wolneykien --- configure.ac | 3 + tests/scripts/login-pam-config.conf | 70 -------------- tests/scripts/login-pam-config.conf.in | 70 ++++++++++++++ tests/scripts/login-pam.conf | 68 -------------- tests/scripts/login-pam.conf.in | 68 ++++++++++++++ .../switch-to-greeter-return-session-pam.conf | 102 --------------------- .../switch-to-greeter-return-session-pam.conf.in | 102 +++++++++++++++++++++ 7 files changed, 243 insertions(+), 240 deletions(-) delete mode 100644 tests/scripts/login-pam-config.conf create mode 100644 tests/scripts/login-pam-config.conf.in delete mode 100644 tests/scripts/login-pam.conf create mode 100644 tests/scripts/login-pam.conf.in delete mode 100644 tests/scripts/switch-to-greeter-return-session-pam.conf create mode 100644 tests/scripts/switch-to-greeter-return-session-pam.conf.in diff --git a/configure.ac b/configure.ac index b386ab63..7e2b4eeb 100644 --- a/configure.ac +++ b/configure.ac @@ -216,6 +216,9 @@ po/Makefile.in src/Makefile tests/Makefile tests/src/Makefile +tests/scripts/login-pam-config.conf +tests/scripts/login-pam.conf +tests/scripts/switch-to-greeter-return-session-pam.conf ]) AC_OUTPUT diff --git a/tests/scripts/login-pam-config.conf b/tests/scripts/login-pam-config.conf deleted file mode 100644 index 48199767..00000000 --- a/tests/scripts/login-pam-config.conf +++ /dev/null @@ -1,70 +0,0 @@ -# -# Check we can configure the PAM service for login -# - -[Seat:*] -user-session=default -pam-service=lightdm-alternative -pam-greeter-service=lightdm-greeter-alternative - -[test-pam] -log-events=true - -#?*START-DAEMON -#?RUNNER DAEMON-START - -# X server starts -#?XSERVER-0 START VT=7 SEAT=seat0 - -# Daemon connects when X server is ready -#?*XSERVER-0 INDICATE-READY -#?XSERVER-0 INDICATE-READY -#?XSERVER-0 ACCEPT-CONNECT - -# Create PAM session for greeter -#?PAM-lightdm START SERVICE=lightdm-greeter-alternative USER=lightdm -#?PAM-lightdm SETCRED ESTABLISH_CRED -#?PAM-lightdm OPEN-SESSION - -# Greeter starts -#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter -#?LOGIN1 ACTIVATE-SESSION SESSION=c0 -#?XSERVER-0 ACCEPT-CONNECT -#?GREETER-X-0 CONNECT-XSERVER -#?GREETER-X-0 CONNECT-TO-DAEMON -#?GREETER-X-0 CONNECTED-TO-DAEMON - -# Greeter does authentication via PAM -#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1 -#?PAM-have-password1 START SERVICE=lightdm-alternative USER=have-password1 -#?PAM-have-password1 AUTHENTICATE -#?GREETER-X-0 SHOW-PROMPT TEXT="Password:" -#?*GREETER-X-0 RESPOND TEXT="password" -#?PAM-have-password1 ACCT-MGMT -#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE - -# User session starts -#?*GREETER-X-0 START-SESSION -#?PAM-have-password1 SETCRED ESTABLISH_CRED -#?PAM-have-password1 OPEN-SESSION - -# Greeter session stops -#?GREETER-X-0 TERMINATE SIGNAL=15 -#?PAM-lightdm CLOSE-SESSION -#?PAM-lightdm SETCRED DELETE_CRED -#?PAM-lightdm END - -# Session starts -#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1 -#?LOGIN1 ACTIVATE-SESSION SESSION=c1 -#?XSERVER-0 ACCEPT-CONNECT -#?SESSION-X-0 CONNECT-XSERVER - -# Cleanup -#?*STOP-DAEMON -#?SESSION-X-0 TERMINATE SIGNAL=15 -#?PAM-have-password1 CLOSE-SESSION -#?PAM-have-password1 SETCRED DELETE_CRED -#?PAM-have-password1 END -#?XSERVER-0 TERMINATE SIGNAL=15 -#?RUNNER DAEMON-EXIT STATUS=0 diff --git a/tests/scripts/login-pam-config.conf.in b/tests/scripts/login-pam-config.conf.in new file mode 100644 index 00000000..fc85031c --- /dev/null +++ b/tests/scripts/login-pam-config.conf.in @@ -0,0 +1,70 @@ +# +# Check we can configure the PAM service for login +# + +[Seat:*] +user-session=default +pam-service=lightdm-alternative +pam-greeter-service=lightdm-greeter-alternative + +[test-pam] +log-events=true + +#?*START-DAEMON +#?RUNNER DAEMON-START + +# X server starts +#?XSERVER-0 START VT=7 SEAT=seat0 + +# Daemon connects when X server is ready +#?*XSERVER-0 INDICATE-READY +#?XSERVER-0 INDICATE-READY +#?XSERVER-0 ACCEPT-CONNECT + +# Create PAM session for greeter +#?PAM-@GREETER_USER@ START SERVICE=lightdm-greeter-alternative USER=@GREETER_USER@ +#?PAM-@GREETER_USER@ SETCRED ESTABLISH_CRED +#?PAM-@GREETER_USER@ OPEN-SESSION + +# Greeter starts +#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter +#?LOGIN1 ACTIVATE-SESSION SESSION=c0 +#?XSERVER-0 ACCEPT-CONNECT +#?GREETER-X-0 CONNECT-XSERVER +#?GREETER-X-0 CONNECT-TO-DAEMON +#?GREETER-X-0 CONNECTED-TO-DAEMON + +# Greeter does authentication via PAM +#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1 +#?PAM-have-password1 START SERVICE=lightdm-alternative USER=have-password1 +#?PAM-have-password1 AUTHENTICATE +#?GREETER-X-0 SHOW-PROMPT TEXT="Password:" +#?*GREETER-X-0 RESPOND TEXT="password" +#?PAM-have-password1 ACCT-MGMT +#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE + +# User session starts +#?*GREETER-X-0 START-SESSION +#?PAM-have-password1 SETCRED ESTABLISH_CRED +#?PAM-have-password1 OPEN-SESSION + +# Greeter session stops +#?GREETER-X-0 TERMINATE SIGNAL=15 +#?PAM-@GREETER_USER@ CLOSE-SESSION +#?PAM-@GREETER_USER@ SETCRED DELETE_CRED +#?PAM-@GREETER_USER@ END + +# Session starts +#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1 +#?LOGIN1 ACTIVATE-SESSION SESSION=c1 +#?XSERVER-0 ACCEPT-CONNECT +#?SESSION-X-0 CONNECT-XSERVER + +# Cleanup +#?*STOP-DAEMON +#?SESSION-X-0 TERMINATE SIGNAL=15 +#?PAM-have-password1 CLOSE-SESSION +#?PAM-have-password1 SETCRED DELETE_CRED +#?PAM-have-password1 END +#?XSERVER-0 TERMINATE SIGNAL=15 +#?RUNNER DAEMON-EXIT STATUS=0 diff --git a/tests/scripts/login-pam.conf b/tests/scripts/login-pam.conf deleted file mode 100644 index c9d51f55..00000000 --- a/tests/scripts/login-pam.conf +++ /dev/null @@ -1,68 +0,0 @@ -# -# Check we correctly use PAM for login -# - -[Seat:*] -user-session=default - -[test-pam] -log-events=true - -#?*START-DAEMON -#?RUNNER DAEMON-START - -# X server starts -#?XSERVER-0 START VT=7 SEAT=seat0 - -# Daemon connects when X server is ready -#?*XSERVER-0 INDICATE-READY -#?XSERVER-0 INDICATE-READY -#?XSERVER-0 ACCEPT-CONNECT - -# Create PAM session for greeter -#?PAM-lightdm START SERVICE=lightdm-greeter USER=lightdm -#?PAM-lightdm SETCRED ESTABLISH_CRED -#?PAM-lightdm OPEN-SESSION - -# Greeter starts -#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter -#?LOGIN1 ACTIVATE-SESSION SESSION=c0 -#?XSERVER-0 ACCEPT-CONNECT -#?GREETER-X-0 CONNECT-XSERVER -#?GREETER-X-0 CONNECT-TO-DAEMON -#?GREETER-X-0 CONNECTED-TO-DAEMON - -# Greeter does authentication via PAM -#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1 -#?PAM-have-password1 START SERVICE=lightdm USER=have-password1 -#?PAM-have-password1 AUTHENTICATE -#?GREETER-X-0 SHOW-PROMPT TEXT="Password:" -#?*GREETER-X-0 RESPOND TEXT="password" -#?PAM-have-password1 ACCT-MGMT -#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE - -# User session starts -#?*GREETER-X-0 START-SESSION -#?PAM-have-password1 SETCRED ESTABLISH_CRED -#?PAM-have-password1 OPEN-SESSION - -# Greeter session stops -#?GREETER-X-0 TERMINATE SIGNAL=15 -#?PAM-lightdm CLOSE-SESSION -#?PAM-lightdm SETCRED DELETE_CRED -#?PAM-lightdm END - -# Session starts -#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1 -#?LOGIN1 ACTIVATE-SESSION SESSION=c1 -#?XSERVER-0 ACCEPT-CONNECT -#?SESSION-X-0 CONNECT-XSERVER - -# Cleanup -#?*STOP-DAEMON -#?SESSION-X-0 TERMINATE SIGNAL=15 -#?PAM-have-password1 CLOSE-SESSION -#?PAM-have-password1 SETCRED DELETE_CRED -#?PAM-have-password1 END -#?XSERVER-0 TERMINATE SIGNAL=15 -#?RUNNER DAEMON-EXIT STATUS=0 diff --git a/tests/scripts/login-pam.conf.in b/tests/scripts/login-pam.conf.in new file mode 100644 index 00000000..36840790 --- /dev/null +++ b/tests/scripts/login-pam.conf.in @@ -0,0 +1,68 @@ +# +# Check we correctly use PAM for login +# + +[Seat:*] +user-session=default + +[test-pam] +log-events=true + +#?*START-DAEMON +#?RUNNER DAEMON-START + +# X server starts +#?XSERVER-0 START VT=7 SEAT=seat0 + +# Daemon connects when X server is ready +#?*XSERVER-0 INDICATE-READY +#?XSERVER-0 INDICATE-READY +#?XSERVER-0 ACCEPT-CONNECT + +# Create PAM session for greeter +#?PAM-@GREETER_USER@ START SERVICE=lightdm-greeter USER=@GREETER_USER@ +#?PAM-@GREETER_USER@ SETCRED ESTABLISH_CRED +#?PAM-@GREETER_USER@ OPEN-SESSION + +# Greeter starts +#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter +#?LOGIN1 ACTIVATE-SESSION SESSION=c0 +#?XSERVER-0 ACCEPT-CONNECT +#?GREETER-X-0 CONNECT-XSERVER +#?GREETER-X-0 CONNECT-TO-DAEMON +#?GREETER-X-0 CONNECTED-TO-DAEMON + +# Greeter does authentication via PAM +#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1 +#?PAM-have-password1 START SERVICE=lightdm USER=have-password1 +#?PAM-have-password1 AUTHENTICATE +#?GREETER-X-0 SHOW-PROMPT TEXT="Password:" +#?*GREETER-X-0 RESPOND TEXT="password" +#?PAM-have-password1 ACCT-MGMT +#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE + +# User session starts +#?*GREETER-X-0 START-SESSION +#?PAM-have-password1 SETCRED ESTABLISH_CRED +#?PAM-have-password1 OPEN-SESSION + +# Greeter session stops +#?GREETER-X-0 TERMINATE SIGNAL=15 +#?PAM-@GREETER_USER@ CLOSE-SESSION +#?PAM-@GREETER_USER@ SETCRED DELETE_CRED +#?PAM-@GREETER_USER@ END + +# Session starts +#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1 +#?LOGIN1 ACTIVATE-SESSION SESSION=c1 +#?XSERVER-0 ACCEPT-CONNECT +#?SESSION-X-0 CONNECT-XSERVER + +# Cleanup +#?*STOP-DAEMON +#?SESSION-X-0 TERMINATE SIGNAL=15 +#?PAM-have-password1 CLOSE-SESSION +#?PAM-have-password1 SETCRED DELETE_CRED +#?PAM-have-password1 END +#?XSERVER-0 TERMINATE SIGNAL=15 +#?RUNNER DAEMON-EXIT STATUS=0 diff --git a/tests/scripts/switch-to-greeter-return-session-pam.conf b/tests/scripts/switch-to-greeter-return-session-pam.conf deleted file mode 100644 index 7e79e57f..00000000 --- a/tests/scripts/switch-to-greeter-return-session-pam.conf +++ /dev/null @@ -1,102 +0,0 @@ -# -# Check we correctly use PAM for returning to an existing session -# - -[Seat:*] -autologin-user=have-password1 -user-session=default - -[test-pam] -log-events=true - -#?*START-DAEMON -#?RUNNER DAEMON-START - -# X server starts -#?XSERVER-0 START VT=7 SEAT=seat0 - -# Daemon connects when X server is ready -#?*XSERVER-0 INDICATE-READY -#?XSERVER-0 INDICATE-READY -#?XSERVER-0 ACCEPT-CONNECT - -# Session authenticates -#?PAM-have-password1 START SERVICE=lightdm-autologin USER=have-password1 -#?PAM-have-password1 AUTHENTICATE -#?PAM-have-password1 ACCT-MGMT -#?PAM-have-password1 SETCRED ESTABLISH_CRED -#?PAM-have-password1 OPEN-SESSION - -# Session starts -#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1 -#?LOGIN1 ACTIVATE-SESSION SESSION=c0 -#?XSERVER-0 ACCEPT-CONNECT -#?SESSION-X-0 CONNECT-XSERVER - -# Show the greeter -#?*SWITCH-TO-GREETER -#?RUNNER SWITCH-TO-GREETER - -# New X server starts -#?XSERVER-1 START VT=8 SEAT=seat0 - -# Daemon connects when X server is ready -#?*XSERVER-1 INDICATE-READY -#?XSERVER-1 INDICATE-READY -#?XSERVER-1 ACCEPT-CONNECT - -# Session is locked -#?LOGIN1 LOCK-SESSION SESSION=c0 - -# Create PAM session for greeter -#?PAM-lightdm START SERVICE=lightdm-greeter USER=lightdm -#?PAM-lightdm SETCRED ESTABLISH_CRED -#?PAM-lightdm OPEN-SESSION - -# Greeter starts -#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter -#?XSERVER-1 ACCEPT-CONNECT -#?GREETER-X-1 CONNECT-XSERVER -#?GREETER-X-1 CONNECT-TO-DAEMON -#?GREETER-X-1 CONNECTED-TO-DAEMON - -# Switch to greeter -#?LOGIN1 ACTIVATE-SESSION SESSION=c1 -#?VT ACTIVATE VT=8 - -# Login as existing user -#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1 -#?PAM-have-password1 START SERVICE=lightdm USER=have-password1 -#?PAM-have-password1 AUTHENTICATE -#?GREETER-X-1 SHOW-PROMPT TEXT="Password:" -#?*GREETER-X-1 RESPOND TEXT="password" -#?PAM-have-password1 ACCT-MGMT -#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE -#?*GREETER-X-1 START-SESSION - -# Credentials are refreshed -#?PAM-have-password1 SETCRED REINITIALIZE_CRED -#?PAM-have-password1 END - -# Session is unlocked -#?LOGIN1 UNLOCK-SESSION SESSION=c0 - -# Switch to session -#?LOGIN1 ACTIVATE-SESSION SESSION=c0 -#?VT ACTIVATE VT=7 - -# Greeter and X server stop -#?GREETER-X-1 TERMINATE SIGNAL=15 -#?PAM-lightdm CLOSE-SESSION -#?PAM-lightdm SETCRED DELETE_CRED -#?PAM-lightdm END -#?XSERVER-1 TERMINATE SIGNAL=15 - -# Cleanup -#?*STOP-DAEMON -#?SESSION-X-0 TERMINATE SIGNAL=15 -#?PAM-have-password1 CLOSE-SESSION -#?PAM-have-password1 SETCRED DELETE_CRED -#?PAM-have-password1 END -#?XSERVER-0 TERMINATE SIGNAL=15 -#?RUNNER DAEMON-EXIT STATUS=0 diff --git a/tests/scripts/switch-to-greeter-return-session-pam.conf.in b/tests/scripts/switch-to-greeter-return-session-pam.conf.in new file mode 100644 index 00000000..79de4344 --- /dev/null +++ b/tests/scripts/switch-to-greeter-return-session-pam.conf.in @@ -0,0 +1,102 @@ +# +# Check we correctly use PAM for returning to an existing session +# + +[Seat:*] +autologin-user=have-password1 +user-session=default + +[test-pam] +log-events=true + +#?*START-DAEMON +#?RUNNER DAEMON-START + +# X server starts +#?XSERVER-0 START VT=7 SEAT=seat0 + +# Daemon connects when X server is ready +#?*XSERVER-0 INDICATE-READY +#?XSERVER-0 INDICATE-READY +#?XSERVER-0 ACCEPT-CONNECT + +# Session authenticates +#?PAM-have-password1 START SERVICE=lightdm-autologin USER=have-password1 +#?PAM-have-password1 AUTHENTICATE +#?PAM-have-password1 ACCT-MGMT +#?PAM-have-password1 SETCRED ESTABLISH_CRED +#?PAM-have-password1 OPEN-SESSION + +# Session starts +#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1 +#?LOGIN1 ACTIVATE-SESSION SESSION=c0 +#?XSERVER-0 ACCEPT-CONNECT +#?SESSION-X-0 CONNECT-XSERVER + +# Show the greeter +#?*SWITCH-TO-GREETER +#?RUNNER SWITCH-TO-GREETER + +# New X server starts +#?XSERVER-1 START VT=8 SEAT=seat0 + +# Daemon connects when X server is ready +#?*XSERVER-1 INDICATE-READY +#?XSERVER-1 INDICATE-READY +#?XSERVER-1 ACCEPT-CONNECT + +# Session is locked +#?LOGIN1 LOCK-SESSION SESSION=c0 + +# Create PAM session for greeter +#?PAM-@GREETER_USER@ START SERVICE=lightdm-greeter USER=@GREETER_USER@ +#?PAM-@GREETER_USER@ SETCRED ESTABLISH_CRED +#?PAM-@GREETER_USER@ OPEN-SESSION + +# Greeter starts +#?GREETER-X-1 START XDG_SEAT=seat0 XDG_VTNR=8 XDG_SESSION_CLASS=greeter +#?XSERVER-1 ACCEPT-CONNECT +#?GREETER-X-1 CONNECT-XSERVER +#?GREETER-X-1 CONNECT-TO-DAEMON +#?GREETER-X-1 CONNECTED-TO-DAEMON + +# Switch to greeter +#?LOGIN1 ACTIVATE-SESSION SESSION=c1 +#?VT ACTIVATE VT=8 + +# Login as existing user +#?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1 +#?PAM-have-password1 START SERVICE=lightdm USER=have-password1 +#?PAM-have-password1 AUTHENTICATE +#?GREETER-X-1 SHOW-PROMPT TEXT="Password:" +#?*GREETER-X-1 RESPOND TEXT="password" +#?PAM-have-password1 ACCT-MGMT +#?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE +#?*GREETER-X-1 START-SESSION + +# Credentials are refreshed +#?PAM-have-password1 SETCRED REINITIALIZE_CRED +#?PAM-have-password1 END + +# Session is unlocked +#?LOGIN1 UNLOCK-SESSION SESSION=c0 + +# Switch to session +#?LOGIN1 ACTIVATE-SESSION SESSION=c0 +#?VT ACTIVATE VT=7 + +# Greeter and X server stop +#?GREETER-X-1 TERMINATE SIGNAL=15 +#?PAM-@GREETER_USER@ CLOSE-SESSION +#?PAM-@GREETER_USER@ SETCRED DELETE_CRED +#?PAM-@GREETER_USER@ END +#?XSERVER-1 TERMINATE SIGNAL=15 + +# Cleanup +#?*STOP-DAEMON +#?SESSION-X-0 TERMINATE SIGNAL=15 +#?PAM-have-password1 CLOSE-SESSION +#?PAM-have-password1 SETCRED DELETE_CRED +#?PAM-have-password1 END +#?XSERVER-0 TERMINATE SIGNAL=15 +#?RUNNER DAEMON-EXIT STATUS=0 -- cgit v1.2.1