Closed Bug 79655 Opened 24 years ago Closed 20 years ago

Internet Keywords: bypassed if "." or ":" appears in user input

Categories

(SeaMonkey :: Search, defect)

defect
Not set
minor

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 261608

People

(Reporter: zane, Assigned: samir_bugzilla)

References

Details

(Keywords: helpwanted, Whiteboard: [adt3])

Attachments

(1 file, 1 obsolete file)

What I did: ------------ I typed the following: "ide-scsi modules.conf linux" (without the double quotes) into my location bar, and hit return. What happened: ---------------- I got an error message saying "ide-scsi modules.conf linux could not be found, please check the name and try again". If I remove the '.' from 'modules.conf' a search is run, so I'm guessing you're using the period as an indicator that the user has entered what they believe to be a hostname. I also tried double quoting the string '"modules.conf"' hoping that it would cause it to ignore the period, but this did not work. Would be a nice enhancement though. What I expected: ------------------ I expected a search on google for those strings to be run, and the results returned. All in all, I guess I would just prefer that I could more easily control the behaviour of the location bar - i.e. what it does when I give it input of different kinds.
Confirming. Maybe mozilla should search for spaces as well as a "." and run a search if there're spaces in the URL?
Status: UNCONFIRMED → NEW
Ever confirmed: true
This is actually a dupe of bug 73974 which is marked fixed... *** This bug has been marked as a duplicate of 73974 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
this is not a dup of that bug. That bug is when a user hits the search button. This bug is enter. It has worked like this for years including 4.7.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Summary: location bar search containing "." gives "name not found" → location bar search containing "." gives "name not found" when enter is hit
looks like we might need to do the space check before the dot check. this get's tricky though because we might try to handle directories w/ spaces in them like: file://Program Files or http://foo/my dir
the http version isn't valid. The file:// one is a problem.
Target Milestone: --- → mozilla1.0
Using internet keywords might help. Enable it from the Edit|Preferences|Navigator|SmartBrowsing pref panel.
Assignee: matt → sgehani
Status: REOPENED → NEW
Target Milestone: mozilla1.0 → Future
*** Bug 114892 has been marked as a duplicate of this bug. ***
*** Bug 115139 has been marked as a duplicate of this bug. ***
the following fix is from bug 115139 http://lxr.mozilla.org/seamonkey/source/docshell/base/nsWebShell.cpp#957 wrote: 957> PRInt32 dotLoc = hostStr.FindChar('.'); : 994> if(keywordsEnabled && (-1 == dotLoc)) { The previous line 994 becomes the following two lines: 994> PRInt32 spaceLoc = hostStr.FindChar(' '); 995> if( keywordsEnabled && ( (spaceLoc > -1) || (-1 == dotLoc) ) ) { that gives us the desired search functionality. regarding Comment #4 and Comment #5 about file URLs. If I'm reading the code correctly, this is already handled in lines 989 through 992. if keywords is enabled and there is a scheme and the scheme does not start with http then keywords will not be used So, it sounds like this could be fixed with a nice two-line patch, eh? The comments between lin 980 and 988 indicate that the coder wants to clean that part up at some point, but the existing safeguard is good enough for our purposes. -matt PS: modified summary to include additional likely search terms and reduce dups
Summary: location bar search containing "." gives "name not found" when enter is hit → internet keywords search in location/url bar fails with "host not found" when dot character found
Samir, regarding your Comment #6 This bug happens when internet keywords is enabled. The behavior is as if they were disabled, because the code disables internet keywords if a dot character is found in the string. This makes it impossible to use internet keywords to search for Mr. Ed Mr. T +site:foo.com +"download productnamehere" etc. I've got internet keywords set to google, and would love to use internet keywords for all my searching, but for now, I can only use it for searches which do not contain dot characters. I think this is a very simple and low-risk fix. -matt
OS: Linux → All
Hardware: PC → All
Matt, Hey! Wanna take this one?
uh... well, I've never "owned" a bug before... but I'm not opposed to the idea. I should note that I'm not a C programmer. My C experience is circa 1989 (that year, and that year only) and I'm more of a perl guy. I'm fairly sure the fix is reasonable, but I'm infering a great deal from surrounding context. PRInt32 is some kind of 32bit integer I'm guessing. hostStr.FindChar is searching the whole text typed in the URL field (minus initial/trailing whitespace) I'm guessing... but I'm not certain. Also, I don't have the mozilla source on my computer, nor am I well-clued with respect to CVS (understand the general principle, but never used it myself). If I knew for certain how to get the proper version of the file in question, I'd easily do the diff -u, but I'm not even sure of how to get the proper version of the file in question. So, basically, I'm saying that I could take it, but I'd need a whole lot of hand-holding for this two line patch. Is it worth your time to do the hand holding or would you rather just do the patch? :/ -matt
Keywords: helpwanted
Sorry to bug you, but how is this bug doing? Is anyone interested in making the simple patch matt mentions in comment #9?
This flawed "dot parsing" as a way of recognizing DNS hostnames came from some the original psuedo-spec for IK in Navigator 4. m_mozilla@wickline.org's (#6) examples suggest that the Mozilla implementation is very flawed. If you want this tweek fixed, the best way to increase the priority is to test the examples in Navigator 4. If they work in Navigator 4, then mark this w/ the keyword 4xp. The real solution is the implement bug 127872, which would wipe out all syntactical vagaries.
Blocks: 127872
The examples *do* work in NN4. Specifically, in v4.78 (didn't have 4.79 on this machine), if I enable IK, and type in Mr. T. I get http://search.netscape.com/search.psp?cp=clkussrp&charset=UTF-8&search=mr.+t with such wonderfull links as Mr. T. verus The Leprechaun http://willmistretta.tripod.com/versus.html In mozilla build 2002022508 I get www.Mr. T. could not be found I've not added a keyword before. I've put ", 4xp" on the end of the current keywords string. We'll see if I have access to do that, and if that's in fact how one adds a keyword... -matt PS: any chance this could make 0.9.9 ?
Keywords: 4xp
I'm a perl guy. Haven't done C stuff since high school. I also don't have a build environment to test this. Those caveats aside, I've found where the code moved with bonsai, I've gotten the source via lxr (not cvs) and then made what seemed to be the appropriate edits and done a diff. Can someone with a real build settup test this? I understand the freeze for 1.0 is less than a week out. I'd really like to see this 4.x parity issue fixed. Many thanks :) -matt
modified quote style for additional phrases listed in comments to be consistent with previously existing examples. change only affects comments, not code
Attachment #75173 - Attachment is obsolete: true
submitting for nsbeta1 ADT, drivers, whoever's looking, can we please consider getting this in? There is a simple patch attached. The benefits would be 4.x parity and a more consistent behavior(the search button was already fixed to do this correctly). Without this fix we're left with ugly and illogical results. Comment #15 is the most straightforward example. The URL Bar is of course the single most high-profile piece of UI and Keywords are on by default, let's get this right.
Keywords: nsbeta1
nsbeta1+ per Nav triage team, ->1.0, nav3
Keywords: nsbeta1nsbeta1+
Whiteboard: [nav3]
Target Milestone: Future → mozilla1.0
Please update this bug with an [adt1] - [adt3] impact rating (or take it off the list if it doesn't even rate adt3.) Thanks!
converting nav3->adt3
Whiteboard: [nav3] → [adt3]
Mass moving nsbeta1+/adt3 bugs assigned to Navigator team engineers out to target milestone 1.0.1. Please confine your attentions to driving down our list of TM 1.0 bugs for beta. Better to help, debug, or test one of them than fix one of these.
Target Milestone: mozilla1.0 → mozilla1.0.1
Changing nsbeta1+ [adt3] bugs to nsbeta1- on behalf of the adt. If you have any questions about this, please email adt@netscape.com. You can search for "changing adt3 bugs" to quickly find and delete these bug mails.
Keywords: nsbeta1-
Changing nsbeta1+ [adt3] bugs to nsbeta1- on behalf of the adt. If you have any questions about this, please email adt@netscape.com. You can search for "changing adt3 bugs" to quickly find and delete these bug mails.
Keywords: nsbeta1+
*** Bug 135601 has been marked as a duplicate of this bug. ***
*** Bug 123968 has been marked as a duplicate of this bug. ***
*** Bug 112672 has been marked as a duplicate of this bug. ***
asa asked me to look into some aspects of this problem, so here is my update: As other people have noted, "." causes IK to be bypassed, even if other characters that should logically force a IK lookup (most notably spaces) are present. There are actually two problems here, and I'll illustrate by example: "what is 3.14159" - should go to internet keywords, but instead is errored as "an invalid protocol". Anything with spaces should go to IK if it is on (and give this protocol error if this is off). In comparison, "what is 3" goes to Internet Keywords. "3.14159" - should go to DNS. If DNS fails with "hostname not found", then it should be sent to Internet Keywords. In comparison, a single word, presumed to be a hostname, is sent to DNS and then IK. In comparison, "3" will fail, and then be sent to the keyword server. In other words, the general expectation is that Internet Keywords should be used in two cases: 1- Whenever it is obvious (spaces is a giveaway), that the user typed something that cannot be resolved in DNS. 2- Whenever DNS was searched and "hostname not found" was returned. Right now, IK is sometimes used when it should not, and not used when it should.
Summary: internet keywords search in location/url bar fails with "host not found" when dot character found → Internet Keywords: bypassed if "." appears in user input
retargeting
Target Milestone: mozilla1.0.1 → Future
Vedran Miletic, the target milestone field belongs to the bug assignee. Please stop changing fields in Bugzilla. Thank you.
Target Milestone: Future → ---
*** Bug 218918 has been marked as a duplicate of this bug. ***
*** Bug 236136 has been marked as a duplicate of this bug. ***
(In reply to comment #32) > *** Bug 236136 has been marked as a duplicate of this bug. *** Bug 236136 notes that : (colon) doesn't work in keyword search, maby the summary of this bug can be updated to include both . and : /Fredrik
*** Bug 243786 has been marked as a duplicate of this bug. ***
Summary: Internet Keywords: bypassed if "." appears in user input → Internet Keywords: bypassed if "." or ":" appears in user input
A couple months ago, I filed bug 261608, which is pretty much a dup of this one. However, I also did the work to create a patch, and I posted the patch pretty quickly. After a few iterations of review I finally got r/sr, and it was checked in a few days ago. With the patch checked in, this bug should now be fixed. If after testing some trunk nightlies people here agree this is so, please mark this bug as a duplicate of bug 261608. Thanks!
*** This bug has been marked as a duplicate of 261608 ***
Status: NEW → RESOLVED
Closed: 24 years ago20 years ago
Resolution: --- → DUPLICATE
I don't appear to have an option to reopen this bug but it's not fully fixed yet. In the latest Firefox beta a search for "Java 1.5" works. However a search for "javax.usb" fails with a "Server not found". Similarly a search for "java:test is a sample" fails with "Firefox doesn't know how to open this address, because the protocol (java) isn't associated with any program." On the other hand "sample java:test is a sample" succeeds. I think that is it isn't obviously a bad URL, then Firefox should default to a search for the term (at least if keyword seacrh is enabled)
Product: Core → SeaMonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: