~ubuntu-branches/ubuntu/saucy/clamav/saucy-backports

« back to all changes in this revision

Viewing changes to debian/clamav-base.config.in

  • Committer: Package Import Robot
  • Author(s): Scott Kitterman
  • Date: 2014-07-15 01:08:10 UTC
  • mfrom: (0.35.47 sid)
  • Revision ID: package-import@ubuntu.com-20140715010810-ru66ek4fun2iseba
Tags: 0.98.4+dfsg-2~ubuntu13.10.1
No-change backport to saucy (LP: #1341962)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/sh
2
 
 
3
 
set -e
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
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
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//`"
60
 
  if [ "$StreamMaxLength" = "0" ]; then
61
 
    StreamMaxLength="25"
62
 
  fi
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
98
 
if [ "$LogRotate" = "true" ]; then
99
 
  db_set clamav-base/LogRotate true || true
100
 
fi
101
 
if [ "$ScanOnAccess" = "true" ]; then
102
 
  db_set clamav-base/ScanOnAccess true || true
103
 
fi
104
 
if [ -n "$OnAccessMaxFileSize" ]; then
105
 
  db_set clamav-base/OnAccessMaxFileSize "$OnAccessMaxFileSize" || true
106
 
fi
107
 
if [ "$AllowAllMatchScan" = "true" ]; then
108
 
  db_set clamav-base/AllowAllMatchScan true || true
109
 
fi
110
 
if [ "$ForceToDisk" = "true" ]; then
111
 
  db_set clamav-base/ForceToDisk true || true
112
 
fi
113
 
if [ "$DisableCertCheck" = "true" ]; then
114
 
  db_set clamav-base/DisableCertCheck true || true
115
 
fi
116
 
if [ "$ScanSWF" = "true" ]; then
117
 
  db_set clamav-base/ScanSWF true || true
118
 
fi
119
 
if [ -n "$MaxEmbeddedPE" ]; then
120
 
  db_set clamav-base/MaxEmbeddedPE "$MaxEmbeddedPE" || true
121
 
fi
122
 
if [ -n "$MaxHTMLNormalize" ]; then
123
 
  db_set clamav-base/MaxHTMLNormalize "$MaxHTMLNormalize" || true
124
 
fi
125
 
if [ -n "$MaxHTMLNoTags" ]; then
126
 
  db_set clamav-base/MaxHTMLNoTags "$MaxHTMLNoTags" || true
127
 
fi
128
 
if [ -n "$MaxScriptNormalize" ]; then
129
 
  db_set clamav-base/MaxScriptNormalize "$MaxScriptNormalize" || true
130
 
fi
131
 
if [ -n "$MaxZipTypeRcg" ]; then
132
 
  db_set clamav-base/MaxZipTypeRcg "$MaxZipTypeRcg" || true
133
 
fi
134
 
if [ "$Bytecode" = "true" ]; then
135
 
  db_set clamav-base/Bytecode true || true
136
 
fi
137
 
if [ -n "$BytecodeSecurity" ]; then
138
 
  db_set clamav-base/BytecodeSecurity "$BytecodeSecurity" || true
139
 
fi
140
 
if [ -n "$BytecodeTimeout" ]; then
141
 
  db_set clamav-base/BytecodeTimeout "$BytecodeTimeout" || true
142
 
fi
143
 
 
144
 
# States
145
 
 
146
 
StateDebconf()
147
 
{
148
 
  db_input medium clamav-base/debconf || true
149
 
  if ! db_go; then
150
 
    STATE="End"
151
 
  else
152
 
    db_get clamav-base/debconf || true
153
 
    if [ "$RET" = "false" ]; then
154
 
      STATE="End"
155
 
    else
156
 
      STATE="Socket"
157
 
    fi
158
 
  fi
159
 
}
160
 
 
161
 
StateSocket()
162
 
{
163
 
  db_input medium clamav-base/TcpOrLocal || true
164
 
  if ! db_go; then
165
 
    STATE="Debconf"
166
 
  else
167
 
    db_metaget clamav-base/TcpOrLocal value
168
 
    STATE=$RET
169
 
  fi
170
 
}
171
 
 
172
 
StateLocalSocketGroup()
173
 
{
174
 
  db_input low clamav-base/LocalSocketGroup || true
175
 
  if db_go; then
176
 
    db_metaget clamav-base/LocalSocketGroup value
177
 
    if [ "$RET" = "" ]; then
178
 
      db_set clamav-base/LocalSocketGroup "clamav" || true
179
 
    fi
180
 
    STATE="LocalSocketMode"
181
 
  else
182
 
    STATE="UNIX"
183
 
  fi
184
 
}
185
 
 
186
 
StateScanMail()
187
 
{
188
 
  db_input medium clamav-base/ScanMail || true
189
 
  if db_go; then
190
 
    STATE="ScanArchive"
191
 
  else
192
 
    db_metaget clamav-base/TcpOrLocal value
193
 
    if [ "$RET" = "TCP" ]; then
194
 
      STATE="TCPAddr"
195
 
    else
196
 
      STATE="FixStale"
197
 
    fi
198
 
  fi
199
 
}
200
 
 
201
 
StateScanArchive()
202
 
{
203
 
  db_input low clamav-base/ScanArchive || true
204
 
  if db_go; then
205
 
    db_metaget clamav-base/ScanArchive value
206
 
    if [ "$RET" = "true" ]; then
207
 
      STATE="StreamMaxLength"
208
 
    else
209
 
      STATE="MaxDirectoryRecursion"
210
 
    fi
211
 
  else
212
 
    STATE="ScanMail"
213
 
  fi
214
 
}
215
 
 
216
 
StateMaxDirectoryRecursion()
217
 
{
218
 
  if inputdigit low clamav-base/MaxDirectoryRecursion; then
219
 
    db_metaget clamav-base/MaxDirectoryRecursion value
220
 
    if [ "$RET" = "0" ]; then
221
 
      STATE="FollowDirectorySymlinks"
222
 
    else
223
 
      STATE="FollowFileSymlinks"
224
 
    fi
225
 
  else
226
 
      STATE="ScanArchive"
227
 
  fi
228
 
}
229
 
 
230
 
StateFollowFileSymlinks()
231
 
{
232
 
  db_input low clamav-base/FollowFileSymlinks || true
233
 
  if db_go; then
234
 
    STATE="ReadTimeout"
235
 
  else
236
 
    db_metaget clamav-base/MaxDirectoryRecursion value;
237
 
    if [ "$RET" = "0" ]; then
238
 
      STATE="FollowDirectorySymlinks"
239
 
    else
240
 
      STATE="MaxDirectoryRecursion"
241
 
    fi
242
 
  fi
243
 
}
244
 
 
245
 
StateLogFile()
246
 
{
247
 
  db_input low clamav-base/LogFile || true
248
 
  if db_go; then
249
 
    db_metaget clamav-base/LogFile value
250
 
    if [ "$RET" = "" ]; then
251
 
      db_set clamav-base/LogFile "/var/log/clamav/clamav.log" || true
252
 
      STATE="LogTime"
253
 
    elif [ "$RET" = 'none' ]; then
254
 
      db_set clamav-base/LogFile "" || true
255
 
      STATE="SelfCheck"
256
 
    else
257
 
      STATE="LogTime"
258
 
    fi
259
 
  else
260
 
    STATE="LogSyslog"
261
 
  fi
262
 
}
263
 
 
264
 
StateUser()
265
 
{
266
 
  db_input medium clamav-base/User || true
267
 
  if db_go; then
268
 
    db_metaget clamav-base/User value
269
 
    if [ "$RET" = "" ]; then
270
 
      db_set clamav-base/User "clamav" || true
271
 
    fi
272
 
    STATE="AddGroups"
273
 
  else
274
 
    STATE="SelfCheck"
275
 
  fi
276
 
}
277
 
 
278
 
StateBytecode()
279
 
{
280
 
  db_input low clamav-base/Bytecode || true
281
 
  if db_go; then
282
 
    db_metaget clamav-base/Bytecode value
283
 
    if [ "$RET" = "true" ]; then
284
 
      STATE="BytecodeSecurity"
285
 
    else
286
 
      STATE="End"
287
 
    fi
288
 
  else
289
 
    STATE="AddGroups"
290
 
  fi
291
 
}
292
 
 
293
 
# To many options to configure at configure
294
 
if [ "$1" = "reconfigure" ]; then
295
 
  STATE="Init"
296
 
elif [ -n "$2" ]; then
297
 
  if [ -z "$User" ]; then
298
 
    STATE="User"
299
 
  fi
300
 
else
301
 
  STATE="End"
302
 
fi
303
 
 
304
 
[ -z "$STATE" ] && STATE='End'
305
 
 
306
 
# This is the statemachine that controls execution. All the 'real' work is 
307
 
# performed by subfunctions above. 
308
 
 
309
 
while [ "$STATE" != "End" ]; do
310
 
  case "$STATE" in
311
 
    "Init")
312
 
    StateDebconf
313
 
    ;;
314
 
    "Socket")
315
 
    StateSocket
316
 
    ;;
317
 
    "TCP")
318
 
    StateGenericDigit low clamav-base/TCPSocket TCPAddr Socket
319
 
    ;;
320
 
    "TCPAddr")
321
 
    StateGeneric low clamav-base/TCPAddr ScanMail TCP
322
 
    ;;
323
 
    "UNIX")
324
 
    StateGeneric low clamav-base/LocalSocket LocalSocketGroup Socket
325
 
    ;;
326
 
    "LocalSocketGroup")
327
 
    StateLocalSocketGroup
328
 
    ;;
329
 
    "LocalSocketMode")
330
 
    StateGenericDigit low clamav-base/LocalSocketMode FixStale LocalSocketGroup
331
 
    ;;
332
 
    "FixStale")
333
 
    StateGeneric low clamav-base/FixStaleSocket ScanMail LocalSocketMode
334
 
    ;;
335
 
    "ScanMail")
336
 
    StateScanMail
337
 
    ;;
338
 
    "ScanArchive")
339
 
    StateScanArchive
340
 
    ;;
341
 
    "StreamMaxLength")
342
 
    StateGenericDigit low clamav-base/StreamMaxLength MaxDirectoryRecursion ScanArchive
