{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/11312","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/11312/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/11312/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/11312/events","html_url":"https://github.com/JuliaLang/julia/pull/11312","id":77318349,"number":11312,"title":"RFC: Rewrite git://github.com to https://github.com in package URLs.","user":{"login":"LachlanGunn","id":427759,"avatar_url":"https://avatars.githubusercontent.com/u/427759?v=3","gravatar_id":"","url":"https://api.github.com/users/LachlanGunn","html_url":"https://github.com/LachlanGunn","followers_url":"https://api.github.com/users/LachlanGunn/followers","following_url":"https://api.github.com/users/LachlanGunn/following{/other_user}","gists_url":"https://api.github.com/users/LachlanGunn/gists{/gist_id}","starred_url":"https://api.github.com/users/LachlanGunn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LachlanGunn/subscriptions","organizations_url":"https://api.github.com/users/LachlanGunn/orgs","repos_url":"https://api.github.com/users/LachlanGunn/repos","events_url":"https://api.github.com/users/LachlanGunn/events{/privacy}","received_events_url":"https://api.github.com/users/LachlanGunn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/packages","name":"packages","color":"02e10c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-05-17T14:14:01Z","updated_at":"2015-05-19T11:56:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JuliaLang/julia/pulls/11312","html_url":"https://github.com/JuliaLang/julia/pull/11312","diff_url":"https://github.com/JuliaLang/julia/pull/11312.diff","patch_url":"https://github.com/JuliaLang/julia/pull/11312.patch"},"body":"Introduction\r\n---------------\r\nAs git:// URLs cannot be loaded behind proxies, the current package manager is broken for many institutional users without manual configuration of Git using the \"git://\".insteadOf workaround.  This is a major usability problem, and leaves a bad first impression for new users who are used to the polished installer of Matlab.\r\n\r\nAs discussed in #7005, the git:// protocol also provides no security against man-in-the-middle attacks, to which the current system is vulnerable due to the lack of digital signatures in the process.\r\n\r\nThe Pkg package has therefore been made to automatically change all git://github.com URLs to https://github.com.  URLs pointing to other domains will be unaffected.  If a complete change from git:// to https:// is made, then it is anticipated that existing URLs in METADATA.jl will be changed from git:// to https://.  This may render the URL normalisation part of these changes unnecessary, however it would still be necessary to change the METADATA.jl URL to use HTTPS.\r\n\r\nChanges\r\n-----------\r\n\r\n1. The JuliaLang/METADATA.jl repository URL has been changed from git:// to https:// .\r\n2. Generated URLS have all been changed from git:// to https://\r\n3. The existing URL normalisation code in base/pkg/git.jl has been modified so that it normalises to https:// rather than git://\r\n4. All URLs are now normalised before being passed to \"git clone\" or Git.set_remote_url.\r\n\r\nTogether, these changes allow packages to be installed without access to the git:// port.\r\n\r\nTest procedure\r\n--------------------\r\n\r\n1. Compile Julia in Vagrant-setup virtual machine\r\n2. Run 'sudo iptables -I OUTPUT -p tcp --dport 9418 -j REJECT'\r\n3. Ensure that port is blocked by running 'git clone git://github.com/JuliaLang/Example.jl'.\r\n4. Run 'jlmake test-pkg'"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/103458733","html_url":"https://github.com/JuliaLang/julia/pull/11312#issuecomment-103458733","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/11312","id":103458733,"user":{"login":"ihnorton","id":327706,"avatar_url":"https://avatars.githubusercontent.com/u/327706?v=3","gravatar_id":"","url":"https://api.github.com/users/ihnorton","html_url":"https://github.com/ihnorton","followers_url":"https://api.github.com/users/ihnorton/followers","following_url":"https://api.github.com/users/ihnorton/following{/other_user}","gists_url":"https://api.github.com/users/ihnorton/gists{/gist_id}","starred_url":"https://api.github.com/users/ihnorton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ihnorton/subscriptions","organizations_url":"https://api.github.com/users/ihnorton/orgs","repos_url":"https://api.github.com/users/ihnorton/repos","events_url":"https://api.github.com/users/ihnorton/events{/privacy}","received_events_url":"https://api.github.com/users/ihnorton/received_events","type":"User","site_admin":false},"created_at":"2015-05-19T11:56:50Z","updated_at":"2015-05-19T11:56:50Z","body":"+1"}}