+
+ else if (strcmp (name, "SEND-REQUEST") == 0)
+ {
+ const gchar *addresses_list, *authorization_names_list, *mfid;
+ gchar **list, **authorization_names;
+ gsize list_length;
+ gint i;
+ GInetAddress **addresses;
+
+ addresses_list = g_hash_table_lookup (params, "ADDRESSES");
+ if (!addresses_list)
+ addresses_list = "";
+ authorization_names_list = g_hash_table_lookup (params, "AUTHORIZATION-NAMES");
+ if (!authorization_names_list)
+ authorization_names_list = "";
+ mfid = g_hash_table_lookup (params, "MFID");
+ if (!mfid)
+ mfid = "";
+
+ list = g_strsplit (addresses_list, " ", -1);
+ list_length = g_strv_length (list);
+ addresses = g_malloc (sizeof (GInetAddress *) * (list_length + 1));
+ for (i = 0; i < list_length; i++)
+ addresses[i] = g_inet_address_new_from_string (list[i]);
+ addresses[i] = NULL;
+ g_strfreev (list);
+
+ authorization_names = g_strsplit (authorization_names_list, " ", -1);
+
+ xdmcp_client_send_request (xdmcp_client, display_number,
+ addresses,
+ "", NULL, 0,
+ authorization_names, mfid);
+ g_strfreev (authorization_names);
+ }
+
+ else if (strcmp (name, "SEND-MANAGE") == 0)
+ {
+ xdmcp_client_send_manage (xdmcp_client, xdmcp_session_id, display_number, "DISPLAY CLASS");
+ }