From 2e9c7c9eae9397639df906ab6711d03b17a43269 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sun, 31 Jul 2016 19:09:00 +0200 Subject: roundcubemail: fix for enigma plugin --- roundcubemail-1.1.0-confpath.patch | 71 ----------------------------- roundcubemail-1.2.1-confpath.patch | 93 ++++++++++++++++++++++++++++++++++++++ roundcubemail-README.rpm | 3 +- roundcubemail.spec | 26 +++++++++-- 4 files changed, 118 insertions(+), 75 deletions(-) delete mode 100644 roundcubemail-1.1.0-confpath.patch create mode 100644 roundcubemail-1.2.1-confpath.patch diff --git a/roundcubemail-1.1.0-confpath.patch b/roundcubemail-1.1.0-confpath.patch deleted file mode 100644 index c015e52..0000000 --- a/roundcubemail-1.1.0-confpath.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff -up roundcubemail-1.1.0/config/defaults.inc.php.orig roundcubemail-1.1.0/config/defaults.inc.php ---- roundcubemail-1.1.0/config/defaults.inc.php.orig 2015-02-16 17:39:52.274132735 +0100 -+++ roundcubemail-1.1.0/config/defaults.inc.php 2015-02-16 17:46:10.336534781 +0100 -@@ -321,11 +321,11 @@ $config['user_aliases'] = false; - // use this folder to store log files - // must be writeable for the user who runs PHP process (Apache user if mod_php is being used) - // This is used by the 'file' log driver. --$config['log_dir'] = RCUBE_INSTALL_PATH . 'logs/'; -+$config['log_dir'] = '/var/log/roundcubemail/'; - - // 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_INSTALL_PATH . 'temp/'; -+$config['temp_dir'] = '/var/lib/roundcubemail/'; - - // expire files in temp_dir after 48 hours - // possible units: s, m, h, d, w -@@ -511,7 +511,7 @@ $config['mime_magic'] = null; - // This is used to derive mime-types from the filename extension or vice versa. - // Such a file is usually part of the apache webserver. If you don't find a file named mime.types on your system, - // download it from http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types --$config['mime_types'] = null; -+$config['mime_types'] = '/etc/mime.types'; - - // path to imagemagick identify binary (if not set we'll use Imagick or GD extensions) - $config['im_identify_path'] = null; -diff -up roundcubemail-1.1.0/installer/index.php.orig roundcubemail-1.1.0/installer/index.php ---- roundcubemail-1.1.0/installer/index.php.orig 2015-02-16 17:39:52.274132735 +0100 -+++ roundcubemail-1.1.0/installer/index.php 2015-02-16 17:41:44.115547278 +0100 -@@ -41,7 +41,7 @@ ini_set('display_errors', 1); - - define('INSTALL_PATH', realpath(__DIR__ . '/../').'/'); - define('RCUBE_INSTALL_PATH', INSTALL_PATH); --define('RCUBE_CONFIG_DIR', INSTALL_PATH . 'config/'); -+define('RCUBE_CONFIG_DIR', '/etc/roundcubemail/'); - - $include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR; - $include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR; -diff -up roundcubemail-1.1.0/program/include/iniset.php.orig roundcubemail-1.1.0/program/include/iniset.php ---- roundcubemail-1.1.0/program/include/iniset.php.orig 2015-02-08 14:48:56.000000000 +0100 -+++ roundcubemail-1.1.0/program/include/iniset.php 2015-02-16 17:39:52.274132735 +0100 -@@ -29,7 +29,7 @@ if (!defined('INSTALL_PATH')) { - } - - if (!defined('RCMAIL_CONFIG_DIR')) { -- define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config'); -+ define('RCMAIL_CONFIG_DIR', '/etc/roundcubemail'); - } - - if (!defined('RCUBE_LOCALIZATION_DIR')) { -@@ -37,7 +37,7 @@ if (!defined('RCUBE_LOCALIZATION_DIR')) - } - - define('RCUBE_INSTALL_PATH', INSTALL_PATH); --define('RCUBE_CONFIG_DIR', RCMAIL_CONFIG_DIR.'/'); -+define('RCUBE_CONFIG_DIR', '/etc/roundcubemail/'); - - - // RC include folders MUST be included FIRST to avoid other -diff -up roundcubemail-1.1.0/program/lib/Roundcube/bootstrap.php.orig roundcubemail-1.1.0/program/lib/Roundcube/bootstrap.php ---- roundcubemail-1.1.0/program/lib/Roundcube/bootstrap.php.orig 2015-02-08 14:48:56.000000000 +0100 -+++ roundcubemail-1.1.0/program/lib/Roundcube/bootstrap.php 2015-02-16 17:39:52.274132735 +0100 -@@ -66,7 +66,7 @@ if (!defined('RCUBE_INSTALL_PATH')) { - } - - if (!defined('RCUBE_CONFIG_DIR')) { -- define('RCUBE_CONFIG_DIR', RCUBE_INSTALL_PATH . 'config/'); -+ define('RCUBE_CONFIG_DIR', '/etc/roundcubemail/'); - } - - if (!defined('RCUBE_PLUGINS_DIR')) { diff --git a/roundcubemail-1.2.1-confpath.patch b/roundcubemail-1.2.1-confpath.patch new file mode 100644 index 0000000..f92e146 --- /dev/null +++ b/roundcubemail-1.2.1-confpath.patch @@ -0,0 +1,93 @@ +diff -up config/defaults.inc.php.rpm config/defaults.inc.php +--- roundcubemail-1.2.1/config/defaults.inc.php.rpm 2016-07-24 22:30:15.000000000 +0200 ++++ roundcubemail-1.2.1/config/defaults.inc.php 2016-07-31 18:32:28.747930911 +0200 +@@ -346,11 +346,11 @@ $config['user_aliases'] = false; + // use this folder to store log files + // must be writeable for the user who runs PHP process (Apache user if mod_php is being used) + // This is used by the 'file' log driver. +-$config['log_dir'] = RCUBE_INSTALL_PATH . 'logs/'; ++$config['log_dir'] = '/var/log/roundcubemail/'; + + // 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_INSTALL_PATH . 'temp/'; ++$config['temp_dir'] = '/var/lib/roundcubemail/temp/'; + + // expire files in temp_dir after 48 hours + // possible units: s, m, h, d, w +@@ -579,7 +579,7 @@ $config['mime_magic'] = null; + // This is used to derive mime-types from the filename extension or vice versa. + // Such a file is usually part of the apache webserver. If you don't find a file named mime.types on your system, + // download it from http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types +-$config['mime_types'] = null; ++$config['mime_types'] = '/etc/mime.types'; + + // path to imagemagick identify binary (if not set we'll use Imagick or GD extensions) + $config['im_identify_path'] = null; +@@ -1211,3 +1211,7 @@ $config['message_show_email'] = false; + // 0 - Reply-All always + // 1 - Reply-List if mailing list is detected + $config['reply_all_mode'] = 0; ++ ++// Keys directory for all users. Default 'enigma/home'. ++// Must be writeable by PHP process ++$config['enigma_pgp_homedir'] = '/var/lib/roundcubemail/enigma'; +diff -up plugins/enigma/config.inc.php.dist.rpm plugins/enigma/config.inc.php.dist +--- roundcubemail-1.2.1/plugins/enigma/config.inc.php.dist.rpm 2016-07-31 18:30:24.901231602 +0200 ++++ roundcubemail-1.2.1/plugins/enigma/config.inc.php.dist 2016-07-31 18:32:00.291770232 +0200 +@@ -12,10 +12,6 @@ $config['enigma_smime_driver'] = 'phpssl + // Enables logging of enigma operations (including Crypt_GPG debug info) + $config['enigma_debug'] = false; + +-// Keys directory for all users. Default 'enigma/home'. +-// Must be writeable by PHP process +-$config['enigma_pgp_homedir'] = null; +- + // Location of gpg binary. By default it will be auto-detected. + // This is also a way to force gpg2 use if there are both 1.x and 2.x on the system. + $config['enigma_pgp_binary'] = ''; +diff -up roundcubemail-1.1.0/installer/index.php.orig roundcubemail-1.1.0/installer/index.php +--- roundcubemail-1.1.0/installer/index.php.orig 2015-02-16 17:39:52.274132735 +0100 ++++ roundcubemail-1.1.0/installer/index.php 2015-02-16 17:41:44.115547278 +0100 +@@ -41,7 +41,7 @@ ini_set('display_errors', 1); + + define('INSTALL_PATH', realpath(__DIR__ . '/../').'/'); + define('RCUBE_INSTALL_PATH', INSTALL_PATH); +-define('RCUBE_CONFIG_DIR', INSTALL_PATH . 'config/'); ++define('RCUBE_CONFIG_DIR', '/etc/roundcubemail/'); + + $include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR; + $include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR; +diff -up roundcubemail-1.1.0/program/include/iniset.php.orig roundcubemail-1.1.0/program/include/iniset.php +--- roundcubemail-1.1.0/program/include/iniset.php.orig 2015-02-08 14:48:56.000000000 +0100 ++++ roundcubemail-1.1.0/program/include/iniset.php 2015-02-16 17:39:52.274132735 +0100 +@@ -29,7 +29,7 @@ if (!defined('INSTALL_PATH')) { + } + + if (!defined('RCMAIL_CONFIG_DIR')) { +- define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config'); ++ define('RCMAIL_CONFIG_DIR', '/etc/roundcubemail'); + } + + if (!defined('RCUBE_LOCALIZATION_DIR')) { +@@ -37,7 +37,7 @@ if (!defined('RCUBE_LOCALIZATION_DIR')) + } + + define('RCUBE_INSTALL_PATH', INSTALL_PATH); +-define('RCUBE_CONFIG_DIR', RCMAIL_CONFIG_DIR.'/'); ++define('RCUBE_CONFIG_DIR', '/etc/roundcubemail/'); + + + // RC include folders MUST be included FIRST to avoid other +diff -up roundcubemail-1.1.0/program/lib/Roundcube/bootstrap.php.orig roundcubemail-1.1.0/program/lib/Roundcube/bootstrap.php +--- roundcubemail-1.1.0/program/lib/Roundcube/bootstrap.php.orig 2015-02-08 14:48:56.000000000 +0100 ++++ roundcubemail-1.1.0/program/lib/Roundcube/bootstrap.php 2015-02-16 17:39:52.274132735 +0100 +@@ -66,7 +66,7 @@ if (!defined('RCUBE_INSTALL_PATH')) { + } + + if (!defined('RCUBE_CONFIG_DIR')) { +- define('RCUBE_CONFIG_DIR', RCUBE_INSTALL_PATH . 'config/'); ++ define('RCUBE_CONFIG_DIR', '/etc/roundcubemail/'); + } + + if (!defined('RCUBE_PLUGINS_DIR')) { diff --git a/roundcubemail-README.rpm b/roundcubemail-README.rpm index 57a92c3..5e558c5 100644 --- a/roundcubemail-README.rpm +++ b/roundcubemail-README.rpm @@ -3,9 +3,10 @@ Additional installation and update information: Upstream documentation: http://trac.roundcube.net/wiki Notice -- temporary files are stored in /var/lib/roundcubemail +- temporary files are stored in /var/lib/roundcubemail/temp - logs files are stored in /var/log/roundcubemail - configuration files are stored in /etc/roundcubemail +- PGP keys used by enigma plugin are stored in /var/lib/roundcubemail/enigma As those directories are not served by the web server, there is no need to protect them. diff --git a/roundcubemail.spec b/roundcubemail.spec index 3676139..2f7f9c9 100644 --- a/roundcubemail.spec +++ b/roundcubemail.spec @@ -20,7 +20,7 @@ %global _logdir /var/log Name: roundcubemail Version: 1.2.1 -Release: 1%{?dist} +Release: 3%{?dist} Summary: Round Cube Webmail is a browser-based multilingual IMAP client Group: Applications/System @@ -48,7 +48,7 @@ Source4: roundcubemail-README.rpm Patch0: roundcubemail-1.2.1-no_swf.patch # Non-upstreamable: Adjusts config path to Fedora policy -Patch1: roundcubemail-1.1.0-confpath.patch +Patch1: roundcubemail-1.2.1-confpath.patch # add .log prefix to all log file names # see https://github.com/roundcube/roundcubemail/pull/313 @@ -219,7 +219,9 @@ sed -e '/su /d' -i %{buildroot}%{_sysconfdir}/logrotate.d/roundcubemail # Log files mkdir -p %{buildroot}/var/log/roundcubemail # Temp files -mkdir -p %{buildroot}/var/lib/roundcubemail +mkdir -p %{buildroot}/var/lib/roundcubemail/temp +# GPG keys +mkdir -p %{buildroot}/var/lib/roundcubemail/enigma cp -pr %SOURCE4 README.rpm @@ -232,6 +234,15 @@ touch %{buildroot}%{_sysconfdir}/roundcubemail/config.inc.php # keep any other config files too mv %{buildroot}%{roundcubedir}/config/* %{buildroot}%{_sysconfdir}/roundcubemail/ +# Also move plugins configuration file samples +pushd %{buildroot}%{roundcubedir}/plugins +for plug in $(ls); do + if [ -f $plug/config.inc.php.dist ]; then + mv $plug/config.inc.php.dist %{buildroot}%{_sysconfdir}/roundcubemail/$plug.inc.php.dist + fi +done +popd + # clean up the buildroot rm -r %{buildroot}%{roundcubedir}/{config,logs,temp} rm -r %{buildroot}%{roundcubedir}/{CHANGELOG,INSTALL,LICENSE,README.md,UPGRADING} @@ -269,16 +280,25 @@ rm -rf %{buildroot} %attr(0640,root,apache) %{_sysconfdir}/%{name}/mimetypes.php %attr(0640,root,apache) %{_sysconfdir}/%{name}/defaults.inc.php %attr(0640,root,apache) %{_sysconfdir}/%{name}/config.inc.php.sample +%attr(0640,root,apache) %{_sysconfdir}/%{name}/*.inc.php.dist %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf %if %{with_phpfpm} %config(noreplace) %{_sysconfdir}/nginx/default.d/%{name}.conf %endif %attr(0770,root,apache) %dir /var/log/roundcubemail %attr(0770,root,apache) %dir /var/lib/roundcubemail +%attr(0770,root,apache) %dir /var/lib/roundcubemail/temp +%attr(0770,root,apache) %dir /var/lib/roundcubemail/enigma %config(noreplace) %{_sysconfdir}/logrotate.d/roundcubemail %changelog +* Sun Jul 31 2016 Remi Collet - 1.2.1-3 +- use /var/lib/roundcubemail/temp for temporary files +- add /var/lib/roundcubemail/enigma for GPG keys storage +- move plugins configuration samples in /etc/roundcubemail +- fix permission adjustments required for encryption support #1347332 + * Wed Jul 27 2016 Remi Collet - 1.2.1-1 - update to 1.2.1 -- cgit