343
 
    ;;
344
 
    "MaxDirectoryRecursion")
345
 
    StateMaxDirectoryRecursion
346
 
    ;;
347
 
    "FollowDirectorySymlinks")
348
 
    StateGeneric low clamav-base/FollowDirectorySymlinks FollowFileSymlinks MaxDirectoryRecursion
349
 
    ;;
350
 
    "FollowFileSymlinks")
351
 
    StateFollowFileSymlinks
352
 
    ;;
353
 
    "ReadTimeout")
354
 
    StateGenericDigit low clamav-base/ReadTimeout MaxThreads FollowFileSymlinks
355
 
    ;;
356
 
    "MaxThreads")
357
 
    StateGenericDigit low clamav-base/MaxThreads MaxConnectionQueueLength ReadTimeout
358
 
    ;;
359
 
    "MaxConnectionQueueLength")
360
 
    StateGenericDigit low clamav-base/MaxConnectionQueueLength LogSyslog MaxThreads
361
 
    ;;
362
 
    "LogSyslog")
363
 
    StateGeneric medium clamav-base/LogSyslog LogFile MaxConnectionQueueLength
364
 
    ;;
365
 
    "LogFile")
366
 
    StateLogFile
367
 
    ;;
368
 
    "LogTime")
369
 
    StateGeneric low clamav-base/LogTime LogRotate LogFile
370
 
    ;;
371
 
    "LogRotate")
372
 
    StateGeneric low clamav-base/LogRotate ScanOnAccess LogFile
373
 
    ;;
374
 
    "ScanOnAccess")
375
 
    StateGeneric low clamav-base/ScanOnAccess OnAccessMaxFileSize LogFile
376
 
    ;;
377
 
    "OnAccessMaxFileSize")
378
 
    StateGeneric low clamav-base/OnAccessMaxFileSize AllowAllMatchScan ScanOnAccess
379
 
    ;;
380
 
    "AllowAllMatchScan")
381
 
    StateGeneric low clamav-base/AllowAllMatchScan ForceToDisk OnAccessMaxFileSize
382
 
    ;;
383
 
    "ForceToDisk")
384
 
    StateGeneric low clamav-base/ForceToDisk DisableCertCheck AllowAllMatchScan
385
 
    ;;
386
 
    "DisableCertCheck")
387
 
    StateGeneric low clamav-base/DisableCertCheck ScanSWF ForceToDisk
388
 
    ;;
389
 
    "ScanSWF")
390
 
    StateGeneric low clamav-base/ScanSWF MaxEmbeddedPE DisableCertCheck
391
 
    ;;
392
 
    "MaxEmbeddedPE")
393
 
    StateGeneric low clamav-base/MaxEmbeddedPE MaxHTMLNormalize ScanSWF
394
 
    ;;
395
 
    "MaxHTMLNormalize")
396
 
    StateGeneric low clamav-base/MaxHTMLNormalize MaxHTMLNoTags MaxEmbeddedPE
397
 
    ;;
398
 
    "MaxHTMLNoTags")
399
 
    StateGeneric low clamav-base/MaxHTMLNoTags MaxScriptNormalize MaxHTMLNormalize
400
 
    ;;
401
 
    "MaxScriptNormalize")
402
 
    StateGeneric low clamav-base/MaxScriptNormalize MaxZipTypeRcg MaxHTMLNoTags
403
 
    ;;
404
 
    "MaxZipTypeRcg")
405
 
    StateGeneric low clamav-base/MaxZipTypeRcg SelfCheck MaxScriptNormalize
406
 
    ;;
407
 
    "SelfCheck")
408
 
    StateGeneric low clamav-base/SelfCheck User MaxZipTypeRcg
409
 
    ;;
410
 
    "User")
411
 
    StateUser
412
 
    ;;
413
 
    "AddGroups")
414
 
    StateGeneric medium clamav-base/AddGroups Bytecode User
415
 
    ;;
416
 
    "Bytecode")
417
 
    StateBytecode
418
 
    ;;
419
 
    "BytecodeSecurity")
420
 
    StateGeneric low clamav-base/BytecodeSecurity BytecodeTimeout Bytecode
421
 
    ;;
422
 
    "BytecodeTimeout")
423
 
    StateGenericDigit low clamav-base/BytecodeTimeout End BytecodeSecurity
424
 
    ;;
425
 
  esac
426
 
done
427
 
db_stop || true
428
 
exit 0