Re: evil webkit bug, loads of junk DNS requests

2011-03-06 Thread Stuart Henderson
On 2011/02/14 09:37, Stuart Henderson wrote:
 As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019
 browsers using ports/www/webkit make a dns request for . each
 time the mouse position changes.
 
 Chrome doesn't have this problem (it doesn't seem to have
 this code in its internal copy of webkit).
 
 I tracked down a patch in https://bugs.webkit.org/show_bug.cgi?id=38263
 which fixes this. It seems a bit of a hack (why is it bothering to
 look these up internally anyway?) but it's way better than what we
 have now.
 
 With the port diff below, I can now start xxxterm or midori, open a
 page, and move the mouse over the window, without sending hundreds or
 thousands of junk requests to the nameserver.
 
 If you're using this on a metered or slow internet connection it's
 quite an improvement...

This is still a problem with the new version of webkit; updated diff
below.

Index: Makefile
===
RCS file: /cvs/ports/www/webkit/Makefile,v
retrieving revision 1.42
diff -u -p -r1.42 Makefile
--- Makefile3 Mar 2011 13:44:10 -   1.42
+++ Makefile6 Mar 2011 10:51:55 -
@@ -4,6 +4,7 @@ COMMENT =   open source web browser engine
 
 DISTNAME = webkit-1.2.7
 EPOCH =0
+REVISION = 0
 CATEGORIES =   www
 
 HOMEPAGE = http://webkitgtk.org/
Index: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
===
RCS file: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
diff -N patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-WebCore_platform_network_soup_DNSSoup_cpp 6 Mar 2011 
10:51:55 -
@@ -0,0 +1,12 @@
+$OpenBSD$
+--- WebCore/platform/network/soup/DNSSoup.cpp.orig Sat Mar  5 20:50:25 2011
 WebCore/platform/network/soup/DNSSoup.cpp  Sat Mar  5 20:51:40 2011
+@@ -36,6 +36,8 @@ namespace WebCore {
+ void prefetchDNS(const String hostname)
+ {
+ #ifdef HAVE_LIBSOUP_2_29_90
++if (hostname.isEmpty())
++return;
+ String uri = http://+hostname;
+ GOwnPtrSoupURI soupURI(soup_uri_new(uri.utf8().data()));
+ // We may get invalid hostnames, so NULL-check here.



Re: evil webkit bug, loads of junk DNS requests

2011-03-06 Thread Marco Peereboom
yes please

On Sun, Mar 06, 2011 at 10:52:16AM +, Stuart Henderson wrote:
 On 2011/02/14 09:37, Stuart Henderson wrote:
  As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019
  browsers using ports/www/webkit make a dns request for . each
  time the mouse position changes.
  
  Chrome doesn't have this problem (it doesn't seem to have
  this code in its internal copy of webkit).
  
  I tracked down a patch in https://bugs.webkit.org/show_bug.cgi?id=38263
  which fixes this. It seems a bit of a hack (why is it bothering to
  look these up internally anyway?) but it's way better than what we
  have now.
  
  With the port diff below, I can now start xxxterm or midori, open a
  page, and move the mouse over the window, without sending hundreds or
  thousands of junk requests to the nameserver.
  
  If you're using this on a metered or slow internet connection it's
  quite an improvement...
 
 This is still a problem with the new version of webkit; updated diff
 below.
 
 Index: Makefile
 ===
 RCS file: /cvs/ports/www/webkit/Makefile,v
 retrieving revision 1.42
 diff -u -p -r1.42 Makefile
 --- Makefile  3 Mar 2011 13:44:10 -   1.42
 +++ Makefile  6 Mar 2011 10:51:55 -
 @@ -4,6 +4,7 @@ COMMENT = open source web browser engine
  
  DISTNAME =   webkit-1.2.7
  EPOCH =  0
 +REVISION =   0
  CATEGORIES = www
  
  HOMEPAGE =   http://webkitgtk.org/
 Index: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
 ===
 RCS file: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
 diff -N patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
 --- /dev/null 1 Jan 1970 00:00:00 -
 +++ patches/patch-WebCore_platform_network_soup_DNSSoup_cpp   6 Mar 2011 
 10:51:55 -
 @@ -0,0 +1,12 @@
 +$OpenBSD$
 +--- WebCore/platform/network/soup/DNSSoup.cpp.orig   Sat Mar  5 20:50:25 2011
  WebCore/platform/network/soup/DNSSoup.cppSat Mar  5 20:51:40 2011
 +@@ -36,6 +36,8 @@ namespace WebCore {
 + void prefetchDNS(const String hostname)
 + {
 + #ifdef HAVE_LIBSOUP_2_29_90
 ++if (hostname.isEmpty())
 ++return;
 + String uri = http://+hostname;
 + GOwnPtrSoupURI soupURI(soup_uri_new(uri.utf8().data()));
 + // We may get invalid hostnames, so NULL-check here.
 



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread David Coppa
On Mon, Feb 14, 2011 at 10:37 AM, Stuart Henderson s...@spacehopper.org wrote:

...

 With the port diff below, I can now start xxxterm or midori, open a
 page, and move the mouse over the window, without sending hundreds or
 thousands of junk requests to the nameserver.

 If you're using this on a metered or slow internet connection it's
 quite an improvement...

This DNS prefetch stuff is really a crap :(

ok for me.
David



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread Marco Peereboom
I am all for this.  In fact I think we should go further and remove the
guess url that user typed because he/she can't type code as well and
while at it the dns prefetcher.

On Mon, Feb 14, 2011 at 09:37:19AM +, Stuart Henderson wrote:
 As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019
 browsers using ports/www/webkit make a dns request for . each
 time the mouse position changes.
 
 Chrome doesn't have this problem (it doesn't seem to have
 this code in its internal copy of webkit).
 
 I tracked down a patch in https://bugs.webkit.org/show_bug.cgi?id=38263
 which fixes this. It seems a bit of a hack (why is it bothering to
 look these up internally anyway?) but it's way better than what we
 have now.
 
 With the port diff below, I can now start xxxterm or midori, open a
 page, and move the mouse over the window, without sending hundreds or
 thousands of junk requests to the nameserver.
 
 If you're using this on a metered or slow internet connection it's
 quite an improvement...
 
 
 Index: Makefile
 ===
 RCS file: /cvs/ports/www/webkit/Makefile,v
 retrieving revision 1.41
 diff -u -p -r1.41 Makefile
 --- Makefile  30 Dec 2010 17:55:32 -  1.41
 +++ Makefile  14 Feb 2011 09:31:47 -
 @@ -4,6 +4,7 @@ COMMENT = open source web browser engine
  
  DISTNAME =   webkit-1.2.6
  EPOCH =  0
 +REVISION =   0
  CATEGORIES = www
  
  HOMEPAGE =   http://webkitgtk.org/
 Index: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
 ===
 RCS file: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
 diff -N patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
 --- /dev/null 1 Jan 1970 00:00:00 -
 +++ patches/patch-WebCore_platform_network_soup_DNSSoup_cpp   14 Feb 2011 
 09:31:47 -
 @@ -0,0 +1,16 @@
 +$OpenBSD$
 +
 +don't try and resolve DNS for . for every single mouse movement
 +in a browser window. from https://bugs.webkit.org/show_bug.cgi?id=38263
 +
 +--- WebCore/platform/network/soup/DNSSoup.cpp.orig   Sun Feb 13 17:45:39 2011
  WebCore/platform/network/soup/DNSSoup.cppSun Feb 13 17:46:05 2011
 +@@ -36,6 +36,8 @@ namespace WebCore {
 + void prefetchDNS(const String hostname)
 + {
 + #ifdef HAVE_LIBSOUP_2_29_90
 ++if (hostname.isEmpty())
 ++return;
 + String uri = http://+hostname;
 + GOwnPtrSoupURI soupURI(soup_uri_new(uri.utf8().data()));
 + // We may get invalid hostnames, so NULL-check here.
 



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread Robert Nagy
why? disable it in xxterm if you don't like it, some people actually
do like it.

On (2011-02-14 07:27), Marco Peereboom wrote:
 I am all for this.  In fact I think we should go further and remove the
 guess url that user typed because he/she can't type code as well and
 while at it the dns prefetcher.
 
 On Mon, Feb 14, 2011 at 09:37:19AM +, Stuart Henderson wrote:
  As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019
  browsers using ports/www/webkit make a dns request for . each
  time the mouse position changes.
  
  Chrome doesn't have this problem (it doesn't seem to have
  this code in its internal copy of webkit).
  
  I tracked down a patch in https://bugs.webkit.org/show_bug.cgi?id=38263
  which fixes this. It seems a bit of a hack (why is it bothering to
  look these up internally anyway?) but it's way better than what we
  have now.
  
  With the port diff below, I can now start xxxterm or midori, open a
  page, and move the mouse over the window, without sending hundreds or
  thousands of junk requests to the nameserver.
  
  If you're using this on a metered or slow internet connection it's
  quite an improvement...
  
  
  Index: Makefile
  ===
  RCS file: /cvs/ports/www/webkit/Makefile,v
  retrieving revision 1.41
  diff -u -p -r1.41 Makefile
  --- Makefile30 Dec 2010 17:55:32 -  1.41
  +++ Makefile14 Feb 2011 09:31:47 -
  @@ -4,6 +4,7 @@ COMMENT =   open source web browser engine
   
   DISTNAME = webkit-1.2.6
   EPOCH =0
  +REVISION = 0
   CATEGORIES =   www
   
   HOMEPAGE = http://webkitgtk.org/
  Index: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
  ===
  RCS file: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
  diff -N patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
  --- /dev/null   1 Jan 1970 00:00:00 -
  +++ patches/patch-WebCore_platform_network_soup_DNSSoup_cpp 14 Feb 2011 
  09:31:47 -
  @@ -0,0 +1,16 @@
  +$OpenBSD$
  +
  +don't try and resolve DNS for . for every single mouse movement
  +in a browser window. from https://bugs.webkit.org/show_bug.cgi?id=38263
  +
  +--- WebCore/platform/network/soup/DNSSoup.cpp.orig Sun Feb 13 17:45:39 2011
   WebCore/platform/network/soup/DNSSoup.cpp  Sun Feb 13 17:46:05 2011
  +@@ -36,6 +36,8 @@ namespace WebCore {
  + void prefetchDNS(const String hostname)
  + {
  + #ifdef HAVE_LIBSOUP_2_29_90
  ++if (hostname.isEmpty())
  ++return;
  + String uri = http://+hostname;
  + GOwnPtrSoupURI soupURI(soup_uri_new(uri.utf8().data()));
  + // We may get invalid hostnames, so NULL-check here.
  
 



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread Marco Peereboom
I think you don't understand what happens behind the scenes.  Every
domain you enter gets prefixed and tested against the domain the browser
thinks you are in.

you type moo on you a.b.com domain and you'll see fantastically smart
dns lookups such as: moo.com.a.b.com, moo.net.a.b.com etc.  Easily 10
network names that will be wrong.

The prefetcher does the opposite of its promise, it slows down the entire
browser.  By looking up all kinds of crap a user won't click.  A good
example is news.google.com which does about 350 DNS lookups.  All that
to save 1 that the user actually clicks.  They traded one perceived
performance issue for a real one.

There is more insanity but these are just examples.

On Mon, Feb 14, 2011 at 02:54:32PM +0100, Robert Nagy wrote:
 why? disable it in xxterm if you don't like it, some people actually
 do like it.
 
 On (2011-02-14 07:27), Marco Peereboom wrote:
  I am all for this.  In fact I think we should go further and remove the
  guess url that user typed because he/she can't type code as well and
  while at it the dns prefetcher.
  
  On Mon, Feb 14, 2011 at 09:37:19AM +, Stuart Henderson wrote:
   As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019
   browsers using ports/www/webkit make a dns request for . each
   time the mouse position changes.
   
   Chrome doesn't have this problem (it doesn't seem to have
   this code in its internal copy of webkit).
   
   I tracked down a patch in https://bugs.webkit.org/show_bug.cgi?id=38263
   which fixes this. It seems a bit of a hack (why is it bothering to
   look these up internally anyway?) but it's way better than what we
   have now.
   
   With the port diff below, I can now start xxxterm or midori, open a
   page, and move the mouse over the window, without sending hundreds or
   thousands of junk requests to the nameserver.
   
   If you're using this on a metered or slow internet connection it's
   quite an improvement...
   
   
   Index: Makefile
   ===
   RCS file: /cvs/ports/www/webkit/Makefile,v
   retrieving revision 1.41
   diff -u -p -r1.41 Makefile
   --- Makefile  30 Dec 2010 17:55:32 -  1.41
   +++ Makefile  14 Feb 2011 09:31:47 -
   @@ -4,6 +4,7 @@ COMMENT = open source web browser engine

DISTNAME =   webkit-1.2.6
EPOCH =  0
   +REVISION =   0
CATEGORIES = www

HOMEPAGE =   http://webkitgtk.org/
   Index: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
   ===
   RCS file: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
   diff -N patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
   --- /dev/null 1 Jan 1970 00:00:00 -
   +++ patches/patch-WebCore_platform_network_soup_DNSSoup_cpp   14 Feb 
   2011 09:31:47 -
   @@ -0,0 +1,16 @@
   +$OpenBSD$
   +
   +don't try and resolve DNS for . for every single mouse movement
   +in a browser window. from https://bugs.webkit.org/show_bug.cgi?id=38263
   +
   +--- WebCore/platform/network/soup/DNSSoup.cpp.orig   Sun Feb 13 
   17:45:39 2011
    WebCore/platform/network/soup/DNSSoup.cppSun Feb 13 17:46:05 2011
   +@@ -36,6 +36,8 @@ namespace WebCore {
   + void prefetchDNS(const String hostname)
   + {
   + #ifdef HAVE_LIBSOUP_2_29_90
   ++if (hostname.isEmpty())
   ++return;
   + String uri = http://+hostname;
   + GOwnPtrSoupURI soupURI(soup_uri_new(uri.utf8().data()));
   + // We may get invalid hostnames, so NULL-check here.
   
  
 



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread Robert Nagy
I know, I've read the discussion and I am still saying: do not disable it by 
default.
 
On (2011-02-14 08:07), Marco Peereboom wrote:
 I think you don't understand what happens behind the scenes.  Every
 domain you enter gets prefixed and tested against the domain the browser
 thinks you are in.
 
 you type moo on you a.b.com domain and you'll see fantastically smart
 dns lookups such as: moo.com.a.b.com, moo.net.a.b.com etc.  Easily 10
 network names that will be wrong.
 
 The prefetcher does the opposite of its promise, it slows down the entire
 browser.  By looking up all kinds of crap a user won't click.  A good
 example is news.google.com which does about 350 DNS lookups.  All that
 to save 1 that the user actually clicks.  They traded one perceived
 performance issue for a real one.
 
 There is more insanity but these are just examples.
 
 On Mon, Feb 14, 2011 at 02:54:32PM +0100, Robert Nagy wrote:
  why? disable it in xxterm if you don't like it, some people actually
  do like it.
  
  On (2011-02-14 07:27), Marco Peereboom wrote:
   I am all for this.  In fact I think we should go further and remove the
   guess url that user typed because he/she can't type code as well and
   while at it the dns prefetcher.
   
   On Mon, Feb 14, 2011 at 09:37:19AM +, Stuart Henderson wrote:
As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019
browsers using ports/www/webkit make a dns request for . each
time the mouse position changes.

Chrome doesn't have this problem (it doesn't seem to have
this code in its internal copy of webkit).

I tracked down a patch in https://bugs.webkit.org/show_bug.cgi?id=38263
which fixes this. It seems a bit of a hack (why is it bothering to
look these up internally anyway?) but it's way better than what we
have now.

With the port diff below, I can now start xxxterm or midori, open a
page, and move the mouse over the window, without sending hundreds or
thousands of junk requests to the nameserver.

If you're using this on a metered or slow internet connection it's
quite an improvement...


Index: Makefile
===
RCS file: /cvs/ports/www/webkit/Makefile,v
retrieving revision 1.41
diff -u -p -r1.41 Makefile
--- Makefile30 Dec 2010 17:55:32 -  1.41
+++ Makefile14 Feb 2011 09:31:47 -
@@ -4,6 +4,7 @@ COMMENT =   open source web browser engine
 
 DISTNAME = webkit-1.2.6
 EPOCH =0
+REVISION = 0
 CATEGORIES =   www
 
 HOMEPAGE = http://webkitgtk.org/
Index: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
===
RCS file: patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
diff -N patches/patch-WebCore_platform_network_soup_DNSSoup_cpp
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-WebCore_platform_network_soup_DNSSoup_cpp 14 Feb 
2011 09:31:47 -
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+don't try and resolve DNS for . for every single mouse movement
+in a browser window. from https://bugs.webkit.org/show_bug.cgi?id=38263
+
+--- WebCore/platform/network/soup/DNSSoup.cpp.orig Sun Feb 13 
17:45:39 2011
 WebCore/platform/network/soup/DNSSoup.cpp  Sun Feb 13 17:46:05 2011
+@@ -36,6 +36,8 @@ namespace WebCore {
+ void prefetchDNS(const String hostname)
+ {
+ #ifdef HAVE_LIBSOUP_2_29_90
++if (hostname.isEmpty())
++return;
+ String uri = http://+hostname;
+ GOwnPtrSoupURI soupURI(soup_uri_new(uri.utf8().data()));
+ // We may get invalid hostnames, so NULL-check here.

   
  



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread Chris Bennett
Kill it! I am often stuck behind slow internet connections

Chris Bennett



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread Kevin Chadwick
On Mon, 14 Feb 2011 15:10:52 +0100
Robert Nagy wrote:

 I know, I've read the discussion and I am still saying: do not disable it by 
 default.

I always disable prefetching where possible in all browsers. I only want
to connect to and download stuff that I click on. 

Is there a decent example where it's beneficial or might it break
something?



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread patrick keshishian
On Mon, Feb 14, 2011 at 1:37 AM, Stuart Henderson s...@spacehopper.org wrote:
 As mentioned in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=578019
 browsers using ports/www/webkit make a dns request for . each
 time the mouse position changes.

brilliant software is brilliant.



Re: evil webkit bug, loads of junk DNS requests

2011-02-14 Thread Landry Breuil
On Mon, Feb 14, 2011 at 08:07:57AM -0600, Marco Peereboom wrote:
 I think you don't understand what happens behind the scenes.  Every
 domain you enter gets prefixed and tested against the domain the browser
 thinks you are in.
 
 you type moo on you a.b.com domain and you'll see fantastically smart
 dns lookups such as: moo.com.a.b.com, moo.net.a.b.com etc.  Easily 10
 network names that will be wrong.
 
 The prefetcher does the opposite of its promise, it slows down the entire
 browser.  By looking up all kinds of crap a user won't click.  A good
 example is news.google.com which does about 350 DNS lookups.  All that
 to save 1 that the user actually clicks.  They traded one perceived
 performance issue for a real one.
 
 There is more insanity but these are just examples.

That discussion doesn't belong here, bring it to webkit bugzilla/lists
if you want that fixed in a sane way.

Landry