Closed Bug 184433 Opened 22 years ago Closed 21 years ago

Internet Keywords triggered by "connection refused" errors (hostname not running server on requested port)

Categories

(Core :: DOM: Navigation, defect)

1.0 Branch
defect
Not set
major

Tracking

()

VERIFIED FIXED

People

(Reporter: Marko.Macek, Assigned: jtalkington)

References

Details

Attachments

(1 file)

Phoenix rocks, but... The most annoying feature in phoenix is keyword search. 1) There should be a option to disable it. Or just make it default: there is a search bar for searching, no? 2) I get really annoyed when I type something localhost:8080 (testing) and the next thing I get is a google search for localhost. This really needs to be fixed: no keyword search should occur if a valid DNS hostname is found. 3) If there are any non-alphanumeric characters (especially ':', '/', '@', '='), the string is definatelly not a keyword search.
this is not a bug. this is intended behavior. if you type a URL that doesn't resolve then you get a google "i'm feeling lucky" result for that string. If you don't like this then set pref("keyword.enabled", false); in your prefs.js and you won't see it happen any more.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → INVALID
Summary: keyword search suckage on valid URL → keyword search suckage on valid URL
I know that option. But for hosts that resolve ('localhost'), this feature should never be invoked. IMO, the option would be more useful that way.
I agree with Marko that this is a bug. Asa's comment when he wontfixed it was incorrect, because "localhost" does resolve.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Summary: keyword search suckage on valid URL → keyword search triggers for hostname that resolves if port is closed (e.g. localhost:7777)
*** Bug 204845 has been marked as a duplicate of this bug. ***
I altered my prefs.js file but it won't solve the problem ie Phoenix does not seem to take this into consideration or maybe I am not doing the right thing. If so, please let me know what to do.
QA Contact: asa
Asa's comment wasn't accurate in what this does. If you type in something that doesn't validate as a URL, it checks for a bookmark keyword match, then proceeds to execute the keyword.URL as the I'm Feeling Lucky quicksearch. set keyword.enabled to false if you don't want this behaviour. Adding a delay for the DNS request to time out/fail is just going to slow down the majority of users, and that isn't acceptable. -> Restoring WONTFIX
Status: REOPENED → RESOLVED
Closed: 22 years ago21 years ago
Resolution: --- → WONTFIX
Mike, you're also not understanding what this bug is about. If I type "localhost:7777" into the address bar, Firebird *does* look up localhost and try to connect to it. It only starts doing the keyword thing after connecting to port 7777 fails. Fixing this bug does not involve adding any DNS lookups, so it does not involve slowing down users who use the address bar for I'm Feeling Lucky.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
*** Bug 225223 has been marked as a duplicate of this bug. ***
we hopefully get back a differnt error message from necko on a failure to connect to the port than we would a failure to resolve the host. If so, then we should just error out at the former case. This seems like this is a seamonkey bug that should be fixed there (without breaking firebird's i'm feeling lucky). Darin, does necko give us a unique error mesage for port connection failure? Are there other errors where we should fall dead rather than move through the keyword lookup stuff?
According to nsNetError.h, NS_ERROR_CONNECTION_REFUSED can be generated by contacting a port that isn't responding (I don't know if there's anything else important that might generate this error though?): http://lxr.mozilla.org/mozilla/source/netwerk/base/public/nsNetError.h#152 So maybe it's as simple as removing line 830 from nsWebShell.cpp?: http://lxr.mozilla.org/mozilla/source/docshell/base/nsWebShell.cpp#826
Yes, it's as simple as removing that line nsWebShell.cpp. Actually, the only thing that should be there is the NS_ERROR_UNKNOWN_HOST check. The others are in response to network conditions: NS_ERROR_CONNECTION_REFUSED 1) The host refused the connection (either nothing was listening on that port or the server has the client filtered out.) 2) The network the host is on is not reachable (no route to that network.) 3) The host itself is not reachable (no route to host.) NS_ERROR_NET_TIMEOUT 1) The operation (usually a read or write) timed out, probably due to the connection being lost or the remote server freezing. NS_ERROR_NET_RESET We were able to connect to the host, but remote server reset the connection for some reason (such as the server being restarted.) In all of these cases, the host exists, so it doesn't make much sense to do a keyword lookup. Going back to when the lines were originally added, it looks like it was to make the keyword search more restrictive than it was originally, but it seems to be a little loose still. I'll attach a patch yanking those out.
Attachment #138247 - Flags: superreview?(bz-vacation)
Attachment #138247 - Flags: review?(adamlock)
Comment on attachment 138247 [details] [diff] [review] Yanks out the keyword lookup for network errors, if the host is resolveable. I'd rather darin review this; he knows more about this sort of thing than I do... for the curious, this code was initially added in revision 1.389 of nsWebShell.cpp; the checkin comment is, "We were kicking *any* load failure to the keyword server, now we're a little more selective." I guess we want to be more selective yet. ;)
Attachment #138247 - Flags: superreview?(bz-vacation) → superreview?(darin)
This is very tightly related to bug 95390.
*** Bug 229857 has been marked as a duplicate of this bug. ***
Is this a bug about Internet Keywords design flaws? If so, it needs to be sent to the Browser:Doc Shell component. From searching the Firebird component, there are several bugs in this limbo state. This bug seems to morph between the current summary and "Internet Keywords should be off by default".
QA Contact: benc
Summary: keyword search triggers for hostname that resolves if port is closed (e.g. localhost:7777) → Internet Keywords: triggers for hostname that resolves if port is closed (e.g. localhost:7777)
RE: comment #16, I don't think that the bug has morphed at all. Nobody is suggesting that keywords be off by default. The attached patch turns off keyword lookup when a host is resolveable, but doesn't respond on the port specified (or is not reacheable due to network conditions.) However, I think you are right about changing the product/component.
Comment on attachment 138247 [details] [diff] [review] Yanks out the keyword lookup for network errors, if the host is resolveable. r=adamlock
Attachment #138247 - Flags: review?(adamlock) → review+
Comment on attachment 138247 [details] [diff] [review] Yanks out the keyword lookup for network errors, if the host is resolveable. sr=darin
Attachment #138247 - Flags: superreview?(darin) → superreview+
So is this fix for Firebird-only? It looks like trunk to me. The Netscape design is way out of the picture, I think this is a great improvment, if for no other reason than the people typing localhost are very confused. I don't think Asa and I had thought about this when he initially asked me if using IK by default for Phoenix was a bad idea or not.
*** Bug 229229 has been marked as a duplicate of this bug. ***
Re: "people typing localhost are very confused" Absolutely not. From a general end-user POV I may be somewhat unusual, but I run a local webserver for development purposes (and also local storage of certain documentation and standards that I find useful but don't want to take an external net hit for) and I suspect a lot of other people do to - in absolute terms if not in relative terms. So I access http://localhost/stuff?otherstuff quite a bit. Sometimes I've shut it down to edit the webserver conf files, and forgotten to restart before reloading a page, or I've introduced a bug which causes it not to be able to serve pages any more. What I find then is Firebird automatically redirects to http://www.localhost.net.au/, after which I can't just restart Apache and hit reload, I basically have to re-enter the url and renavigate the the page/query by hand. WhyTF would I ever want to go to that site - it's basically a spam domain-squatting site which would never be a useful thing to find. As people have pointed out, if the DNS entry doesn't exist at all, it *might* *sometimes* be appropriate to do a keyword search for it (but then again, my attitude is that if I wanted that I'm quite capable of using Google myself, and if I mistype on occasion I want to be *told* about it, and have the opportunity to correct my speeling or do a search using *my* preferred search engine myself rather than being transparently forwarded to someone elses idea of what I might have wanted/what would be more lucrative for them for me to find. So really I want the option to turn that feature off *completely*.) But if the DNS name *does* exist, but the server is temporarily down I want to know about that, and have the original URL left in the address bar so that once the problem is resolved either by my own action or by giving sufficient time for the remote admins to reboot their server, I can just hit Refresh to load the page I wanted. IK should never be used by default under these circumstances. Perhaps some people might want the option to turn it on, but I really seriously doubt it.
I might also point out the story of Almon Strowger: http://en2.wikipedia.org/wiki/Almon_Strowger He invented the automatic telephone exchange because he believed human operators were secretly diverting calls to his business to his competitors. What IK does in certain circumstances is add back in the automatic facility to divert an end user's desired request to some related business based on who has control of the IK database. Some people might be comfortable with that but I'm not. Please give us the ability to turn it off completely. "No longer will Microsoft steal all my preferred supplier's business just because they paid Netscape or Google a huge pile of dosh."
John: "it" meant "the fix". My dislike of this feature implementation is pretty well documented. The IK setting is configurable (I run a personal IK server myself). The main problem with the current implementation is it was done rather thoughlessly, without special consideration for cases like "localhost", or a good understanding of network errors. Although I never spoke with anyone who designed the original feature, my interpretation of the design is that it sought to maximize the number of excusable situations where a netscape page could be displayed (and potentially monetized).
*** Bug 232200 has been marked as a duplicate of this bug. ***
Blocks: 178123
Jerry: do you want to take ownership of this bug? I'd like to get this checked in to the trunk right away.
No longer blocks: 178123
Summary: Internet Keywords: triggers for hostname that resolves if port is closed (e.g. localhost:7777) → Internet Keywords: "connection refused" errors (hostname not running server on requested port)
Blocks: 178123
I don't have perms to take ownership of bugs, or check anything in.
Summary: Internet Keywords: "connection refused" errors (hostname not running server on requested port) → Internet Keywords triggered by "connection refused" errors (hostname not running server on requested port)
*** Bug 232200 has been marked as a duplicate of this bug. ***
Assignee: blake → jtalkington
Status: REOPENED → NEW
Component: General → Embedding: Docshell
Product: Firebird → Browser
Version: unspecified → 1.0 Branch
checked in Checking in docshell/base/nsWebShell.cpp; /cvsroot/mozilla/docshell/base/nsWebShell.cpp,v <-- nsWebShell.cpp new revision: 1.628; previous revision: 1.627 done
Status: NEW → RESOLVED
Closed: 21 years ago21 years ago
Resolution: --- → FIXED
V: Mac OS X, Mozilla 1.7a track, 20040129
Status: RESOLVED → VERIFIED
Whiteboard: checkwin, checklinux
V Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7a) Gecko/20040129 Firebird/0.8.0+ localhost went nowhere.
Whiteboard: checkwin, checklinux → checklinux
Verified by cdn on Linux.
Whiteboard: checklinux
*** Bug 184814 has been marked as a duplicate of this bug. ***
*** Bug 232773 has been marked as a duplicate of this bug. ***
*** Bug 224273 has been marked as a duplicate of this bug. ***
*** Bug 226971 has been marked as a duplicate of this bug. ***
*** Bug 178123 has been marked as a duplicate of this bug. ***
No longer blocks: 178123
*** Bug 222156 has been marked as a duplicate of this bug. ***
*** Bug 239353 has been marked as a duplicate of this bug. ***
*** Bug 235786 has been marked as a duplicate of this bug. ***
*** Bug 187660 has been marked as a duplicate of this bug. ***
*** Bug 243125 has been marked as a duplicate of this bug. ***
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: