xref: /xnu-8796.101.5/san/tools/validate_blacklist.sh (revision aca3beaa3dfbd42498b42c5e5ce20a938e6554e5)
1*aca3beaaSApple OSS Distributions#!/bin/bash
2*aca3beaaSApple OSS Distributions
3*aca3beaaSApple OSS Distributions# Ensure all blacklisted files exist. Paths with wildcards are ignored.
4*aca3beaaSApple OSS Distributions# Run against a blacklist with fully-qualified paths.
5*aca3beaaSApple OSS Distributions
6*aca3beaaSApple OSS DistributionsIFS=$'\n'
7*aca3beaaSApple OSS Distributions
8*aca3beaaSApple OSS Distributionsblacklist_files=`sed -n -e '
9*aca3beaaSApple OSS Distributions	# ignore paths with wildcards
10*aca3beaaSApple OSS Distributions	/\*/ d
11*aca3beaaSApple OSS Distributions
12*aca3beaaSApple OSS Distributions	# strip leading 'src:'
13*aca3beaaSApple OSS Distributions	/^src/ {
14*aca3beaaSApple OSS Distributions		s/^src://
15*aca3beaaSApple OSS Distributions		p
16*aca3beaaSApple OSS Distributions	}
17*aca3beaaSApple OSS Distributions' $1`
18*aca3beaaSApple OSS Distributions
19*aca3beaaSApple OSS Distributionsret=0
20*aca3beaaSApple OSS Distributions
21*aca3beaaSApple OSS Distributionsfor f in $blacklist_files ; do
22*aca3beaaSApple OSS Distributions	if ! [[ -e $f ]] ; then
23*aca3beaaSApple OSS Distributions		echo "KASan: blacklisted file $f not found" >&2
24*aca3beaaSApple OSS Distributions		ret=1
25*aca3beaaSApple OSS Distributions	fi
26*aca3beaaSApple OSS Distributionsdone
27*aca3beaaSApple OSS Distributions
28*aca3beaaSApple OSS Distributionsexit $ret
29