diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/aggregate.sh | 2 | ||||
-rwxr-xr-x | scripts/verify-uiinfo-urls.sh | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/scripts/aggregate.sh b/scripts/aggregate.sh index 5bc3be8c..2ed4155c 100755 --- a/scripts/aggregate.sh +++ b/scripts/aggregate.sh @@ -3,6 +3,8 @@ DIR=`pwd` ODIR=$1 +rm $DIR/*.xml + grep -v -e '^#' $ODIR/metadata.lst | (while read url cert; do cfile="" if [ "x$cert" != "x" ]; then diff --git a/scripts/verify-uiinfo-urls.sh b/scripts/verify-uiinfo-urls.sh new file mode 100755 index 00000000..b7e1f40a --- /dev/null +++ b/scripts/verify-uiinfo-urls.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +x=$1 +if [ ! -f "$x" ]; then + exit +fi + +for i in `cat $x | sed 's;\(</*\)[a-z0-9]*:;\1;g' | sed 's/xmlns="[^"]*"//' | xmllint --xpath /EntityDescriptor//Extensions/UIInfo - 2>/dev/null |grep -E "https?://" | awk -F'[><]' '{print $3}' | sort -u`; do + code=`curl -L --connect-timeout 5 --retry 2 -o /dev/null --silent --head --write-out '%{http_code}\n' $i` + if [ $code -eq 405 ]; then + code=`curl -L --connect-timeout 5 --retry 2 -o /dev/null --silent --write-out '%{http_code}\n' $i` + fi + if [ $code -ne 200 ]; then + echo " Code $code: $x: $i" | sed 's/.*/[1;31m&[0m/' + fi +done |