Mailinglist Archive: opensuse-buildservice (193 mails)

< Previous Next >
Re: [opensuse-buildservice] OBS can't recognize symbol "+" in project name or S.O.O can't transfer it properly.
  • From: Pascal Bleser <pascal.bleser@xxxxxxxxxxxx>
  • Date: Sat, 19 May 2012 11:40:51 +0200
  • Message-id: <20120519094051.GH15516@hera>
On 2012-05-18 17:31:28 (+0800), Marguerite Su <i@xxxxxxxxxxxxx> wrote:
When I'm packaging linphone updates, I need to search package
"tunnel". and found this "bug"?

http://software.opensuse.org/package/stunnel

click openSUSE_Factory. then show unstable packages

we'll see the first project is devel:libraries:c_c++, click into it.

OBS will return you an error messge "devel:libraries:c_c" not found,
seems it can't recognize the last two "+".

That's a classic issue with HTTP: "+" is decoded by HTTP
clients (including browsers, of course) and servers as " ", as
defined in the HTTP specification:
https://en.wikipedia.org/wiki/Percent-encoding
http://www.w3schools.com/tags/ref_urlencode.asp
https://www.ietf.org/rfc/rfc1738.txt

The software search must encode "+" in URLs it puts into the
pages, i.e. NOT do this:
https://build.opensuse.org/package/show?project=devel:libraries:c_c++&package=stunnel

but this instead:
https://build.opensuse.org/package/show?project=devel%3Alibraries%3Ac_c%2B%2B&package=stunnel

":" should typically be interpreted by browsers as just that,
":", as it has no special meaning in URLs and hence, this works too:
https://build.opensuse.org/package/show?project=devel:libraries:c_c%2B%2B&package=stunnel

The "+" *must* be encoded as "%2B" in URLs though as, if not, it
is interpreted by the server side as " ".

Short version, it's a bug in the software search.
(CC'ing Tom, as I believe he implemented it)

cheers
--
-o) Pascal Bleser
/\\ http://opensuse.org -- we haz green
_\_v http://fosdem.org -- we haz conf
< Previous Next >
References