From: Marcel Holtmann Date: Tue, 28 Dec 2010 17:39:20 +0000 (-0800) Subject: portal: Check status and print client IP and country details X-Git-Tag: 2.0_alpha~1947 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=42ba5d5ff72df940e052b370678e7b0567e637f8;p=framework%2Fconnectivity%2Fconnman.git portal: Check status and print client IP and country details --- diff --git a/plugins/portal.c b/plugins/portal.c index d4456f5..941f03d 100644 --- a/plugins/portal.c +++ b/plugins/portal.c @@ -52,6 +52,7 @@ static gboolean web_result(GWebResult *result, gpointer user_data) { struct connman_location *location = user_data; struct server_data *data = connman_location_get_data(location); + const char *str; guint16 status; if (data->request_id == 0) @@ -59,10 +60,22 @@ static gboolean web_result(GWebResult *result, gpointer user_data) status = g_web_result_get_status(result); + /* If status header is not available, it is a portal */ + if (g_web_result_get_header(result, "X-ConnMan-Status", &str) == FALSE) + status = 302; + DBG("status %u", status); switch (status) { case 200: + if (g_web_result_get_header(result, "X-ConnMan-Client-IP", + &str) == TRUE) + connman_info("Client-IP: %s", str); + + if (g_web_result_get_header(result, "X-ConnMan-Client-Country", + &str) == TRUE) + connman_info("Client-Country: %s", str); + connman_location_report_result(location, CONNMAN_LOCATION_RESULT_ONLINE); break;