Bug 1003246

Summary: Evolution handles ignore-hosts proxy setting incorrectly resulting in very long start time
Product: [Fedora] Fedora Reporter: Vladislav Grigoryev <vg.aetera>
Component: evolutionAssignee: Matthew Barnes <mbarnes>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 19CC: lucilanga, mbarnes, mcrha, vg.aetera
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 3.10.3-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-17 04:07:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Wireshark log of Evolution startup none

Description Vladislav Grigoryev 2013-09-01 09:32:11 UTC
Created attachment 792559 [details]
Wireshark log of Evolution startup

Description of problem:
Evolution handles ignore-hosts proxy setting incorrectly resulting in very long start time.

Version-Release number of selected component (if applicable):
evolution-3.8.5-2.fc19.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. Configure proxy settings and add some ignore-hosts:
gsettings set org.gnome.system.proxy ignore-hosts "['localhost', '127.0.0.0/8', '::1', '*.example.org']"
2. Start Wireshark live capture
3. Start Evolution

Actual results:
No.     Time           Source                Destination           Protocol Length Info
      1 0.000000000    192.168.8.1           192.168.8.254         DNS      59     Standard query 0x2de2  A *.example.org
      2 0.001919000    192.168.8.1           192.168.8.254         DNS      59     Standard query 0x5dce  AAAA *.example.org
      3 0.060192000    192.168.8.254         192.168.8.1           DNS      59     Standard query response 0x2de2 No such name
      4 0.076214000    192.168.8.254         192.168.8.1           DNS      59     Standard query response 0x5dce No such name
      5 0.076526000    192.168.8.1           192.168.8.254         DNS      70     Standard query 0x0974  A *.example.org.aetera.net
      6 0.077210000    192.168.8.1           192.168.8.254         DNS      70     Standard query 0x5128  AAAA *.example.org.aetera.net
      7 0.144006000    192.168.8.254         192.168.8.1           DNS      138    Standard query response 0x0974 No such name
      8 0.152077000    192.168.8.254         192.168.8.1           DNS      138    Standard query response 0x5128 No such name
      9 0.152381000    192.168.8.1           192.168.8.254         DNS      65     Standard query 0xc5f2  A *.example.org.Dlink
     10 0.152546000    192.168.8.1           192.168.8.254         DNS      65     Standard query 0x51cb  AAAA *.example.org.Dlink
     11 0.214294000    192.168.8.254         192.168.8.1           DNS      65     Standard query response 0xc5f2 No such name
     12 0.214353000    192.168.8.254         192.168.8.1           DNS      65     Standard query response 0x51cb No such name
     13 0.925915000    192.168.8.1           192.168.8.254         DNS      59     Standard query 0x3145  A *.example.org
     14 0.926158000    192.168.8.1           192.168.8.254         DNS      59     Standard query 0x1986  AAAA *.example.org
     15 0.985304000    192.168.8.254         192.168.8.1           DNS      59     Standard query response 0x3145 No such name
     16 0.985369000    192.168.8.254         192.168.8.1           DNS      59     Standard query response 0x1986 No such name
     17 0.991868000    192.168.8.1           192.168.8.254         DNS      70     Standard query 0xad7d  A *.example.org.aetera.net
     18 0.993296000    192.168.8.1           192.168.8.254         DNS      70     Standard query 0x0584  AAAA *.example.org.aetera.net
...

Summary there're hundreds of wrong and useless DNS-queries.
The full wireshark log is attached here.

Expected results:
Evolution should handles proxy ignore-hosts setting correctly not producing wrong and useless DNS-queries.

Comment 1 Milan Crha 2013-09-02 12:54:53 UTC
Thanks for a bug report. Could you verify that your proxy settings in evolution is actually using system proxy, please? You can find it at Edit->Preferences->Network Preferences->Use system defaults. It's possible evolution misreads system proxy settings. As you can see you can define similar information in the evolution itself, could you try that, only for testing purposes, please?

Comment 2 Vladislav Grigoryev 2013-09-02 13:14:54 UTC
(In reply to Milan Crha from comment #1)
> Could you verify that your proxy settings in evolution is actually using
> system proxy, please? You can find it at Edit->Preferences->Network
> Preferences->Use system defaults.
Yes, that's correct.

Evolution network settings:
$ gsettings list-recursively org.gnome.evolution.shell.network-config | sort
org.gnome.evolution.shell.network-config authentication-password ''
org.gnome.evolution.shell.network-config authentication-user ''
org.gnome.evolution.shell.network-config autoconfig-url ''
org.gnome.evolution.shell.network-config http-host ''
org.gnome.evolution.shell.network-config http-port 0
org.gnome.evolution.shell.network-config ignore-hosts @as []
org.gnome.evolution.shell.network-config proxy-type 0
org.gnome.evolution.shell.network-config secure-host ''
org.gnome.evolution.shell.network-config secure-port 0
org.gnome.evolution.shell.network-config socks-host ''
org.gnome.evolution.shell.network-config socks-port 0
org.gnome.evolution.shell.network-config use-authentication false
org.gnome.evolution.shell.network-config use-http-proxy false

Gnome proxy settings:
$ gsettings list-recursively org.gnome.system.proxy | sort 
org.gnome.system.proxy autoconfig-url ''
org.gnome.system.proxy.ftp host 'proxy.aetera.net'
org.gnome.system.proxy.ftp port 3128
org.gnome.system.proxy.http authentication-password ''
org.gnome.system.proxy.http authentication-user ''
org.gnome.system.proxy.http enabled false
org.gnome.system.proxy.http host 'proxy.aetera.net'
org.gnome.system.proxy.http port 3128
org.gnome.system.proxy.https host 'proxy.aetera.net'
org.gnome.system.proxy.https port 3128
org.gnome.system.proxy.http use-authentication false
org.gnome.system.proxy ignore-hosts ['localhost', '127.0.0.0/8', '::1', '*.example.org']
org.gnome.system.proxy mode 'manual'
org.gnome.system.proxy.socks host ''
org.gnome.system.proxy.socks port 0
org.gnome.system.proxy use-same-proxy true

Comment 3 Milan Crha 2013-09-03 16:30:46 UTC
Thanks for the update. I checked the evolution code (it's in evolution-data-server, to be precise), and I see it understands the '*' in a host name, but it compares the two names case sensitively. Can it be, that the used hostname is not all in lowercase?