瀏覽代碼

make it work with base64

base64 from coreutils is really picky about the number of equation
marks (=) that end a base64 encoded string.  Unfortunately Tor doesn't
believe they are important at all so it cuts them all off all the time.

For perl purposes we just added a good measure of = and were happy about
it.  For base64 we now need to add the proper number of equation marks.
It turns out that number is 1 for the length of strings we process.

svn:r18170
Peter Palfrader 16 年之前
父節點
當前提交
1c70922491
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      contrib/directory-archive/fetch-all
  2. 1 1
      contrib/directory-archive/fetch-all-v3

+ 1 - 1
contrib/directory-archive/fetch-all

@@ -67,7 +67,7 @@ if [ "$statuses" = "" ]; then
 	exit 1
 fi
 
-digests=$( for i in ` bzcat $statuses | awk '$1 == "r" {printf "%s===\n", $4}' | sort -u `; do
+digests=$( for i in ` bzcat $statuses | awk '$1 == "r" {printf "%s=\n", $4}' | sort -u `; do
 		echo $i | \
 		base64-decode | \
 		perl -e 'undef $/; $a=<>; print unpack("H\*", $a),"\n";';

+ 1 - 1
contrib/directory-archive/fetch-all-v3

@@ -100,7 +100,7 @@ for vote in $votes; do
 	fi
 done
 
-digests=$( for i in ` bzcat $consensus | awk '$1 == "r" {printf "%s===\n", $4}' | sort -u `; do
+digests=$( for i in ` bzcat $consensus | awk '$1 == "r" {printf "%s=\n", $4}' | sort -u `; do
 		echo $i | \
 		base64-decode | \
 		perl -e 'undef $/; $a=<>; print unpack("H\*", $a),"\n";';