Re-roll patches to build for wheezy

This commit is contained in:
Kienan Stewart 2018-04-15 12:33:53 -04:00
parent a08cb2bbb2
commit 83a4bad18e
22 changed files with 3507 additions and 656 deletions

View File

@ -1,344 +1,350 @@
# AUTO GENERATED FILE
# Modify template in /etc/alternc/templates/
# and launch alternc.install if you want
# to modify this file.
#
## Dovecot configuration file
# This is a concatenation of all /etc/dovecot/conf.d/* from DEBIAN package
# with rules adapted to AlternC best practices and link with MySQL tables.
protocols = imap pop3 sieve
default_process_limit = 1000
## -------------------------------------------------------------------------
## 10-auth
# Disable LOGIN command and all other plaintext authentications unless
# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
disable_plaintext_auth = no
# Space separated list of wanted authentication mechanisms:
# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
# gss-spnego
# NOTE: See also disable_plaintext_auth setting.
auth_mechanisms = plain login
##
## Password and user databases
##
#
# Password database is used to verify user's password (and nothing more).
# You can have multiple passdbs and userdbs. This is useful if you want to
# allow both system users (/etc/passwd) and virtual users to login without
# duplicating the system users into virtual database.
#
# <doc/wiki/PasswordDatabase.txt>
#
# User database specifies where mails are located and what user/group IDs
# own them. For single-UID configuration use "static" userdb.
#
# <doc/wiki/UserDatabase.txt>
#!include auth-deny.conf.ext
#!include auth-master.conf.ext
#!include auth-system.conf.ext
#!include auth-sql.conf.ext
#!include auth-ldap.conf.ext
#!include auth-passwdfile.conf.ext
#!include auth-checkpassword.conf.ext
#!include auth-vpopmail.conf.ext
#!include auth-static.conf.ext
# ----------------------------------------------------------------------------
# 10-login.conf
# Prefix for each line written to log file. % codes are in strftime(3)
# format.
#log_timestamp = "%b %d %H:%M:%S "
log_timestamp = "%Y-%m-%d %H:%M:%S "
# ----------------------------------------------------------------------------
# 10-mail.conf
# Location for users' mailboxes. This is the same as the old default_mail_env
# setting. The default is empty, which means that Dovecot tries to find the
# mailboxes automatically. This won't work if the user doesn't have any mail
# yet, so you should explicitly tell Dovecot the full location.
#
# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u)
# isn't enough. You'll also need to tell Dovecot where the other mailboxes are
# kept. This is called the "root mail directory", and it must be the first
# path given in the mail_location setting.
#
# There are a few special variables you can use, eg.:
#
# %u - username
# %n - user part in user@domain, same as %u if there's no domain
# %d - domain part in user@domain, empty if there's no domain
# %h - home directory
#
# See </usr/share/doc/dovecot-common/wiki/Variables.txt> for full list.
# Some examples:
#
# mail_location = maildir:~/Maildir
# mail_location = mbox:~/mail:INBOX=/var/mail/%u
# mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
# </usr/share/doc/dovecot-common/wiki/MailLocation.txt>
#
mail_location = maildir:~/Maildir
# Group to enable temporarily for privileged operations. Currently this is
# used only with INBOX when either its initial creation or dotlocking fails.
# Typically this is set to "mail" to give access to /var/mail.
#mail_privileged_group =
mail_privileged_group = vmail
# Valid UID range for users, defaults to 500 and above. This is mostly
# to make sure that users can't log in as daemons or other system users.
# Note that denying root logins is hardcoded to dovecot binary and can't
# be done even if first_valid_uid is set to 0.
first_valid_uid = 2000
last_valid_uid = 65000
# ----------------------------------------------------------------------------
# 10-master.conf
passdb {
driver = sql
args = /etc/dovecot/alternc-sql.conf
}
userdb {
driver = sql
args = /etc/dovecot/alternc-sql.conf
}
userdb {
driver = prefetch
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
mode = 0600
user = vmail
}
# set this to (default_client_limit * number of services using it)
client_limit = 5000
}
service anvil {
# set this to (default_client_limit * number of services using it)
client_limit = 5000
}
# ----------------------------------------------------------------------------
# 10-ssl.conf
# SSL/TLS support: yes, no, required. </usr/share/doc/dovecot-common/wiki/SSL.txt>
ssl = yes
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root.
#ssl_cert = </etc/dovecot/dovecot.pem
#ssl_cert_file = /etc/alternc/apache.pem
#ssl_key = </etc/dovecot/dovecot.pem
#ssl_key_file = /etc/alternc/apache.pem
# ----------------------------------------------------------------------------
# 15-lda.conf
##
## LDA specific settings
##
protocol lda {
# Address to use when sending rejection mails (e.g. postmaster@example.com).
postmaster_address = postmaster@localhost
# Hostname to use in various parts of sent mails, eg. in Message-Id.
# Default is the system's real hostname.
#hostname =
# Support for dynamically loadable plugins. mail_plugins is a space separated
# list of plugins to load.
mail_plugins = quota sieve
#mail_plugin_dir = /usr/lib/dovecot/modules/lda
# UNIX socket path to master authentication server to find users.
auth_socket_path = /var/run/dovecot/auth-master
}
# ----------------------------------------------------------------------------
# 20-imap.conf
protocol imap {
# Support for dynamically loadable plugins. mail_plugins is a space separated
# list of plugins to load.
mail_plugins = quota imap_quota
#mail_plugin_dir = /usr/lib/dovecot/modules/imap
mail_max_userip_connections = 500
}
service imap {
executable = imap imap-postlogin
vsz_limit = 512M
}
service imap-postlogin {
executable = script-login /usr/lib/alternc/popimap-log-login.sh
# the script process runs as the user specified here (v2.0.14+):
# user = $default_internal_user
# this UNIX socket listener must use the same name as given to imap executable
unix_listener imap-postlogin {
}
}
# ----------------------------------------------------------------------------
# 20-managesieve.conf
protocol sieve {
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
}
service managesieve {
executable = /usr/lib/dovecot/managesieve
}
# ----------------------------------------------------------------------------
# 20-pop3.conf
protocol pop3 {
# POP3 UIDL (unique mail identifier) format to use. You can use following
# variables, along with the variable modifiers described in
# </usr/share/doc/dovecot-common/wiki/Variables.txt> (e.g. %Uf for the
# filename in uppercase)
#
# %v - Mailbox's IMAP UIDVALIDITY
# %u - Mail's IMAP UID
# %m - MD5 sum of the mailbox headers in hex (mbox only)
# %f - filename (maildir only)
#
# If you want UIDL compatibility with other POP3 servers, use:
# UW's ipop3d : %08Xv%08Xu
# Courier : %f or %v-%u (both might be used simultaneosly)
# Cyrus (<= 2.1.3) : %u
# Cyrus (>= 2.1.4) : %v.%u
# Dovecot v0.99.x : %v.%u
# tpop3d : %Mf
#
# Note that Outlook 2003 seems to have problems with %v.%u format which was
# Dovecot's default, so if you're building a new server it would be a good
# idea to change this. %08Xu%08Xv should be pretty fail-safe.
#
pop3_uidl_format = %08Xu%08Xv
# Support for dynamically loadable plugins. mail_plugins is a space separated
# list of plugins to load.
mail_plugins = quota
#mail_plugin_dir = /usr/lib/dovecot/modules/pop3
}
service pop3 {
executable = /usr/lib/alternc/popimap-log-login.sh /usr/lib/dovecot/pop3
}
# ----------------------------------------------------------------------------
# 90-plugin.conf
plugin {
# Quota plugin. Multiple backends are supported:
# dirsize: Find and sum all the files found from mail directory.
# Extremely SLOW with Maildir. It'll eat your CPU and disk I/O.
# dict: Keep quota stored in dictionary (eg. SQL)
# maildir: Maildir++ quota
# fs: Read-only support for filesystem quota
#
# Quota limits are set using "quota_rule" parameters, either in here or in
# userdb. It's also possible to give mailbox-specific limits, for example:
# quota_rule = *:storage=1048576
quota_rule = *:storage=100M
quota_rule2 = Trash:storage=+10%%
# quota_rule2 = Trash:storage=102400
# User has now 1GB quota, but when saving to Trash mailbox the user gets
# additional 100MB.
#
# Multiple quota roots are also possible, for example:
# quota = dict:user::proxy::quota
# quota2 = dict:domain:%d:proxy::quota_domain
# quota_rule = *:storage=102400
# quota2_rule = *:storage=1048576
# Gives each user their own 100MB quota and one shared 1GB quota within
# the domain.
#
# You can execute a given command when user exceeds a specified quota limit.
# Each quota root has separate limits. Only the command for the first
# exceeded limit is excecuted, so put the highest limit first.
# Note that % needs to be escaped as %%, otherwise "% " expands to empty.
# quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95
# quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80
quota_warning = storage=95%% /usr/lib/alternc/quota-warning.sh 95
quota_warning2 = storage=80%% /usr/lib/alternc/quota-warning.sh 80
#quota = maildir
quota = dict:user::proxy::quotadict
# Sieve plugin (http://wiki.dovecot.org/LDA/Sieve) and ManageSieve service
#
# Location of the active script. When ManageSieve is used this is actually
# a symlink pointing to the active script in the sieve storage directory.
sieve=~/.dovecot.sieve
#
# The path to the directory where the personal Sieve scripts are stored. For
# ManageSieve this is where the uploaded scripts are stored.
sieve_dir=~/sieve
}
# Dictionary can be used by some plugins to store key=value lists, such as
# quota, expire and acl plugins. The dictionary can be used either directly or
# though a dictionary server. The following dict block maps dictionary names to
# URIs when the server is used. These can then be referenced using URIs in
# format "proxy::<name>".
dict {
quotadict = mysql:/etc/dovecot/alternc-dict-quota.conf
#expire = db:/var/lib/dovecot/expire.db
}
service auth-worker {
user = vmail
}
service dict {
unix_listener dict {
mode = 0660
user = vmail
group = vmail
}
}
diff --git a/etc/alternc/templates/dovecot/conf.d/95_alternc.conf b/etc/alternc/templates/dovecot/conf.d/95_alternc.conf
deleted file mode 100644
index dda55336..00000000
--- a/etc/alternc/templates/dovecot/conf.d/95_alternc.conf
+++ /dev/null
@@ -1,344 +0,0 @@
-# AUTO GENERATED FILE
-# Modify template in /etc/alternc/templates/
-# and launch alternc.install if you want
-# to modify this file.
-#
-## Dovecot configuration file
-# This is a concatenation of all /etc/dovecot/conf.d/* from DEBIAN package
-# with rules adapted to AlternC best practices and link with MySQL tables.
-
-protocols = imap pop3 sieve
-
-default_process_limit = 1000
-
-## -------------------------------------------------------------------------
-## 10-auth
-
-# Disable LOGIN command and all other plaintext authentications unless
-# SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP
-# matches the local IP (ie. you're connecting from the same computer), the
-# connection is considered secure and plaintext authentication is allowed.
-disable_plaintext_auth = no
-
-# Space separated list of wanted authentication mechanisms:
-# plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey
-# gss-spnego
-# NOTE: See also disable_plaintext_auth setting.
-auth_mechanisms = plain login
-
-##
-## Password and user databases
-##
-
-#
-# Password database is used to verify user's password (and nothing more).
-# You can have multiple passdbs and userdbs. This is useful if you want to
-# allow both system users (/etc/passwd) and virtual users to login without
-# duplicating the system users into virtual database.
-#
-# <doc/wiki/PasswordDatabase.txt>
-#
-# User database specifies where mails are located and what user/group IDs
-# own them. For single-UID configuration use "static" userdb.
-#
-# <doc/wiki/UserDatabase.txt>
-
-#!include auth-deny.conf.ext
-#!include auth-master.conf.ext
-
-#!include auth-system.conf.ext
-#!include auth-sql.conf.ext
-#!include auth-ldap.conf.ext
-#!include auth-passwdfile.conf.ext
-#!include auth-checkpassword.conf.ext
-#!include auth-vpopmail.conf.ext
-#!include auth-static.conf.ext
-
-
-# ----------------------------------------------------------------------------
-# 10-login.conf
-
-# Prefix for each line written to log file. % codes are in strftime(3)
-# format.
-#log_timestamp = "%b %d %H:%M:%S "
-log_timestamp = "%Y-%m-%d %H:%M:%S "
-
-# ----------------------------------------------------------------------------
-# 10-mail.conf
-
-
-# Location for users' mailboxes. This is the same as the old default_mail_env
-# setting. The default is empty, which means that Dovecot tries to find the
-# mailboxes automatically. This won't work if the user doesn't have any mail
-# yet, so you should explicitly tell Dovecot the full location.
-#
-# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u)
-# isn't enough. You'll also need to tell Dovecot where the other mailboxes are
-# kept. This is called the "root mail directory", and it must be the first
-# path given in the mail_location setting.
-#
-# There are a few special variables you can use, eg.:
-#
-# %u - username
-# %n - user part in user@domain, same as %u if there's no domain
-# %d - domain part in user@domain, empty if there's no domain
-# %h - home directory
-#
-# See </usr/share/doc/dovecot-common/wiki/Variables.txt> for full list.
-# Some examples:
-#
-# mail_location = maildir:~/Maildir
-# mail_location = mbox:~/mail:INBOX=/var/mail/%u
-# mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
-#
-# </usr/share/doc/dovecot-common/wiki/MailLocation.txt>
-#
-mail_location = maildir:~/Maildir
-
-
-# Group to enable temporarily for privileged operations. Currently this is
-# used only with INBOX when either its initial creation or dotlocking fails.
-# Typically this is set to "mail" to give access to /var/mail.
-#mail_privileged_group =
-mail_privileged_group = vmail
-
-
-# Valid UID range for users, defaults to 500 and above. This is mostly
-# to make sure that users can't log in as daemons or other system users.
-# Note that denying root logins is hardcoded to dovecot binary and can't
-# be done even if first_valid_uid is set to 0.
-first_valid_uid = 2000
-last_valid_uid = 65000
-
-# ----------------------------------------------------------------------------
-# 10-master.conf
-
-passdb {
- driver = sql
- args = /etc/dovecot/alternc-sql.conf
-}
-
-userdb {
- driver = sql
- args = /etc/dovecot/alternc-sql.conf
-}
-userdb {
- driver = prefetch
-}
-
-service auth {
- unix_listener /var/spool/postfix/private/auth {
- group = postfix
- mode = 0660
- user = postfix
- }
- unix_listener auth-master {
- mode = 0600
- user = vmail
- }
-
- # set this to (default_client_limit * number of services using it)
- client_limit = 5000
-}
-
-service anvil {
- # set this to (default_client_limit * number of services using it)
- client_limit = 5000
-}
-
-
-# ----------------------------------------------------------------------------
-# 10-ssl.conf
-
-# SSL/TLS support: yes, no, required. </usr/share/doc/dovecot-common/wiki/SSL.txt>
-ssl = yes
-
-# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
-# dropping root privileges, so keep the key file unreadable by anyone but
-# root.
-#ssl_cert = </etc/dovecot/dovecot.pem
-#ssl_cert_file = /etc/alternc/apache.pem
-#ssl_key = </etc/dovecot/dovecot.pem
-#ssl_key_file = /etc/alternc/apache.pem
-
-
-# ----------------------------------------------------------------------------
-# 15-lda.conf
-
-##
-## LDA specific settings
-##
-
-protocol lda {
- # Address to use when sending rejection mails (e.g. postmaster@example.com).
- postmaster_address = postmaster@localhost
-
- # Hostname to use in various parts of sent mails, eg. in Message-Id.
- # Default is the system's real hostname.
- #hostname =
-
- # Support for dynamically loadable plugins. mail_plugins is a space separated
- # list of plugins to load.
- mail_plugins = quota sieve
- #mail_plugin_dir = /usr/lib/dovecot/modules/lda
-
-
- # UNIX socket path to master authentication server to find users.
- auth_socket_path = /var/run/dovecot/auth-master
-}
-
-
-# ----------------------------------------------------------------------------
-# 20-imap.conf
-
-protocol imap {
- # Support for dynamically loadable plugins. mail_plugins is a space separated
- # list of plugins to load.
- mail_plugins = quota imap_quota
- #mail_plugin_dir = /usr/lib/dovecot/modules/imap
- mail_max_userip_connections = 500
-}
-
-service imap {
- executable = imap imap-postlogin
- vsz_limit = 512M
-}
-
-service imap-postlogin {
- executable = script-login /usr/lib/alternc/popimap-log-login.sh
- # the script process runs as the user specified here (v2.0.14+):
-# user = $default_internal_user
- # this UNIX socket listener must use the same name as given to imap executable
- unix_listener imap-postlogin {
- }
-}
-
-# ----------------------------------------------------------------------------
-# 20-managesieve.conf
-
-protocol sieve {
- managesieve_notify_capability = mailto
- managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
-}
-
-service managesieve {
- executable = /usr/lib/dovecot/managesieve
-}
-
-
-
-# ----------------------------------------------------------------------------
-# 20-pop3.conf
-
-protocol pop3 {
-
- # POP3 UIDL (unique mail identifier) format to use. You can use following
- # variables, along with the variable modifiers described in
- # </usr/share/doc/dovecot-common/wiki/Variables.txt> (e.g. %Uf for the
- # filename in uppercase)
- #
- # %v - Mailbox's IMAP UIDVALIDITY
- # %u - Mail's IMAP UID
- # %m - MD5 sum of the mailbox headers in hex (mbox only)
- # %f - filename (maildir only)
- #
- # If you want UIDL compatibility with other POP3 servers, use:
- # UW's ipop3d : %08Xv%08Xu
- # Courier : %f or %v-%u (both might be used simultaneosly)
- # Cyrus (<= 2.1.3) : %u
- # Cyrus (>= 2.1.4) : %v.%u
- # Dovecot v0.99.x : %v.%u
- # tpop3d : %Mf
- #
- # Note that Outlook 2003 seems to have problems with %v.%u format which was
- # Dovecot's default, so if you're building a new server it would be a good
- # idea to change this. %08Xu%08Xv should be pretty fail-safe.
- #
- pop3_uidl_format = %08Xu%08Xv
-
- # Support for dynamically loadable plugins. mail_plugins is a space separated
- # list of plugins to load.
- mail_plugins = quota
- #mail_plugin_dir = /usr/lib/dovecot/modules/pop3
-
-}
-
-service pop3 {
- executable = /usr/lib/alternc/popimap-log-login.sh /usr/lib/dovecot/pop3
-}
-
-# ----------------------------------------------------------------------------
-# 90-plugin.conf
-
-plugin {
-
- # Quota plugin. Multiple backends are supported:
- # dirsize: Find and sum all the files found from mail directory.
- # Extremely SLOW with Maildir. It'll eat your CPU and disk I/O.
- # dict: Keep quota stored in dictionary (eg. SQL)
- # maildir: Maildir++ quota
- # fs: Read-only support for filesystem quota
- #
- # Quota limits are set using "quota_rule" parameters, either in here or in
- # userdb. It's also possible to give mailbox-specific limits, for example:
- # quota_rule = *:storage=1048576
- quota_rule = *:storage=100M
- quota_rule2 = Trash:storage=+10%%
- # quota_rule2 = Trash:storage=102400
- # User has now 1GB quota, but when saving to Trash mailbox the user gets
- # additional 100MB.
- #
- # Multiple quota roots are also possible, for example:
- # quota = dict:user::proxy::quota
- # quota2 = dict:domain:%d:proxy::quota_domain
- # quota_rule = *:storage=102400
- # quota2_rule = *:storage=1048576
- # Gives each user their own 100MB quota and one shared 1GB quota within
- # the domain.
- #
- # You can execute a given command when user exceeds a specified quota limit.
- # Each quota root has separate limits. Only the command for the first
- # exceeded limit is excecuted, so put the highest limit first.
- # Note that % needs to be escaped as %%, otherwise "% " expands to empty.
- # quota_warning = storage=95%% /usr/local/bin/quota-warning.sh 95
- # quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh 80
- quota_warning = storage=95%% /usr/lib/alternc/quota-warning.sh 95
- quota_warning2 = storage=80%% /usr/lib/alternc/quota-warning.sh 80
- #quota = maildir
- quota = dict:user::proxy::quotadict
-
-
- # Sieve plugin (http://wiki.dovecot.org/LDA/Sieve) and ManageSieve service
- #
- # Location of the active script. When ManageSieve is used this is actually
- # a symlink pointing to the active script in the sieve storage directory.
- sieve=~/.dovecot.sieve
- #
- # The path to the directory where the personal Sieve scripts are stored. For
- # ManageSieve this is where the uploaded scripts are stored.
- sieve_dir=~/sieve
-}
-
-# Dictionary can be used by some plugins to store key=value lists, such as
-# quota, expire and acl plugins. The dictionary can be used either directly or
-# though a dictionary server. The following dict block maps dictionary names to
-# URIs when the server is used. These can then be referenced using URIs in
-# format "proxy::<name>".
-
-dict {
- quotadict = mysql:/etc/dovecot/alternc-dict-quota.conf
- #expire = db:/var/lib/dovecot/expire.db
-}
-
-
-service auth-worker {
- user = vmail
-}
-
-service dict {
- unix_listener dict {
- mode = 0660
- user = vmail
- group = vmail
- }
-}

