[Xfce4-commits] <midori:master> Don't prefetch IP addresses and bail out if the soup URI is invalid

Christian Dywan noreply at xfce.org
Tue Oct 13 02:40:02 CEST 2009


Updating branch refs/heads/master
         to e4f163447c33db4341f01317013e8e1a47b10301 (commit)
       from 8a62c9ee7a48095928790b0bc8320ec5f5cbbcfd (commit)

commit e4f163447c33db4341f01317013e8e1a47b10301
Author: Alexander Butenko <a.butenka at gmail.com>
Date:   Tue Oct 13 02:37:52 2009 +0200

    Don't prefetch IP addresses and bail out if the soup URI is invalid

 extensions/dnsprefetch.c |   30 +++++++++++++++++++++++-------
 1 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/extensions/dnsprefetch.c b/extensions/dnsprefetch.c
index 4a00be3..83b52e9 100644
--- a/extensions/dnsprefetch.c
+++ b/extensions/dnsprefetch.c
@@ -21,18 +21,34 @@ static gchar* hosts = NULL;
 static int host_count;
 
 static void
-dnsprefetch_do_prefetch (WebKitWebView *web_view,
-                         gchar         *title,
-                         gchar         *uri,
+dnsprefetch_do_prefetch (WebKitWebView* web_view,
+                         const gchar*   title,
+                         const char*    uri,
                          gpointer       user_data)
 {
-    SoupURI* s_uri;
+     SoupURI* s_uri;
 
-     /* FIXME: Ignore IP addresses */
-     if (!(uri && g_str_has_prefix (uri, "http")))
+     if (!uri)
+        return;
+     s_uri = soup_uri_new (uri);
+     if (!s_uri)
          return;
 
-     s_uri = soup_uri_new (uri);
+     #if GLIB_CHECK_VERSION (2, 22, 0)
+     if (g_hostname_is_ip_address (s_uri->host))
+     #else
+     if (g_ascii_isdigit (s_uri->host[0]) && g_strstr_len (s_uri->host, 4, "."))
+     #endif
+     {
+         soup_uri_free (s_uri);
+         return;
+     }
+     if (!g_str_has_prefix (uri, "http"))
+     {
+         soup_uri_free (s_uri);
+         return;
+     }
+
      if (!g_regex_match_simple (s_uri->host, hosts,
                                 G_REGEX_CASELESS, G_REGEX_MATCH_NOTEMPTY))
      {



More information about the Xfce4-commits mailing list