summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2015-11-20 13:17:52 +1300
committerRobert Ancell <robert.ancell@canonical.com>2015-11-20 13:17:52 +1300
commitd181501f46fcdbfe960e8d8352b537096b7ae868 (patch)
tree842b35e9f91e1b331af5c1468fb3f7c66a3ef8b4
parent27bd550551e7686a707d97280e7b20f64f7dbfba (diff)
downloadlightdm-d181501f46fcdbfe960e8d8352b537096b7ae868.tar.gz
Add IP addresses to XDMCP log messages
-rw-r--r--src/xdmcp-server.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/xdmcp-server.c b/src/xdmcp-server.c
index 330990d0..5be9e5a4 100644
--- a/src/xdmcp-server.c
+++ b/src/xdmcp-server.c
@@ -167,13 +167,28 @@ get_session (XDMCPServer *server, guint16 id)
return g_hash_table_lookup (server->priv->sessions, GINT_TO_POINTER ((gint) id));
}
+static gchar *
+socket_address_to_string (GSocketAddress *address)
+{
+ gchar *inet_text, *text;
+
+ inet_text = g_inet_address_to_string (g_inet_socket_address_get_address (G_INET_SOCKET_ADDRESS (address)));
+ text = g_strdup_printf ("%s:%d", inet_text, g_inet_socket_address_get_port (G_INET_SOCKET_ADDRESS (address)));
+ g_free (inet_text);
+
+ return text;
+}
+
static void
send_packet (GSocket *socket, GSocketAddress *address, XDMCPPacket *packet)
{
+ gchar *address_string;
guint8 data[1024];
gssize n_written;
- g_debug ("Send %s", xdmcp_packet_tostring (packet));
+ address_string = socket_address_to_string (address);
+ g_debug ("Send %s to %s", xdmcp_packet_tostring (packet), address_string);
+ g_free (address_string);
n_written = xdmcp_packet_encode (packet, data, 1024);
if (n_written < 0)
@@ -668,11 +683,13 @@ read_cb (GSocket *socket, GIOCondition condition, XDMCPServer *server)
packet = xdmcp_packet_decode ((guint8 *)data, n_read);
if (packet)
{
- gchar *packet_string;
+ gchar *packet_string, *address_string;
packet_string = xdmcp_packet_tostring (packet);
- g_debug ("Got %s", packet_string);
+ address_string = socket_address_to_string (address);
+ g_debug ("Got %s from %s", packet_string, address_string);
g_free (packet_string);
+ g_free (address_string);
switch (packet->opcode)
{