~yolanda.robla/ubuntu/saucy/clamav/dep-8-tests

61 by Scott Kitterman
* Merge from debian unstable, remaining changes (LP: #354015):
1
#!/bin/sh
2
3
set -e
3 by Stephen Gran
* New upstream version
4
5
# Source debconf library
6
. /usr/share/debconf/confmodule
7
8
# This conf script is capable of backing up
9
db_version 2.0
10
db_capb backup
11
12
#COMMON-FUNCTIONS#
13
14
CLAMAVCONF='/etc/clamav/clamd.conf'
15
16
slurp_config "$CLAMAVCONF"
17
18
# Store conf file values as debconf answers - make sure user changes made 
19
# outside of debconf are preserved
20
if [ -n "$User" ]; then
21
  db_set clamav-base/User "$User" || true
22
  if ! [ "$User" = 'root' ]; then
23
    AddGroups=`groups "$User" | awk -F ':' '{print $2}' | sed -e s/"$User"//`
24
  fi
25
  if [ -n "$AddGroups" ]; then
26
    db_set clamav-base/AddGroups "$AddGroups" || true
27
  fi
28
fi
29
if [ -n "$TCPSocket" ]; then
30
  db_set clamav-base/TcpOrLocal TCP || true
31
elif [ -n "$LocalSocket" ]; then
32
  db_set clamav-base/TcpOrLocal UNIX || true
33
fi
34
if [ -n "$LocalSocket" ]; then
35
  db_set clamav-base/LocalSocket "$LocalSocket" || true
36
fi
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
37
if [ -n "$LocalSocketGroup" ]; then
38
  db_set clamav-base/LocalSocketGroup "$LocalSocketGroup" || true
39
fi
40
if [ -n "$LocalSocketMode" ]; then
41
  db_set clamav-base/LocalSocketMode "$LocalSocketMode" || true
42
fi
3 by Stephen Gran
* New upstream version
43
if [ "$FixStaleSocket" = "true" ]; then
44
  db_set clamav-base/FixStaleSocket true || true
45
fi
46
if [ -n "$TCPSocket" ]; then
47
  db_set clamav-base/TCPSocket "$TCPSocket" || true
48
fi
49
if [ -n "$TCPaddr" ]; then
50
  db_set clamav-base/TCPAddr "$TCPaddr" || true
51
fi
52
if [ "$ScanMail" = "true" ]; then
53
  db_set clamav-base/ScanMail true || true
54
fi
55
if [ "$ScanArchive" = "true" ]; then
56
  db_set clamav-base/ScanArchive true || true
57
fi
58
if [ -n "$StreamMaxLength" ]; then
59
  StreamMaxLength="`echo $StreamMaxLength | sed -e s/M//`"
0.39.10 by Michael Tautschnig, Alberto WU, Michael Tautschnig
60
  if [ "$StreamMaxLength" = "0" ]; then
61
    StreamMaxLength="25"
62
  fi
3 by Stephen Gran
* New upstream version
63
  db_set clamav-base/StreamMaxLength "$StreamMaxLength" || true
64
fi
65
if [ -n "$MaxDirectoryRecursion" ]; then
66
  db_set clamav-base/MaxDirectoryRecursion "$MaxDirectoryRecursion" || true
67
fi
68
if [ "$FollowDirectorySymlinks" = "true" ]; then
69
  db_set clamav-base/FollowDirectorySymlinks true || true
70
fi
71
if [ "$FollowFileSymlinks" = "true" ]; then
72
  db_set clamav-base/FollowFileSymlinks true || true
73
fi
74
if [ -n "$ReadTimeout" ] && [ -z "$ThreadTimeout" ]; then
75
  db_set clamav-base/ReadTimeout "$ReadTimeout" || true
76
elif
77
  [ -z "$ReadTimeout" ] && [ -n "$ThreadTimeout" ]; then
78
  ReadTimeout="$ThreadTimeout"
79
  db_set clamav-base/ReadTimeout "$ReadTimeout" || true
80
elif [ -n "$ReadTimeout" ]; then
81
  db_set clamav-base/ReadTimeout "$ReadTimeout" || true
82
fi
83
if [ -n "$MaxThreads" ]; then
84
  db_set clamav-base/MaxThreads "$MaxThreads" || true
85
fi
86
if [ -n "$MaxConnectionQueueLength" ]; then
87
  db_set clamav-base/MaxConnectionQueueLength "$MaxConnectionQueueLength" || true
88
fi
89
if [ "$LogSyslog" = "true" ]; then
90
  db_set clamav-base/LogSyslog true || true
91
fi
92
if [ -n "$LogFile" ]; then
93
  db_set clamav-base/LogFile "$LogFile" || true
94
fi
95
if [ "$LogTime" = "true" ]; then
96
  db_set clamav-base/LogTime true || true
97
fi
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
98
if [ "$Bytecode" = "true" ]; then
99
  db_set clamav-base/Bytecode true || true
100
fi
101
if [ -n "$BytecodeSecurity" ]; then
102
  db_set clamav-base/BytecodeSecurity "$BytecodeSecurity" || true
103
fi
104
if [ -n "$BytecodeTimeout" ]; then
105
  db_set clamav-base/BytecodeTimeout "$BytecodeTimeout" || true
3 by Stephen Gran
* New upstream version
106
fi
107
108
# States
109
110
StateDebconf()
111
{
112
  db_input medium clamav-base/debconf || true
113
  if ! db_go; then
114
    STATE="End"
115
  else
116
    db_get clamav-base/debconf || true
117
    if [ "$RET" = "false" ]; then
118
      STATE="End"
119
    else
120
      STATE="Socket"
121
    fi
122
  fi
123
}
124
125
StateSocket()
126
{
127
  db_input medium clamav-base/TcpOrLocal || true
128
  if ! db_go; then
129
    STATE="Debconf"
130
  else
131
    db_metaget clamav-base/TcpOrLocal value
132
    STATE=$RET
133
  fi
134
}
135
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
136
StateLocalSocketGroup()
137
{
138
  db_input low clamav-base/LocalSocketGroup || true
139
  if db_go; then
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
140
    db_metaget clamav-base/LocalSocketGroup value
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
141
    if [ "$RET" = "" ]; then
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
142
      db_set clamav-base/LocalSocketGroup "clamav" || true
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
143
    fi
144
    STATE="LocalSocketMode"
145
  else
146
    STATE="UNIX"
147
  fi
148
}
149
3 by Stephen Gran
* New upstream version
150
StateScanMail()
151
{
152
  db_input medium clamav-base/ScanMail || true
153
  if db_go; then
154
    STATE="ScanArchive"
155
  else
156
    db_metaget clamav-base/TcpOrLocal value
157
    if [ "$RET" = "TCP" ]; then
158
      STATE="TCPAddr"
159
    else
160
      STATE="FixStale"
161
    fi
162
  fi
163
}
164
165
StateScanArchive()
166
{
167
  db_input low clamav-base/ScanArchive || true
168
  if db_go; then
169
    db_metaget clamav-base/ScanArchive value
170
    if [ "$RET" = "true" ]; then
44 by Stephen Gran
* New upstream release (closes: #476450, #477278)
171
      STATE="StreamMaxLength"
3 by Stephen Gran
* New upstream version
172
    else
173
      STATE="MaxDirectoryRecursion"
174
    fi
175
  else
176
    STATE="ScanMail"
177
  fi
178
}
179
180
StateMaxDirectoryRecursion()
181
{
182
  if inputdigit low clamav-base/MaxDirectoryRecursion; then
183
    db_metaget clamav-base/MaxDirectoryRecursion value
184
    if [ "$RET" = "0" ]; then
185
      STATE="FollowDirectorySymlinks"
186
    else
187
      STATE="FollowFileSymlinks"
188
    fi
189
  else
190
      STATE="ScanArchive"
191
  fi
192
}
193
194
StateFollowFileSymlinks()
195
{
196
  db_input low clamav-base/FollowFileSymlinks || true
197
  if db_go; then
198
    STATE="ReadTimeout"
199
  else
200
    db_metaget clamav-base/MaxDirectoryRecursion value;
201
    if [ "$RET" = "0" ]; then
202
      STATE="FollowDirectorySymlinks"
203
    else
204
      STATE="MaxDirectoryRecursion"
205
    fi
206
  fi
207
}
208
209
StateLogFile()
210
{
211
  db_input low clamav-base/LogFile || true
212
  if db_go; then
213
    db_metaget clamav-base/LogFile value
214
    if [ "$RET" = "" ]; then
215
      db_set clamav-base/LogFile "/var/log/clamav/clamav.log" || true
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
216
      STATE="LogTime"
3 by Stephen Gran
* New upstream version
217
    elif [ "$RET" = 'none' ]; then
218
      db_set clamav-base/LogFile "" || true
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
219
      STATE="SelfCheck"
220
    else
221
      STATE="LogTime"
3 by Stephen Gran
* New upstream version
222
    fi
223
  else
224
    STATE="LogSyslog"
225
  fi
226
}
227
228
StateUser()
229
{
230
  db_input medium clamav-base/User || true
231
  if db_go; then
232
    db_metaget clamav-base/User value
233
    if [ "$RET" = "" ]; then
234
      db_set clamav-base/User "clamav" || true
235
    fi
236
    STATE="AddGroups"
237
  else
238
    STATE="SelfCheck"
239
  fi
240
}
241
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
242
StateBytecode()
243
{
244
  db_input low clamav-base/Bytecode || true
245
  if db_go; then
246
    db_metaget clamav-base/Bytecode value
247
    if [ "$RET" = "true" ]; then
248
      STATE="BytecodeSecurity"
249
    else
250
      STATE="End"
251
    fi
252
  else
253
    STATE="AddGroups"
254
  fi
255
}
256
3 by Stephen Gran
* New upstream version
257
# To many options to configure at configure
258
if [ "$1" = "reconfigure" ]; then
259
  STATE="Init"
260
elif [ -n "$2" ]; then
261
  if [ -z "$User" ]; then
262
    STATE="User"
263
  fi
264
else
265
  STATE="End"
266
fi
267
268
[ -z "$STATE" ] && STATE='End'
269
270
# This is the statemachine that controls execution. All the 'real' work is 
271
# performed by subfunctions above. 
272
273
while [ "$STATE" != "End" ]; do
274
  case "$STATE" in
275
    "Init")
276
    StateDebconf
277
    ;;
278
    "Socket")
