@cryptotaxi247 / kubo / commits / 864e30555

build: specify a dist.ipfs.io hash

Right now bin/dist_get trusts whatever DNS resolver is active. This change enables it to verify what it downloads. Verification itself remains TODO. This will work best with a unixfs-hash tool which is TODO too. It'd just do the equivalent of `ipfs add -n -r <dirOrFile>`. License: MIT Signed-off-by: Lars Gierth <larsg@systemli.org>

Lars Gierth committed May 17, 2016 at 02:24 UTC 864e305557524e53e1b13c85a50de0d916110da8
2 files changed +15 -12
Makefile
+3 -2
@@ -10,6 +10,7 @@ else
10 endif
11
12
13 +dist_root=/ipfs/QmXZQzBAFuoELw3NtjQZHkWSdA332PyQUj6pQjuhEukvg8
14 gx_bin=bin/gx-v0.7.0
15 gx-go_bin=bin/gx-go-v1.2.0
16
@@ -27,13 +28,13 @@ go_check:
28
29 bin/gx-v%:
30 @echo "installing gx $(@:bin/gx-%=%)"
30 - @bin/dist_get gx $@ $(@:bin/gx-%=%)
31 + @bin/dist_get ${dist_root} gx $@ $(@:bin/gx-%=%)
32 rm -f bin/gx
33 ln -s $(@:bin/%=%) bin/gx
34
35 bin/gx-go-v%:
36 @echo "installing gx-go $(@:bin/gx-go-%=%)"
36 - @bin/dist_get gx-go $@ $(@:bin/gx-go-%=%)
37 + @bin/dist_get ${dist_root} gx-go $@ $(@:bin/gx-go-%=%)
38 rm -f bin/gx-go
39 ln -s $(@:bin/%=%) bin/gx-go
40
bin/dist_get
+12 -10
@@ -85,20 +85,22 @@ get_go_vars() {
85 }
86
87 mkurl() {
88 - m_name="$1"
89 - m_vers="$2"
90 - m_archive="$3"
88 + m_root="$1"
89 + m_name="$2"
90 + m_vers="$3"
91 + m_archive="$4"
92 m_govars=$(get_go_vars) || die "could not get go env vars"
93
93 - echo "http://dist.ipfs.io/$m_name/$m_vers/${m_name}_${m_vers}_$m_govars.$m_archive"
94 + echo "https://ipfs.io$m_root/$m_name/$m_vers/${m_name}_${m_vers}_$m_govars.$m_archive"
95 }
96
96 -distname="$1"
97 -outpath="$2"
98 -version="$3"
97 +distroot="$1"
98 +distname="$2"
99 +outpath="$3"
100 +version="$4"
101
100 -if [ -z "$distname" ] || [ -z "$outpath" ] || [ -z "$version" ]; then
101 - die "usage: dist_get <distname> <outpath> <version>"
102 +if [ -z "$distroot" ] || [ -z "$distname" ] || [ -z "$outpath" ] || [ -z "$version" ]; then
103 + die "usage: dist_get <distroot> <distname> <outpath> <version>"
104 fi
105
106 case $version in
@@ -135,7 +137,7 @@ esac
137
138 mkdir -p bin/tmp
139
138 -url=$(mkurl "$distname" "$version" "$archive")
140 +url=$(mkurl "$distroot" "$distname" "$version" "$archive")
141 tmpfi="bin/tmp/$distname.$archive"
142
143 download "$url" "$tmpfi"