summaryrefslogtreecommitdiff
path: root/tests/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/scripts')
-rw-r--r--tests/scripts/xdmcp-client-xorg-1.16.conf5
-rw-r--r--tests/scripts/xdmcp-client.conf5
-rw-r--r--tests/scripts/xdmcp-server-autologin.conf11
-rw-r--r--tests/scripts/xdmcp-server-double-login.conf20
-rw-r--r--tests/scripts/xdmcp-server-guest.conf11
-rw-r--r--tests/scripts/xdmcp-server-invalid-authentication.conf33
-rw-r--r--tests/scripts/xdmcp-server-login.conf11
-rw-r--r--tests/scripts/xdmcp-server-open-file-descriptors.conf11
-rw-r--r--tests/scripts/xdmcp-server-request-invalid-authentication.conf29
-rw-r--r--tests/scripts/xdmcp-server-request-invalid-authorization.conf29
-rw-r--r--tests/scripts/xdmcp-server-request-without-addresses.conf13
-rw-r--r--tests/scripts/xdmcp-server-request-without-authorization.conf29
-rw-r--r--tests/scripts/xdmcp-server-xdm-authentication-invalid-authorization.conf34
-rw-r--r--tests/scripts/xdmcp-server-xdm-authentication-long-data.conf34
-rw-r--r--tests/scripts/xdmcp-server-xdm-authentication-missing-data.conf34
-rw-r--r--tests/scripts/xdmcp-server-xdm-authentication-missing-key.conf20
-rw-r--r--tests/scripts/xdmcp-server-xdm-authentication-no-key.conf33
-rw-r--r--tests/scripts/xdmcp-server-xdm-authentication-required.conf34
-rw-r--r--tests/scripts/xdmcp-server-xdm-authentication-short-data.conf34
-rw-r--r--tests/scripts/xdmcp-server-xdm-authentication.conf45
20 files changed, 427 insertions, 48 deletions
diff --git a/tests/scripts/xdmcp-client-xorg-1.16.conf b/tests/scripts/xdmcp-client-xorg-1.16.conf
index c41cb13e..c1a50db1 100644
--- a/tests/scripts/xdmcp-client-xorg-1.16.conf
+++ b/tests/scripts/xdmcp-client-xorg-1.16.conf
@@ -17,9 +17,8 @@ xdmcp-manager=127.0.0.1
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-# Starts sending XDMCP queries
-#?*XSERVER-0 START-XDMCP
-#?XSERVER-0 SEND-QUERY
+# Send an XDMCP queriy
+#?*XSERVER-0 SEND-QUERY
# Wait to check a greeter is not started
#?*WAIT
diff --git a/tests/scripts/xdmcp-client.conf b/tests/scripts/xdmcp-client.conf
index f29bb41c..5e76317b 100644
--- a/tests/scripts/xdmcp-client.conf
+++ b/tests/scripts/xdmcp-client.conf
@@ -14,9 +14,8 @@ xdmcp-manager=127.0.0.1
#?XSERVER-0 INDICATE-READY
#?XSERVER-0 ACCEPT-CONNECT
-# Starts sending XDMCP queries
-#?*XSERVER-0 START-XDMCP
-#?XSERVER-0 SEND-QUERY
+# Send an XDMCP query
+#?*XSERVER-0 SEND-QUERY
# Wait to check a greeter is not started
#?*WAIT
diff --git a/tests/scripts/xdmcp-server-autologin.conf b/tests/scripts/xdmcp-server-autologin.conf
index 414ab0fe..2bfa5623 100644
--- a/tests/scripts/xdmcp-server-autologin.conf
+++ b/tests/scripts/xdmcp-server-autologin.conf
@@ -20,13 +20,12 @@ autologin-user=have-password1
#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
-# Start sending XDMCP queries
-#?*XSERVER-98 START-XDMCP
-#?XSERVER-98 SEND-QUERY
-
-# Negotiate with daemon
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
-#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1" MFID="TEST XSERVER"
+
+# Connect - daemon says OK
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
#?XSERVER-98 GOT-ACCEPT SESSION-ID=[0-9]* AUTHENTICATION-NAME="" AUTHORIZATION-NAME="MIT-MAGIC-COOKIE-1"
#?*XSERVER-98 SEND-MANAGE
diff --git a/tests/scripts/xdmcp-server-double-login.conf b/tests/scripts/xdmcp-server-double-login.conf
index 94efd55b..6acc2052 100644
--- a/tests/scripts/xdmcp-server-double-login.conf
+++ b/tests/scripts/xdmcp-server-double-login.conf
@@ -19,13 +19,12 @@ user-session=default
#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
-# Start sending XDMCP queries
-#?*XSERVER-98 START-XDMCP
-#?XSERVER-98 SEND-QUERY
-
-# Negotiate with daemon
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
-#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1" MFID="TEST XSERVER"
+
+# Connect - daemon says OK
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
#?XSERVER-98 GOT-ACCEPT SESSION-ID=[0-9]* AUTHENTICATION-NAME="" AUTHORIZATION-NAME="MIT-MAGIC-COOKIE-1"
#?*XSERVER-98 SEND-MANAGE
@@ -58,12 +57,11 @@ user-session=default
#?*START-XSERVER ARGS=":99 -query 127.0.0.1 -nolisten unix"
#?XSERVER-99 START LISTEN-TCP NO-LISTEN-UNIX
-# Start sending XDMCP queries
-#?*XSERVER-99 START-XDMCP
-#?XSERVER-99 SEND-QUERY
-
-# Negotiate with daemon
+# Request to connect - daemon says OK
+#?*XSERVER-99 SEND-QUERY
#?XSERVER-99 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
+
+# Connect - daemon says OK
#?*XSERVER-99 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1" MFID="TEST XSERVER"
#?XSERVER-99 GOT-ACCEPT SESSION-ID=[0-9]* AUTHENTICATION-NAME="" AUTHORIZATION-NAME="MIT-MAGIC-COOKIE-1"
#?*XSERVER-99 SEND-MANAGE
diff --git a/tests/scripts/xdmcp-server-guest.conf b/tests/scripts/xdmcp-server-guest.conf
index c180026b..3dfea24e 100644
--- a/tests/scripts/xdmcp-server-guest.conf
+++ b/tests/scripts/xdmcp-server-guest.conf
@@ -19,13 +19,12 @@ user-session=default
#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
-# Start sending XDMCP queries
-#?*XSERVER-98 START-XDMCP
-#?XSERVER-98 SEND-QUERY
-
-# Negotiate with daemon
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
-#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1" MFID="TEST XSERVER"
+
+# Connect - daemon says OK
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
#?XSERVER-98 GOT-ACCEPT SESSION-ID=[0-9]* AUTHENTICATION-NAME="" AUTHORIZATION-NAME="MIT-MAGIC-COOKIE-1"
#?*XSERVER-98 SEND-MANAGE
diff --git a/tests/scripts/xdmcp-server-invalid-authentication.conf b/tests/scripts/xdmcp-server-invalid-authentication.conf
new file mode 100644
index 00000000..e852f64c
--- /dev/null
+++ b/tests/scripts/xdmcp-server-invalid-authentication.conf
@@ -0,0 +1,33 @@
+#
+# Check that a remote X server can't login if not using required authentication
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Connect with an invalid authentication name - daemon says no
+#?*XSERVER-98 SEND-QUERY AUTHENTICATION-NAMES="NO-SUCH-AUTHENTICATION"
+#?XSERVER-98 GOT-UNWILLING HOSTNAME="" STATUS="No matching authentication"
+
+# Try anyway - daemon declines
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="NO-SUCH-AUTHENTICATION" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
+#?XSERVER-98 GOT-DECLINE STATUS="No matching authentication, server only supports unauthenticated connections" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-login.conf b/tests/scripts/xdmcp-server-login.conf
index 79cf8edd..3ca44b52 100644
--- a/tests/scripts/xdmcp-server-login.conf
+++ b/tests/scripts/xdmcp-server-login.conf
@@ -19,13 +19,12 @@ user-session=default
#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
-# Start sending XDMCP queries
-#?*XSERVER-98 START-XDMCP
-#?XSERVER-98 SEND-QUERY
-
-# Negotiate with daemon
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
-#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1" MFID="TEST XSERVER"
+
+# Connect - daemon says OK
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
#?XSERVER-98 GOT-ACCEPT SESSION-ID=[0-9]* AUTHENTICATION-NAME="" AUTHORIZATION-NAME="MIT-MAGIC-COOKIE-1"
#?*XSERVER-98 SEND-MANAGE
diff --git a/tests/scripts/xdmcp-server-open-file-descriptors.conf b/tests/scripts/xdmcp-server-open-file-descriptors.conf
index b7fa3f5d..8cb7a902 100644
--- a/tests/scripts/xdmcp-server-open-file-descriptors.conf
+++ b/tests/scripts/xdmcp-server-open-file-descriptors.conf
@@ -19,13 +19,12 @@ user-session=default
#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
-# Start sending XDMCP queries
-#?*XSERVER-98 START-XDMCP
-#?XSERVER-98 SEND-QUERY
-
-# Negotiate with daemon
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
-#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1" MFID="TEST XSERVER"
+
+# Connect - daemon says OK
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
#?XSERVER-98 GOT-ACCEPT SESSION-ID=[0-9]* AUTHENTICATION-NAME="" AUTHORIZATION-NAME="MIT-MAGIC-COOKIE-1"
#?*XSERVER-98 SEND-MANAGE
diff --git a/tests/scripts/xdmcp-server-request-invalid-authentication.conf b/tests/scripts/xdmcp-server-request-invalid-authentication.conf
new file mode 100644
index 00000000..3b3a2aa2
--- /dev/null
+++ b/tests/scripts/xdmcp-server-request-invalid-authentication.conf
@@ -0,0 +1,29 @@
+#
+# Check remote X server sending a request with an invalid authentication is declined
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
+#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
+
+# Connect with an invalid authentication - daemon declines
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="NO-SUCH-AUTHENTICATION" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
+#?XSERVER-98 GOT-DECLINE STATUS="No matching authentication, server only supports unauthenticated connections" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-request-invalid-authorization.conf b/tests/scripts/xdmcp-server-request-invalid-authorization.conf
new file mode 100644
index 00000000..a577a01f
--- /dev/null
+++ b/tests/scripts/xdmcp-server-request-invalid-authorization.conf
@@ -0,0 +1,29 @@
+#
+# Check remote X server sending a request with an invalid authorization is declined
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
+#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
+
+# Connect with an invalid authorization - daemon declines
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES="NO-SUCH-AUTHORIZATION"
+#?XSERVER-98 GOT-DECLINE STATUS="No matching authorization, server requires MIT-MAGIC-COOKIE-1" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-request-without-addresses.conf b/tests/scripts/xdmcp-server-request-without-addresses.conf
index 35405a29..31b358e1 100644
--- a/tests/scripts/xdmcp-server-request-without-addresses.conf
+++ b/tests/scripts/xdmcp-server-request-without-addresses.conf
@@ -1,5 +1,5 @@
#
-# Check remote X server sending a request without connections is ignored
+# Check remote X server sending a request without connections is declined
#
[LightDM]
@@ -16,13 +16,12 @@ enabled=true
#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
-# Start sending XDMCP queries
-#?*XSERVER-98 START-XDMCP
-#?XSERVER-98 SEND-QUERY
-
-# Negotiate with daemon
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
-#?*XSERVER-98 SEND-REQUEST ADDRESSES="" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1" MFID="TEST XSERVER"
+
+# Connect without providing an address - daemon declines
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
#?XSERVER-98 GOT-DECLINE STATUS="No valid address found" AUTHENTICATION-NAME=""
# Clean up
diff --git a/tests/scripts/xdmcp-server-request-without-authorization.conf b/tests/scripts/xdmcp-server-request-without-authorization.conf
new file mode 100644
index 00000000..2cb1a13f
--- /dev/null
+++ b/tests/scripts/xdmcp-server-request-without-authorization.conf
@@ -0,0 +1,29 @@
+#
+# Check remote X server sending a request without an authorization is declined
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect - daemon says OK
+#?*XSERVER-98 SEND-QUERY
+#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="" HOSTNAME="" STATUS=""
+
+# Connect without authorization - daemon says no
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHORIZATION-NAMES=""
+#?XSERVER-98 GOT-DECLINE STATUS="No matching authorization, server requires MIT-MAGIC-COOKIE-1" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-xdm-authentication-invalid-authorization.conf b/tests/scripts/xdmcp-server-xdm-authentication-invalid-authorization.conf
new file mode 100644
index 00000000..efac51bc
--- /dev/null
+++ b/tests/scripts/xdmcp-server-xdm-authentication-invalid-authorization.conf
@@ -0,0 +1,34 @@
+#
+# Check that a remote X server needs both XDM authentication and authorization
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+key=test-key
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect with XDM authentication - daemon says OK
+#?*XSERVER-98 SEND-QUERY AUTHENTICATION-NAMES="XDM-AUTHENTICATION-1"
+#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" HOSTNAME="" STATUS=""
+
+# Connect with wrong authorization - daemon declines
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" AUTHENTICATION-DATA="0123456789ABCDEF" AUTHORIZATION-NAMES="MIT-MAGIC-COOKIE-1"
+#?XSERVER-98 GOT-DECLINE STATUS="No matching authorization, server requires XDM-AUTHORIZATION-1" AUTHENTICATION-NAME="XDM-AUTHENTICATION-1"
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-xdm-authentication-long-data.conf b/tests/scripts/xdmcp-server-xdm-authentication-long-data.conf
new file mode 100644
index 00000000..71dcd211
--- /dev/null
+++ b/tests/scripts/xdmcp-server-xdm-authentication-long-data.conf
@@ -0,0 +1,34 @@
+#
+# Check that a remote X server needs both XDM authentication and correct length authentication data
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+key=test-key
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect with XDM authentication - daemon says OK
+#?*XSERVER-98 SEND-QUERY AUTHENTICATION-NAMES="XDM-AUTHENTICATION-1"
+#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" HOSTNAME="" STATUS=""
+
+# Connect without any authentication data - daemon declines
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" AUTHENTICATION-DATA="DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF" AUTHORIZATION-NAMES="XDM-AUTHORIZATION-1"
+#?XSERVER-98 GOT-DECLINE STATUS="Invalid XDM-AUTHENTICATION-1 data provided" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-xdm-authentication-missing-data.conf b/tests/scripts/xdmcp-server-xdm-authentication-missing-data.conf
new file mode 100644
index 00000000..1ed1724f
--- /dev/null
+++ b/tests/scripts/xdmcp-server-xdm-authentication-missing-data.conf
@@ -0,0 +1,34 @@
+#
+# Check that a remote X server needs both XDM authentication and authentication data
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+key=test-key
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect with XDM authentication - daemon says OK
+#?*XSERVER-98 SEND-QUERY AUTHENTICATION-NAMES="XDM-AUTHENTICATION-1"
+#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" HOSTNAME="" STATUS=""
+
+# Connect without any authentication data - daemon declines
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" AUTHENTICATION-DATA="" AUTHORIZATION-NAMES="XDM-AUTHORIZATION-1"
+#?XSERVER-98 GOT-DECLINE STATUS="Invalid XDM-AUTHENTICATION-1 data provided" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-xdm-authentication-missing-key.conf b/tests/scripts/xdmcp-server-xdm-authentication-missing-key.conf
new file mode 100644
index 00000000..aba90d35
--- /dev/null
+++ b/tests/scripts/xdmcp-server-xdm-authentication-missing-key.conf
@@ -0,0 +1,20 @@
+#
+# Check that a remote X server can't login if requires XDM authentication and we're not configured for it
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+key=no-such-key
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# Daemon stops with error
+#?RUNNER DAEMON-EXIT STATUS=1
diff --git a/tests/scripts/xdmcp-server-xdm-authentication-no-key.conf b/tests/scripts/xdmcp-server-xdm-authentication-no-key.conf
new file mode 100644
index 00000000..567be1e7
--- /dev/null
+++ b/tests/scripts/xdmcp-server-xdm-authentication-no-key.conf
@@ -0,0 +1,33 @@
+#
+# Check that a remote X server can't login if requires XDM authentication and we're not configured for it
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect with XDM authentication - daemon says we don't do that
+#?*XSERVER-98 SEND-QUERY AUTHENTICATION-NAMES="XDM-AUTHENTICATION-1"
+#?XSERVER-98 GOT-UNWILLING HOSTNAME="" STATUS="No matching authentication"
+
+# Try anyway - daemon rejects
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" AUTHORIZATION-NAME="XDM-AUTHORIZATION-1"
+#?XSERVER-98 GOT-DECLINE STATUS="No matching authentication, server only supports unauthenticated connections" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-xdm-authentication-required.conf b/tests/scripts/xdmcp-server-xdm-authentication-required.conf
new file mode 100644
index 00000000..d87b668c
--- /dev/null
+++ b/tests/scripts/xdmcp-server-xdm-authentication-required.conf
@@ -0,0 +1,34 @@
+#
+# Check that a remote X server can't login if not using required authentication
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+key=test-key
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connection without authentication - daemon says we don't do that
+#?*XSERVER-98 SEND-QUERY AUTHENTICATION-NAMES=""
+#?XSERVER-98 GOT-UNWILLING HOSTNAME="" STATUS="No matching authentication, server requires XDM-AUTHENTICATION-1"
+
+# Try anyway - daemon rejects
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="" AUTHORIZATION-NAMES="XDM-AUTHORIZATION-1"
+#?XSERVER-98 GOT-DECLINE STATUS="No matching authentication, server requires XDM-AUTHENTICATION-1" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-xdm-authentication-short-data.conf b/tests/scripts/xdmcp-server-xdm-authentication-short-data.conf
new file mode 100644
index 00000000..3f3d442f
--- /dev/null
+++ b/tests/scripts/xdmcp-server-xdm-authentication-short-data.conf
@@ -0,0 +1,34 @@
+#
+# Check that a remote X server needs both XDM authentication and correct length authentication data
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+key=test-key
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect with XDM authentication - daemon says OK
+#?*XSERVER-98 SEND-QUERY AUTHENTICATION-NAMES="XDM-AUTHENTICATION-1"
+#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" HOSTNAME="" STATUS=""
+
+# Connect without any authentication data - daemon declines
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" AUTHENTICATION-DATA="00" AUTHORIZATION-NAMES="XDM-AUTHORIZATION-1"
+#?XSERVER-98 GOT-DECLINE STATUS="Invalid XDM-AUTHENTICATION-1 data provided" AUTHENTICATION-NAME=""
+
+# Clean up
+#?*STOP-DAEMON
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/xdmcp-server-xdm-authentication.conf b/tests/scripts/xdmcp-server-xdm-authentication.conf
new file mode 100644
index 00000000..aae66e44
--- /dev/null
+++ b/tests/scripts/xdmcp-server-xdm-authentication.conf
@@ -0,0 +1,45 @@
+#
+# Check that a remote X server can autologin via XDMCP using XDM authentication
+#
+
+[LightDM]
+start-default-seat=false
+
+[XDMCPServer]
+enabled=true
+key=test-key
+
+[Seat:*]
+user-session=default
+autologin-user=have-password1
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+#?*WAIT
+
+# Start a remote X server to log in with XDMCP
+#?*START-XSERVER ARGS=":98 -query 127.0.0.1 -nolisten unix"
+#?XSERVER-98 START LISTEN-TCP NO-LISTEN-UNIX
+
+# Request to connect with XDM authentication - daemon says OK
+#?*XSERVER-98 SEND-QUERY AUTHENTICATION-NAMES="XDM-AUTHENTICATION-1"
+#?XSERVER-98 GOT-WILLING AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" HOSTNAME="" STATUS=""
+
+# Connect - daemon says OK
+#?*XSERVER-98 SEND-REQUEST ADDRESSES="127.0.0.1" AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" AUTHENTICATION-DATA="0123456789ABCDEF" AUTHORIZATION-NAMES="XDM-AUTHORIZATION-1"
+#?XSERVER-98 GOT-ACCEPT SESSION-ID=[0-9]* AUTHENTICATION-NAME="XDM-AUTHENTICATION-1" AUTHORIZATION-NAME="XDM-AUTHORIZATION-1"
+#?*XSERVER-98 SEND-MANAGE
+
+# LightDM connects to X server
+#?XSERVER-98 ACCEPT-CONNECT
+
+# Session starts
+#?SESSION-X-127.0.0.1:98 START XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=default USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-98 ACCEPT-CONNECT
+#?SESSION-X-127.0.0.1:98 CONNECT-XSERVER
+
+# Clean up
+#?*STOP-DAEMON
+#?SESSION-X-127.0.0.1:98 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0