public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Jon TURNEY <jon.turney@dronecode.org.uk>
To: Michael Bisbjerg
	<michael-Ktoah55DsJR/SzgSGea1oA@public.gmane.org>,
	cygwin-apps@cygwin.com
Subject: Re: Double-slashes in URLs
Date: Tue, 22 Sep 2015 13:39:00 -0000	[thread overview]
Message-ID: <56015A04.70306@dronecode.org.uk> (raw)
In-Reply-To: <CADhDKZsJfG5cKuqP+2mHKfbq5TYeVmksqr0sfvZNDY6m8gCZAQ@mail.gmail.com>

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 "download.cc", 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.

Thanks.

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/download.cc b/download.cc
> index a5aebe0..e319ed4 100644
> --- a/download.cc
> +++ b/download.cc
> @@ -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 -----

  reply	other threads:[~2015-09-22 13:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-17 15:18 Michael Bisbjerg
2015-09-22 13:39 ` Jon TURNEY [this message]
2015-10-19 15:44   ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56015A04.70306@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin-apps@cygwin.com \
    --cc=michael-Ktoah55DsJR/SzgSGea1oA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).