]> CyberLeo.Net >> Repos - FreeBSD/releng/10.3.git/blob - contrib/ntp/sntp/scripts/genHardFlags
Fix multiple vulnerabilities in ntp. [SA-18:02.ntp]
[FreeBSD/releng/10.3.git] / contrib / ntp / sntp / scripts / genHardFlags
1 #! /bin/sh
2
3 args=`getopt d:f:v $*`
4 set -- $args
5
6 HF=
7 V=": "
8
9 for i
10 do
11     case "$i" in
12      -d) sdir="$2" ; shift 2 ;;
13      -f) hardenfile="$2" ; shift 2 ;;
14      -v) V= ; shift ;;
15      --) shift ; break ;;
16     esac
17 done
18
19 case "$sdir" in
20  '')
21     sdir=.
22 esac
23
24 case "$hardenfile" in
25  */*)
26     HF=$hardenfile
27     ;;
28  '')
29     ;;
30  *)
31     hf=harden/$hardenfile
32     if test -f $hf
33     then
34         HF=$hf
35     fi
36     ;;
37 esac
38
39 # If we have a file to use (ie, HF is not empty) then look for one.
40 case "$HF" in
41  '')
42     PATH=$PATH:libevent/build-aux
43     export PATH
44     set `scripts/cvo.sh @osname@ @osver@` || exit 1
45
46     CVO_OSNAME=$1
47     CVO_OSVER=$2
48
49     x=$CVO_OSVER
50
51     while true
52     do
53         case "$x" in
54          '') break ;;
55         esac
56 hf=harden/$CVO_OSNAME$x
57 ${V}echo "Looking for <$hf>" >&2
58         if test -f $hf
59         then
60             HF=$hf
61             break
62         fi
63         case "$x" in
64          *.*) x=`echo $x | sed -e 's/\.[^.]*$//'` ;;
65          *) x= ;;
66         esac
67     done
68     case "$HF" in
69      '')
70         hf=harden/$CVO_OSNAME
71 ${V}echo "Looking for <$hf>" >&2
72         if test -f $hf
73         then
74             HF=$hf
75         fi
76         ;;
77     esac
78     # Handle some "aliases"
79     case "$HF" in
80      '')
81         case "$CVO_OSNAME" in
82          raspbian*)
83             hf=harden/debian
84 ${V}echo "Looking for <$hf>" >&2
85             if test -f $hf
86             then
87                 HF=$hf
88             fi
89             ;;
90          redhat* | fedora*)
91             hf=harden/redhat
92 ${V}echo "Looking for <$hf>" >&2
93             if test -f $hf
94             then
95                 HF=$hf
96             fi
97             ;;
98         esac
99         ;;
100     esac
101
102     # This might be a good place to see if uname returns "Linux",
103     # and if so, use a generic file for that.
104     case "$HF" in
105      '')
106         case "`uname`" in
107          Linux)
108             hf=harden/linux
109 ${V}echo "Looking for <$hf>" >&2
110             if test -f $hf
111             then
112                 HF=$hf
113             fi
114             ;;
115         esac
116         ;;
117     esac
118
119     # Finally, 'default'
120     case "$HF" in
121      '')
122         hf=harden/default
123 ${V}echo "Looking for <$hf>" >&2
124         if test -f $hf
125         then
126             HF=$hf
127         fi
128         ;;
129     esac
130
131     case "$HF" in
132      '')
133         echo "No harden/XXX file found!" >&2
134         exit 1
135         ;;
136     esac
137     ;;
138 esac
139
140 ${V}echo "Using <$HF>" >&2
141 echo "GENHARDFLAGFILE=$HF"
142
143 ###
144
145 . $HF
146
147 echo "NTP_HARD_CFLAGS='$NTP_HARD_CFLAGS'"
148 echo "NTP_HARD_CPPFLAGS='$NTP_HARD_CPPFLAGS'"
149 echo "NTP_HARD_LDFLAGS='$NTP_HARD_LDFLAGS'"
150 echo GENHARDFLAG=OK
151
152 exit 0