279
    StateSocket
280
    ;;
281
    "TCP")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
282
    StateGenericDigit low clamav-base/TCPSocket TCPAddr Socket
3 by Stephen Gran
* New upstream version
283
    ;;
284
    "TCPAddr")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
285
    StateGeneric low clamav-base/TCPAddr ScanMail TCP
3 by Stephen Gran
* New upstream version
286
    ;;
287
    "UNIX")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
288
    StateGeneric low clamav-base/LocalSocket LocalSocketGroup Socket
3 by Stephen Gran
* New upstream version
289
    ;;
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
290
    "LocalSocketGroup")
291
    StateLocalSocketGroup
292
    ;;
293
    "LocalSocketMode")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
294
    StateGenericDigit low clamav-base/LocalSocketMode FixStale LocalSocketGroup
295
    ;;
296
    "FixStale")
297
    StateGeneric low clamav-base/FixStaleSocket ScanMail LocalSocketMode
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
298
    ;;
3 by Stephen Gran
* New upstream version
299
    "ScanMail")
300
    StateScanMail
301
    ;;
302
    "ScanArchive")
303
    StateScanArchive
304
    ;;
305
    "StreamMaxLength")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
306
    StateGenericDigit low clamav-base/StreamMaxLength MaxDirectoryRecursion ScanArchive