View File

@ -1,47 +0,0 @@
# AUTO GENERATED FILE
# Modify template in /etc/alternc/templates/
# and launch alternc.install if you want
# to modify this file.
#
connect=host=%%dbhost%% dbname=%%dbname%% user=%%db_mail_user%% password=%%db_mail_pwd%%
#connect = host=localhost dbname=mails user=testuser password=pass
# CREATE TABLE quota (
# username varchar(100) not null,
# bytes bigint not null default 0,
# messages integer not null default 0,
# primary key (username)
# );
map {
pattern = priv/quota/storage
table = dovecot_quota
username_field = user
value_field = quota_dovecot
}
map {
pattern = priv/quota/messages
table = dovecot_quota
username_field = user
value_field = nb_messages
}
# CREATE TABLE expires (
# username varchar(100) not null,
# mailbox varchar(255) not null,
# expire_stamp integer not null,
# primary key (username, mailbox)
# );
#map {
# pattern = shared/expire/$user/$mailbox
# table = expires
# value_field = expire_stamp
# fields {
# username = $user
# mailbox = $mailbox
# }
#}

View File

@ -0,0 +1,19 @@
diff --git a/debian/alternc-roundcube.postinst b/debian/alternc-roundcube.postinst
index 0d99169d..6dfe23c9 100644
--- a/debian/alternc-roundcube.postinst
+++ b/debian/alternc-roundcube.postinst
@@ -27,10 +27,10 @@ case "$1" in
chown -R www-data:root /etc/roundcube/debian-db.php
chmod -R 460 /etc/roundcube/debian-db.php
- dpkg-statoverride --list /etc/roundcube/config.inc.php >/dev/null &&
- dpkg-statoverride --remove /etc/roundcube/config.inc.php
- chown -R www-data:root /etc/roundcube/config.inc.php
- chmod -R 460 /etc/roundcube/config.inc.php
+ dpkg-statoverride --list /etc/roundcube/main.inc.php >/dev/null &&
+ dpkg-statoverride --remove /etc/roundcube/main.inc.php
+ chown -R www-data:root /etc/roundcube/main.inc.php
+ chmod -R 460 /etc/roundcube/main.inc.php
dpkg-statoverride --list /var/log/roundcube >/dev/null &&
dpkg-statoverride --remove /var/log/roundcube

View File

@ -1,137 +0,0 @@
# AUTO GENERATED FILE
# Modify template in /etc/alternc/templates/
# and launch alternc.install if you want
# to modify this file.
#
# This file is opened as root, so it should be owned by root and mode 0600.
#
# http://wiki2.dovecot.org/AuthDatabase/SQL
#
# For the sql passdb module, you'll need a database with a table that
# contains fields for at least the username and password. If you want to
# use the user@domain syntax, you might want to have a separate domain
# field as well.
#
# If your users all have the same uig/gid, and have predictable home
# directories, you can use the static userdb module to generate the home
# dir based on the username and domain. In this case, you won't need fields
# for home, uid, or gid in the database.
#
# If you prefer to use the sql userdb module, you'll want to add fields
# for home, uid, and gid. Here is an example table:
#
# CREATE TABLE users (
# username VARCHAR(128) NOT NULL,
# domain VARCHAR(128) NOT NULL,
# password VARCHAR(64) NOT NULL,
# home VARCHAR(255) NOT NULL,
# uid INTEGER NOT NULL,
# gid INTEGER NOT NULL,
# active CHAR(1) DEFAULT 'Y' NOT NULL
# );
# Database driver: mysql, pgsql, sqlite
driver = mysql
# Database connection string. This is driver-specific setting.
#
# HA / round-robin load-balancing is supported by giving multiple host
# settings, like: host=sql1.host.org host=sql2.host.org
#
# pgsql:
# For available options, see the PostgreSQL documention for the
# PQconnectdb function of libpq.
# Use maxconns=n (default 5) to change how many connections Dovecot can
# create to pgsql.
#
# mysql:
# Basic options emulate PostgreSQL option names:
# host, port, user, password, dbname
#
# But also adds some new settings:
# client_flags - See MySQL manual
# ssl_ca, ssl_ca_path - Set either one or both to enable SSL
# ssl_cert, ssl_key - For sending client-side certificates to server
# ssl_cipher - Set minimum allowed cipher security (default: HIGH)
# option_file - Read options from the given file instead of
# the default my.cnf location
# option_group - Read options from the given group (default: client)
#
# You can connect to UNIX sockets by using host: host=/var/run/mysql.sock
# Note that currently you can't use spaces in parameters.
#
# sqlite:
# The path to the database file.
#
# Examples:
# connect = host=192.168.1.1 dbname=users
# connect = host=sql.example.com dbname=virtual user=virtual password=blarg
# connect = /etc/dovecot/authdb.sqlite
#
connect = host=%%dbhost%% dbname=%%dbname%% user=%%db_mail_user%% password=%%db_mail_pwd%%
# Default password scheme.
#
# List of supported schemes is in
# http://wiki2.dovecot.org/Authentication/PasswordSchemes
#
default_pass_scheme = MD5
# passdb query to retrieve the password. It can return fields:
# password - The user's password. This field must be returned.
# user - user@domain from the database. Needed with case-insensitive lookups.
# username and domain - An alternative way to represent the "user" field.
#
# The "user" field is often necessary with case-insensitive lookups to avoid
# e.g. "name" and "nAme" logins creating two different mail directories. If
# your user and domain names are in separate fields, you can return "username"
# and "domain" fields instead of "user".
#
# The query can also return other fields which have a special meaning, see
# http://wiki2.dovecot.org/PasswordDatabase/ExtraFields
#
# Commonly used available substitutions (see http://wiki2.dovecot.org/Variables
# for full list):
# %u = entire user@domain
# %n = user part of user@domain
# %d = domain part of user@domain
#
# Note that these can be used only as input to SQL query. If the query outputs
# any of these substitutions, they're not touched. Otherwise it would be
# difficult to have eg. usernames containing '%' characters.
#
# Example:
# password_query = SELECT userid AS user, pw AS password \
# FROM users WHERE userid = '%u' AND active = 'Y'
#
#password_query = \
# SELECT username, domain, password \
# FROM users WHERE username = '%n' AND domain = '%d'
# userdb query to retrieve the user information. It can return fields:
# uid - System UID (overrides mail_uid setting)
# gid - System GID (overrides mail_gid setting)
# home - Home directory
# mail - Mail location (overrides mail_location setting)
#
# None of these are strictly required. If you use a single UID and GID, and
# home or mail directory fits to a template string, you could use userdb static
# instead. For a list of all fields that can be returned, see
# http://wiki2.dovecot.org/UserDatabase/ExtraFields
#
# Examples:
# user_query = SELECT home, uid, gid FROM users WHERE userid = '%u'
# user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u'
# user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u'
#
user_query = SELECT userdb_home AS home, userdb_uid AS uid, 1998 AS gid, userdb_quota_rule AS quota_rule FROM dovecot_view WHERE user = '%u';
# If you wish to avoid two SQL lookups (passdb + userdb), you can use
# userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll
# also have to return userdb fields in password_query prefixed with "userdb_"
# string. For example:
#
password_query = SELECT user, password, userdb_home, userdb_uid, 1998 AS userdb_gid,userdb_quota_rule FROM dovecot_view where user= '%u';
# Query to get a list of all usernames.
#iterate_query = SELECT username AS user FROM users

