|
Bugzilla – Full Text Bug Listing |
| Summary: | HTTP(S) URL escaping broken (URL::Parse makes path eat query) | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE Linux 10.1 | Reporter: | Uwe Gansert <ug> |
| Component: | YaST2 | Assignee: | Josef Reidinger <jreidinger> |
| Status: | RESOLVED FIXED | QA Contact: | Stanislav Visnovsky <visnov> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | jreidinger, suse-beta |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | patch for URL.ycp | ||
|
Description
Uwe Gansert
2006-07-11 09:11:12 UTC
Created attachment 93143 [details]
patch for URL.ycp
Please give a better example: what input to URL::Build produces different behavior in 10.0 and 10.1? Ideally write a test case in https://svn.suse.de/svn/yast/trunk/yast2/library/types/testsuite/tests/URL.ycp :) on 10.0: http://server/classes/autoinst.xml?bla=blupp on 10.1 it's escaped to: http://server/classes/autoinst.xml%3fbla%3dblupp bug 179913 may be related. [YCP] autoinstall/io.ycp:67 UWE $["fragment":"", "host":"10.10.0.162", "pass":"", "path":"/classes/autoinst.xml?bla=blupp", "port":"", "query":"", "scheme":"http", "user":""] you patched Build but the problem is actually in Parse. "path" eats the "query". Originally reported on SLES 10 RC3. Moving to make it public. As URL processing is hard, we should take advantage of existing code in libzypp and make Pkg:: bindings for its URL routines. can this be marked as fixed? (In reply to comment #1) > Created an attachment (id=93143) [details] > patch for URL.ycp I check patch and it is wrong, queries should be in tokens["query"]. So it looks more like bad usage or bug in parse method. Uwe - how do you parse it and where it is used, so I can test it? it's used in multiple places in autoyast: ug@taylor:/space/YaST_trunk/trunk/autoinstallation/src> svngrep URL:: ./include/io.ycp: string full_url = URL::Build(toks); ./include/io.ycp: AutoinstConfig::urltok=URL::Parse(url); ./modules/AutoinstScripts.ycp: map tok = URL::Parse(newloc); ./modules/AutoinstScripts.ycp: map t = URL::Parse(s["location"]:""); ./modules/AutoinstScripts.ycp: map toks = URL::Parse(s["location"]:""); ./modules/AutoinstConfig.ycp: result = URL::Parse (cmdLine); ./modules/AutoinstFile.ycp: map tok = URL::Parse(newloc); ./modules/AutoinstImage.ycp: urltok = URL::Parse (AutoinstSoftware::image["script_location"]:""); it's used for parsing the autoyast=.... parameter too so to test it, simply start an autoinstallation by passing autoyast=... to linuxrc OK, I try it and it works for me for SLE11SP2 alpha2. Could you please verify that it works and if not, could you please post exact parameter you use? thanks Looks like fixed. Feel free to reopen if it appear again. |