diff options
Diffstat (limited to 'contrib/directory-archive/fetch-all-functions')
-rw-r--r-- | contrib/directory-archive/fetch-all-functions | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/contrib/directory-archive/fetch-all-functions b/contrib/directory-archive/fetch-all-functions deleted file mode 100644 index a9335bda7b..0000000000 --- a/contrib/directory-archive/fetch-all-functions +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash - -# function used by fetch-all* to download server descriptors and -# extra info documents - -# Copyright (c) 2005, 2006, 2007, 2008 Peter Palfrader -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. - - -fetch_digest() { - local digest - local objecttype - local urlpart - local pathpart - local target - local targetdir - local dirserver - local ei - - digest="$1" - objecttype="$2" - if [ "$objecttype" = "server-descriptor" ] ; then - urlpart="server" - pathpart="server-descriptor" - elif [ "$objecttype" = "extra-info" ] ; then - urlpart="extra" - pathpart="extra-info" - else - echo "Called fetch_digest with illegal objecttype '$objecttype'" >&2 - exit 1 - fi - target=$( echo $digest | sed -e 's#^\(.\)\(.\)#'"$pathpart"'/\1/\2/\1\2#' ) - targetdir=$( dirname $target ) - [ -d "$targetdir" ] || mkdir -p "$targetdir" - if ! [ -e "$target" ]; then - for dirserver in $DIRSERVERS; do - wget -q -O "$target" http://$dirserver/tor/$urlpart/d/"$digest" || rm -f "$target" - if [ -s "$target" ]; then - if egrep '^opt extra-info-digest ' "$target" > /dev/null; then - ei=$( egrep '^opt extra-info-digest ' "$target" | awk '{print $3}' | tr 'A-F' 'a-f' ) - fetch_digest "$ei" "extra-info" - elif egrep '^extra-info-digest ' "$target" > /dev/null; then - ei=$( egrep '^extra-info-digest ' "$target" | awk '{print $2}' | tr 'A-F' 'a-f' ) - fetch_digest "$ei" "extra-info" - fi - break - else - rm -f "$target" - fi - done - fi - #if ! [ -e "$target" ]; then - # echo "$objecttype $digest" >> failed - #fi -} - -if [ -x /usr/bin/base64 ] ; then - base64-decode() { - /usr/bin/base64 -d - } -else - base64-decode() { - perl -MMIME::Base64 -e 'print decode_base64(<>)' - } -fi |