View File

@ -0,0 +1,39 @@
diff --git a/ssl/alternc-ssl.install.php b/ssl/alternc-ssl.install.php
index ba568910..041eef80 100644
--- a/ssl/alternc-ssl.install.php
+++ b/ssl/alternc-ssl.install.php
@@ -9,7 +9,9 @@ if ($argv[1] == "templates") {
// install ssl.conf
echo "[alternc-ssl] Installing ssl.conf template\n";
copy("/etc/alternc/templates/apache2/mods-available/ssl.conf","/etc/apache2/mods-available/ssl.conf");
- mkdir("/var/run/alternc-ssl");
+ if (!is_dir('/var/run/alternc-ssl')) {
+ mkdir("/var/run/alternc-ssl");
+ }
chown("/var/run/alternc-ssl","alterncpanel");
chgrp("/var/run/alternc-ssl","alterncpanel");
// replace open_basedir line if necessary :
@@ -64,4 +66,23 @@ if ($argv[1] == "before-reload") {
$db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE type='php52-mixssl';");
}
+ // Enable name-based virtual hosts in Apache2 :
+ $f = fopen("/etc/apache2/ports.conf", "rb");
+ if (!$f) {
+ echo "FATAL: there is no /etc/apache2/ports.conf ! I can't configure name-based virtual hosts\n";
+ } else {
+ $found = false;
+ while ($s = fgets($f, 1024)) {
+ if (preg_match(":^[^#]*NameVirtualHost.*443:", $s)) {
+ $found = true;
+ break;
+ }
+ }
+ fclose($f);
+ if (!$found) {
+ $f = fopen("/etc/apache2/ports.conf", "ab");
+ fputs($f, "\n<IfModule mod_ssl.c>\n NameVirtualHost *:443\n\n</IfModule>\n");
+ fclose($f);
+ }
+ }
} // before-reload

147
wheezy/alternc.install Normal file
View File

@ -0,0 +1,147 @@
diff --git a/install/alternc.install b/install/alternc.install
index 95060b7c..10bcbacc 100644
--- a/install/alternc.install
+++ b/install/alternc.install
@@ -79,7 +79,7 @@ if [ -e /etc/default/saslauthd ]; then
fi
if [ -e /etc/dovecot/dovecot.conf ]; then
- CONFIG_FILES="$CONFIG_FILES etc/dovecot/alternc-sql.conf etc/dovecot/alternc-dict-quota.conf etc/dovecot/conf.d/95_alternc.conf"
+ CONFIG_FILES="$CONFIG_FILES etc/dovecot/dovecot.conf etc/dovecot/dovecot-sql.conf etc/dovecot/dovecot-dict-quota.conf"
fi
INSTALLED_CONFIG_TAR="/var/lib/alternc/backups/etc-installed.tar.gz"
@@ -279,20 +279,12 @@ rm -f $SED_SCRIPT
# Ad-hoc fixes
#
-php="`ls /usr/lib/apache*/*/*php*.so | sed -e 's/^.*libphp\(.*\)\.so$/\1/' | tail -1`"
-if [ "$php" = "7.0" ]
-then
- ln -fs /etc/alternc/alternc.ini /etc/php/$php/apache2/conf.d/alternc.ini || true
- ln -fs /etc/alternc/alternc.ini /etc/php/$php/cli/conf.d/alternc.ini || true
-else
- ln -fs /etc/alternc/alternc.ini /etc/php$php/apache2/conf.d/alternc.ini || true
- ln -fs /etc/alternc/alternc.ini /etc/php$php/cli/conf.d/alternc.ini || true
-fi
-
+php="`ls /usr/lib/apache*/*/*php*.so | sed -e 's/^.*libphp\(.\)\.so$/php\1/' | tail -1`"
+ln -fs /etc/alternc/alternc.ini /etc/$php/apache2/conf.d/alternc.ini || true
+ln -fs /etc/alternc/alternc.ini /etc/$php/cli/conf.d/alternc.ini || true
if [ -x /usr/sbin/apache2 ]; then
# hook
run-parts --arg=apache2 /usr/lib/alternc/install.d
- a2enmod mpm_itk
s=""
# unused from AlternC 1.0, FIXME: remove it later
@@ -301,9 +293,9 @@ if [ -x /usr/sbin/apache2 ]; then
a2dismod vhost_alias
s="apache2"
fi
- if ! [ -L /etc/apache2/mods-enabled/php$php.load ]
+ if ! [ -L /etc/apache2/mods-enabled/$php.load ]
then
- a2enmod php$php
+ a2enmod $php
fi
if ! [ -L /etc/apache2/mods-enabled/rewrite.load ]
then
@@ -319,14 +311,13 @@ if [ -x /usr/sbin/apache2 ]; then
a2enmod ssl
s="apache2"
fi
- if [ ! -h /etc/apache2/conf-available/alternc-ssl.conf ] && [ -e /etc/apache2/conf-available/ ]; then
- ln -sf /etc/alternc/apache2-ssl.conf /etc/apache2/conf-available/alternc-ssl.conf
- a2enconf alternc-ssl
+ if [ ! -h /etc/apache2/conf.d/alternc-ssl.conf ] && [ -e /etc/apache2/conf.d/ ]; then
+ ln -sf /etc/alternc/apache2-ssl.conf /etc/apache2/conf.d/alternc-ssl.conf
s="apache2"
fi
# We enable dovecot SSL certificate instructions: (on wheezy we should use a new file in /etc/dovecot/conf.d/ )
- ( echo "# Don't change this file, it will be overwriten by alternc.install. Change ssl parameters in a file named 99_ssl.conf instead" ; echo "ssl_cert = </etc/alternc/apache.pem" ; echo "ssl_key = </etc/alternc/apache.pem" ) >/etc/dovecot/conf.d/96_ssl.conf
+ sed -i -e 's#^ssl_cert_file.*$#ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem#' -e 's#^ssl_key_file.*$#ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key#' /etc/dovecot/dovecot.conf
else
# We disable proftpd tls module
@@ -335,18 +326,17 @@ if [ -x /usr/sbin/apache2 ]; then
cp /etc/proftpd/modules.conf /etc/alternc/templates/proftpd/
# We disable dovecot SSL certificate instructions: (on wheezy we should remove a file in /etc/dovecot/conf.d/ )
- ( echo "# Don't change this file, it will be overwriten by alternc.install. Change ssl parameters in a file named 99_ssl.conf instead" ; echo "ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem" ; echo "ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key" ) >/etc/dovecot/conf.d/96_ssl.conf
+ sed -i -e 's#^ssl_cert_file.*$#ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem#' -e 's#^ssl_key_file.*$#ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key#' /etc/dovecot/dovecot.conf
echo "SSL not configured"
echo "create a certificate in /etc/alternc/apache.pem and rerun alternc.install"
fi
- if [ ! -h /etc/apache2/conf-available/alternc.conf ] && [ -e /etc/apache2/conf-available/ ]; then
- ln -sf /etc/alternc/apache2.conf /etc/apache2/conf-available/alternc.conf
- a2enconf alternc.conf
+ if [ ! -h /etc/apache2/conf.d/alternc.conf ] && [ -e /etc/apache2/conf.d/ ]; then
+ ln -sf /etc/alternc/apache2.conf /etc/apache2/conf.d/alternc.conf
s="apache2"
fi
- if [ -e /etc/apache2/sites-enabled/000-default.conf ]; then
- a2dissite 000-default
+ if [ -e /etc/apache2/sites-enabled/000-default ]; then
+ a2dissite default
s="apache2"
fi
SERVICES="$SERVICES $s"
@@ -440,7 +430,7 @@ OLDDESTINATION=`postconf mydestination | awk -F '=' '{print $2}'`
echo "$OLDDESTINATION" | grep -q -v "$FQDN" && postconf -e "mydestination = $FQDN, $OLDDESTINATION"
# Remove phpmyadmin apache2 configuration
-a2disconf phpmyadmin
+rm -f /etc/apache2/conf.d/phpmyadmin.conf || true
# Configure PHPMyAdmin
include_str='include("/etc/alternc/phpmyadmin.inc.php")'
@@ -592,14 +582,9 @@ else
mysql --defaults-file=/etc/alternc/my.cnf -e "UPDATE db_servers SET host='$MYSQL_HOST', login='$MYSQL_USER', password='$MYSQL_PASS', client='$MYSQL_HOST_CLIENT' WHERE name='Default';"
fi
-# giving vmail user read access on dovecot sql file
-chgrp vmail /etc/dovecot/alternc-sql.conf
-chmod g+r /etc/dovecot/alternc-sql.conf
-# Override some dovecot 2.0 configuration that may have happened during dovecot postinst:
-sed -i -e 's/^ *!include/#!include/' /etc/dovecot/conf.d/10-auth.conf
-
-# Changing owner of web panel's files
-chown -R alterncpanel:alterncpanel "/usr/share/alternc/panel/"
+#giving vmail user read access on dovecot sql file
+chgrp vmail /etc/dovecot/dovecot.conf
+chmod g+r /etc/dovecot/dovecot.conf
# We force the re-computing of the DNS zones, since we may have changed the IP address (see #460)
/usr/bin/mysql --defaults-file="/etc/alternc/my.cnf" -B -e "update domaines set dns_action='UPDATE' WHERE gesdns=1;"
@@ -612,7 +597,7 @@ grep -q "^localhost\$" /etc/opendkim/TrustedHosts || echo "localhost" >>/etc/ope
grep -q "^$PUBLIC_IP\$" /etc/opendkim/TrustedHosts || echo "$PUBLIC_IP" >>/etc/opendkim/TrustedHosts
# Add opendkim to service to restart
-SERVICES="$SERVICES opendkim bind9"
+SERVICES="$SERVICES opendkim"
# hook
run-parts --arg=before-reload /usr/lib/alternc/install.d
@@ -620,7 +605,7 @@ run-parts --arg=before-reload /usr/lib/alternc/install.d
#######################################################################
# Reload services
#
-for service in postfix dovecot cron proftpd ; do
+for service in postfix bind9 apache2 dovecot cron proftpd ; do
invoke-rc.d $service force-reload || true
done
@@ -628,10 +613,6 @@ done
for service in $SERVICES; do
test -x /etc/init.d/$service && invoke-rc.d $service stop || true
done
-
-# on Jessie, apache2 does not stop/start properly due to "service" and "apache2ctl" having different behavior pid-file-wise
-killall apache2
-
for service in $SERVICES; do
test -x /etc/init.d/$service && invoke-rc.d $service start || true
done

View File

@ -1,46 +0,0 @@
diff --git a/install/alternc.install b/install/alternc.install
index b9691b0..2ee07b8 100644
--- alternc.install.squeeze
+++ alternc.install
@@ -79,7 +79,7 @@ if [ -e /etc/default/saslauthd ]; then
fi
if [ -e /etc/dovecot/dovecot.conf ]; then
- CONFIG_FILES="$CONFIG_FILES etc/dovecot/dovecot.conf etc/dovecot/dovecot-sql.conf etc/dovecot/dovecot-dict-quota.conf"
+ CONFIG_FILES="$CONFIG_FILES etc/dovecot/alternc-sql.conf etc/dovecot/alternc-dict-quota.conf etc/dovecot/conf.d/95_alternc.conf"
fi
INSTALLED_CONFIG_TAR="/var/lib/alternc/backups/etc-installed.tar.gz"
@@ -317,7 +317,7 @@ if [ -x /usr/sbin/apache2 ]; then
fi
# We enable dovecot SSL certificate instructions: (on wheezy we should use a new file in /etc/dovecot/conf.d/ )
- sed -i -e 's#^ssl_cert_file.*$#ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem#' -e 's#^ssl_key_file.*$#ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key#' /etc/dovecot/dovecot.conf
+ ( echo "# Don't change this file, it will be overwriten by alternc.install. Change ssl parameters in a file named 99_ssl.conf instead" ; echo "ssl_cert = </etc/alternc/apache.pem" ; echo "ssl_key = </etc/alternc/apache.pem" ) >/etc/dovecot/conf.d/96_ssl.conf
else
# We disable proftpd tls module
@@ -326,7 +326,7 @@ if [ -x /usr/sbin/apache2 ]; then
cp /etc/proftpd/modules.conf /etc/alternc/templates/proftpd/
# We disable dovecot SSL certificate instructions: (on wheezy we should remove a file in /etc/dovecot/conf.d/ )
- sed -i -e 's#^ssl_cert_file.*$#ssl_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem#' -e 's#^ssl_key_file.*$#ssl_key_file = /etc/ssl/private/ssl-cert-snakeoil.key#' /etc/dovecot/dovecot.conf
+ ( echo "# Don't change this file, it will be overwriten by alternc.install. Change ssl parameters in a file named 99_ssl.conf instead" ; echo "ssl_cert = </etc/ssl/certs/ssl-cert-snakeoil.pem" ; echo "ssl_key = </etc/ssl/private/ssl-cert-snakeoil.key" ) >/etc/dovecot/conf.d/96_ssl.conf
echo "SSL not configured"
echo "create a certificate in /etc/alternc/apache.pem and rerun alternc.install"
@@ -574,9 +574,11 @@ if [ "$HAS_ROOT" != "1" ]; then
fi
fi
-#giving vmail user read access on dovecot sql file
-chgrp vmail /etc/dovecot/dovecot.conf
-chmod g+r /etc/dovecot/dovecot.conf
+# giving vmail user read access on dovecot sql file
+chgrp vmail /etc/dovecot/alternc-sql.conf
+chmod g+r /etc/dovecot/alternc-sql.conf
+# Override some dovecot 2.0 configuration that may have happened during dovecot postinst:
+sed -i -e 's/^ *!include/#!include/' /etc/dovecot/conf.d/10-auth.conf
# We force the re-computing of the DNS zones, since we may have changed the IP address (see #460)
/usr/bin/mysql --defaults-file="/etc/alternc/my.cnf" -B -e "update domaines set dns_action='UPDATE' WHERE gesdns=1;"

