diff --git a/defaults/main.yml b/defaults/main.yml index 55e8cf2..96ae787 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,7 +1,7 @@ --- rcube_release_dir_path: '/var/www/roundcube_releases' -rcube_version: '1.5.2' +rcube_version: '1.6.0' rcube_latest_path: '/var/www/roundcube_latest' rcube_app_username: 'www-data' rcube_app_group: 'www-data' @@ -35,7 +35,7 @@ rcube_custom_themes: #add you custom theme branch: '' #PHP Vars -php_version: '7.4' +php_version: '8.0' php_etc_path: '/etc/php' install_php: 'true' pool_listen: '/var/run/php/php{{ php_version }}-fpm.sock' diff --git a/tasks/carddav.yml b/tasks/carddav.yml index 99c2e1e..847ab20 100644 --- a/tasks/carddav.yml +++ b/tasks/carddav.yml @@ -59,7 +59,7 @@ - name: "[CARDDAV] - Add carddav in config.inc.php" lineinfile: path: "{{ rcube_latest_path }}/config/config.inc.php" - insertafter: "^.{1}config.{2}plugins.*array.$" + insertafter: "^.{1}config.{2}plugins.*$" line: "'carddav'," state: present when: carddav_in_config.stdout == "1" diff --git a/tasks/main.yml b/tasks/main.yml index 86c154d..145a044 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -22,3 +22,4 @@ - include: carddav.yml when: rcube_plugins_carddav == 'yes' + tags: carddav \ No newline at end of file diff --git a/templates/composer.json.j2 b/templates/composer.json.j2 index 84236b7..e9a5ab6 100644 --- a/templates/composer.json.j2 +++ b/templates/composer.json.j2 @@ -12,21 +12,22 @@ {% if rcube_plugins_carddav == 'yes' %} {{ rcube_plugins_carddav_composer }} {% endif %} - "php": ">=5.5.0", + "php": ">=7.3.0", "pear/pear-core-minimal": "~1.10.1", "pear/auth_sasl": "~1.1.0", "pear/mail_mime": "~1.10.0", "pear/net_smtp": "~1.10.0", "pear/crypt_gpg": "~1.6.3", "pear/net_sieve": "~1.4.5", - "roundcube/plugin-installer": "~0.3.0", + "roundcube/plugin-installer": "~0.3.1", "roundcube/rtf-html-php": "~2.1", "masterminds/html5": "~2.7.0", - "endroid/qr-code": "~1.6.5", - "guzzlehttp/guzzle": "^6.5.5" + "bacon/bacon-qr-code": "^2.0.0", + "guzzlehttp/guzzle": "^7.3.0", + "symfony/deprecation-contracts": "2.2" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6 || ^7" + "phpunit/phpunit": "^9" }, "suggest": { "kolab/net_ldap3": "~1.1.1 required for connecting to LDAP", diff --git a/templates/config.inc.php.j2 b/templates/config.inc.php.j2 index f8718d7..7ca17bf 100644 --- a/templates/config.inc.php.j2 +++ b/templates/config.inc.php.j2 @@ -17,7 +17,7 @@ +-----------------------------------------------------------------------+ */ -$config = array(); +$config = []; // ---------------------------------- // SQL DATABASE @@ -27,29 +27,20 @@ $config = array(); // Format (compatible with PEAR MDB2): db_provider://user:password@host/database // Currently supported db_providers: mysql, pgsql, sqlite, mssql, sqlsrv, oracle // For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php -// Note: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646' +// NOTE: for SQLite use absolute path (Linux): 'sqlite:////full/path/to/sqlite.db?mode=0646' // or (Windows): 'sqlite:///C:/full/path/to/sqlite.db' -// Note: Various drivers support various additional arguments for connection, -// for Mysql: key, cipher, cert, capath, ca, verify_server_cert, -// for Postgres: application_name, sslmode, sslcert, sslkey, sslrootcert, sslcrl, sslcompression, service. -// e.g. 'mysql://roundcube:@localhost/roundcubemail?verify_server_cert=false' $config['db_dsnw'] = '{{ rcube_db_plugin }}://{{ rcube_db_username }}:{{ rcube_db_passwd }}@{{ rcube_db_hostname }}/{{ rcube_db_name }}'; -// Log sent messages to /sendmail.log or to syslog -$config['smtp_log'] = {{ rcube_smpt_log }}; - -// Log LDAP conversation to /ldap.log or to syslog -$config['ldap_debug'] = {{ rcube_ldap_debug }}; - // ---------------------------------- // IMAP // ---------------------------------- -// The IMAP host chosen to perform the log-in. +// The IMAP host (and optionally port number) 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. // Enter hostname with prefix ssl:// to use Implicit TLS, or use // prefix tls:// to use STARTTLS. +// If port number is omitted it will be set to 993 (for ssl://) or 143 otherwise. // Supported replacement variables: // %n - hostname ($_SERVER['SERVER_NAME']) // %t - hostname without the first part @@ -58,15 +49,26 @@ $config['ldap_debug'] = {{ rcube_ldap_debug }}; // For example %n = mail.domain.tld, %t = domain.tld // WARNING: After hostname change update of mail_host column in users table is // required to match old user data records with the new host. -$config['default_host'] = '{{ rcube_default_host }}'; + +// IMAP host chosen to perform the log-in. +// See defaults.inc.php for the option description. +$config['imap_host'] = '{{ rcube_default_host }}'; + +// Log LDAP conversation to /ldap.log or to syslog +$config['ldap_debug'] = {{ rcube_ldap_debug }}; // ---------------------------------- // SMTP // ---------------------------------- // SMTP server host (for sending mails). +// See defaults.inc.php for the option description. +$config['smtp_host'] = '{{ rcube_security_proto }}://{{ rcube_smtp_server }}:{{ rcube_smpt_port }}'; + +// SMTP server host (and optional port number) for sending mails. // Enter hostname with prefix ssl:// to use Implicit TLS, or use // prefix tls:// to use STARTTLS. +// If port number is omitted it will be set to 465 (for ssl://) or 587 otherwise. // Supported replacement variables: // %h - user's IMAP hostname // %n - hostname ($_SERVER['SERVER_NAME']) @@ -74,10 +76,8 @@ $config['default_host'] = '{{ rcube_default_host }}'; // %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part) // %z - IMAP domain (IMAP hostname without the first part) // For example %n = mail.domain.tld, %t = domain.tld -$config['smtp_server'] = '{{ rcube_security_proto }}://{{ rcube_smtp_server }}'; - -// SMTP port. Use 25 for cleartext, 465 for Implicit TLS, or 587 for STARTTLS (default) -$config['smtp_port'] = {{ rcube_smpt_port }}; +// To specify different SMTP servers for different IMAP hosts provide an array +// of IMAP host (no prefix or port) and SMTP server e.g. ['imap.example.com' => 'smtp.example.net'] // SMTP username (if required) if you use %u as the username Roundcube // will use the current username for login @@ -87,6 +87,9 @@ $config['smtp_user'] = '{{ rcube_smtp_user }}'; // will use the current user's password for login $config['smtp_pass'] = '{{ rcube_smtp_passwd }}'; +// Log sent messages to /sendmail.log or to syslog +$config['smtp_log'] = {{ rcube_smpt_log }}; + // ---------------------------------- // SYSTEM // ---------------------------------- @@ -102,12 +105,10 @@ $config['log_dir'] = '{{ rcube_logdir }}'; // use this folder to store temp files // must be writeable for the user who runs PHP process (Apache user if mod_php is being used) -$config['temp_dir'] = '{{ rcube_temp_dir }}'; - -// This key is used for encrypting purposes, like storing of imap password -// in the session. For historical reasons it's called DES_key, but it's used -// with any configured cipher_method (see below). -// For the default cipher_method a required key length is 24 characters. +$config['temp_dir'] = '{{ rcube_temp_dir }}';// Name your service. This is displayed on the login screen and in the window title// This key is used to encrypt the users imap password which is stored +// in the session record. For the default cipher method it must be +// exactly 24 characters long. +// YOUR KEY MUST BE DIFFERENT THAN THE SAMPLE VALUE FOR SECURITY REASONS $config['des_key'] = '{{ rcube_des_key }}'; // Name your service. This is displayed on the login screen and in the window title @@ -119,13 +120,13 @@ $config['product_name'] = '{{ rcube_product_name }}'; // ---------------------------------- // List of active plugins (in plugins/ directory) -$config['plugins'] = array( +$config['plugins'] = [ {% if rcube_plugins is defined %} {% for item in rcube_plugins %} '{{ item.name }}', {% endfor %} {% endif %} -); +]; // skin name: folder from skins/ $config['skin'] = '{{ rcube_default_skin }}'; @@ -141,7 +142,7 @@ $config['language'] = '{{ rcube_default_lang }}'; // give this choice of date formats to the user to select from // Note: do not use ambiguous formats like m/d/Y -$config['date_formats'] = array('Y-m-d', 'Y/m/d', 'Y.m.d', 'd-m-Y', 'd/m/Y', 'd.m.Y', 'j.n.Y'); +$config['date_formats'] = ['Y-m-d', 'Y/m/d', 'Y.m.d', 'd-m-Y', 'd/m/Y', 'd.m.Y', 'j.n.Y']; // Make use of the built-in spell checker. It is based on GoogieSpell. $config['enable_spellcheck'] = {{ rcube_enable_spellcheck }}; @@ -186,9 +187,9 @@ $config['htmleditor'] = {{ rcube_htmleditor }}; // 0 - Full RFC 2231 compatible // 1 - RFC 2047 for 'name' and RFC 2231 for 'filename' parameter (Thunderbird's default) // 2 - Full 2047 compatible -$config['mime_param_folding'] = 0; +$config['mime_param_folding'] = 1; // Default font for composed HTML message. // Supported values: Andale Mono, Arial, Arial Black, Book Antiqua, Courier New, // Georgia, Helvetica, Impact, Tahoma, Terminal, Times New Roman, Trebuchet MS, Verdana -$config['default_font'] = 'Arial'; +$config['default_font'] = 'Verdana'; diff --git a/templates/plugins/carddav/config.inc.php.j2 b/templates/plugins/carddav/config.inc.php.j2 index 9dcb1f0..f925971 100644 --- a/templates/plugins/carddav/config.inc.php.j2 +++ b/templates/plugins/carddav/config.inc.php.j2 @@ -29,6 +29,28 @@ $prefs['_GLOBAL']['loglevel'] = \Psr\Log\LogLevel::WARNING; $prefs['_GLOBAL']['loglevel_http'] = \Psr\Log\LogLevel::ERROR; +// Select addressbook from preset to use as Roundcube's collected recipients or collected/trusted senders addressbook, +// corresponding to the roundcube options of the same name available since roundcube 1.5. +// Note that only writeable addressbooks can be used for this. If you do not want to use these options, simply do not +// define them +// If no/several addressbooks match, the roundcube setting will not be set and stay with whatever is configured in roundcube +//$prefs['_GLOBAL']['collected_recipients'] = [ +// // Key of the preset, i.e. whatever is used for in the template below +// 'preset' => '', +// // The placeholders that can be used in the url attribute can also be used inside these regular rexpressions +// // If both matchname and matchurl are given, both need to match for the addressbook to be used +// 'matchname' => '/collected recipients/i', +// 'matchurl' => '#http://carddav.example.com/abooks/%u/CollectedRecipients#', +//]; +//$prefs['_GLOBAL']['collected_senders'] = [ +// // Key of the preset, i.e. whatever is used for in the template below +// 'preset' => '', +// // The placeholders that can be used in the url attribute can also be used inside these regular rexpressions +// // If both matchname and matchurl are given, both need to match for the addressbook to be used +// 'matchname' => '/collected recipients/i', +// 'matchurl' => '#http://carddav.example.com/abooks/%u/CollectedRecipients#', +//]; + //// ** ADDRESSBOOK PRESETS // Each addressbook preset takes the following form: @@ -39,7 +61,7 @@ $prefs['{{ rcube_plugins_carddav_presetname }}'] = [ 'url' => '{{ rcube_plugins_carddav_url }}', // required attributes unless passwordless authentication is used (Kerberos) - 'username' => '%u', + 'username' => '%l', 'password' => '%p', // optional attributes @@ -58,3 +80,4 @@ $prefs['{{ rcube_plugins_carddav_presetname }}'] = [ ]; // vim: ts=4:sw=4:expandtab:fenc=utf8:ff=unix:tw=120 +