This is the mail archive of the cygwin-apps mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Double-slashes in URLs

On 17/09/2015 16:18, Michael Bisbjerg wrote:
I noticed once I set up a mirror of my own, that Cygwin Setup will
prepend all it's URL's with a double-slash. This does not seem to be
intentional, and I found the place in the sources where I believe the
error to be.

On line 160 of "", we see that the "n->key" is the source
of the repository, including a "/", as it is used as the name of the
local cache, which always has a "%2f" in its name. That key is then
used on line 165 in "get_url_to_file", where it is concatenated with
another slash and "pkgsource.Canonical" to make the final URL.

This analysis seems correct. It would be nice if you went a bit further and confirmed that the URL is always canonicalized to end with a '/'.

My (untested) patch removes this slash, so that the resulting URL's
will be with a single slash.


This looks correct, and appears to work.

In future, please try to use git format-patch, this makes it much quicker and easier to apply the patch with the correct attribution.

------ PATCH -----
diff --git a/ b/
index a5aebe0..e319ed4 100644
--- a/
+++ b/
@@ -162,7 +162,7 @@ download_one (packagesource & pkgsource, HWND owner)
                                   pkgsource.Canonical ();
        io_stream::mkpath_p (PATH_TO_FILE, "file://" + local, 0);

-      if (get_url_to_file(n->key +  "/" + pkgsource.Canonical (),
+      if (get_url_to_file(n->key + pkgsource.Canonical (),
                           local + ".tmp", pkgsource.size, owner))
           /* FIXME: note new source ? */
------ PATCH -----

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]