diff --git a/mirror/get_mirrored b/mirror/get_mirrored index 39862a54..725f156f 100755 --- a/mirror/get_mirrored +++ b/mirror/get_mirrored @@ -21,11 +21,11 @@ TO_MIRROR=( 'http://code.jquery.com/jquery-1.12.4.min.js' 'http://code.jquery.com/jquery-1.12.4.js' 'http://code.jquery.com/ui/1.12.0/jquery-ui.min.js' - 'http://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css' - 'http://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css.map' - 'http://cdn.materialdesignicons.com/3.6.95/fonts/materialdesignicons-webfont.ttf' - 'http://cdn.materialdesignicons.com/3.6.95/fonts/materialdesignicons-webfont.woff2' - 'http://casual-effects.com/markdeep/latest/markdeep.min.js' + 'https://cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/3.6.95/css/materialdesignicons.min.css' + 'https://cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/3.6.95/css/materialdesignicons.min.css.map' + 'https://cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/3.6.95/fonts/materialdesignicons-webfont.ttf' + 'https://cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/3.6.95/fonts/materialdesignicons-webfont.woff2' + 'http://casual-effects.com/markdeep/1.19/markdeep.min.js' 'http://cdnjs.cloudflare.com/ajax/libs/jquery-layout/1.4.3/jquery.layout_and_plugins.min.js' 'http://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.19.2/sweetalert2.all.min.js' 'http://cdnjs.cloudflare.com/ajax/libs/jqtree/1.4.10/tree.jquery.js' @@ -101,17 +101,17 @@ if [ ! -e "${cached_hash_file}" ]; then if [ -f "${frozen_hash_file}" ]; then cp "${frozen_hash_file}" "${cached_hash_file}" || exit 1 else - touch "${cached_hash_file}" + touch "${cached_hash_file}" || exit 1 fi fi # Now do the actual work -exitstat=0 - for url in "${TO_MIRROR[@]}"; do file_relative=".${url#http?(s):/}" file="${mirror_dir}/${file_relative}" - [ -e "${file}" ] && (find "${file}" -type f -mtime "+${MAX_DAYS}" -print0 | xargs -0 -r rm) || exitstat=1 + if [ -e "${file}" ]; then + find "${file}" -type f -mtime "+${MAX_DAYS}" -print0 | xargs -0 -r rm || exit 1 + fi [ -f "${file}" ] || \ if ! wget --no-verbose --no-use-server-timestamps --timeout=60 --tries=2 --waitretry=5 \ --directory-prefix="${mirror_dir}" --force-directories "${url}" @@ -121,13 +121,10 @@ for url in "${TO_MIRROR[@]}"; do fi if ! (sed 's/[^ ]* *//' "${cached_hash_file}" | grep -F -x -q "${file_relative}"); then echo "Warning: First download of ${url}; adding hash to ${cached_hash_file}" - (cd "${mirror_dir}"; sha256sum "${file_relative}") >> "${cached_hash_file}" || exitstat=1 + (cd "${mirror_dir}"; sha256sum "${file_relative}") >> "${cached_hash_file}" || exit 1 fi done - -if ! (cd "${mirror_dir}"; sha256sum --quiet --check -) < "${cached_hash_file}"; then - exitstat="$?" +if ! (cd "${mirror_dir}"; sha256sum --check -) < "${cached_hash_file}"; then echo "DANGER: Validation failed for downloaded third-party code; tampered with?" 1>&2 + exit 1 fi - -exit "${exitstat}" diff --git a/mirror/sums.txt.frozen b/mirror/sums.txt.frozen index c7013705..50219df3 100644 --- a/mirror/sums.txt.frozen +++ b/mirror/sums.txt.frozen @@ -3,11 +3,11 @@ f9b751c1cd0d2b0f91862db987fed9dda48758b15e6f42ca67796b45f4b21702 ./ajax.googlea 668b046d12db350ccba6728890476b3efee53b2f42dbb84743e5e9f1ae0cc404 ./code.jquery.com/jquery-1.12.4.min.js 430f36f9b5f21aae8cc9dca6a81c4d3d84da5175eaedcf2fdc2c226302cb3575 ./code.jquery.com/jquery-1.12.4.js 78613a6e5bab939b078feae691fb0661e2b2671dcce1b1be66517203b2a7b3b1 ./code.jquery.com/ui/1.12.0/jquery-ui.min.js -a3f3c57f087b8635419218cc25ee2633b6e142e3d7f39c5ab7e0b19565bd74ca ./cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css -e6f4238d686c77e6b6c7f4bd55aba73460d75a7c3ccd920ac96c4914daf82dcc ./casual-effects.com/markdeep/latest/markdeep.min.js +d092fe06daa60e288e6cb05266bc4729fc6cc9d11719bff8a57ad6aa5d3976da ./cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/3.6.95/css/materialdesignicons.min.css +7b5a93de2feda0065eb4e637a609c1d6463e69d73dada4f7c2beb5d506f0d14f ./casual-effects.com/markdeep/1.19/markdeep.min.js 5bde9a452e5284dc2b7e2b58eaeb84ac1dff3e4225804ca6fb20a93611eeed72 ./cdnjs.cloudflare.com/ajax/libs/jquery-layout/1.4.3/jquery.layout_and_plugins.min.js f47498ae0c01e6339476f5a719baf060e67fb7550281e3d6003e167eebb1ab8b ./cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/7.19.2/sweetalert2.all.min.js 31c462810097490230f49b879d7a568b5504b46ec46e37fd23deb4469fd705c3 ./cdnjs.cloudflare.com/ajax/libs/jqtree/1.4.10/tree.jquery.js -7b0a4e3df95dc4b534adbeb68e19b0fb76b2de22586c9f9c76528f2c1c323642 ./cdn.materialdesignicons.com/3.6.95/fonts/materialdesignicons-webfont.ttf -eab044658fa11dd5af66c4ec56766eb9162779692a9dd87fc33822dc67d2f29b ./cdn.materialdesignicons.com/3.6.95/fonts/materialdesignicons-webfont.woff2 -65ed74095b48ba266866528c8d8691b2708f9b4f2cf331ab9874e5b0d92196f1 ./cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css.map +bc4ca7e6eb2452a07609933259b97000a59f330d90a34d7453952aca8e069210 ./cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/3.6.95/fonts/materialdesignicons-webfont.ttf +3b616977733f812e0bfc78355749f84f453d5cda5d3416e0ece37fc1ea45d41c ./cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/3.6.95/fonts/materialdesignicons-webfont.woff2 +65ed74095b48ba266866528c8d8691b2708f9b4f2cf331ab9874e5b0d92196f1 ./cdnjs.cloudflare.com/ajax/libs/MaterialDesign-Webfont/3.6.95/css/materialdesignicons.min.css.map