File: flyspray.config

package info (click to toggle)
flyspray 0.9.8-10
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 2,444 kB
  • ctags: 3,031
  • sloc: php: 17,634; sh: 301; makefile: 12
file content (111 lines) | stat: -rw-r--r-- 2,764 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/bin/bash -e

RANDOMDEVICE=/dev/urandom
allowed=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./
declare -a RVAL

second () {
	echo $2
}

create-random-pw() {
	if ! read -n 0 < $RANDOMDEVICE ; then
		echo 1>&2 "Warning, no random device found, password might be insecure"
		for i in ` seq 1 "$1" `; do
			RVAL[i]=$RANDOM
		done
	else
		for i in ` seq 1 "$1" `; do
			RVAL[i]=$(second $(od -N 1 -t d $RANDOMDEVICE))
		done
	fi

	PW=""
	for i in ` seq 1 "$1" `; do
		idx=$((${RVAL[i]} & 0x3F))
		PW="${PW}${allowed:$idx:1}"
	done

	printf "%s" $PW
}

# this function comes from wwwconfig-common's apache.func script
getwwwoption() {
    getwwwoption=""
    if [ -f $2 ] ; then
	if grep $1 $2 | grep -v "#" > /dev/null 2>&1 ; then
	    getwwwoption=$(sed -ne "/^[[:space:]]*$1[[:space:]]\+/ s|[[:space:]]*$1[[:space:]]\+\([^[:space:]]\+\)[[:space:]]*$|\1|pg;" < $2)
	fi
    fi
}


# Use debconf baby
. /usr/share/debconf/confmodule
db_version 2.0
db_title Flyspray

db_input "low" "flyspray/welcome" || true
db_go

db_input "high" "flyspray/purge_removes_data" || true
db_go

### Required options no matter what ###
db_input "high" "flyspray/webserver_type" || true
db_go
db_get "flyspray/webserver_type"
mywebtype="$RET"

if [ "$mywebtype" = "Apache" ]; then
    getwwwoption User /etc/apache/httpd.conf
    webuser=$(echo "$getwwwoption" | sed -e "q")
    getwwwoption Group /etc/apache/httpd.conf
    webgroup=$(echo "$getwwwoption" | sed -e "q")
elif [ "$mywebtype" = "Apache2" ]; then
    getwwwoption User /etc/apache2/apache2.conf
    webuser=$(echo "$getwwwoption" | sed -e "q")
    getwwwoption Group /etc/apache2/apache2.conf
    webgroup=$(echo "$getwwwoption" | sed -e "q")
fi

if [ -z "$webuser" ]; then
    db_input "high" "flyspray/webuser" || true
    db_go
else
    db_set "flyspray/webuser" "$webuser"
fi
if [ -z "$webgroup" ]; then
    db_input "high" "flyspray/webgroup" || true
    db_go
else
    db_set "flyspray/webgroup" "$webgroup"
fi

db_input "high" "flyspray/databasemgr_type" || true
db_go
db_get "flyspray/databasemgr_type"
dbtype="$RET"

if [ "$dbtype" != "Manual" ] ; then
    db_input "high" "flyspray/databasemgr_server" || true
    db_go
    db_input "high" "flyspray/dbmyadmin" || true
    db_go
    db_input "critical" "flyspray/dbadmpass" || true
    db_go
    db_input "medium" "flyspray/database_name" || true
    db_go
    db_input "medium" "flyspray/database_user" || true
    db_go
    db_input "medium" "flyspray/database_pass" || true
    db_go
    db_get "flyspray/database_pass"
    dbpass="$RET"
    if [ -z "$dbpass" ] || [ "$dbpass" = "auto" ]; then
        dbpass=$(create-random-pw 8)
    elif [ "$dbpass" = "none" ]; then
        dbpass=""
    fi
    db_set "flyspray/database_pass" "$dbpass"
fi