Closed Bug 377865 Opened 17 years ago Closed 10 years ago

Need thunderbird-specific Proxy UI

Categories

(Thunderbird :: Security, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 317248

People

(Reporter: jvcsouza, Unassigned)

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Build Identifier: 20070326

Mozilla Thunderbird 2.0 (RC1 20070326) is unable to check e-mails when I set Proxy manually. While Proxy is manually set, Thunderbird fails to get new messages from IMAP server, giving a timeout error.
If Proxy is set for auto-detect or for direct conection it works normally, but Thunderbird remains unable to retrieve on-line information, such as updates, and external HMTL contents in the messages.

Portuguese Details:
Mozilla Thunderbird 2.0 (RC1 20070326) não consegue checar e-mails quando eu configuro o Proxy manualmente. Quando configurado desta forma, Thunderbird falha ao recuperar novas mensagens do servidor IMAP, retornando um erro de "timeout".
Se o Proxy for configurado para ser auto-detectado, ou por conexão direta, sem o servidor proxy, o Thunbird funciona normalmente, mas sem a capacidade de recuperar informações on-line, tais como updates, e conteúdos externos HTML nas mensagens.


Reproducible: Always

Steps to Reproduce:
1.Install Thunbird, set-up your account
2.Set-up a Proxy settings manually (you must be behind a Proxy server)
3.Close Thunderbird, then open it again
Actual Results:  
Thunderbid cannot check new mail, since it cannot conect to IMAP server due a timeout error.

Expected Results:  
Thunderbird should conect to IMAP server, and check for new mail sucessfully, and be able to open external contents in recevied mails, and be able to do updates.

- Tested Thunderbird 2.0 (Build 20070326) Running on Windows XP - Downloaded from Mozilla Oficial Website.

- Tested Thunderbird Running on GNU/Debian Linux Etch - Downloaded from Debian's apt-get repository (Debian verison 4.0, Mozilla Thunderbird 1.5.0.9 - Icedove 1.5.0.9 (Build 20061220)

- The test was done several times, same problem happens always, for both OS.

- This problem exists since Thunderbird 1.5.x, until 2.x alphas, and betas, for both OS.
Sounds real timeout...
Get NSPR log, and attach log file to this bug thru "Add an attachment" link.
( mime-type="text/plain" if file size is accepted. )
  http://www.mozilla.org/quality/mailnews/mail-troubleshoot.html#imap
  http://www.mozilla.org/projects/netlib/http/http-debugging.html
"SET NSPR_LOG_MODULES imap:5,nsSocketTransport:5" is recommended because timeout is involved.

Thunderbird 1.5 or later has connection timeout option.
  Tools/Options/Advanced/Network&Disk Space/Connection/Connection Timeout:
  (mailnews.tcptimeout thru Advanced/General/Config Editor)
Default is 60 sec and is small for some special environments.
What will happen when this value is increased?
(Restart Thunderbird after setting change please, in order to make the change certainly effective.)
Are you sure you should use a proxy for the imap connection? I'd expect you normally only need that for http/ftp.
To explain better, I have a LOCAL network. In this local network I have a SMTP server, a IMAP server and a Proxy server. When proxy is set manually, I can't estabilish a conection to IMAP due a Timeout error. - Turning off Proxy, it Works OK. The servers are OK, since other non-thunderbird clients works fine.

(In reply to comment #2)
> Are you sure you should use a proxy for the imap connection? I'd expect you
> normally only need that for http/ftp.
> 

I'm not using a Proxy for imap. That's not possible, I know. But I do have a proxy server on my local network and when I set the proxy, IMAP doesn't work. It sounds like a exotic bug. (In reply to comment #1)
> Sounds real timeout...
> Get NSPR log, and attach log file to this bug thru "Add an attachment" link.
> ( mime-type="text/plain" if file size is accepted. )
>   http://www.mozilla.org/quality/mailnews/mail-troubleshoot.html#imap
>   http://www.mozilla.org/projects/netlib/http/http-debugging.html
> "SET NSPR_LOG_MODULES imap:5,nsSocketTransport:5" is recommended because
> timeout is involved.
> 
> Thunderbird 1.5 or later has connection timeout option.
>   Tools/Options/Advanced/Network&Disk Space/Connection/Connection Timeout:
>   (mailnews.tcptimeout thru Advanced/General/Config Editor)
> Default is 60 sec and is small for some special environments.
> What will happen when this value is increased?
> (Restart Thunderbird after setting change please, in order to make the change
> certainly effective.)
> 

I incresed the value to 120 seconds. The problem persists. I get timeout error.
The timeout error for IMAP. (It's not a proxy timeout. It's IMAP timeout). When a turn off the proxy, Thunderbird works fine. -  That's the strange part.

I think that Thunderbird is connecting to IMAP and Proxy at the same time, but it asks Proxy user and password frist, so IMAP connection stay idle waiting for password. (even if password is saved).
Can someone confirm that for me?
I have experienced similar situation. When I set http and ssl proxy manually, Thunderbird(icedove) could not connect imap4 server. 
It seems thunderbird try to connect proxy server when it need to connect imap4 server. Because of looking 'netstat -na' status then process opens socket for proxy server.

After disabling these proxy setting, I can use thunderbird well.

Trouble was occured when I check 'use this proxy serverfor all protocols'.
If it is checked and I push 'get mail', then icedove act as follows:

root# netstat -na|grep 8080
tcp        0      0 xx.xx.xx.xx:58672      xx.xx.xx.xx:8080      ESTABLISHED

root@miurahr1:~# lsof -i tcp:58672
COMMAND    PID  USER   FD   TYPE DEVICE SIZE NODE NAME
icedove-b 5130 miura   22r  IPv4  13054       TCP miurahr1.xxx.co.jp:58672->proxy.xxx.co.jp:webcache (ESTABLISHED)

It seems to connect proxy for connecting IMAP4 server.

environment:
OS: debian gnu/Linux 4.0 (etch)
App: icedove 1.5.0.12.dfsg1-0etch1
arch: i386
The matter is that HTTP proxy CAN be used for connecting to SMTP/POP3/IMAP4/NNTP servers, but only if it supports HTTP CONNECT method. In my situation I was able to connect to external IMAP4, SMTP, and NNTP servers via HTTP proxy using Thunderbird nightly builds released at least in the autumn of 2006 and earlier, but with current nightly releases (I currently use 2.0.0.7pre build 20071001) I'm unable.
Some details about my configuration (excerpt from my prefs.js):

user_pref("network.proxy.http", "proxy");
user_pref("network.proxy.http_port", 8080);
user_pref("network.proxy.no_proxies_on", "localhost, 127.0.0.1, 192.168.0.0/16, .lct");
user_pref("network.proxy.share_proxy_settings", true);
user_pref("network.proxy.socks", "proxy");
user_pref("network.proxy.socks_port", 8080);
user_pref("network.proxy.ssl", "proxy");
user_pref("network.proxy.ssl_port", 8080);

Note: I didn't explicitly set SOCKS proxy address/port pair to that is specified in preferences, I just checked the "Use this proxy server for all protocols" checkbox, which is reflected here as "user_pref("network.proxy.share_proxy_settings", true);" line.
Jose:

Please provide all the "network.proxy" preferences, and the configuration information of the imap server connection that is failing.

I just did a quick test, and neither socks nor ssl should affect IMAP (I'm using IMAP w/ TLS).
There really should be a separate entry under the account settings to configure for proxy. I am on a few networks where I need to use the HTTP-CONNECT proxy in order to reach the external smtps/imaps servers that I use. I currently tunnel these with a corkscrew listener on localhost to get around the issue. Outbound imaps/smtps are both blocked. Only HTTP-CONNECT is available. There is no SOCKS proxy available.
Dan:

Thanks for providing some prefs info.

I tested this myself. Apparently, SOCKS is used by IMAP. Also apparently, a lot of the connection errors in mailnews/TB are vague.

Tim: your general point is correct. We should think about how the Proxy prefs UI should be re-factored for the thunderbird application, because it is browser oriented, and very old at that.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: in-testsuite-
Okay. So getting back to what to do here.

What problem do you want this bug to zero in on? In my experience, you get better fixes when there is one bug per problem.

Do you want this to be about the error message or the proxy UI?
I will speak for myself. I'd prefer this bug to be about the proxy usage and UI.
I mean, if the HTTP/HTTPS proxy was specified in the UI, that would be used in
the preference of SOCKS, otherwise SOCKS would be used if specified explicitly.
This is about the functionality of the proxy. I suspect the dialogs need some redesign. All the http-connect features should already be implemented, but not exposed in dialogs. I'd be content with manually editing the config file if there was a supported setting. Obviously configuration dialogs for all the needed features would be better.

The account information might want to have a "use socks, use http, direct" proxy config options in the advanced settings. the socks and http settings would use the  global proxy setup.

So mostly it's the Proxy UI, but there are some missing features at present like http-connect support for imap/imaps/nntp/nntps/pop/pops/smtp/smtps/etc.

It would be useful as a simple fix to show what ip/port (dns name?) we were trying to connect to in the failure dialog. That way the user would currently get a clue that it's trying to use the socks setup which may or may not be what the user wants.
From the discussion in this thread, what I suspected (that the proxy config in thunderbird needs to be re-factored), well that's pretty obvious now, from the use cases provided. Next to Darin, I probably understand proxy better than most, and I can't tell what is going on in TB.

A couple problems:

1- The manual dialog was designed for Mozilla. In many ways it slightly out of date for Seamonkey and Firefox. It was never intended to focus on the needs of Thunderbird users.

2- There is no documentation, that I am aware of. When I worked for Netscape, I was a proxy tester for browser. The mailnews features had no equivalent.

So, I've started to draft a description of proxy in the context of TB... You can find it at:

https://benc.fogbugz.com/default.asp?W58

If you want to read the draft and add comments, use the email address on the page.
Summary: IMAP Connection timeout if setup Proxy manually → Need thunderbird-specific Proxy UI
Assignee: mscott → nobody
jenzed, standard8, ...

we have no proxy documents as noted below. is anything in benc's work (it's a start but there ain't much there) appropriate for devmo, support, or elsewhere?  

(In reply to benc from comment #12)
> 2- There is no documentation, that I am aware of. When I worked for
> Netscape, I was a proxy tester for browser. The mailnews features had no
> equivalent.
> 
> So, I've started to draft a description of proxy in the context of TB... You
> can find it at:
> 
> https://benc.fogbugz.com/default.asp?W58
> 
> If you want to read the draft and add comments, use the email address on the
> page.



> From the discussion in this thread, what I suspected (that the proxy config
> in thunderbird needs to be re-factored)
> ...
> 1- The manual dialog was designed for Mozilla. ... It was never intended to focus on the
> needs of Thunderbird users.

does anything need to be added to Bug 23728 - [meta] Mail proxy support

and are any new bugs needed beyond what is currently open? 
https://bugzilla.mozilla.org/buglist.cgi?type1-0-0=substring&list_id=1722395&short_desc=proxy%20proxies%20pac%20pacs%20socks&field0-0-0=short_desc&type0-0-1=substring&field0-0-1=keywords&type1-0-1=allwordssubstr&resolution=---&classification=Client%20Software&classification=Components&query_format=advanced&short_desc_type=anywords&type0-0-0=anywordssubstr&field1-0-0=short_desc&product=MailNews%20Core&product=Thunderbird&field1-0-1=short_desc
Component: General → Security
QA Contact: general → thunderbird
I've emailed Benc and asked if we can transfer / copy his page to MDN.

There are some existing MDN docs that might be useful:

Proxy UI: https://developer.mozilla.org/en/Proxy_UI
Proxies in Necko: https://developer.mozilla.org/en/Proxies_in_Necko
This bug seems to me that is about Preferences, not Security. Furthermore, it exists bug 317248 which this one could be duplicating.
everyone's help in bug 317248 will be appreciated
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.