diff options
41 files changed, 467 insertions, 217 deletions
@@ -1,6 +1,8 @@ -package-*.xml +clog *.tgz +*.tar.bz2 *.tar.gz +*.tar.gz.asc *.tar.xz *.tar.xz.asc *.src.rpm diff --git a/composer.json b/composer.json index 5a5f7cf..85a5491 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "roundcube/roundcubemail", "description": "The Roundcube Webmail suite", - "license": "GPL-3.0+", + "license": "GPL-3.0-or-later", "repositories": [ { "type": "composer", @@ -9,23 +9,29 @@ } ], "require": { - "php": ">=5.4.0", + "php": ">=7.3.0", "pear/pear-core-minimal": "~1.10.1", "pear/auth_sasl": "~1.1.0", - "pear/net_idna2": "~0.2.0", "pear/mail_mime": "~1.10.0", - "pear/net_smtp": "~1.8.1", + "pear/net_smtp": "~1.10.0", "pear/crypt_gpg": "~1.6.3", - "pear/net_sieve": "~1.4.3", - "roundcube/plugin-installer": "~0.1.6", - "masterminds/html5": "~2.5.0", - "endroid/qr-code": "~1.6.5", + "pear/net_sieve": "~1.4.5", + "roundcube/plugin-installer": "~0.3.1", + "roundcube/rtf-html-php": "~2.1", + "masterminds/html5": "~2.7.0", + "bacon/bacon-qr-code": "^2.0.0", + "guzzlehttp/guzzle": "^7.3.0", "kolab/net_ldap3": "~1.1.1" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^5.7.21" + "phpunit/phpunit": "^9" }, "suggest": { - "mkopinsky/zxcvbn-php": "^4.4.2 required for Zxcvbn password strength driver" + "bjeavons/zxcvbn-php": "^1.0 required for Zxcvbn password strength driver" + }, + "config": { + "allow-plugins": { + "roundcube/plugin-installer": true + } } } diff --git a/plugins/acl/composer.json b/plugins/acl/composer.json index 7b80e4e..888641d 100644 --- a/plugins/acl/composer.json +++ b/plugins/acl/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/acl", "type": "roundcube-plugin", "description": "IMAP Folders Access Control Lists Management (RFC4314, RFC2086).", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.8", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/additional_message_headers/composer.json b/plugins/additional_message_headers/composer.json index 6a58736..08f422d 100644 --- a/plugins/additional_message_headers/composer.json +++ b/plugins/additional_message_headers/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/additional_message_headers", "type": "roundcube-plugin", "description": "Very simple plugin which will add additional headers to or remove them from outgoing messages.", - "license": "GPLv2", + "license": "GPL-3.0-or-later", "version": "1.2.1", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/archive/composer.json b/plugins/archive/composer.json index ca53d9e..9ef4cb1 100644 --- a/plugins/archive/composer.json +++ b/plugins/archive/composer.json @@ -2,8 +2,8 @@ "name": "roundcube/archive", "type": "roundcube-plugin", "description": "This adds a button to move the selected messages to an archive folder. The folder (and the optional structure of subfolders) can be selected in the settings panel.", - "license": "GPLv3+", - "version": "3.4", + "license": "GPL-3.0-or-later", + "version": "3.5", "authors": [ { "name": "Thomas Bruederli", @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/attachment_reminder/composer.json b/plugins/attachment_reminder/composer.json index 11e9ffb..0a0e884 100644 --- a/plugins/attachment_reminder/composer.json +++ b/plugins/attachment_reminder/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/attachment_reminder", "type": "roundcube-plugin", "description": "This Roundcube plugin reminds the user to attach a file if the composed message text indicates that there should be any.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.1", "authors": [ { @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/autologon/composer.json b/plugins/autologon/composer.json index 371559a..5797fb9 100644 --- a/plugins/autologon/composer.json +++ b/plugins/autologon/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/autologon", "type": "roundcube-plugin", "description": "Sample plugin to try out some hooks", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.0", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/autologout/composer.json b/plugins/autologout/composer.json new file mode 100644 index 0000000..98ab1d9 --- /dev/null +++ b/plugins/autologout/composer.json @@ -0,0 +1,17 @@ +{ + "name": "roundcube/autologout", + "type": "roundcube-plugin", + "description": "Plugin to auto log out users with a POST request sent from an external site.", + "license": "GPLv3+", + "version": "1.0", + "authors": [ + { + "name": "Cover Tower LLC", + "email": "contact@covertower.com" + } + ], + "require": { + "php": ">=7.3.0", + "roundcube/plugin-installer": ">=0.1.3" + } +} diff --git a/plugins/database_attachments/composer.json b/plugins/database_attachments/composer.json index 09914dc..16b3311 100644 --- a/plugins/database_attachments/composer.json +++ b/plugins/database_attachments/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/database_attachments", "type": "roundcube-plugin", "description": "This plugin which provides database backed storage for temporary attachment file handling. The primary advantage of this plugin is its compatibility with round-robin dns multi-server Roundcube installations.", - "license": "GPLv2", + "license": "GPL-3.0-or-later", "version": "1.2", "authors": [ { @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3", "roundcube/filesystem_attachments": ">=1.0.0" } diff --git a/plugins/debug_logger/composer.json b/plugins/debug_logger/composer.json index b47f462..bdd516c 100644 --- a/plugins/debug_logger/composer.json +++ b/plugins/debug_logger/composer.json @@ -1,8 +1,8 @@ { "name": "roundcube/debug_logger", "type": "roundcube-plugin", - "description": "Enhanced logging for debugging purposes. It is not recommened to be enabled on production systems without testing because of the somewhat increased memory, cpu and disk i/o overhead.", - "license": "GPLv2", + "description": "Enhanced logging for debugging purposes. It is not recommended to be enabled on production systems without testing because of the somewhat increased memory, cpu and disk i/o overhead.", + "license": "GPL-3.0-or-later", "version": "1.0", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/emoticons/composer.json b/plugins/emoticons/composer.json index 30dd392..3b9faa9 100644 --- a/plugins/emoticons/composer.json +++ b/plugins/emoticons/composer.json @@ -2,8 +2,8 @@ "name": "roundcube/emoticons", "type": "roundcube-plugin", "description": "Plugin that adds emoticons support.", - "license": "GPLv3+", - "version": "2.0", + "license": "GPL-3.0-or-later", + "version": "3.0", "authors": [ { "name": "Thomas Bruederli", @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/enigma/composer.json b/plugins/enigma/composer.json index 369857d..f86c03d 100644 --- a/plugins/enigma/composer.json +++ b/plugins/enigma/composer.json @@ -2,8 +2,8 @@ "name": "roundcube/enigma", "type": "roundcube-plugin", "description": "Server-side PGP Encryption for Roundcube", - "license": "GPLv3+", - "version": "0.8", + "license": "GPL-3.0-or-later", + "version": "0.9", "authors": [ { "name": "Aleksander Machniak", @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": "~0.1.6", "pear/crypt_gpg": "~1.6.3" } diff --git a/plugins/example_addressbook/composer.json b/plugins/example_addressbook/composer.json index d37f0a8..3a20e16 100644 --- a/plugins/example_addressbook/composer.json +++ b/plugins/example_addressbook/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/example_addressbook", "type": "roundcube-plugin", "description": "Sample plugin to add a new address book with just a static list of contacts", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.0", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/filesystem_attachments/composer.json b/plugins/filesystem_attachments/composer.json index f0c812e..4bb4466 100644 --- a/plugins/filesystem_attachments/composer.json +++ b/plugins/filesystem_attachments/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/filesystem_attachments", "type": "roundcube-plugin", "description": "This is a core plugin which provides basic, filesystem based attachment temporary file handling. This includes storing attachments of messages currently being composed, writing attachments to disk when drafts with attachments are re-opened and writing attachments to disk for inline display in current html compositions.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.0", "authors": [ { @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/help/composer.json b/plugins/help/composer.json index 8dee2d9..121b1d0 100644 --- a/plugins/help/composer.json +++ b/plugins/help/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/help", "type": "roundcube-plugin", "description": "Plugin adds a new item (Help) in taskbar.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.4", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/hide_blockquote/composer.json b/plugins/hide_blockquote/composer.json index 80fe79b..9d44b95 100644 --- a/plugins/hide_blockquote/composer.json +++ b/plugins/hide_blockquote/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/hide_blockquote", "type": "roundcube-plugin", "description": "This allows to hide long blocks of cited text in messages.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.0", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/http_authentication/composer.json b/plugins/http_authentication/composer.json index 48a0ceb..e996b15 100644 --- a/plugins/http_authentication/composer.json +++ b/plugins/http_authentication/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/http_authentication", "type": "roundcube-plugin", "description": "HTTP Basic Authentication", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.5", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/identicon/composer.json b/plugins/identicon/composer.json index 4f3661b..cb1017f 100644 --- a/plugins/identicon/composer.json +++ b/plugins/identicon/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/identicon", "type": "roundcube-plugin", "description": "Displays Github-like identicons for contacts/addresses without photo specified.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "0.1", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "php-gd": "*", "roundcube/plugin-installer": ">=0.1.3" } diff --git a/plugins/identity_select/composer.json b/plugins/identity_select/composer.json index 6b38ede..07eb570 100644 --- a/plugins/identity_select/composer.json +++ b/plugins/identity_select/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/identity_select", "type": "roundcube-plugin", "description": "On reply to a message user identity selection is based on\n\t\tcontent of standard headers like From, To, Cc and Return-Path.\n\t\tHere you can add header(s) set by your SMTP server (e.g.\n\t\tDelivered-To, Envelope-To, X-Envelope-To, X-RCPT-TO) to make\n\t\tidentity selection more accurate.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.1", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/jqueryui/composer.json b/plugins/jqueryui/composer.json index 088c498..10cf660 100644 --- a/plugins/jqueryui/composer.json +++ b/plugins/jqueryui/composer.json @@ -2,8 +2,8 @@ "name": "roundcube/jqueryui", "type": "roundcube-plugin", "description": "Plugin adds the complete jQuery-UI library including the smoothness theme to Roundcube. This allows other plugins to use jQuery-UI without having to load their own version. The benefit of using one central jQuery-UI is that we wont run into problems of conflicting jQuery libraries being loaded. All plugins that want to use jQuery-UI should use this plugin as a requirement.", - "license": "GPLv3+", - "version": "1.12.0", + "license": "GPL-3.0-or-later", + "version": "1.13.1", "authors": [ { "name": "Thomas Bruederli", @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/krb_authentication/composer.json b/plugins/krb_authentication/composer.json index a67f544..9c4c304 100644 --- a/plugins/krb_authentication/composer.json +++ b/plugins/krb_authentication/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/krb_authentication", "type": "roundcube-plugin", "description": "Kerberos Authentication", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.2", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/managesieve/composer.json b/plugins/managesieve/composer.json index f2bad8e..534cbc5 100644 --- a/plugins/managesieve/composer.json +++ b/plugins/managesieve/composer.json @@ -2,8 +2,8 @@ "name": "roundcube/managesieve", "type": "roundcube-plugin", "description": "Adds a possibility to manage Sieve scripts (incoming mail filters). It's clickable interface which operates on text scripts and communicates with server using managesieve protocol. Adds Filters tab in Settings.", - "license": "GPLv3+", - "version": "9.3", + "license": "GPL-3.0-or-later", + "version": "9.4", "authors": [ { "name": "Aleksander Machniak", @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3", "pear/net_sieve": "~1.4.4" } diff --git a/plugins/markasjunk/composer.json b/plugins/markasjunk/composer.json index e52ee67..dc68f61 100644 --- a/plugins/markasjunk/composer.json +++ b/plugins/markasjunk/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/markasjunk", "type": "roundcube-plugin", "description": "Adds buttons to mark messages as Junk/Non-Junk with moving to the Junk folder and Spam/Ham learning.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "2.0", "authors": [ { @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/new_user_dialog/composer.json b/plugins/new_user_dialog/composer.json index b29924a..2b9cd50 100644 --- a/plugins/new_user_dialog/composer.json +++ b/plugins/new_user_dialog/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/new_user_dialog", "type": "roundcube-plugin", "description": "When a new user is created, this plugin checks the default identity and sets a session flag in case it is incomplete. An overlay box will appear on the screen until the user has reviewed/completed his identity.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "2.4", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/new_user_identity/composer.json b/plugins/new_user_identity/composer.json index 249db6a..4f0ba5c 100644 --- a/plugins/new_user_identity/composer.json +++ b/plugins/new_user_identity/composer.json @@ -2,8 +2,8 @@ "name": "roundcube/new_user_identity", "type": "roundcube-plugin", "description": "Populates a new user's default identity from LDAP on their first visit.", - "license": "GPLv3+", - "version": "1.1", + "license": "GPL-3.0-or-later", + "version": "1.2", "authors": [ { "name": "Aleksander Machniak", @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/newmail_notifier/composer.json b/plugins/newmail_notifier/composer.json index 210cef0..d98a8d6 100644 --- a/plugins/newmail_notifier/composer.json +++ b/plugins/newmail_notifier/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/newmail_notifier", "type": "roundcube-plugin", "description": "Supports three methods of notification: 1. Basic - focus browser window and change favicon 2. Sound - play wav file 3. Desktop - display desktop notification (using HTML5 Notification API feature).", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "0.8", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/password/composer.json b/plugins/password/composer.json index 1e7fb6f..fba1cc2 100644 --- a/plugins/password/composer.json +++ b/plugins/password/composer.json @@ -2,8 +2,8 @@ "name": "roundcube/password", "type": "roundcube-plugin", "description": "Password Change for Roundcube. Plugin adds a possibility to change user password using many methods (drivers) via Settings/Password tab.", - "license": "GPLv3+", - "version": "5.1", + "license": "GPL-3.0-or-later", + "version": "5.3", "authors": [ { "name": "Aleksander Machniak", @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/reconnect/composer.json b/plugins/reconnect/composer.json new file mode 100644 index 0000000..23faaa6 --- /dev/null +++ b/plugins/reconnect/composer.json @@ -0,0 +1,23 @@ +{ + "name": "reconnect", + "type": "roundcube-plugin", + "description": "Reconnects to server for several attempts.", + "license": "GPL-3.0-or-later", + "version": "0.1", + "authors": [ + { + "name": "Sandro Knauß", + "email": "hefee@debian.org" + } + ], + "repositories": [ + { + "type": "composer", + "url": "https://plugins.roundcube.net" + } + ], + "require": { + "php": ">=7.3.0", + "roundcube/plugin-installer": ">=0.1.3" + } +} diff --git a/plugins/redundant_attachments/composer.json b/plugins/redundant_attachments/composer.json index 557cf34..b893918 100644 --- a/plugins/redundant_attachments/composer.json +++ b/plugins/redundant_attachments/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/redundant_attachments", "type": "roundcube-plugin", "description": "This plugin provides a redundant storage for temporary uploaded attachment files. They are stored in both the database backend as well as on the local file system. It provides also memcache store as a fallback.", - "license": "GPLv2", + "license": "GPL-3.0-or-later", "version": "1.2", "authors": [ { @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3", "roundcube/filesystem_attachments": ">=1.0.0" } diff --git a/plugins/show_additional_headers/composer.json b/plugins/show_additional_headers/composer.json index 8b05ce3..7ca83ca 100644 --- a/plugins/show_additional_headers/composer.json +++ b/plugins/show_additional_headers/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/show_additional_headers", "type": "roundcube-plugin", "description": "Proof-of-concept plugin which will fetch additional headers and display them in the message view.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "2.0", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/squirrelmail_usercopy/composer.json b/plugins/squirrelmail_usercopy/composer.json index f91f43d..0272b22 100644 --- a/plugins/squirrelmail_usercopy/composer.json +++ b/plugins/squirrelmail_usercopy/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/squirrelmail_usercopy", "type": "roundcube-plugin", "description": "Copy a new users identity and settings from a nearby Squirrelmail installation", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.6", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/subscriptions_option/composer.json b/plugins/subscriptions_option/composer.json index 5823f04..a0fbcab 100644 --- a/plugins/subscriptions_option/composer.json +++ b/plugins/subscriptions_option/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/subscriptions_option", "type": "roundcube-plugin", "description": "A plugin which can enable or disable the use of imap subscriptions. It includes a toggle on the settings page under \"Server Settings\". The preference can also be locked.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.4", "authors": [ { @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/userinfo/composer.json b/plugins/userinfo/composer.json index 3c4573b..e41c015 100644 --- a/plugins/userinfo/composer.json +++ b/plugins/userinfo/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/userinfo", "type": "roundcube-plugin", "description": "Sample plugin that adds a new tab to the settings section to display some information about the current user.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.2", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/vcard_attachments/composer.json b/plugins/vcard_attachments/composer.json index b43d2ca..cd593e9 100644 --- a/plugins/vcard_attachments/composer.json +++ b/plugins/vcard_attachments/composer.json @@ -2,8 +2,8 @@ "name": "roundcube/vcard_attachments", "type": "roundcube-plugin", "description": "Detects vCard attachments and allows to add them to address book. Also allows to attach vCards of your contacts to composed messages", - "license": "GPLv3+", - "version": "4.1", + "license": "GPL-3.0-or-later", + "version": "4.2", "authors": [ { "name": "Thomas Bruederli", @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/virtuser_file/composer.json b/plugins/virtuser_file/composer.json index 178a256..83c2f07 100644 --- a/plugins/virtuser_file/composer.json +++ b/plugins/virtuser_file/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/virtuser_file", "type": "roundcube-plugin", "description": "Plugin adds possibility to resolve user email/login according to lookup tables in files.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "1.0", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/virtuser_query/composer.json b/plugins/virtuser_query/composer.json index e42ad89..cc9367b 100644 --- a/plugins/virtuser_query/composer.json +++ b/plugins/virtuser_query/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/virtuser_query", "type": "roundcube-plugin", "description": "Plugin adds possibility to resolve user email/login according to lookup tables in SQL database.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "2.0", "authors": [ { @@ -18,7 +18,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3" } } diff --git a/plugins/zipdownload/composer.json b/plugins/zipdownload/composer.json index ac7a661..f5b5ab5 100644 --- a/plugins/zipdownload/composer.json +++ b/plugins/zipdownload/composer.json @@ -2,7 +2,7 @@ "name": "roundcube/zipdownload", "type": "roundcube-plugin", "description": "Adds an option to download all attachments to a message in one zip file, when a message has multiple attachments. Also allows the download of a selection of messages in one zip file. Supports mbox and maildir format.", - "license": "GPLv3+", + "license": "GPL-3.0-or-later", "version": "3.4", "authors": [ { @@ -23,7 +23,7 @@ } ], "require": { - "php": ">=5.3.0", + "php": ">=7.3.0", "roundcube/plugin-installer": ">=0.1.3", "ext-zip": "*" } diff --git a/pubkey.asc b/pubkey.asc new file mode 100644 index 0000000..3d4449c --- /dev/null +++ b/pubkey.asc @@ -0,0 +1,102 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +0dXJnhEe7eXkwBbfEzk= +=lBKd +-----END PGP PUBLIC KEY BLOCK----- diff --git a/roundcubemail-1.4-confpath.patch b/roundcubemail-1.6-confpath.patch index 5b53a8c..0b372ee 100644 --- a/roundcubemail-1.4-confpath.patch +++ b/roundcubemail-1.6-confpath.patch @@ -1,21 +1,21 @@ diff -up ./config/defaults.inc.php.rpm ./config/defaults.inc.php ---- ./config/defaults.inc.php.rpm 2019-09-16 21:57:38.000000000 +0200 -+++ ./config/defaults.inc.php 2019-09-17 06:50:40.861838220 +0200 -@@ -413,11 +413,11 @@ $config['user_aliases'] = false; +--- ./config/defaults.inc.php.rpm 2022-03-06 21:32:08.000000000 +0100 ++++ ./config/defaults.inc.php 2022-03-07 11:48:41.252956405 +0100 +@@ -525,11 +525,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 + // Location of temporary saved files such as attachments and cache 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 -@@ -637,7 +637,7 @@ $config['mime_magic'] = null; +@@ -763,7 +763,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 @@ -24,7 +24,7 @@ diff -up ./config/defaults.inc.php.rpm ./config/defaults.inc.php // path to imagemagick identify binary (if not set we'll use Imagick or GD extensions) $config['im_identify_path'] = null; -@@ -1264,3 +1264,7 @@ $config['message_show_email'] = false; +@@ -1452,3 +1452,7 @@ $config['message_show_email'] = false; // 0 - Reply-All always // 1 - Reply-List if mailing list is detected $config['reply_all_mode'] = 0; @@ -33,8 +33,8 @@ diff -up ./config/defaults.inc.php.rpm ./config/defaults.inc.php +// Must be writeable by PHP process, and not in the web server document root +$config['enigma_pgp_homedir'] = '/var/lib/roundcubemail/enigma'; diff -up ./plugins/enigma/config.inc.php.dist.rpm ./plugins/enigma/config.inc.php.dist ---- ./plugins/enigma/config.inc.php.dist.rpm 2019-09-16 21:57:38.000000000 +0200 -+++ ./plugins/enigma/config.inc.php.dist 2019-09-17 06:50:40.861838220 +0200 +--- ./plugins/enigma/config.inc.php.dist.rpm 2022-03-06 21:32:08.000000000 +0100 ++++ ./plugins/enigma/config.inc.php.dist 2022-03-07 11:48:41.252956405 +0100 @@ -12,10 +12,6 @@ $config['enigma_smime_driver'] = 'phpssl // Enables logging of enigma operations (including Crypt_GPG debug info) $config['enigma_debug'] = false; @@ -47,9 +47,9 @@ diff -up ./plugins/enigma/config.inc.php.dist.rpm ./plugins/enigma/config.inc.ph // 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 ./program/include/iniset.php.rpm ./program/include/iniset.php ---- ./program/include/iniset.php.rpm 2019-09-16 21:57:39.000000000 +0200 -+++ ./program/include/iniset.php 2019-09-17 06:53:23.289881898 +0200 -@@ -28,7 +28,7 @@ if (!defined('INSTALL_PATH')) { +--- ./program/include/iniset.php.rpm 2022-03-06 21:32:09.000000000 +0100 ++++ ./program/include/iniset.php 2022-03-07 11:49:54.668718920 +0100 +@@ -32,7 +32,7 @@ if (!defined('INSTALL_PATH')) { } if (!defined('RCMAIL_CONFIG_DIR')) { @@ -58,18 +58,18 @@ diff -up ./program/include/iniset.php.rpm ./program/include/iniset.php } if (!defined('RCUBE_LOCALIZATION_DIR')) { -@@ -36,7 +36,7 @@ if (!defined('RCUBE_LOCALIZATION_DIR')) +@@ -40,7 +40,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 + // Show basic error message on fatal PHP error + register_shutdown_function('rcmail_error_handler'); diff -up ./program/lib/Roundcube/bootstrap.php.rpm ./program/lib/Roundcube/bootstrap.php ---- ./program/lib/Roundcube/bootstrap.php.rpm 2019-09-16 21:57:39.000000000 +0200 -+++ ./program/lib/Roundcube/bootstrap.php 2019-09-17 06:50:40.861838220 +0200 +--- ./program/lib/Roundcube/bootstrap.php.rpm 2022-03-06 21:32:09.000000000 +0100 ++++ ./program/lib/Roundcube/bootstrap.php 2022-03-07 11:48:41.252956405 +0100 @@ -71,7 +71,7 @@ if (!defined('RCUBE_INSTALL_PATH')) { } diff --git a/roundcubemail-bundled.php b/roundcubemail-bundled.php new file mode 100644 index 0000000..c963e9e --- /dev/null +++ b/roundcubemail-bundled.php @@ -0,0 +1,48 @@ +<?php + +if (!isset($_SERVER['argv'][1])) { + echo "Missing arg\n"; + exit(1); +} +$pkgs = file_get_contents($_SERVER['argv'][1]); +if (!$pkgs) { + echo "can't read json file\n"; + exit(2); +} + +$pkgs = json_decode($pkgs, true); +if (!is_array($pkgs)) { + echo "can't decode json file\n"; + exit(3); +} + +if (isset($pkgs['packages'])) { + $res = []; + foreach($pkgs["packages"] as $pkg) { + $lic = implode(" and ", $pkg["license"]); + if (!isset($res[$lic])) $res[$lic] = []; + $res[$lic][] = sprintf("Provides: bundled(php-%s) = %s", str_replace(["/", "_"], ["-", "-"], $pkg["name"]), $pkg["version"]); + } + ksort($res); + foreach($res as $lic => $lib) { + sort($lib); + printf("# License %s\n%s\n", $lic, implode("\n", $lib)); + } +} else if (isset($pkgs['dependencies'])) { + $res = []; + foreach($pkgs['dependencies'] as $pkg) { + $n = strtolower($pkg['name'] ?? $pkg['lib']); + $n = str_replace('.js', '', $n); + $lic = ($pkg['license'] ?? "Unkown"); + if (!isset($res[$lic])) $res[$lic] = []; + $res[$lic][] = sprintf("Provides: bundled(js-%s) = %s", $n, $pkg['version']); + } + ksort($res); + foreach($res as $lic => $lib) { + sort($lib); + printf("# License %s\n%s\n", $lic, implode("\n", $lib)); + } +} else { + echo "unkown content\n"; + exit(4); +} diff --git a/roundcubemail.spec b/roundcubemail.spec index 04596a3..40c3f3b 100644 --- a/roundcubemail.spec +++ b/roundcubemail.spec @@ -8,6 +8,7 @@ # Please preserve changelog entries # +%bcond_with internet # remirepo:1 %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 @@ -17,8 +18,8 @@ %else %global with_phpfpm 0 %endif -%global upstream_version 1.4.7 -#global upstream_prever rc2 +%global upstream_version 1.6.6 +#global upstream_prever rc %global roundcubedir %{_datadir}/roundcubemail %global _logdir /var/log @@ -38,43 +39,28 @@ Summary: Round Cube Webmail is a browser-based multilingual IMAP client # https://github.com/pear/Crypt_GPG # http://jqueryui.com/ # http://www.tinymce.com/ -License: GPLv3+ with exceptions and GPLv3+ and GPLv2 and LGPLv2+ and CC-BY-SA and (MIT or GPLv2) +License: GPL-3.0-or-later AND GPL-2.0-only AND LGPL-2.0-or-later AND CC-BY-SA-3.0 AND MIT AND BSD-2-Clause AND BSD-3-Clause AND PHP-3.01 URL: http://www.roundcube.net Source0: https://github.com/roundcube/roundcubemail/releases/download/%{upstream_version}%{?upstream_prever:-%{upstream_prever}}/roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}}-complete.tar.gz +Source8: https://github.com/roundcube/roundcubemail/releases/download/%{upstream_version}%{?upstream_prever:-%{upstream_prever}}/roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}}-complete.tar.gz.asc +Source9: https://roundcube.net/download/pubkey.asc Source1: roundcubemail.httpd Source3: roundcubemail.nginx Source2: roundcubemail.logrotate Source4: roundcubemail-README-rpm.txt +# Simple script to dump name, version and licenses of bundled libraries +Source5: roundcubemail-bundled.php # Non-upstreamable: Adjusts config path to Fedora policy -Patch1: roundcubemail-1.4-confpath.patch +Patch1: roundcubemail-1.6-confpath.patch BuildArch: noarch +BuildRequires: gnupg2 +BuildRequires: php(language) >= 7.3 # For test BuildRequires: php-cli -BuildRequires: php-pear(PEAR) >= 1.10.1 -BuildRequires: php-pear(Auth_SASL) >= 1.1.0 -BuildRequires: php-pear(Net_IDNA2) >= 0.2.0 -BuildRequires: php-pear(Mail_Mime) >= 1.10.0 -BuildRequires: php-pear(Net_SMTP) >= 1.8.1 -BuildRequires: php-pear(Crypt_GPG) >= 1.6.0 -BuildRequires: php-pear(Net_Sieve) >= 1.4.3 -BuildRequires: php-pear(Net_LDAP2) >= 2.2.0 -BuildRequires: php-composer(kolab/net_ldap3) >= 1.1.1 -BuildRequires: php-composer(fedora/autoloader) -# remirepo:1 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -BuildRequires: (php-composer(endroid/qrcode) >= 1.6.5 with php-composer(endroid/qrcode) < 2) -BuildRequires: (php-composer(masterminds/html5) >= 2.5.0 with php-composer(masterminds/html5) < 3) -# remirepo:6 -%else -BuildRequires: php-composer(endroid/qrcode) < 2 -BuildRequires: php-composer(endroid/qrcode) >= 1.6.5 -BuildRequires: php-composer(masterminds/html5) < 3 -BuildRequires: php-composer(masterminds/html5) >= 2.5.0 -%endif %if %{with_phpfpm} Requires: webserver @@ -85,6 +71,8 @@ Requires: php(httpd) Requires: httpd Requires: mod_php %endif +Requires: php(language) >= 7.3 +Requires: php-ctype Requires: php-curl Requires: php-date Requires: php-dom @@ -96,91 +84,101 @@ Requires: php-iconv Requires: php-intl Requires: php-json Requires: php-ldap +Requires: php-libxml Requires: php-mbstring Requires: php-openssl Requires: php-pcre Requires: php-pdo -Requires: php-pspell +Requires: php-posix +Requires: php-reflection Requires: php-session Requires: php-simplexml Requires: php-sockets Requires: php-spl -Requires: php-xml -# From composer.json-dist, require -# "php": ">=5.4.0", -# "pear/pear-core-minimal": "~1.10.1", -# "pear/auth_sasl": "~1.1.0", -# "pear/net_idna2": "~0.2.0", -# "pear/mail_mime": "~1.10.0", -# "pear/net_smtp": "~1.8.1", -# "pear/crypt_gpg": "~1.6.0", -# "pear/net_sieve": "~1.4.3", -# "roundcube/plugin-installer": "~0.1.6", -# "masterminds/html5": "~2.5.0", -# "endroid/qrcode": "~1.6.5" -# "kolab/net_ldap3": "~1.1.1" -# not available and doesn't make sense roundcube/plugin-installer -Requires: php-pear(PEAR) >= 1.10.1 -Requires: php-pear(Auth_SASL) >= 1.1.0 -Requires: php-pear(Net_IDNA2) >= 0.2.0 -Requires: php-pear(Mail_Mime) >= 1.10.0 -Requires: php-pear(Net_SMTP) >= 1.8.1 -Requires: php-pear(Crypt_GPG) >= 1.6.0 -Requires: php-pear(Net_Sieve) >= 1.4.3 -Requires: php-pear(Net_LDAP2) >= 2.2.0 -Requires: php-composer(kolab/net_ldap3) >= 1.1.1 -# remirepo:1 -%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 -Requires: (php-composer(endroid/qrcode) >= 1.6.5 with php-composer(endroid/qrcode) < 2) -Requires: (php-composer(masterminds/html5) >= 2.5.0 with php-composer(masterminds/html5) < 3) -# From composer.json-dist, "suggest": { -# "mkopinsky/zxcvbn-php": "^4.4.2 required for Zxcvbn password strength driver" -Suggests: (php-composer(mkopinsky/zxcvbn-php) >= 4.4.2 with php-composer(mkopinsky/zxcvbn-php) < 5) -# remirepo:6 -%else -Requires: php-composer(endroid/qrcode) < 2 -Requires: php-composer(endroid/qrcode) >= 1.6.5 -Requires: php-composer(masterminds/html5) < 3 -Requires: php-composer(masterminds/html5) >= 2.5.0 -%endif +Requires: php-tokenizer # mailcap for /etc/mime.types Requires: mailcap -# Autoloader -Requires: php-composer(fedora/autoloader) - # EXIF images Requires: php-exif -# Upload progress (shock!) -#Suggests: php-uploadprogress # ZIP download plugin Requires: php-zip # remirepo:1 %if 0%{?fedora} >= 21 || 0%{?rhel} >= 8 # Optional deps +# Upload progress (shock!) +Suggests: php-uploadprogress +# Crypto +Suggests: php-sodium # Spell check -Suggests: php-enchant +Recommends: php-enchant +Suggests: php-pspell # Caching -Suggests: php-apc -Suggests: php-memcache -Suggests: php-redis +Suggests: php-apcu +Suggests: php-memcache +Suggests: php-memcached +Suggests: php-redis # Gearman support -Suggests: php-gearman -# PAM password support -#Optional: php-pam +Suggests: php-gearman +# Authent +Suggests: php-krb5 +Suggests: php-pam # remirepo:1 %endif # Bundled JS libraries # see https://github.com/roundcube/roundcubemail/blob/master/jsdeps.json -Provides: bundled(js-jquery) = 3.4.1 -Provides: bundled(js-jstz) = 1.0.6 -Provides: bundled(js-publickey) -Provides: bundled(js-tinymce) = 4.8.2 -Provides: bundled(js-openpgp) = 4.4.6 -Provides: bundled(js-codemirror) = 5.46.0 -Provides: bundled(js-bootstrap) = 4.3.1 -Provides: bundled(js-less) = 2.7.3 +# License Apache-2.0 +Provides: bundled(js-lessjs) = 3.13.0 +# License GPLv3 +Provides: bundled(js-publickey) = 0e011cb1 +# License LGPL +Provides: bundled(js-openpgp) = 5.0.0 +Provides: bundled(js-tinymce) = 5.8.2 +# License MIT +Provides: bundled(js-bootstrap) = 4.5.3 +Provides: bundled(js-codemirror) = 5.58.3 +Provides: bundled(js-jquery) = 3.5.1 +Provides: bundled(js-jstimezonedetect) = 1.0.7 +# License Unkown +Provides: bundled(js-tinymce-langs) = 5.8.2 + +# Bundled PHP libraries +# see vendor/composer/installed.json +# License BSD +Provides: bundled(php-pear-auth-sasl) = v1.1.0 +# License BSD-2-Clause +Provides: bundled(php-bacon-bacon-qr-code) = 2.0.8 +Provides: bundled(php-dasprid-enum) = 1.0.5 +Provides: bundled(php-pear-console-getopt) = v1.4.3 +Provides: bundled(php-pear-net-sieve) = 1.4.6 +Provides: bundled(php-pear-net-smtp) = 1.10.1 +Provides: bundled(php-pear-pear-exception) = v1.0.2 +# License BSD-3-Clause +Provides: bundled(php-pear-mail-mime) = 1.10.11 +Provides: bundled(php-pear-pear-core-minimal) = v1.10.14 +# License GPL-2.0 +Provides: bundled(php-roundcube-rtf-html-php) = v2.2 +# License GPL-3.0+ +Provides: bundled(php-kolab-net-ldap3) = v1.1.5 +Provides: bundled(php-roundcube-plugin-installer) = 0.3.2 +# License LGPL-2.1 +Provides: bundled(php-pear-crypt-gpg) = v1.6.8 +# License LGPL-3.0 +Provides: bundled(php-pear-net-ldap2) = v2.3.0 +# License MIT +Provides: bundled(php-guzzlehttp-guzzle) = 7.8.1 +Provides: bundled(php-guzzlehttp-promises) = 2.0.2 +Provides: bundled(php-guzzlehttp-psr7) = 2.6.2 +Provides: bundled(php-masterminds-html5) = 2.7.6 +Provides: bundled(php-pear-console-commandline) = v1.2.6 +Provides: bundled(php-psr-http-client) = 1.0.3 +Provides: bundled(php-psr-http-factory) = 1.0.2 +Provides: bundled(php-psr-http-message) = 2.0 +Provides: bundled(php-ralouphie-getallheaders) = 3.0.3 +Provides: bundled(php-symfony-deprecation-contracts) = v2.5.2 +# License PHP License +Provides: bundled(php-pear-net-socket) = v1.2.2 %description @@ -195,12 +193,22 @@ CSS 2. %prep +%{?gpgverify: %{gpgverify} --keyring=%{SOURCE9} --signature=%{SOURCE8} --data=%{SOURCE0}} + %setup -q -n roundcubemail-%{upstream_version}%{?upstream_prever:-%{upstream_prever}} -%patch1 -p1 -b .rpm +%patch -P1 -p1 -b .rpm + +: PHP bundled libraries +php %{SOURCE5} vendor/composer/installed.json + +%if %{with internet} +: JS bundled libraries +php %{SOURCE5} https://raw.githubusercontent.com/roundcube/roundcubemail/%{upstream_version}%{?upstream_prever:-%{upstream_prever}}/jsdeps.json +%endif # fix permissions and remove any .htaccess files find . -type f -print | xargs chmod a-x -find . -name \.htaccess -print | xargs rm -f +find . -name \.htaccess -delete -print # drop file from patch find . -type f -name '*.orig' -o -name '*.rpm' -exec rm {} \; -print @@ -210,26 +218,6 @@ find . -type f -name '*.orig' -o -name '*.rpm' -exec rm {} \; -print echo "CVE-2012-4230: removing tinymce bbcode plugin, check path if this fails." test -d program/js/*mce/plugins/bbcode && rm -rf program/js/*mce/plugins/bbcode || exit 1 -# Create simple autoloader for PEAR -rm -r vendor/* -cat << EOF | tee vendor/autoload.php -<?php -/* Autoloader for %{name} dependencies */ -require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; - -# PEAR components -\Fedora\Autoloader\Autoload::addIncludePath(); - -# Composer components -\Fedora\Autoloader\Dependencies::required([ - '%{_datadir}/php/Endroid/QrCode/autoload.php', - '%{_datadir}/php/Masterminds/HTML5/autoload.php', -]); -\Fedora\Autoloader\Dependencies::optional([ - '%{_datadir}/php/ZxcvbnPhp/autoload.php', -]); -EOF - %build # Nothing @@ -250,11 +238,6 @@ install -Dpm 0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/nginx/default.d/%{name} mkdir -p %{buildroot}%{_sysconfdir}/roundcubemail install -pDm644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/roundcubemail -%if 0%{?rhel} == 5 || 0%{?rhel} == 6 -: Remove "su" option from logrotate configuration file - requires logrotate 3.8+ -sed -e '/su /d' -i %{buildroot}%{_sysconfdir}/logrotate.d/roundcubemail -%endif - # Log files mkdir -p %{buildroot}/var/log/roundcubemail # Temp files @@ -287,7 +270,7 @@ popd # clean up the buildroot rm -r %{buildroot}%{roundcubedir}/{config,logs,temp} -rm -r %{buildroot}%{roundcubedir}/{CHANGELOG,INSTALL,LICENSE,README.md,UPGRADING} +rm -r %{buildroot}%{roundcubedir}/{CHANGELOG.md,INSTALL,LICENSE,README.md,UPGRADING} rm %{buildroot}%{roundcubedir}/composer.json-dist @@ -295,8 +278,8 @@ rm %{buildroot}%{roundcubedir}/composer.json-dist : Check our autoloader for needed classes php -r ' require "%{buildroot}%{roundcubedir}/vendor/autoload.php"; -$cl = [ "Auth_SASL", "Crypt_GPG", "Mail_mime", "Net_IDNA2", "Net_LDAP2", "Masterminds\\HTML5", - "Net_LDAP3", "Net_Sieve", "Net_SMTP", "PEAR" , "Endroid\\QrCode\\QrCode" ]; +$cl = [ "Auth_SASL", "Crypt_GPG", "Mail_mime", "Net_LDAP2", "Masterminds\\HTML5", "GuzzleHttp\\Client", + "Net_LDAP3", "Net_Sieve", "Net_SMTP", "PEAR" , "BaconQrCode\\Writer", "RtfHtmlPhp\\Document" ]; $ret = 0; foreach ($cl as $c) { if (class_exists($c)) { @@ -323,7 +306,7 @@ fi # remirepo:1 %{!?_licensedir:%global license %%doc} %license LICENSE -%doc CHANGELOG INSTALL README.md UPGRADING README-rpm.txt +%doc CHANGELOG.md INSTALL README.md UPGRADING README-rpm.txt %doc composer.json-dist %{roundcubedir} %dir %{_sysconfdir}/%{name} @@ -349,6 +332,75 @@ fi %changelog +* Mon Jan 22 2024 Remi Collet <remi@remirepo.net> - 1.6.6-1 +- update to 1.6.6 + +* Mon Nov 6 2023 Remi Collet <remi@remirepo.net> - 1.6.5-1 +- update to 1.6.5 + +* Mon Oct 16 2023 Remi Collet <remi@remirepo.net> - 1.6.4-1 +- update to 1.6.4 + +* Fri Sep 15 2023 Remi Collet <remi@remirepo.net> - 1.6.3-1 +- update to 1.6.3 + +* Sun Jul 2 2023 Remi Collet <remi@remirepo.net> - 1.6.2-1 +- update to 1.6.2 + +* Tue Jan 24 2023 Remi Collet <remi@remirepo.net> - 1.6.1-1 +- update to 1.6.1 +- use SPDX license id + +* Wed Aug 3 2022 Remi Collet <remi@remirepo.net> - 1.6.0-1 +- update to 1.6.0 + +* Mon Jun 13 2022 Remi Collet <remi@remirepo.net> - 1.6~rc-1 +- update to 1.6-rc +- drop patch merged upstream + +* Mon Mar 7 2022 Remi Collet <remi@remirepo.net> - 1.6~beta-1 +- update to 1.6-beta +- raise dependency on PHP 7.3 +- add patch to keep use default_host and smtp_server + from https://github.com/roundcube/roundcubemail/pull/8467 + +* Thu Dec 30 2021 Remi Collet <remi@remirepo.net> - 1.5.2-1 +- update to 1.5.2 + +* Fri Dec 3 2021 Remi Collet <remi@remirepo.net> - 1.5.1-2 +- use all PHP bundled libraries + +* Mon Nov 29 2021 Remi Collet <remi@remirepo.net> - 1.5.1-1 +- update to 1.5.1 + +* Tue Oct 19 2021 Remi Collet <remi@remirepo.net> - 1.5.0-1 +- update to 1.5.0 + +* Mon Jul 5 2021 Remi Collet <remi@remirepo.net> - 1.5~rc-2 +- update to 1.5-rc +- raise dependency on pear/net_smtp 1.10 +- raise dependency on pear/net_sieve 1.4.5 + +* Thu Apr 22 2021 Remi Collet <remi@remirepo.net> - 1.5~beta-1 +- update to 1.5-beta +- drop dependency on pear/net_idna2 +- raise dependency on pear/net_smtp 1.9 +- raise dependency on masterminds/html5 2.7 +- add dependency on guzzlehttp/guzzle +- switch from mkopinsky/zxcvbn-php to bjeavons/zxcvbn-php + +* Tue Feb 9 2021 Remi Collet <remi@remirepo.net> - 1.4.11-1 +- update to 1.4.11 + +* Mon Dec 28 2020 Remi Collet <remi@remirepo.net> - 1.4.10-1 +- update to 1.4.10 + +* Mon Sep 28 2020 Remi Collet <remi@remirepo.net> - 1.4.9-1 +- update to 1.4.9 + +* Tue Aug 11 2020 Remi Collet <remi@remirepo.net> - 1.4.8-1 +- update to 1.4.8 + * Mon Jul 6 2020 Remi Collet <remi@remirepo.net> - 1.4.7-1 - update to 1.4.7 |