3 by Stephen Gran
* New upstream version
307
    ;;
308
    "MaxDirectoryRecursion")
309
    StateMaxDirectoryRecursion
310
    ;;
311
    "FollowDirectorySymlinks")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
312
    StateGeneric low clamav-base/FollowDirectorySymlinks FollowFileSymlinks MaxDirectoryRecursion
3 by Stephen Gran
* New upstream version
313
    ;;
314
    "FollowFileSymlinks")
315
    StateFollowFileSymlinks
316
    ;;
317
    "ReadTimeout")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
318
    StateGenericDigit low clamav-base/ReadTimeout MaxThreads FollowFileSymlinks
3 by Stephen Gran
* New upstream version
319
    ;;
320
    "MaxThreads")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
321
    StateGenericDigit low clamav-base/MaxThreads MaxConnectionQueueLength ReadTimeout
3 by Stephen Gran
* New upstream version
322
    ;;
323
    "MaxConnectionQueueLength")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
324
    StateGenericDigit low clamav-base/MaxConnectionQueueLength LogSyslog MaxThreads
3 by Stephen Gran
* New upstream version
325
    ;;
326
    "LogSyslog")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
327
    StateGeneric medium clamav-base/LogSyslog LogFile MaxConnectionQueueLength
3 by Stephen Gran
* New upstream version
328
    ;;
329
    "LogFile")
330
    StateLogFile
331
    ;;
332
    "LogTime")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
333
    StateGeneric low clamav-base/LogTime SelfCheck LogFile
3 by Stephen Gran
* New upstream version
334
    ;;
335
    "SelfCheck")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
336
    StateGeneric low clamav-base/SelfCheck User LogFile
337
    ;;
338
    "User")
339
    StateUser
340
    ;;
341
    "AddGroups")
342
    StateGeneric medium clamav-base/AddGroups Bytecode User
3 by Stephen Gran
* New upstream version
343
    ;;
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
344
    "Bytecode")
345
    StateBytecode
346
    ;;
347
    "BytecodeSecurity")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
348
    StateGeneric low clamav-base/BytecodeSecurity BytecodeTimeout Bytecode
80 by Scott Kitterman, Scott Kitterman, Stephen Gran, Michael Tautschnig
[ Scott Kitterman ]
349
    ;;
350
    "BytecodeTimeout")
81 by Scott Kitterman
* Merge from Debian Unstable. Remaining Ubuntu changes:
351
    StateGenericDigit low clamav-base/BytecodeTimeout End BytecodeSecurity
3 by Stephen Gran
* New upstream version
352
    ;;
353
  esac
354
done
355
db_stop || true
356
exit 0