43
wheezy/apache2.conf Normal file
View File

@ -0,0 +1,43 @@
diff --git a/etc/alternc/templates/alternc/apache2.conf b/etc/alternc/templates/alternc/apache2.conf
index 0732de07..514d695d 100644
--- a/etc/alternc/templates/alternc/apache2.conf
+++ b/etc/alternc/templates/alternc/apache2.conf
@@ -9,9 +9,12 @@
# Define the default user and group for mpm-itk
AssignUserId www-data www-data
+# Logformat information
+Include /etc/alternc/apache_logformat.conf
+
# Deny access to the root filesystem
<Directory />
- Options +FollowSymLinks
+ Options FollowSymLinks
AllowOverride None
Order allow,deny
Deny from all
@@ -42,7 +45,7 @@ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory %%ALTERNC_HTML%% >
AllowOverride AuthConfig FileInfo Limit Options Indexes
- Options -Indexes +Includes -FollowSymLinks +MultiViews +SymLinksIfOwnerMatch
+ Options Indexes Includes -FollowSymLinks MultiViews SymLinksIfOwnerMatch
Order allow,deny
Allow from all
php_admin_flag safe_mode_gid off
@@ -62,13 +65,13 @@ ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /usr/share/phpmyadmin>
AllowOverride AuthConfig Options FileInfo Limit Indexes
- Options +Indexes +Includes +FollowSymLinks +MultiViews
+ Options Indexes Includes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>
<Directory /usr/share/squirrelmail>
AllowOverride AuthConfig Options FileInfo Limit Indexes
- Options +Indexes +Includes +FollowSymLinks +MultiViews
+ Options Indexes Includes FollowSymLinks MultiViews
Order allow,deny
Allow from all
</Directory>

11
wheezy/bureau.conf Normal file
View File

