From 3d160784fd90f82be10ba2cb7d5e15521fff96c4 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Fri, 20 Nov 2015 12:50:22 +1300 Subject: Test authentication data coming back from the XDMCP server --- tests/src/X.c | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'tests/src/X.c') diff --git a/tests/src/X.c b/tests/src/X.c index 210781f7..ca25c532 100644 --- a/tests/src/X.c +++ b/tests/src/X.c @@ -115,10 +115,35 @@ xdmcp_unwilling_cb (XDMCPClient *client, XDMCPUnwilling *message) status_notify ("%s GOT-UNWILLING HOSTNAME=\"%s\" STATUS=\"%s\"", id, message->hostname, message->status); } +static gchar * +data_to_string (guint8 *data, gsize data_length) +{ + static gchar hex_char[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; + gchar *text; + gsize i; + + text = malloc (data_length * 2 + 1); + for (i = 0; i < data_length; i++) + { + text[i*2] = hex_char [data[i] >> 4]; + text[i*2 + 1] = hex_char [data[i] & 0xF]; + } + text[i*2] = '\0'; + + return text; +} + static void xdmcp_accept_cb (XDMCPClient *client, XDMCPAccept *message) { - status_notify ("%s GOT-ACCEPT SESSION-ID=%d AUTHENTICATION-NAME=\"%s\" AUTHORIZATION-NAME=\"%s\"", id, message->session_id, message->authentication_name, message->authorization_name); + gchar *authentication_data_text, *authorization_data_text; + + authentication_data_text = data_to_string (message->authentication_data, message->authentication_data_length); + authorization_data_text = data_to_string (message->authorization_data, message->authorization_data_length); + status_notify ("%s GOT-ACCEPT SESSION-ID=%d AUTHENTICATION-NAME=\"%s\" AUTHENTICATION-DATA=%s AUTHORIZATION-NAME=\"%s\" AUTHORIZATION-DATA=%s", + id, message->session_id, message->authentication_name, authentication_data_text, message->authorization_name, authorization_data_text); + g_free (authentication_data_text); + g_free (authorization_data_text); xdmcp_session_id = message->session_id; @@ -131,7 +156,11 @@ xdmcp_accept_cb (XDMCPClient *client, XDMCPAccept *message) static void xdmcp_decline_cb (XDMCPClient *client, XDMCPDecline *message) { - status_notify ("%s GOT-DECLINE STATUS=\"%s\" AUTHENTICATION-NAME=\"%s\"", id, message->status, message->authentication_name); + gchar *authentication_data_text; + + authentication_data_text = data_to_string (message->authentication_data, message->authentication_data_length); + status_notify ("%s GOT-DECLINE STATUS=\"%s\" AUTHENTICATION-NAME=\"%s\" AUTHENTICATION-DATA=%s", id, message->status, message->authentication_name, authentication_data_text); + g_free (authentication_data_text); } static void -- cgit v1.2.1