#757039 apt-get fails to send correct http GET requests for URLS containing a dot

Package:
apt
Source:
apt
Description:
commandline package manager
Submitter:
Faheem Mitha
Date:
2014-08-04 20:21:05 UTC
Severity:
normal
#757039#5
Date:
2014-08-04 19:55:02 UTC
From:
To:
See http://unix.stackexchange.com/q/148303/4671

Note, this is probably an Ubuntu machine.

Upshot of the issue (note, I was not the person who asked this
question):

If we add the line

to /etc/apt/sources.list, and run

    apt-get download appliance50

the following output is obtained. Note: the original poster used
`install`, but I'm using `download`, because apt refused to try to
install appliance50 on my machine.

#########################################################################

root@orwell:/home/faheem# apt-get -o Debug::Acquire::Http=true download appliance50
0% [Working]GET
/appliance50/2014/debs/dists/trusty/main/binary-i386/./appliance50_2014-0_i386.deb HTTP/1.1
Host: mirror.cs50.net
Connection: keep-alive
User-Agent: Debian APT-HTTP/1.3 (0.9.7.9)

0% [Waiting for headers]HTTP/1.1 404 Not Found
Cache-control: no-cache="set-cookie"
Content-Type: text/html; charset=UTF-8
Date: Mon, 04 Aug 2014 19:45:53 GMT
Server: Apache
Set-Cookie:
AWSELB=27CBB9F102866AACDE415904FB505399868B9DB4E22AC5183099E4BEEC583EF1DFA3B6E45DFCB95EFBFF7B8F8F555126DCFFF8A461898475BA865AD219D4E4F1F157545837;PATH=/;MAX-AGE=3600
Content-Length: 0
Connection: keep-alive

Err Downloading appliance50 2014-0
  404  Not Found

##########################################################################

but that isn't right, because apt-get doesn't strip out the dot (/./),
and the server responds with a 404. For example wget sends

#########################################################################
GET
/appliance50/2014/debs/dists/trusty/main/binary-i386/appliance50_2014-0_i386.deb HTTP/1.1
Range: bytes=271380-
User-Agent: Wget/1.13.4 (linux-gnu)
Accept: */*
Host: mirror.cs50.net
Connection: Keep-Alive
########################################################################

So, apt-get should rid of this dot in the GET request.

apt-cache policy output follows.

                                                         Regards, Faheem

root@orwell:/home/faheem# apt-cache policy appliance50
appliance50:i386:
  Installed: (none)
  Candidate: 2014-0
  Version table:
     2014-0 0
        500 http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386/ Packages

#757039#10
Date:
2014-08-04 20:13:42 UTC
From:
To:
I should have written:

If we add the line

deb http://mirror.cs50.net/appliance50/2014/debs/dists/trusty/main/binary-i386 /

to /etc/apt/sources.list, and run...