@ -0,0 +1,11 @@
diff --git a/etc/alternc/templates/alternc/bureau.conf b/etc/alternc/templates/alternc/bureau.conf
index 65bca635..aa7066b9 100644
--- a/etc/alternc/templates/alternc/bureau.conf
+++ b/etc/alternc/templates/alternc/bureau.conf
@@ -33,5 +33,5 @@
# will be used to define aliases such as /javascript /webmail /squirrelmail ...
- IncludeOptional /etc/alternc/apache-panel.d/*.conf
+ Include /etc/alternc/apache-panel.d/*.conf

22
wheezy/changelog Normal file
View File

@ -0,0 +1,22 @@
diff --git a/debian/changelog b/debian/changelog
index 3ed86856..943f76d2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,17 +1,3 @@
-alternc (3.3.10) stable; urgency=low
-
- * Version identical to 3.1 for Squeeze
- * Includes small patches / dependency for apache & dovecot 2.0 for Jessie
-
- -- Benjamin Sonntag <benjamin@sonntag.fr> Fri, 15 Jan 2016 15:26:00 +0100
-
-alternc (3.2.10) oldstable; urgency=low
-
- * Version identical to 3.1 for Squeeze
- * Includes a small dovecot patch / dependency for dovecot 2.0 for Wheezy
-
- -- Benjamin Sonntag <benjamin@sonntag.fr> Fri, 15 Jan 2016 15:26:00 +0100
-
alternc (3.1.11) oldoldstable; urgency=low
* fix This is a big security upgrade of AlternC 3.x

View File

@ -1,13 +0,0 @@
--- changelog 2014-06-24 13:42:50.234304438 +0200
+++ changelog.wheezy 2014-06-24 13:43:51.978313552 +0200
@@ -1,3 +1,10 @@
+alternc (3.2.10) oldstable; urgency=low
+
+ * Version identical to 3.1 for Squeeze
+ * Includes a small dovecot patch / dependency for dovecot 2.0 for Wheezy
+
+ -- Benjamin Sonntag <benjamin@sonntag.fr> Fri, 15 Jan 2016 15:26:00 +0100
+
alternc (3.1.11) oldoldstable; urgency=low
* fix This is a big security upgrade of AlternC 3.x

449
wheezy/config.inc.php Normal file
View File

@ -0,0 +1,449 @@
diff --git a/roundcube/templates/roundcube/plugins/password/config.inc.php b/roundcube/templates/roundcube/plugins/password/config.inc.php
index 6d49ef6e..f2741c57 100644
--- a/roundcube/templates/roundcube/plugins/password/config.inc.php
+++ b/roundcube/templates/roundcube/plugins/password/config.inc.php
@@ -1,56 +1,47 @@
<?php
+/***********************************************************************/
+// Configuration file of password's plugin of Roundcube for AlternC //
+// //
+// /!\ WARNING /!\ Do not edit this file, edit the one in //
+// /etc/alternc/templates/roundcube/plugins/password/ //
+// and launch alternc.install again. //
+// //
+/***********************************************************************/
+
// Password Plugin options
// -----------------------
// A driver to use for password change. Default: "sql".
// See README file for list of supported driver names.
-$config['password_driver'] = 'sql';
+$rcmail_config['password_driver'] = 'sql';
// Determine whether current password is required to change password.
// Default: false.
-$config['password_confirm_current'] = true;
+$rcmail_config['password_confirm_current'] = true;
// Require the new password to be a certain length.
// set to blank to allow passwords of any length
-$config['password_minimum_length'] = 8;
+$rcmail_config['password_minimum_length'] = 8;
// Require the new password to contain a letter and punctuation character
// Change to false to remove this check.
-$config['password_require_nonalpha'] = true;
+$rcmail_config['password_require_nonalpha'] = true;
// Enables logging of password changes into logs/password
-$config['password_log'] = true;
-
-// Comma-separated list of login exceptions for which password change
-// will be not available (no Password tab in Settings)
-$config['password_login_exceptions'] = null;
-
-// Array of hosts that support password changing. Default is NULL.
-// Listed hosts will feature a Password option in Settings; others will not.
-// Example:
-//$config['password_hosts'] = array('mail.example.com', 'mail2.example.org');
-$config['password_hosts'] = null;
-
-// Enables saving the new password even if it matches the old password. Useful
-// for upgrading the stored passwords after the encryption scheme has changed.
-$config['password_force_save'] = false;
-
-// Enables forcing new users to change their password at their first login.
-$config['password_force_new_user'] = false;
+$rcmail_config['password_log'] = true;
// SQL Driver options
// ------------------
// PEAR database DSN for performing the query. By default
// Roundcube DB settings are used.
-$config['password_db_dsn'] = 'mysql://%%roundcube-login%%:%%roundcube-password%%@%%dbhost%%/%%dbname%%';
+$rcmail_config['password_db_dsn'] = 'mysql://%%roundcube-login%%:%%roundcube-password%%@%%dbhost%%/%%dbname%%';
// The SQL query used to change the password.
// The query can contain the following macros that will be expanded as follows:
// %p is replaced with the plaintext new password
// %c is replaced with the crypt version of the new password, MD5 if available
-// otherwise DES. More hash function can be enabled using the password_crypt_hash
-// configuration parameter.
+// otherwise DES.
// %D is replaced with the dovecotpw-crypted version of the new password
// %o is replaced with the password before the change
// %n is replaced with the hashed version of the new password
@@ -63,57 +54,45 @@ $config['password_db_dsn'] = 'mysql://%%roundcube-login%%:%%roundcube-password%%
// (in case the username is an email address)
// Escaping of macros is handled by this module.
// Default: "SELECT update_passwd(%c, %u)"
-$config['password_query'] = 'UPDATE address a LEFT JOIN domaines d ON d.id=a.domain_id SET a.password=%c WHERE d.domaine=%d AND address=%l';
-
-// By default the crypt() function which is used to create the '%c'
-// parameter uses the md5 algorithm. To use different algorithms
-// you can choose between: des, md5, blowfish, sha256, sha512.
-// Before using other hash functions than des or md5 please make sure
-// your operating system supports the other hash functions.
-$config['password_crypt_hash'] = 'md5';
+$rcmail_config['password_query'] = 'UPDATE address a LEFT JOIN domaines d ON d.id=a.domain_id SET a.password=%c WHERE d.domaine=%d AND address=%l';
// By default domains in variables are using unicode.
// Enable this option to use punycoded names
-$config['password_idn_ascii'] = false;
+$rcmail_config['password_idn_ascii'] = false;
// Path for dovecotpw (if not in $PATH)
-// $config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw';
+// $rcmail_config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw';
// Dovecot method (dovecotpw -s 'method')
-$config['password_dovecotpw_method'] = 'CRAM-MD5';
+$rcmail_config['password_dovecotpw_method'] = 'CRAM-MD5';
// Enables use of password with crypt method prefix in %D, e.g. {MD5}$1$LUiMYWqx$fEkg/ggr/L6Mb2X7be4i1/
-$config['password_dovecotpw_with_method'] = false;
+$rcmail_config['password_dovecotpw_with_method'] = false;
// Using a password hash for %n and %q variables.
// Determine which hashing algorithm should be used to generate
// the hashed new and current password for using them within the
// SQL query. Requires PHP's 'hash' extension.
-$config['password_hash_algorithm'] = 'sha1';
+$rcmail_config['password_hash_algorithm'] = 'sha1';
// You can also decide whether the hash should be provided
// as hex string or in base64 encoded format.
-$config['password_hash_base64'] = false;
-
-// Iteration count parameter for Blowfish-based hashing algo.
-// It must be between 4 and 31. Default: 12.
-// Be aware, the higher the value, the longer it takes to generate the password hashes.
-$config['password_blowfish_cost'] = 12;
+$rcmail_config['password_hash_base64'] = false;
// Poppassd Driver options
// -----------------------
// The host which changes the password
-$config['password_pop_host'] = 'localhost';
+$rcmail_config['password_pop_host'] = 'localhost';
// TCP port used for poppassd connections
-$config['password_pop_port'] = 106;
+$rcmail_config['password_pop_port'] = 106;
// SASL Driver options
// -------------------
// Additional arguments for the saslpasswd2 call
-$config['password_saslpasswd_args'] = '';
+$rcmail_config['password_saslpasswd_args'] = '';
// LDAP and LDAP_SIMPLE Driver options
@@ -122,41 +101,41 @@ $config['password_saslpasswd_args'] = '';
// You can provide one or several hosts in an array in which case the hosts are tried from left to right.
// Exemple: array('ldap1.exemple.com', 'ldap2.exemple.com');
// Default: 'localhost'
-$config['password_ldap_host'] = 'localhost';
+$rcmail_config['password_ldap_host'] = 'localhost';
// LDAP server port to connect to
// Default: '389'
-$config['password_ldap_port'] = '389';
+$rcmail_config['password_ldap_port'] = '389';
// TLS is started after connecting
// Using TLS for password modification is recommanded.
// Default: false
-$config['password_ldap_starttls'] = false;
+$rcmail_config['password_ldap_starttls'] = false;
// LDAP version
// Default: '3'
-$config['password_ldap_version'] = '3';
+$rcmail_config['password_ldap_version'] = '3';
// LDAP base name (root directory)
// Exemple: 'dc=exemple,dc=com'
-$config['password_ldap_basedn'] = 'dc=exemple,dc=com';
+$rcmail_config['password_ldap_basedn'] = 'dc=exemple,dc=com';
// LDAP connection method
// There is two connection method for changing a user's LDAP password.
// 'user': use user credential (recommanded, require password_confirm_current=true)
// 'admin': use admin credential (this mode require password_ldap_adminDN and password_ldap_adminPW)
// Default: 'user'
-$config['password_ldap_method'] = 'user';
+$rcmail_config['password_ldap_method'] = 'user';
// LDAP Admin DN
// Used only in admin connection mode
// Default: null
-$config['password_ldap_adminDN'] = null;
+$rcmail_config['password_ldap_adminDN'] = null;
// LDAP Admin Password
// Used only in admin connection mode
// Default: null
-$config['password_ldap_adminPW'] = null;
+$rcmail_config['password_ldap_adminPW'] = null;
// LDAP user DN mask
// The user's DN is mandatory and as we only have his login,
@@ -166,7 +145,7 @@ $config['password_ldap_adminPW'] = null;
// '%domain' will be replaced by the current roundcube user's domain part
// '%dc' will be replaced by domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
// Exemple: 'uid=%login,ou=people,dc=exemple,dc=com'
-$config['password_ldap_userDN_mask'] = 'uid=%login,ou=people,dc=exemple,dc=com';
+$rcmail_config['password_ldap_userDN_mask'] = 'uid=%login,ou=people,dc=exemple,dc=com';
// LDAP search DN
// The DN roundcube should bind with to find out user's DN
@@ -177,7 +156,7 @@ $config['password_ldap_userDN_mask'] = 'uid=%login,ou=people,dc=exemple,dc=com';
// users login to find his DN instead. A common reason might be that
// your users are placed under different ou's like engineering or
// sales which cannot be derived from their login only.
-$config['password_ldap_searchDN'] = 'cn=roundcube,ou=services,dc=example,dc=com';
+$rcmail_config['password_ldap_searchDN'] = 'cn=roundcube,ou=services,dc=example,dc=com';
// LDAP search password
// If password_ldap_searchDN is set, the password to use for
@@ -187,13 +166,13 @@ $config['password_ldap_searchDN'] = 'cn=roundcube,ou=services,dc=example,dc=com'
// is only accesible to roundcube and don't forget to restrict roundcube's access to
// your directory as much as possible using ACLs. Should this password be compromised
// you want to minimize the damage.
-$config['password_ldap_searchPW'] = 'secret';
+$rcmail_config['password_ldap_searchPW'] = 'secret';
// LDAP search base
// If password_ldap_searchDN is set, the base to search in using the filter below.
// Note that you should comment out the default password_ldap_userDN_mask setting
// for this to take effect.
-$config['password_ldap_search_base'] = 'ou=people,dc=example,dc=com';
+$rcmail_config['password_ldap_search_base'] = 'ou=people,dc=example,dc=com';
// LDAP search filter
// If password_ldap_searchDN is set, the filter to use when
@@ -205,43 +184,42 @@ $config['password_ldap_search_base'] = 'ou=people,dc=example,dc=com';
// '%dc' will be replaced by domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
// Example: '(uid=%login)'
// Example: '(&(objectClass=posixAccount)(uid=%login))'
-$config['password_ldap_search_filter'] = '(uid=%login)';
+$rcmail_config['password_ldap_search_filter'] = '(uid=%login)';
// LDAP password hash type
// Standard LDAP encryption type which must be one of: crypt,
-// ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, ad, cram-md5 (dovecot style) or clear.
+// ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, or clear.
// Please note that most encodage types require external libraries
// to be included in your PHP installation, see function hashPassword in drivers/ldap.php for more info.
-// Multiple password Values can be generated by concatenating encodings with a +. E.g. 'cram-md5+crypt'
-// Default: 'crypt'.
-$config['password_ldap_encodage'] = 'crypt';
+// Default: 'crypt'
+$rcmail_config['password_ldap_encodage'] = 'crypt';
// LDAP password attribute
// Name of the ldap's attribute used for storing user password
// Default: 'userPassword'
-$config['password_ldap_pwattr'] = 'userPassword';
+$rcmail_config['password_ldap_pwattr'] = 'userPassword';
// LDAP password force replace
// Force LDAP replace in cases where ACL allows only replace not read
// See http://pear.php.net/package/Net_LDAP2/docs/latest/Net_LDAP2/Net_LDAP2_Entry.html#methodreplace
// Default: true
-$config['password_ldap_force_replace'] = true;
+$rcmail_config['password_ldap_force_replace'] = true;
// LDAP Password Last Change Date
// Some places use an attribute to store the date of the last password change
// The date is meassured in "days since epoch" (an integer value)
// Whenever the password is changed, the attribute will be updated if set (e.g. shadowLastChange)
-$config['password_ldap_lchattr'] = '';
+$rcmail_config['password_ldap_lchattr'] = '';
// LDAP Samba password attribute, e.g. sambaNTPassword
// Name of the LDAP's Samba attribute used for storing user password
-$config['password_ldap_samba_pwattr'] = '';
+$rcmail_config['password_ldap_samba_pwattr'] = '';
// LDAP Samba Password Last Change Date attribute, e.g. sambaPwdLastSet
// Some places use an attribute to store the date of the last password change
// The date is meassured in "seconds since epoch" (an integer value)
// Whenever the password is changed, the attribute will be updated if set
-$config['password_ldap_samba_lchattr'] = '';
+$rcmail_config['password_ldap_samba_lchattr'] = '';
// DirectAdmin Driver options
@@ -251,60 +229,63 @@ $config['password_ldap_samba_lchattr'] = '';
// The host can contain the following macros that will be expanded as follows:
// %h is replaced with the imap host (from the session info)
// %d is replaced with the domain part of the username (if the username is an email)
-$config['password_directadmin_host'] = 'tcp://localhost';
+$rcmail_config['password_directadmin_host'] = 'tcp://localhost';
// TCP port used for DirectAdmin connections
-$config['password_directadmin_port'] = 2222;
+$rcmail_config['password_directadmin_port'] = 2222;
// vpopmaild Driver options
// -----------------------
// The host which changes the password
-$config['password_vpopmaild_host'] = 'localhost';
+$rcmail_config['password_vpopmaild_host'] = 'localhost';
// TCP port used for vpopmaild connections
-$config['password_vpopmaild_port'] = 89;
-
-// Timout used for the connection to vpopmaild (in seconds)
-$config['password_vpopmaild_timeout'] = 10;
+$rcmail_config['password_vpopmaild_port'] = 89;
// cPanel Driver options
// --------------------------
// The cPanel Host name
-$config['password_cpanel_host'] = 'host.domain.com';
+$rcmail_config['password_cpanel_host'] = 'host.domain.com';
// The cPanel admin username
-$config['password_cpanel_username'] = 'username';
+$rcmail_config['password_cpanel_username'] = 'username';
// The cPanel admin password
-$config['password_cpanel_password'] = 'password';
+$rcmail_config['password_cpanel_password'] = 'password';
// The cPanel port to use
-$config['password_cpanel_port'] = 2087;
+$rcmail_config['password_cpanel_port'] = 2082;
+
+// Using ssl for cPanel connections?
+$rcmail_config['password_cpanel_ssl'] = true;
+
+// The cPanel theme in use
+$rcmail_config['password_cpanel_theme'] = 'x';
// XIMSS (Communigate server) Driver options
// -----------------------------------------
// Host name of the Communigate server
-$config['password_ximss_host'] = 'mail.example.com';
+$rcmail_config['password_ximss_host'] = 'mail.example.com';
// XIMSS port on Communigate server
-$config['password_ximss_port'] = 11024;
+$rcmail_config['password_ximss_port'] = 11024;
// chpasswd Driver options
// ---------------------
// Command to use
-$config['password_chpasswd_cmd'] = 'sudo /usr/sbin/chpasswd 2> /dev/null';
+$rcmail_config['password_chpasswd_cmd'] = 'sudo /usr/sbin/chpasswd 2> /dev/null';
// XMail Driver options
// ---------------------
-$config['xmail_host'] = 'localhost';
-$config['xmail_user'] = 'YourXmailControlUser';
-$config['xmail_pass'] = 'YourXmailControlPass';
-$config['xmail_port'] = 6017;
+$rcmail_config['xmail_host'] = 'localhost';
+$rcmail_config['xmail_user'] = 'YourXmailControlUser';
+$rcmail_config['xmail_pass'] = 'YourXmailControlPass';
+$rcmail_config['xmail_port'] = 6017;
// hMail Driver options
@@ -312,9 +293,9 @@ $config['xmail_port'] = 6017;
// Remote hMailServer configuration
// true: HMailserver is on a remote box (php.ini: com.allow_dcom = true)
// false: Hmailserver is on same box as PHP
-$config['hmailserver_remote_dcom'] = false;
+$rcmail_config['hmailserver_remote_dcom'] = false;
// Windows credentials
-$config['hmailserver_server'] = array(
+$rcmail_config['hmailserver_server'] = array(
'Server' => 'localhost', // hostname or ip address
'Username' => 'administrator', // windows username
'Password' => 'password' // windows user password
@@ -332,70 +313,6 @@ $config['hmailserver_server'] = array(
// 5: domain-username
// 6: username_domain
// 7: domain_username
-$config['password_virtualmin_format'] = 0;
-
-
-// pw_usermod Driver options
-// --------------------------
-// Use comma delimited exlist to disable password change for users
-// Add the following line to visudo to tighten security:
-// www ALL=NOPASSWORD: /usr/sbin/pw
-$config['password_pw_usermod_cmd'] = 'sudo /usr/sbin/pw usermod -h 0 -n';
-
-
-// DBMail Driver options
-// -------------------
-// Additional arguments for the dbmail-users call
-$config['password_dbmail_args'] = '-p sha512';
-
-
-// Expect Driver options
-// ---------------------
-// Location of expect binary
-$config['password_expect_bin'] = '/usr/bin/expect';
-
-// Location of expect script (see helpers/passwd-expect)
-$config['password_expect_script'] = '';
-
-// Arguments for the expect script. See the helpers/passwd-expect file for details.
-// This is probably a good starting default:
-// -telent -host localhost -output /tmp/passwd.log -log /tmp/passwd.log
-$config['password_expect_params'] = '';
-
-
-// smb Driver options
-// ---------------------
-// Samba host (default: localhost)
-// Supported replacement variables:
-// %n - hostname ($_SERVER['SERVER_NAME'])
-// %t - hostname without the first part
-// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
-$config['password_smb_host'] = 'localhost';
-// Location of smbpasswd binary
-$config['password_smb_cmd'] = '/usr/bin/smbpasswd';
-
-// gearman driver options
-// ---------------------
-// Gearman host (default: localhost)
-$config['password_gearman_host'] = 'localhost';
-
-
-
-// Plesk/PPA Driver options
-// --------------------
-// You need to allow RCP for IP of roundcube-server in Plesk/PPA Panel
-
-// Plesk RCP Host
-$config['password_plesk_host'] = '10.0.0.5';
-
-// Plesk RPC Username
-$config['password_plesk_user'] = 'admin';
-
-// Plesk RPC Password
-$config['password_plesk_pass'] = 'password';
-
-// Plesk RPC Port
-$config['password_plesk_rpc_port'] = '8443';
+$rcmail_config['password_virtualmin_format'] = 0;
-// Plesk RPC Path
-$config['password_plesk_rpc_path'] = 'enterprise/control/agent.php';
+?>

51
wheezy/control Normal file
View File

@ -0,0 +1,51 @@
diff --git a/debian/control b/debian/control
index 551f6171..394506f9 100644
--- a/debian/control
+++ b/debian/control
@@ -38,19 +38,16 @@ Depends: debianutils (>= 1.13.1)
, sudo
, adduser
, dnsutils
- , dovecot-core (>=1:2.1.7)
- , dovecot-imapd (>=1:2.1.7)
- , dovecot-pop3d (>=1:2.1.7)
- , dovecot-mysql
+ , dovecot-common (>=1:1.2.15)
+ , dovecot-common(<< 1:2.0)
+ , dovecot-imapd (>= 1:1.2.15)
+ , dovecot-pop3d (>= 1:1.2.15)
, vlogger
, mailutils | mailx
, zip
, incron
, cron
, opendkim
- , opendkim-tools
- , dovecot-sieve
- , dovecot-managesieved
, mysql-client(>= 5.0) | mariadb-client
, php5-curl | php7.0-curl
, quota
@@ -126,18 +123,15 @@ Depends: debianutils (>= 1.13.1)
, gettext (>= 0.10.40-5)
, adduser
, sudo
- , dovecot-core (>=1:2.1.7)
- , dovecot-imapd (>=1:2.1.7)
- , dovecot-pop3d (>=1:2.1.7)
- , dovecot-mysql
+ , dovecot-common (>=1:1.2.15)
+ , dovecot-common(<< 1:2.0)
+ , dovecot-imapd (>= 1:1.2.15)
+ , dovecot-pop3d (>= 1:1.2.15)
, vlogger
, mailutils | mailx
, incron
, cron
, opendkim
- , opendkim-tools
- , dovecot-sieve
- , dovecot-managesieved
, mysql-client(>= 5.0) | mariadb-client
, php5-curl
, ${misc:Depends}

View File

@ -1,49 +0,0 @@
--- control.squeeze 2017-10-06 12:01:52.272243664 +0200
+++ control 2017-10-06 12:03:02.016307914 +0200
@@ -38,16 +38,19 @@
, sudo
, adduser
, dnsutils
- , dovecot-common (>=1:1.2.15)
- , dovecot-common(<< 1:2.0)
- , dovecot-imapd (>= 1:1.2.15)
- , dovecot-pop3d (>= 1:1.2.15)
+ , dovecot-common (>=1:2.1.7)
+ , dovecot-imapd
+ , dovecot-pop3d
+ , dovecot-mysql
, vlogger
, mailutils | mailx
, zip
, incron
, cron
, opendkim
+ , opendkim-tools
+ , dovecot-sieve
+ , dovecot-managesieved
, mysql-client(>= 5.0) | mariadb-client
, php5-curl
, quota
@@ -123,15 +126,18 @@
, gettext (>= 0.10.40-5)
, adduser
, sudo
- , dovecot-common (>=1:1.2.15)
- , dovecot-common(<< 1:2.0)
- , dovecot-imapd (>= 1:1.2.15)
- , dovecot-pop3d (>= 1:1.2.15)
+ , dovecot-common (>=1:2.1.7)
+ , dovecot-imapd
+ , dovecot-pop3d
+ , dovecot-mysql
, vlogger
, mailutils | mailx
, incron
, cron
, opendkim
+ , opendkim-tools
+ , dovecot-sieve
+ , dovecot-managesieved
, mysql-client(>= 5.0) | mariadb-client
, php5-curl
, ${misc:Depends}

View File

@ -0,0 +1,53 @@
diff --git a/etc/alternc/templates/dovecot/dovecot-dict-quota.conf b/etc/alternc/templates/dovecot/dovecot-dict-quota.conf
new file mode 100644
index 00000000..8ad06548
--- /dev/null
+++ b/etc/alternc/templates/dovecot/dovecot-dict-quota.conf
@@ -0,0 +1,47 @@
+# AUTO GENERATED FILE
+# Modify template in /etc/alternc/templates/
+# and launch alternc.install if you want
+# to modify this file.
+#
+
+connect=host=%%dbhost%% dbname=%%dbname%% user=%%db_mail_user%% password=%%db_mail_pwd%%
+#connect = host=localhost dbname=mails user=testuser password=pass
+
+# CREATE TABLE quota (
+# username varchar(100) not null,
+# bytes bigint not null default 0,
+# messages integer not null default 0,
+# primary key (username)
+# );
+
+map {
+ pattern = priv/quota/storage
+ table = dovecot_quota
+ username_field = user
+ value_field = quota_dovecot
+}
+map {
+ pattern = priv/quota/messages
+ table = dovecot_quota
+ username_field = user
+ value_field = nb_messages
+}
+
+# CREATE TABLE expires (
+# username varchar(100) not null,
+# mailbox varchar(255) not null,
+# expire_stamp integer not null,
+# primary key (username, mailbox)
+# );
+
+#map {
+ # pattern = shared/expire/$user/$mailbox
+ # table = expires
+ # value_field = expire_stamp
+
+ # fields {
+ # username = $user
+ # mailbox = $mailbox
+ # }
+#}
+

138
wheezy/dovecot-sql.conf Normal file
View File

@ -0,0 +1,138 @@
diff --git a/etc/alternc/templates/dovecot/dovecot-sql.conf b/etc/alternc/templates/dovecot/dovecot-sql.conf
new file mode 100644
index 00000000..befef217
--- /dev/null
+++ b/etc/alternc/templates/dovecot/dovecot-sql.conf
@@ -0,0 +1,132 @@
+# AUTO GENERATED FILE
+# Modify template in /etc/alternc/templates/
+# and launch alternc.install if you want
+# to modify this file.
+#
+
+# This file is opened as root, so it should be owned by root and mode 0600.
+#
+# http://wiki.dovecot.org/AuthDatabase/SQL
+#
+# For the sql passdb module, you'll need a database with a table that
+# contains fields for at least the username and password. If you want to
+# use the user@domain syntax, you might want to have a separate domain
+# field as well.
+#
+# If your users all have the same uig/gid, and have predictable home
+# directories, you can use the static userdb module to generate the home
+# dir based on the username and domain. In this case, you won't need fields
+# for home, uid, or gid in the database.
+#
+# If you prefer to use the sql userdb module, you'll want to add fields
+# for home, uid, and gid. Here is an example table:
+#
+# CREATE TABLE users (
+# username VARCHAR(128) NOT NULL,
+# domain VARCHAR(128) NOT NULL,
+# password VARCHAR(64) NOT NULL,
+# home VARCHAR(255) NOT NULL,
+# uid INTEGER NOT NULL,
+# gid INTEGER NOT NULL,
+# active CHAR(1) DEFAULT 'Y' NOT NULL
+# );
+
+# Database driver: mysql, pgsql, sqlite
+driver = mysql
+
+# Database connection string. This is driver-specific setting.
+#
+# pgsql:
+# For available options, see the PostgreSQL documention for the
+# PQconnectdb function of libpq.
+#
+# mysql:
+# Basic options emulate PostgreSQL option names:
+# host, port, user, password, dbname
+#
+# But also adds some new settings:
+# client_flags - See MySQL manual
+# ssl_ca, ssl_ca_path - Set either one or both to enable SSL
+# ssl_cert, ssl_key - For sending client-side certificates to server
+# ssl_cipher - Set minimum allowed cipher security (default: HIGH)
+# option_file - Read options from the given file instead of
+# the default my.cnf location
+# option_group - Read options from the given group (default: client)
+#
+# You can connect to UNIX sockets by using host: host=/var/run/mysqld/mysqld.sock
+# Note that currently you can't use spaces in parameters.
+#
+# MySQL supports multiple host parameters for load balancing / HA.
+#
+# sqlite:
+# The path to the database file.
+#
+# Examples:
+# connect = host=192.168.1.1 dbname=users
+# connect = host=sql.example.com dbname=virtual user=virtual password=blarg
+# connect = /etc/dovecot/authdb.sqlite
+#
+connect = host=%%dbhost%% dbname=%%dbname%% user=%%db_mail_user%% password=%%db_mail_pwd%%
+
+# Default password scheme.
+#
+# List of supported schemes is in
+# http://wiki.dovecot.org/Authentication/PasswordSchemes
+#
+default_pass_scheme = MD5
+
+# passdb query to retrieve the password. It can return fields:
+# password - The user's password. This field must be returned.
+# user - user@domain from the database. Needed with case-insensitive lookups.
+# username and domain - An alternative way to represent the "user" field.
+#
+# The "user" field is often necessary with case-insensitive lookups to avoid
+# e.g. "name" and "nAme" logins creating two different mail directories. If
+# your user and domain names are in separate fields, you can return "username"
+# and "domain" fields instead of "user".
+#
+# The query can also return other fields which have a special meaning, see
+# http://wiki.dovecot.org/PasswordDatabase/ExtraFields
+#
+# Commonly used available substitutions (see http://wiki.dovecot.org/Variables
+# for full list):
+# %u = entire user@domain
+# %n = user part of user@domain
+# %d = domain part of user@domain
+#
+# Note that these can be used only as input to SQL query. If the query outputs
+# any of these substitutions, they're not touched. Otherwise it would be
+# difficult to have eg. usernames containing '%' characters.
+#
+# Example:
+# password_query = SELECT userid AS user, pw AS password \
+# FROM users WHERE userid = '%u' AND active = 'Y'
+#
+#password_query = \
+# SELECT username, domain, password \
+# FROM users WHERE username = '%n' AND domain = '%d'
+
+# userdb query to retrieve the user information. It can return fields:
+# uid - System UID (overrides mail_uid setting)
+# gid - System GID (overrides mail_gid setting)
+# home - Home directory
+# mail - Mail location (overrides mail_location setting)
+#
+# None of these are strictly required. If you use a single UID and GID, and
+# home or mail directory fits to a template string, you could use userdb static
+# instead. For a list of all fields that can be returned, see
+# http://wiki.dovecot.org/UserDatabase/ExtraFields
+#
+# Examples:
+# user_query = SELECT home, uid, gid FROM users WHERE userid = '%u'
+# user_query = SELECT dir AS home, user AS uid, group AS gid FROM users where userid = '%u'
+# user_query = SELECT home, 501 AS uid, 501 AS gid FROM users WHERE userid = '%u'
+#
+user_query = SELECT userdb_home AS home, userdb_uid AS uid, 1998 AS gid, userdb_quota_rule AS quota_rule FROM dovecot_view WHERE user = '%u';
+
+# If you wish to avoid two SQL lookups (passdb + userdb), you can use
+# userdb prefetch instead of userdb sql in dovecot.conf. In that case you'll
+# also have to return userdb fields in password_query prefixed with "userdb_"
+# string. For example:
+password_query = SELECT user, password, userdb_home, userdb_uid, 1998 AS userdb_gid,userdb_quota_rule FROM dovecot_view where user= '%u';
+

1302
wheezy/dovecot.conf Normal file

File diff suppressed because it is too large Load Diff

809
wheezy/main.inc.php Normal file
View File

@ -0,0 +1,809 @@
diff --git a/roundcube/templates/roundcube/main.inc.php b/roundcube/templates/roundcube/main.inc.php
new file mode 100644
index 00000000..97c9f6bf
--- /dev/null
+++ b/roundcube/templates/roundcube/main.inc.php
@@ -0,0 +1,803 @@
+<?php
+
+/***********************************************************************/
+// Roundcube's Configuration file for AlternC //
+// //
+// /!\ WARNING /!\ Do not edit this file, edit the one in //
+// /etc/alternc/templates/roundcube/ and launch alternc.install again. //
+// //
+/***********************************************************************/
+
+/*
++-----------------------------------------------------------------------+
+| Main configuration file |
+| |
+| This file is part of the Roundcube Webmail client |
+| Copyright (C) 2005-2011, The Roundcube Dev Team |
+| Licensed under the GNU GPL |
+| |
++-----------------------------------------------------------------------+
+
+*/
+
+$rcmail_config = array();
+
+// ----------------------------------
+// LOGGING/DEBUGGING
+// ----------------------------------
+
+// system error reporting: 1 = log; 2 = report (not implemented yet), 4 = show, 8 = trace
+$rcmail_config['debug_level'] = 1;
+
+// log driver: 'syslog' or 'file'.
+$rcmail_config['log_driver'] = 'file';
+
+// date format for log entries
+// (read http://php.net/manual/en/function.date.php for all format characters)
+$rcmail_config['log_date_format'] = 'd-M-Y H:i:s O';
+
+// Syslog ident string to use, if using the 'syslog' log driver.
+$rcmail_config['syslog_id'] = 'roundcube';
+
+// Syslog facility to use, if using the 'syslog' log driver.
+// For possible values see installer or http://php.net/manual/en/function.openlog.php
+$rcmail_config['syslog_facility'] = LOG_USER;
+
+// Log sent messages to <log_dir>/sendmail or to syslog
+$rcmail_config['smtp_log'] = true;
+
+// Log successful logins to <log_dir>/userlogins or to syslog
+$rcmail_config['log_logins'] = false;
+
+// Log session authentication errors to <log_dir>/session or to syslog
+$rcmail_config['log_session'] = false;
+
+// Log SQL queries to <log_dir>/sql or to syslog
+$rcmail_config['sql_debug'] = false;
+
+// Log IMAP conversation to <log_dir>/imap or to syslog
+$rcmail_config['imap_debug'] = false;
+
+// Log LDAP conversation to <log_dir>/ldap or to syslog
+$rcmail_config['ldap_debug'] = false;
+
+// Log SMTP conversation to <log_dir>/smtp or to syslog
+$rcmail_config['smtp_debug'] = false;
+
+// ----------------------------------
+// IMAP
+// ----------------------------------
+
+// the mail host chosen to perform the log-in
+// leave blank to show a textbox at login, give a list of hosts
+// to display a pulldown menu or set one host as string.
+// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
+// Supported replacement variables:
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %s - domain name after the '@' from e-mail address provided at login screen
+// For example %n = mail.domain.tld, %d = domain.tld
+$rcmail_config['default_host'] = 'localhost';
+
+// TCP port used for IMAP connections
+$rcmail_config['default_port'] = 143;
+
+// IMAP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
+// best server supported one)
+$rcmail_config['imap_auth_type'] = null;
+
+// If you know your imap's folder delimiter, you can specify it here.
+// Otherwise it will be determined automatically
+$rcmail_config['imap_delimiter'] = null;
+
+// If IMAP server doesn't support NAMESPACE extension, but you're
+// using shared folders or personal root folder is non-empty, you'll need to
+// set these options. All can be strings or arrays of strings.
+// Folders need to be ended with directory separator, e.g. "INBOX."
+// (special directory "~" is an exception to this rule)
+// These can be used also to overwrite server's namespaces
+$rcmail_config['imap_ns_personal'] = null;
+$rcmail_config['imap_ns_other'] = null;
+$rcmail_config['imap_ns_shared'] = null;
+
+// By default IMAP capabilities are readed after connection to IMAP server
+// In some cases, e.g. when using IMAP proxy, there's a need to refresh the list
+// after login. Set to True if you've got this case.
+$rcmail_config['imap_force_caps'] = false;
+
+// By default list of subscribed folders is determined using LIST-EXTENDED
+// extension if available. Some servers (dovecot 1.x) returns wrong results
+// for shared namespaces in this case. http://trac.roundcube.net/ticket/1486225
+// Enable this option to force LSUB command usage instead.
+$rcmail_config['imap_force_lsub'] = true;
+
+// IMAP connection timeout, in seconds. Default: 0 (no limit)
+$rcmail_config['imap_timeout'] = 10;
+
+// Optional IMAP authentication identifier to be used as authorization proxy
+$rcmail_config['imap_auth_cid'] = null;
+
+// Optional IMAP authentication password to be used for imap_auth_cid
+$rcmail_config['imap_auth_pw'] = null;
+
+// Type of IMAP indexes cache. Supported values: 'db', 'apc' and 'memcache'.
+$rcmail_config['imap_cache'] = null;
+
+// Enables messages cache. Only 'db' cache is supported.
+$rcmail_config['messages_cache'] = false;
+
+
+// ----------------------------------
+// SMTP
+// ----------------------------------
+
+// SMTP server host (for sending mails).
+// To use SSL/TLS connection, enter hostname with prefix ssl:// or tls://
+// If left blank, the PHP mail() function is used
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %d = domain.tld
+$rcmail_config['smtp_server'] = 'localhost';
+
+// SMTP port (default is 25; 465 for SSL)
+$rcmail_config['smtp_port'] = 25;
+
+// SMTP username (if required) if you use %u as the username Roundcube
+// will use the current username for login
+$rcmail_config['smtp_user'] = '%u';
+
+// SMTP password (if required) if you use %p as the password Roundcube
+// will use the current user's password for login
+$rcmail_config['smtp_pass'] = '%p';
+
+// SMTP AUTH type (DIGEST-MD5, CRAM-MD5, LOGIN, PLAIN or empty to use
+// best server supported one)
+$rcmail_config['smtp_auth_type'] = '';
+
+// Optional SMTP authentication identifier to be used as authorization proxy
+$rcmail_config['smtp_auth_cid'] = null;
+
+// Optional SMTP authentication password to be used for smtp_auth_cid
+$rcmail_config['smtp_auth_pw'] = null;
+
+// SMTP HELO host
+// Hostname to give to the remote server for SMTP 'HELO' or 'EHLO' messages
+// Leave this blank and you will get the server variable 'server_name' or
+// localhost if that isn't defined.
+$rcmail_config['smtp_helo_host'] = '';
+
+// SMTP connection timeout, in seconds. Default: 0 (no limit)
+$rcmail_config['smtp_timeout'] = 0;
+
+// ----------------------------------
+// SYSTEM
+// ----------------------------------
+
+// THIS OPTION WILL ALLOW THE INSTALLER TO RUN AND CAN EXPOSE SENSITIVE CONFIG DATA.
+// ONLY ENABLE IT IF YOU'RE REALLY SURE WHAT YOU'RE DOING!
+$rcmail_config['enable_installer'] = false;
+
+// use this folder to store log files (must be writeable for apache user)
+// This is used by the 'file' log driver.
+$rcmail_config['log_dir'] = 'logs/';
+
+// use this folder to store temp files (must be writeable for apache user)
+$rcmail_config['temp_dir'] = 'temp/';
+
+// lifetime of message cache
+// possible units: s, m, h, d, w
+$rcmail_config['message_cache_lifetime'] = '10d';
+
+// enforce connections over https
+// with this option enabled, all non-secure connections will be redirected.
+// set the port for the ssl connection as value of this option if it differs from the default 443
+$rcmail_config['force_https'] = false;
+
+// tell PHP that it should work as under secure connection
+// even if it doesn't recognize it as secure ($_SERVER['HTTPS'] is not set)
+// e.g. when you're running Roundcube behind a https proxy
+$rcmail_config['use_https'] = false;
+
+// Allow browser-autocompletion on login form.
+// 0 - disabled, 1 - username and host only, 2 - username, host, password
+$rcmail_config['login_autocomplete'] = 2;
+
+// If users authentication is not case sensitive this must be enabled.
+// You can also use it to force conversion of logins to lower case.
+// After enabling it all user records need to be updated, e.g. with query:
+// UPDATE users SET username = LOWER(username);
+$rcmail_config['login_lc'] = false;
+
+// automatically create a new Roundcube user when log-in the first time.
+// a new user will be created once the IMAP login succeeds.
+// set to false if only registered users can use this service
+$rcmail_config['auto_create_user'] = true;
+
+// replace Roundcube logo with this image
+// specify an URL relative to the document root of this Roundcube installation
+$rcmail_config['skin_logo'] = 'skins/default/images/roundcube_alternc_logo.png';
+
+// Includes should be interpreted as PHP files
+$rcmail_config['skin_include_php'] = false;
+
+// Session lifetime in minutes
+// must be greater than 'keep_alive'/60
+$rcmail_config['session_lifetime'] = 60;
+
+// session domain: .example.org
+$rcmail_config['session_domain'] = '';
+
+// session name. Default: 'roundcube_sessid'
+$rcmail_config['session_name'] = null;
+
+// Backend to use for session storage. Can either be 'db' (default) or 'memcache'
+// If set to memcache, a list of servers need to be specified in 'memcache_hosts'
+// Make sure the Memcache extension (http://pecl.php.net/package/memcache) version >= 2.0.0 is installed
+$rcmail_config['session_storage'] = 'db';
+
+// Use these hosts for accessing memcached
+// Define any number of hosts in the form hostname:port
+$rcmail_config['memcache_hosts'] = null; // e.g. array( 'localhost:11211', '192.168.1.12:11211' );
+
+// check client IP in session athorization
+$rcmail_config['ip_check'] = false;
+
+// check referer of incoming requests
+$rcmail_config['referer_check'] = false;
+
+// X-Frame-Options HTTP header value sent to prevent from Clickjacking.
+// Possible values: sameorigin|deny. Set to false in order to disable sending them
+$rcmail_config['x_frame_options'] = 'sameorigin';
+
+// this key is used to encrypt the users imap password which is stored
+// in the session record (and the client cookie if remember password is enabled).
+// please provide a string of exactly 24 chars.
+$rcmail_config['des_key'] = '%%deskey%%';
+
+// Automatically add this domain to user names for login
+// Only for IMAP servers that require full e-mail addresses for login
+// Specify an array with 'host' => 'domain' values to support multiple hosts
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %d = domain.tld
+$rcmail_config['username_domain'] = '';
+
+// This domain will be used to form e-mail addresses of new users
+// Specify an array with 'host' => 'domain' values to support multiple hosts
+// Supported replacement variables:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %d = domain.tld
+$rcmail_config['mail_domain'] = '';
+
+// Password charset.
+// Use it if your authentication backend doesn't support UTF-8.
+// Defaults to ISO-8859-1 for backward compatibility
+$rcmail_config['password_charset'] = 'ISO-8859-1';
+
+// How many seconds must pass between emails sent by a user
+$rcmail_config['sendmail_delay'] = 0;
+
+// Maximum number of recipients per message. Default: 0 (no limit)
+$rcmail_config['max_recipients'] = 0;
+
+// Maximum allowednumber of members of an address group. Default: 0 (no limit)
+// If 'max_recipients' is set this value should be less or equal
+$rcmail_config['max_group_members'] = 0;
+
+// add this user-agent to message headers when sending
+$rcmail_config['useragent'] = 'Roundcube Webmail/'.RCMAIL_VERSION;
+
+// use this name to compose page titles
+$rcmail_config['product_name'] = 'Roundcube Webmail';
+
+// try to load host-specific configuration
+// see http://trac.roundcube.net/wiki/Howto_Config for more details
+$rcmail_config['include_host_config'] = false;
+
+// path to a text file which will be added to each sent message
+// paths are relative to the Roundcube root folder
+$rcmail_config['generic_message_footer'] = '';
+
+// path to a text file which will be added to each sent HTML message
+// paths are relative to the Roundcube root folder
+$rcmail_config['generic_message_footer_html'] = '';
+
+// add a received header to outgoing mails containing the creators IP and hostname
+$rcmail_config['http_received_header'] = false;
+
+// Whether or not to encrypt the IP address and the host name
+// these could, in some circles, be considered as sensitive information;
+// however, for the administrator, these could be invaluable help
+// when tracking down issues.
+$rcmail_config['http_received_header_encrypt'] = false;
+
+// This string is used as a delimiter for message headers when sending
+// a message via mail() function. Leave empty for auto-detection
+$rcmail_config['mail_header_delimiter'] = NULL;
+
+// number of chars allowed for line when wrapping text.
+// text wrapping is done when composing/sending messages
+$rcmail_config['line_length'] = 72;
+
+// send plaintext messages as format=flowed
+$rcmail_config['send_format_flowed'] = true;
+
+// don't allow these settings to be overriden by the user
+$rcmail_config['dont_override'] = array();
+
+// Set identities access level:
+// 0 - many identities with possibility to edit all params
+// 1 - many identities with possibility to edit all params but not email address
+// 2 - one identity with possibility to edit all params
+// 3 - one identity with possibility to edit all params but not email address
+$rcmail_config['identities_level'] = 0;
+
+// Mimetypes supported by the browser.
+// attachments of these types will open in a preview window
+// either a comma-separated list or an array: 'text/plain,text/html,text/xml,image/jpeg,image/gif,image/png,application/pdf'
+$rcmail_config['client_mimetypes'] = null; # null == default
+
+// mime magic database
+$rcmail_config['mime_magic'] = '/usr/share/misc/magic';
+
+// path to imagemagick identify binary
+$rcmail_config['im_identify_path'] = '/usr/bin/identify';
+
+// path to imagemagick convert binary
+$rcmail_config['im_convert_path'] = '/usr/bin/convert';
+
+// maximum size of uploaded contact photos in pixel
+$rcmail_config['contact_photo_size'] = 160;
+
+// Enable DNS checking for e-mail address validation
+$rcmail_config['email_dns_check'] = true;
+
+// ----------------------------------
+// PLUGINS
+// ----------------------------------
+
+// List of active plugins (in plugins/ directory)
+$rcmail_config['plugins'] = array("managesieve","password");
+
+// ----------------------------------
+// USER INTERFACE
+// ----------------------------------
+
+// default messages sort column. Use empty value for default server's sorting,
+// or 'arrival', 'date', 'subject', 'from', 'to', 'size', 'cc'
+$rcmail_config['message_sort_col'] = '';
+
+// default messages sort order
+$rcmail_config['message_sort_order'] = 'DESC';
+
+// These cols are shown in the message list. Available cols are:
+// subject, from, to, cc, replyto, date, size, status, flag, attachment, 'priority'
+$rcmail_config['list_cols'] = array('subject', 'status', 'from', 'date', 'size', 'flag', 'attachment');
+
+// the default locale setting (leave empty for auto-detection)
+// RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR
+$rcmail_config['language'] = null;
+
+// use this format for date display (date or strftime format)
+$rcmail_config['date_format'] = 'Y-m-d';
+
+// give this choice of date formats to the user to select from
+$rcmail_config['date_formats'] = array('Y-m-d', 'd-m-Y', 'Y/m/d', 'm/d/Y', 'd/m/Y', 'd.m.Y', 'j.n.Y');
+
+// use this format for time display (date or strftime format)
+$rcmail_config['time_format'] = 'H:i';
+
+// give this choice of time formats to the user to select from
+$rcmail_config['time_formats'] = array('G:i', 'H:i', 'g:i a', 'h:i A');
+
+// use this format for short date display (derived from date_format and time_format)
+$rcmail_config['date_short'] = 'D H:i';
+
+// use this format for detailed date/time formatting (derived from date_format and time_format)
+$rcmail_config['date_long'] = 'Y-m-d H:i';
+
+// store draft message is this mailbox
+// leave blank if draft messages should not be stored
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['drafts_mbox'] = 'Drafts';
+
+// store spam messages in this mailbox
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['junk_mbox'] = 'Junk';
+
+// store sent message is this mailbox
+// leave blank if sent messages should not be stored
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['sent_mbox'] = 'Sent';
+
+// move messages to this folder when deleting them
+// leave blank if they should be deleted directly
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['trash_mbox'] = 'Trash';
+
+// display these folders separately in the mailbox list.
+// these folders will also be displayed with localized names
+// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
+$rcmail_config['default_imap_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
+
+// automatically create the above listed default folders on first login
+$rcmail_config['create_default_folders'] = true;
+
+// protect the default folders from renames, deletes, and subscription changes
+$rcmail_config['protect_default_folders'] = true;
+
+// if in your system 0 quota means no limit set this option to true
+$rcmail_config['quota_zero_as_unlimited'] = true;
+
+// Make use of the built-in spell checker. It is based on GoogieSpell.
+// Since Google only accepts connections over https your PHP installatation
+// requires to be compiled with Open SSL support
+$rcmail_config['enable_spellcheck'] = true;
+
+// Enables spellchecker exceptions dictionary.
+// Setting it to 'shared' will make the dictionary shared by all users.
+$rcmail_config['spellcheck_dictionary'] = false;
+
+// Set the spell checking engine. 'googie' is the default. 'pspell' is also available,
+// but requires the Pspell extensions. When using Nox Spell Server, also set 'googie' here.
+$rcmail_config['spellcheck_engine'] = 'pspell';
+
+// For a locally installed Nox Spell Server, please specify the URI to call it.
+// Get Nox Spell Server from http://orangoo.com/labs/?page_id=72
+// Leave empty to use the Google spell checking service, what means
+// that the message content will be sent to Google in order to check spelling
+$rcmail_config['spellcheck_uri'] = '';
+
+// These languages can be selected for spell checking.
+// Configure as a PHP style hash array: array('en'=>'English', 'de'=>'Deutsch');
+// Leave empty for default set of available language.
+$rcmail_config['spellcheck_languages'] = NULL;
+
+// Makes that words with all letters capitalized will be ignored (e.g. GOOGLE)
+$rcmail_config['spellcheck_ignore_caps'] = false;
+
+// Makes that words with numbers will be ignored (e.g. g00gle)
+$rcmail_config['spellcheck_ignore_nums'] = false;
+
+// Makes that words with symbols will be ignored (e.g. g@@gle)
+$rcmail_config['spellcheck_ignore_syms'] = false;
+
+// Use this char/string to separate recipients when composing a new message
+$rcmail_config['recipients_separator'] = ',';
+
+// don't let users set pagesize to more than this value if set
+$rcmail_config['max_pagesize'] = 200;
+
+// Minimal value of user's 'keep_alive' setting (in seconds)
+// Must be less than 'session_lifetime'
+$rcmail_config['min_keep_alive'] = 60;
+
+// Enables files upload indicator. Requires APC installed and enabled apc.rfc1867 option.
+// By default refresh time is set to 1 second. You can set this value to true
+// or any integer value indicating number of seconds.
+$rcmail_config['upload_progress'] = false;
+
+// Specifies for how many seconds the Undo button will be available
+// after object delete action. Currently used with supporting address book sources.
+// Setting it to 0, disables the feature.
+$rcmail_config['undo_timeout'] = 0;
+
+// ----------------------------------
+// ADDRESSBOOK SETTINGS
+// ----------------------------------
+
+// This indicates which type of address book to use. Possible choises:
+// 'sql' (default) and 'ldap'.
+// If set to 'ldap' then it will look at using the first writable LDAP
+// address book as the primary address book and it will not display the
+// SQL address book in the 'Address Book' view.
+$rcmail_config['address_book_type'] = 'sql';
+
+// In order to enable public ldap search, configure an array like the Verisign
+// example further below. if you would like to test, simply uncomment the example.
+// Array key must contain only safe characters, ie. a-zA-Z0-9_
+$rcmail_config['ldap_public'] = array();
+
+// If you are going to use LDAP for individual address books, you will need to
+// set 'user_specific' to true and use the variables to generate the appropriate DNs to access it.
+//
+// The recommended directory structure for LDAP is to store all the address book entries
+// under the users main entry, e.g.:
+//
+// o=root
+// ou=people
+// uid=user@domain
+// mail=contact@contactdomain
+//
+// So the base_dn would be uid=%fu,ou=people,o=root
+// The bind_dn would be the same as based_dn or some super user login.
+/*
+* example config for Verisign directory
+*
+$rcmail_config['ldap_public']['Verisign'] = array(
+'name' => 'Verisign.com',
+// Replacement variables supported in host names:
+// %h - user's IMAP hostname
+// %n - http hostname ($_SERVER['SERVER_NAME'])
+// %d - domain (http hostname without the first part)
+// %z - IMAP domain (IMAP hostname without the first part)
+// For example %n = mail.domain.tld, %d = domain.tld
+'hosts' => array('directory.verisign.com'),
+'port' => 389,
+'use_tls' => false,
+'ldap_version' => 3, // using LDAPv3
+'user_specific' => false, // If true the base_dn, bind_dn and bind_pass default to the user's IMAP login.
+// %fu - The full username provided, assumes the username is an email
+// address, uses the username_domain value if not an email address.
+// %u - The username prior to the '@'.
+// %d - The domain name after the '@'.
+// %dc - The domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
+// %dn - DN found by ldap search when search_filter/search_base_dn are used
+'base_dn' => '',
+'bind_dn' => '',
+'bind_pass' => '',
+// It's possible to bind for an individual address book
+// The login name is used to search for the DN to bind with
+'search_base_dn' => '',
+'search_filter' => '', // e.g. '(&(objectClass=posixAccount)(uid=%u))'
+// DN and password to bind as before searching for bind DN, if anonymous search is not allowed
+'search_bind_dn' => '',
+'search_bind_pw' => '',
+// Default for %dn variable if search doesn't return DN value
+'search_dn_default' => '',
+// Optional authentication identifier to be used as SASL authorization proxy
+// bind_dn need to be empty
+'auth_cid' => '',
+// SASL authentication method (for proxy auth), e.g. DIGEST-MD5
+'auth_method' => '',
+// Indicates if the addressbook shall be hidden from the list.
+// With this option enabled you can still search/view contacts.
+'hidden' => false,
+// Indicates if the addressbook shall not list contacts but only allows searching.
+'searchonly' => false,
+// Indicates if we can write to the LDAP directory or not.
+// If writable is true then these fields need to be populated:
+// LDAP_Object_Classes, required_fields, LDAP_rdn
+'writable' => false,
+// To create a new contact these are the object classes to specify
+// (or any other classes you wish to use).
+'LDAP_Object_Classes' => array('top', 'inetOrgPerson'),
+// The RDN field that is used for new entries, this field needs
+// to be one of the search_fields, the base of base_dn is appended
+// to the RDN to insert into the LDAP directory.
+'LDAP_rdn' => 'mail',
+// The required fields needed to build a new contact as required by
+// the object classes (can include additional fields not required by the object classes).
+'required_fields' => array('cn', 'sn', 'mail'),
+'search_fields' => array('mail', 'cn'), // fields to search in
+// mapping of contact fields to directory attributes
+'fieldmap' => array(
+// Roundcube => LDAP
+'name' => 'cn',
+'surname' => 'sn',
+'firstname' => 'givenName',
+'email' => 'mail',
+'phone:home' => 'homePhone',
+'phone:work' => 'telephoneNumber',
+'phone:mobile' => 'mobile',
+'street' => 'street',
+'zipcode' => 'postalCode',
+'locality' => 'l',
+'country' => 'c',
+'organization' => 'o',
+),
+'sort' => 'cn', // The field to sort the listing by.
+'scope' => 'sub', // search mode: sub|base|list
+'filter' => '(objectClass=inetOrgPerson)', // used for basic listing (if not empty) and will be &'d with search queries. example: status=act
+'fuzzy_search' => true, // server allows wildcard search
+'vlv' => false, // Enable Virtual List View to more efficiently fetch paginated data (if server supports it)
+'numsub_filter' => '(objectClass=organizationalUnit)', // with VLV, we also use numSubOrdinates to query the total number of records. Set this filter to get all numSubOrdinates attributes for counting
+'sizelimit' => '0', // Enables you to limit the count of entries fetched. Setting this to 0 means no limit.
+'timelimit' => '0', // Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.
+'referrals' => true|false, // Sets the LDAP_OPT_REFERRALS option. Mostly used in multi-domain Active Directory setups
+
+// definition for contact groups (uncomment if no groups are supported)
+// for the groups base_dn, the user replacements %fu, %u, $d and %dc work as for base_dn (see above)
+// if the groups base_dn is empty, the contact base_dn is used for the groups as well
+// -> in this case, assure that groups and contacts are separated due to the concernig filters!
+'groups' => array(
+'base_dn' => '',
+'filter' => '(objectClass=groupOfNames)',
+'object_classes' => array("top", "groupOfNames"),
+'member_attr' => 'member', // name of the member attribute, e.g. uniqueMember
+'name_attr' => 'cn', // attribute to be used as group name
+),
+);
+*/
+
+// An ordered array of the ids of the addressbooks that should be searched
+// when populating address autocomplete fields server-side. ex: array('sql','Verisign');
+$rcmail_config['autocomplete_addressbooks'] = array('sql');
+
+// The minimum number of characters required to be typed in an autocomplete field
+// before address books will be searched. Most useful for LDAP directories that
+// may need to do lengthy results building given overly-broad searches
+$rcmail_config['autocomplete_min_length'] = 1;
+
+// Number of parallel autocomplete requests.
+// If there's more than one address book, n parallel (async) requests will be created,
+// where each request will search in one address book. By default (0), all address
+// books are searched in one request.
+$rcmail_config['autocomplete_threads'] = 0;
+
+// Max. numer of entries in autocomplete popup. Default: 15.
+$rcmail_config['autocomplete_max'] = 15;
+
+// show address fields in this order
+// available placeholders: {street}, {locality}, {zipcode}, {country}, {region}
+$rcmail_config['address_template'] = '{street}<br/>{locality} {zipcode}<br/>{country} {region}';
+
+// Matching mode for addressbook search (including autocompletion)
+// 0 - partial (*abc*), default
+// 1 - strict (abc)
+// 2 - prefix (abc*)
+// Note: For LDAP sources fuzzy_search must be enabled to use 'partial' or 'prefix' mode
+$rcmail_config['addressbook_search_mode'] = 0;
+
+// ----------------------------------
+// USER PREFERENCES
+// ----------------------------------
+
+// Use this charset as fallback for message decoding
+$rcmail_config['default_charset'] = 'UTF-8';
+
+// skin name: folder from skins/
+$rcmail_config['skin'] = 'default';
+
+// show up to X items in list view
+$rcmail_config['pagesize'] = 40;
+
+// use this timezone to display date/time
+$rcmail_config['timezone'] = 'auto';
+
+// is daylight saving On? Default: (bool)date('I');
+$rcmail_config['dst_active'] = null;
+
+// prefer displaying HTML messages
+$rcmail_config['prefer_html'] = true;
+
+// display remote inline images
+// 0 - Never, always ask
+// 1 - Ask if sender is not in address book
+// 2 - Always show inline images
+$rcmail_config['show_images'] = 0;
+
+// compose html formatted messages by default
+// 0 - never, 1 - always, 2 - on reply to HTML message only
+$rcmail_config['htmleditor'] = 0;
+
+// show pretty dates as standard
+$rcmail_config['prettydate'] = true;
+
+// save compose message every 300 seconds (5min)
+$rcmail_config['draft_autosave'] = 300;
+
+// default setting if preview pane is enabled
+$rcmail_config['preview_pane'] = true;
+
+// Mark as read when viewed in preview pane (delay in seconds)
+// Set to -1 if messages in preview pane should not be marked as read
+$rcmail_config['preview_pane_mark_read'] = -1;
+
+// Clear Trash on logout
+$rcmail_config['logout_purge'] = true;
+
+// Compact INBOX on logout
+$rcmail_config['logout_expunge'] = false;
+
+// Display attached images below the message body
+$rcmail_config['inline_images'] = true;
+
+// Encoding of long/non-ascii attachment names:
+// 0 - Full RFC 2231 compatible
+// 1 - RFC 2047 for 'name' and RFC 2231 for 'filename' parameter (Thunderbird's default)
+// 2 - Full 2047 compatible
+$rcmail_config['mime_param_folding'] = 1;
+
+// Set true if deleted messages should not be displayed
+// This will make the application run slower
+$rcmail_config['skip_deleted'] = false;
+
+// Set true to Mark deleted messages as read as well as deleted
+// False means that a message's read status is not affected by marking it as deleted
+$rcmail_config['read_when_deleted'] = true;
+
+// Set to true to never delete messages immediately
+// Use 'Purge' to remove messages marked as deleted
+$rcmail_config['flag_for_deletion'] = false;
+
+// Default interval for keep-alive/check-recent requests (in seconds)
+// Must be greater than or equal to 'min_keep_alive' and less than 'session_lifetime'
+$rcmail_config['keep_alive'] = 60;
+
+// If true all folders will be checked for recent messages
+$rcmail_config['check_all_folders'] = true;
+
+// If true, after message delete/move, the next message will be displayed
+$rcmail_config['display_next'] = true;
+
+// 0 - Do not expand threads
+// 1 - Expand all threads automatically
+// 2 - Expand only threads with unread messages
+$rcmail_config['autoexpand_threads'] = 0;
+
+// When replying place cursor above original message (top posting)
+$rcmail_config['top_posting'] = false;
+
+// When replying strip original signature from message
+$rcmail_config['strip_existing_sig'] = true;
+
+// Show signature:
+// 0 - Never
+// 1 - Always
+// 2 - New messages only
+// 3 - Forwards and Replies only
+$rcmail_config['show_sig'] = 1;
+
+// When replying or forwarding place sender's signature above existing message
+$rcmail_config['sig_above'] = false;
+
+// Use MIME encoding (quoted-printable) for 8bit characters in message body
+$rcmail_config['force_7bit'] = false;
+
+// Defaults of the search field configuration.
+// The array can contain a per-folder list of header fields which should be considered when searching
+// The entry with key '*' stands for all folders which do not have a specific list set.
+// Please note that folder names should to be in sync with $rcmail_config['default_imap_folders']
+$rcmail_config['search_mods'] = null; // Example: array('*' => array('subject'=>1, 'from'=>1), 'Sent' => array('subject'=>1, 'to'=>1));
+
+// Defaults of the addressbook search field configuration.
+$rcmail_config['addressbook_search_mods'] = null; // Example: array('name'=>1, 'firstname'=>1, 'surname'=>1, 'email'=>1, '*'=>1);
+
+// 'Delete always'
+// This setting reflects if mail should be always deleted
+// when moving to Trash fails. This is necessary in some setups
+// when user is over quota and Trash is included in the quota.
+$rcmail_config['delete_always'] = false;
+
+// Behavior if a received message requests a message delivery notification (read receipt)
+// 0 = ask the user, 1 = send automatically, 2 = ignore (never send or ask)
+// 3 = send automatically if sender is in addressbook, otherwise ask the user
+// 4 = send automatically if sender is in addressbook, otherwise ignore
+$rcmail_config['mdn_requests'] = 2;
+
+// Return receipt checkbox default state
+$rcmail_config['mdn_default'] = 0;
+
+// Delivery Status Notification checkbox default state
+$rcmail_config['dsn_default'] = 0;
+
+// Place replies in the folder of the message being replied to
+$rcmail_config['reply_same_folder'] = false;
+
+// Sets default mode of Forward feature to "forward as attachment"
+$rcmail_config['forward_attachment'] = false;
+
+// Defines address book (internal index) to which new contacts will be added
+// By default it is the first writeable addressbook.
+// Note: Use '0' for built-in address book.
+$rcmail_config['default_addressbook'] = null;
+
+// Enables spell checking before sending a message.
+$rcmail_config['spellcheck_before_send'] = false;
+
+// Skip alternative email addresses in autocompletion (show one address per contact)
+$rcmail_config['autocomplete_single'] = false;
+
+// end of config file
+
+?>

View File

@ -1,27 +1,18 @@
#!/bin/bash
# Migrate a repository to WHEEZY
# Apply diffs to build for jessie
# DON'T COMMIT ANYTHING AFTER launching this
# reset your subversion repos back to the serverside one!
cd `dirname $0`
pushd ../debian
patch <../wheezy/control.diff
patch <../wheezy/changelog.diff
popd
pushd ../install
patch <../wheezy/alternc.install.diff
popd
cp -vf alternc-dict-quota.conf alternc-sql.conf ../etc/alternc/templates/dovecot/
mkdir -p ../etc/alternc/templates/dovecot/conf.d/
cp -vf 95_alternc.conf ../etc/alternc/templates/dovecot/conf.d/
pushd ../etc/alternc/templates/dovecot
rm -vf dovecot.conf dovecot-dict-quota.conf dovecot-sql.conf
popd
# reset your repos back to the serverside one!
# The patch files were generated by running
# export REV_NEW=ebb3471f04d49dd839237608bafc396e8b5090e5; export REV_OLD=d6d9be4c6a751279c9ad2a9b50aeb5d3ff1f91f9; \
# for i in `git diff --name-only $REV_NEW $REV_OLD` ; do BASE_NAME=`echo $i | rev | cut -d '/' -f 1 | rev` ; \
# git diff -p $REV_NEW $REV_OLD -- "$i" > jessie/$BASE_NAME ; done
DIR_NAME=`dirname $0`
cd "$DIR_NAME"/../
for i in `ls "$DIR_NAME"`; do
patch -p1 < "$DIR_NAME/$i"
done

33
wheezy/roundcube-install Normal file
View File

@ -0,0 +1,33 @@
diff --git a/roundcube/roundcube-install b/roundcube/roundcube-install
index 59a26119..81011d12 100644
--- a/roundcube/roundcube-install
+++ b/roundcube/roundcube-install
@@ -39,7 +39,7 @@ then
. /etc/alternc/local.sh
# Configuration template location
TEMPLATE_DIR="/etc/alternc/templates"
- CONFIG_FILES="etc/roundcube/config.inc.php etc/roundcube/plugins/password/config.inc.php"
+ CONFIG_FILES="etc/roundcube/main.inc.php etc/roundcube/plugins/password/config.inc.php etc/roundcube/plugins/managesieve/config.inc.php"
cat > $SED_SCRIPT <<EOF
s\\%%ALTERNC_LOC%%\\$ALTERNC_LOC\\;
@@ -81,17 +81,9 @@ EOF
echo " Done"
echo "Deconfiguring javascript-common alias"
- if [ -f /etc/apache2/conf.d/javascript-common.conf ]; then
- rm -f /etc/apache2/conf.d/javascript-common.conf
- fi
- if [ -f /etc/apache2/conf-available/javascript-common.conf ] ; then
- a2disconf javascript-common.conf
- service apache2 reload
- fi
+ rm -f /etc/apache2/conf.d/javascript-common.conf
# just in case
- if [ -f /etc/javascript-common/javascript-common.conf ]; then
- sed -i -e "s/^Alias \/javascript/# Do not uncomment, commented by AlternC to prevent a global alias\n#Alias \/javascript/" /etc/javascript-common/javascript-common.conf
- fi
+ sed -i -e "s/^Alias \/javascript/# Do not uncomment, commented by AlternC to prevent a global alias\n#Alias \/javascript/" /etc/javascript-common/javascript-common.conf
echo " Done"
fi

13
wheezy/ssl.conf Normal file
View File

@ -0,0 +1,13 @@
diff --git a/ssl/ssl.conf b/ssl/ssl.conf
index 68b422b3..c3a599d5 100644
--- a/ssl/ssl.conf
+++ b/ssl/ssl.conf
@@ -51,7 +51,7 @@ SSLSessionCacheTimeout 300
# Semaphore:
# Configure the path to the mutual exclusion semaphore the
# SSL engine uses internally for inter-process synchronization.
-Mutex file:${APACHE_RUN_DIR}
+SSLMutex file:${APACHE_RUN_DIR}/ssl_mutex
# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate. See the

17
wheezy/vhost.conf Normal file
View File

@ -0,0 +1,17 @@
diff --git a/etc/alternc/templates/apache2/vhost.conf b/etc/alternc/templates/apache2/vhost.conf
index 8b4f304f..77f5e038 100644
--- a/etc/alternc/templates/apache2/vhost.conf
+++ b/etc/alternc/templates/apache2/vhost.conf
@@ -9,11 +9,8 @@
php_admin_value upload_tmp_dir %%account_root%%/tmp
php_admin_value sendmail_path '/usr/lib/alternc/sendmail "%%mail_account%%" '
php_admin_flag mail.add_x_header on
- Options -MultiViews -FollowSymLinks +SymLinksIfOwnerMatch
+ Options +MultiViews -FollowSymLinks +SymLinksIfOwnerMatch
AllowOverride AuthConfig FileInfo Limit Options Indexes
- Order allow,deny
- Allow from all
- Require all granted
</Directory>
# If you want to log the errors also in /var/log/alternc/sites/