Initial import
[samba] / debian / samba.config
diff --git a/debian/samba.config b/debian/samba.config
new file mode 100644 (file)
index 0000000..c65ae87
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/sh -e
+#
+#
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+RCFILE=/etc/default/samba
+
+# Function for grabbing a parameter from an smb.conf file
+smbconf_retr() {
+       if [ -z "$1" ]; then
+               return
+       fi
+
+       if [ -n "$2" ]; then
+               local FILE="$2"
+       fi
+
+       if [ -z "$FILE" ]; then
+               return
+       fi
+
+       sed -n -e"
+               s/^[[:space:]]*\[global\]/\[global\]/i
+               /^\[global\]/,/^[[:space:]]*\[/ {
+                       s/^[[:space:]]*$1[[:space:]]*=[[:space:]]*//pi
+               }" $FILE \
+       | tail -n 1
+}
+
+read_rcfile() {
+    # Default values
+    if [ -f $RCFILE ]; then
+       . $RCFILE || true
+    fi
+}
+
+set_debconf() {
+    if [ -n "$RUN_MODE" ]; then
+        db_set samba/run_mode "$RUN_MODE" || true
+    fi
+}
+
+FILE=/etc/samba/smb.conf
+
+db_title "Samba Server"
+
+# Babysit users who don't read README.Debian
+if [ -n "$2" ] && dpkg --compare-versions "$2" lt "2.2"
+then
+       db_input medium samba/log_files_moved || true
+       db_go
+fi
+
+
+# We first read the settings file
+# in order to get admin-modified settings
+read_rcfile
+# Debconf-stored values are updated accordingly
+set_debconf
+db_input medium samba/run_mode || true
+db_go
+
+
+# Offer to move the password database for existing users
+if [ "$1" = "configure" -a -n "$2" -a -e /etc/samba/smbpasswd \
+     -a ! -e /var/lib/samba/passdb.tdb ] \
+   && dpkg --compare-versions "$2" lt 2.99.cvs.20020713-2
+then
+       FILE=/etc/samba/smb.conf
+       PASSDB=""
+       if [ -f "$FILE" ]; then
+               PASSDB=`smbconf_retr "passdb backend"`
+       fi
+       TDBPRIORITY=medium
+       if echo "$PASSDB" | grep -q ldapsam; then
+               TDBPRIORITY=low
+       fi
+       db_get samba-common/do_debconf || true
+       if [ "${RET}" = "false" ]; then
+               TDBPRIORITY=low
+       fi
+
+       db_input "$TDBPRIORITY" samba/tdbsam || true
+fi
+
+# We vary the priority of the next question depending on whether
+#      the password database already exists...
+if [ -e /etc/samba/smbpasswd -o -e /var/lib/samba/passdb.tdb ]; then
+       PRIORITY="low"
+else
+       # If 'encrypt passwords' is true in smb.conf, and smbpasswd
+       # does not exist, default to yes here.
+       FILE=/etc/samba/smb.conf
+       if [ -f "$FILE" ]; then
+               ENCRYPT=`smbconf_retr "encrypt passwords"`
+               if [ "$ENCRYPT" ]; then
+                       ENCRYPT=`echo $ENCRYPT | tr '[A-Z]' '[a-z]'`
+                       if [ "$ENCRYPT" = "yes" ]; then
+                               ENCRYPT=true
+                       fi
+                       if [ "$ENCRYPT" = "no" ]; then
+                               ENCRYPT=false
+                       fi
+               fi
+                db_set samba/generate_smbpasswd "$ENCRYPT"
+        fi
+       PRIORITY="medium"
+fi
+
+db_input $PRIORITY samba/generate_smbpasswd || true
+db_go