summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authortaca <taca>2013-06-15 16:08:09 +0000
committertaca <taca>2013-06-15 16:08:09 +0000
commitf9a97c471c7b651eb192e588fa5850aa2653f570 (patch)
treea01c0d40c6a80a77214732154ce94a85f1b67d5e /mail
parente464c4b5161de7fc4251a36426609146c1be71f4 (diff)
downloadpkgsrc-f9a97c471c7b651eb192e588fa5850aa2653f570.tar.gz
Update roundcube to 0.9.1.
Changes are too any to write here and please refer CHANGELOG. pkgsrc changes: * Add note to enable access_compat_module Apache 2.3 or later. * Make php-mcrypt mandatory. * Clean up PKG_OPTIONS. * Add several patches from official repository.
Diffstat (limited to 'mail')
-rw-r--r--mail/roundcube/MESSAGE5
-rw-r--r--mail/roundcube/Makefile30
-rw-r--r--mail/roundcube/PLIST343
-rw-r--r--mail/roundcube/distinfo33
-rw-r--r--mail/roundcube/files/roundcube.conf6
-rw-r--r--mail/roundcube/options.mk51
-rw-r--r--mail/roundcube/patches/patch-ab14
-rw-r--r--mail/roundcube/patches/patch-ac12
-rw-r--r--mail/roundcube/patches/patch-af8
-rw-r--r--mail/roundcube/patches/patch-installer_config.php33
-rw-r--r--mail/roundcube/patches/patch-installer_rcube__install.php19
-rw-r--r--mail/roundcube/patches/patch-plugins_zipdownload_zipdownload.php30
-rw-r--r--mail/roundcube/patches/patch-program_include_rcmail.php20
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__cache.php52
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__config.php63
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db.php68
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db__pgsql.php46
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap.php31
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap__cache.php76
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__mime.php150
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__washtml.php139
-rw-r--r--mail/roundcube/patches/patch-program_steps_mail_compose.inc41
-rw-r--r--mail/roundcube/patches/patch-program_steps_mail_func.inc50
-rw-r--r--mail/roundcube/patches/patch-program_steps_mail_show.inc25
-rw-r--r--mail/roundcube/patches/patch-skins_classic_print.css40
-rw-r--r--mail/roundcube/patches/patch-skins_larry_mail.css118
-rw-r--r--mail/roundcube/patches/patch-skins_larry_print.css36
-rw-r--r--mail/roundcube/patches/patch-skins_larry_templates_message.html18
28 files changed, 1397 insertions, 160 deletions
diff --git a/mail/roundcube/MESSAGE b/mail/roundcube/MESSAGE
index f48c048d837..30f68cd03b2 100644
--- a/mail/roundcube/MESSAGE
+++ b/mail/roundcube/MESSAGE
@@ -1,5 +1,5 @@
===========================================================================
-$NetBSD: MESSAGE,v 1.8 2012/12/05 15:38:01 taca Exp $
+$NetBSD: MESSAGE,v 1.9 2013/06/15 16:08:09 taca Exp $
Please refer to the following file on how to setup your RoundCube
installation.
@@ -24,4 +24,7 @@ to httpd.conf:
Include ${PKG_SYSCONFDIR}/roundcube.conf
+Make sure to enable access_compat_module if you are using Apache 2.3 or
+later.
+
===========================================================================
diff --git a/mail/roundcube/Makefile b/mail/roundcube/Makefile
index 659e2d2fc6a..dd48306daf5 100644
--- a/mail/roundcube/Makefile
+++ b/mail/roundcube/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.54 2013/04/06 04:11:44 rodent Exp $
+# $NetBSD: Makefile,v 1.55 2013/06/15 16:08:09 taca Exp $
-DISTNAME= roundcubemail-0.8.6-dep
+DISTNAME= roundcubemail-0.9.1-dep
PKGNAME= ${DISTNAME:S/mail-/-/:S/-dep//}
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=roundcubemail/}
@@ -10,13 +10,14 @@ HOMEPAGE= http://roundcube.net/
COMMENT= Browser-based multilingual IMAP client
LICENSE= gnu-gpl-v3
-DEPENDS+= ${PHP_PKG_PREFIX}-pear-Net_SMTP>=1.4.2:../../net/pear-Net_SMTP
-DEPENDS+= ${PHP_PKG_PREFIX}-pear-Mail_Mime>=1.8.1:../../mail/pear-Mail_Mime
-DEPENDS+= ${PHP_PKG_PREFIX}-pear-MDB2>=2.5.0:../../databases/pear-MDB2
-DEPENDS+= ${PHP_PKG_PREFIX}-pear-Auth_SASL>=1.0.3:../../mail/pear-Auth_SASL
DEPENDS+= ${PHP_PKG_PREFIX}-dom-[0-9]*:../../textproc/php-dom
DEPENDS+= ${PHP_PKG_PREFIX}-json-[0-9]*:../../textproc/php-json
+DEPENDS+= ${PHP_PKG_PREFIX}-mcrypt>=4.3.1:../../security/php-mcrypt
+
+DEPENDS+= ${PHP_PKG_PREFIX}-pear-Net_SMTP>=1.4.2:../../net/pear-Net_SMTP
DEPENDS+= ${PHP_PKG_PREFIX}-pear-Net_IDNA2>=0.1.1:../../net/pear-Net_IDNA2
+DEPENDS+= ${PHP_PKG_PREFIX}-pear-Mail_Mime>=1.8.1:../../mail/pear-Mail_Mime
+DEPENDS+= ${PHP_PKG_PREFIX}-pear-Auth_SASL>=1.0.3:../../mail/pear-Auth_SASL
USE_LANGUAGES= # none
USE_TOOLS+= pax
@@ -86,17 +87,16 @@ SUBST_MESSAGE.files= Fixing configuration files.
REPLACE_INTERPRETER+= php
REPLACE.php.old= /usr/bin/env php
REPLACE.php.new= ${PREFIX}/bin/php
-REPLACE_FILES.php= bin/*.sh
+REPLACE_FILES.php= bin/cleandb.sh bin/decrypt.sh bin/indexcontacts.sh
+REPLACE_FILES.php+= bin/installto.sh bin/moduserprefs.sh bin/msgexport.sh
+REPLACE_FILES.php+= bin/msgimport.sh bin/update.sh bin/updatecss.sh
+REPLACE_FILES.php+= bin/updatedb.sh
-.include "../../mk/apache.mk"
-.include "options.mk"
+REPLACE_PYTHON= plugins/password/helpers/chpass-wrapper.py
post-extract:
${CP} ${FILESDIR}/roundcube.conf ${WRKSRC}/roundcube.conf
-pre-install:
- ${FIND} ${WRKSRC} -name "*.orig" -print | ${XARGS} ${RM} -f
-
do-install:
${INSTALL_DATA} ${WRKSRC}/INSTALL ${DESTDIR}${DOCDIR}
${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${DOCDIR}
@@ -121,7 +121,8 @@ do-install:
.for i in ${PAX_DIRS}
${INSTALL_DATA_DIR} ${DESTDIR}${RCDIR}/${i}
- cd ${WRKSRC}/${i} && ${PAX} -rw . ${DESTDIR}${RCDIR}/${i}
+ cd ${WRKSRC}/${i} && ${FIND} . -type f \! -name "*.orig" -print | \
+ ${PAX} -rw ${DESTDIR}${RCDIR}/${i}
${FIND} ${DESTDIR}${RCDIR}/${i} -type f | \
${XARGS} ${CHMOD} ${SHAREMODE}
${FIND} ${DESTDIR}${RCDIR}/${i} -type d | \
@@ -136,4 +137,7 @@ do-install:
${DESTDIR}${EGDIR}/plugins/${f}/config.inc.php
.endfor
+.include "../../mk/apache.mk"
+.include "options.mk"
+.include "../../lang/python/application.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/mail/roundcube/PLIST b/mail/roundcube/PLIST
index 59b5c712a4e..93c719dc00f 100644
--- a/mail/roundcube/PLIST
+++ b/mail/roundcube/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.27 2013/03/28 17:24:39 taca Exp $
+@comment $NetBSD: PLIST,v 1.28 2013/06/15 16:08:09 taca Exp $
share/doc/roundcube/INSTALL
share/doc/roundcube/LICENSE
share/doc/roundcube/README.md
@@ -19,24 +19,21 @@ share/examples/roundcube/plugins/squirrelmail_usercopy/config.inc.php
share/examples/roundcube/roundcube.conf
share/roundcube/.htaccess
share/roundcube/SQL/mssql.initial.sql
-share/roundcube/SQL/mssql.upgrade.sql
share/roundcube/SQL/mysql.initial.sql
-share/roundcube/SQL/mysql.update.sql
share/roundcube/SQL/postgres.initial.sql
-share/roundcube/SQL/postgres.update.sql
share/roundcube/SQL/sqlite.initial.sql
-share/roundcube/SQL/sqlite.update.sql
share/roundcube/bin/cleandb.sh
share/roundcube/bin/decrypt.sh
-share/roundcube/bin/exportgettext.sh
-share/roundcube/bin/importgettext.sh
share/roundcube/bin/indexcontacts.sh
share/roundcube/bin/installto.sh
share/roundcube/bin/jsshrink.sh
share/roundcube/bin/jsunshrink.sh
+share/roundcube/bin/moduserprefs.sh
share/roundcube/bin/msgexport.sh
share/roundcube/bin/msgimport.sh
share/roundcube/bin/update.sh
+share/roundcube/bin/updatecss.sh
+share/roundcube/bin/updatedb.sh
share/roundcube/index.php
share/roundcube/installer/check.php
share/roundcube/installer/client.js
@@ -51,9 +48,9 @@ share/roundcube/installer/index.php
share/roundcube/installer/rcube_install.php
share/roundcube/installer/styles.css
share/roundcube/installer/test.php
-share/roundcube/installer/utils.php
share/roundcube/plugins/acl/acl.js
share/roundcube/plugins/acl/acl.php
+share/roundcube/plugins/acl/localization/az_AZ.inc
share/roundcube/plugins/acl/localization/bs_BA.inc
share/roundcube/plugins/acl/localization/ca_ES.inc
share/roundcube/plugins/acl/localization/cs_CZ.inc
@@ -69,20 +66,26 @@ share/roundcube/plugins/acl/localization/et_EE.inc
share/roundcube/plugins/acl/localization/fa_IR.inc
share/roundcube/plugins/acl/localization/fi_FI.inc
share/roundcube/plugins/acl/localization/fr_FR.inc
+share/roundcube/plugins/acl/localization/gl_ES.inc
share/roundcube/plugins/acl/localization/he_IL.inc
share/roundcube/plugins/acl/localization/hu_HU.inc
share/roundcube/plugins/acl/localization/hy_AM.inc
+share/roundcube/plugins/acl/localization/id_ID.inc
share/roundcube/plugins/acl/localization/it_IT.inc
share/roundcube/plugins/acl/localization/ja_JP.inc
share/roundcube/plugins/acl/localization/ko_KR.inc
-share/roundcube/plugins/acl/localization/nb_NB.inc
+share/roundcube/plugins/acl/localization/lt_LT.inc
+share/roundcube/plugins/acl/localization/nb_NO.inc
share/roundcube/plugins/acl/localization/nl_NL.inc
+share/roundcube/plugins/acl/localization/nn_NO.inc
share/roundcube/plugins/acl/localization/pl_PL.inc
share/roundcube/plugins/acl/localization/pt_BR.inc
share/roundcube/plugins/acl/localization/pt_PT.inc
+share/roundcube/plugins/acl/localization/ro_RO.inc
share/roundcube/plugins/acl/localization/ru_RU.inc
share/roundcube/plugins/acl/localization/sk_SK.inc
share/roundcube/plugins/acl/localization/sl_SI.inc
+share/roundcube/plugins/acl/localization/sr_CS.inc
share/roundcube/plugins/acl/localization/sv_SE.inc
share/roundcube/plugins/acl/localization/tr_TR.inc
share/roundcube/plugins/acl/localization/vi_VN.inc
@@ -97,12 +100,17 @@ share/roundcube/plugins/acl/skins/larry/acl.css
share/roundcube/plugins/acl/skins/larry/images/enabled.png
share/roundcube/plugins/acl/skins/larry/images/partial.png
share/roundcube/plugins/acl/skins/larry/templates/table.html
+share/roundcube/plugins/acl/tests/Acl.php
share/roundcube/plugins/additional_message_headers/additional_message_headers.php
share/roundcube/plugins/additional_message_headers/package.xml
+share/roundcube/plugins/additional_message_headers/tests/AdditionalMessageHeaders.php
share/roundcube/plugins/archive/archive.js
share/roundcube/plugins/archive/archive.php
share/roundcube/plugins/archive/localization/ar_SA.inc
+share/roundcube/plugins/archive/localization/az_AZ.inc
share/roundcube/plugins/archive/localization/be_BE.inc
+share/roundcube/plugins/archive/localization/bg_BG.inc
+share/roundcube/plugins/archive/localization/br.inc
share/roundcube/plugins/archive/localization/bs_BA.inc
share/roundcube/plugins/archive/localization/ca_ES.inc
share/roundcube/plugins/archive/localization/cs_CZ.inc
@@ -128,15 +136,17 @@ share/roundcube/plugins/archive/localization/hy_AM.inc
share/roundcube/plugins/archive/localization/id_ID.inc
share/roundcube/plugins/archive/localization/it_IT.inc
share/roundcube/plugins/archive/localization/ja_JP.inc
+share/roundcube/plugins/archive/localization/km_KH.inc
share/roundcube/plugins/archive/localization/ko_KR.inc
share/roundcube/plugins/archive/localization/ku.inc
share/roundcube/plugins/archive/localization/lt_LT.inc
share/roundcube/plugins/archive/localization/lv_LV.inc
share/roundcube/plugins/archive/localization/ml_IN.inc
-share/roundcube/plugins/archive/localization/ml_ML.inc
share/roundcube/plugins/archive/localization/mr_IN.inc
share/roundcube/plugins/archive/localization/nb_NB.inc
+share/roundcube/plugins/archive/localization/nb_NO.inc
share/roundcube/plugins/archive/localization/nl_NL.inc
+share/roundcube/plugins/archive/localization/nn_NO.inc
share/roundcube/plugins/archive/localization/pl_PL.inc
share/roundcube/plugins/archive/localization/pt_BR.inc
share/roundcube/plugins/archive/localization/pt_PT.inc
@@ -158,14 +168,19 @@ share/roundcube/plugins/archive/skins/classic/archive_act.png
share/roundcube/plugins/archive/skins/classic/archive_pas.png
share/roundcube/plugins/archive/skins/classic/foldericon.png
share/roundcube/plugins/archive/skins/larry/.gitignore
+share/roundcube/plugins/archive/tests/Archive.php
share/roundcube/plugins/autologon/autologon.php
+share/roundcube/plugins/autologon/tests/Autologon.php
share/roundcube/plugins/database_attachments/database_attachments.php
share/roundcube/plugins/database_attachments/package.xml
+share/roundcube/plugins/database_attachments/tests/DatabaseAttachments.php
share/roundcube/plugins/debug_logger/debug_logger.php
share/roundcube/plugins/debug_logger/package.xml
share/roundcube/plugins/debug_logger/runlog/runlog.php
+share/roundcube/plugins/debug_logger/tests/DebugLogger.php
share/roundcube/plugins/emoticons/emoticons.php
share/roundcube/plugins/emoticons/package.xml
+share/roundcube/plugins/emoticons/tests/Emoticons.php
share/roundcube/plugins/enigma/README
share/roundcube/plugins/enigma/enigma.js
share/roundcube/plugins/enigma/enigma.php
@@ -200,14 +215,21 @@ share/roundcube/plugins/enigma/skins/classic/keys_toolbar.png
share/roundcube/plugins/enigma/skins/classic/templates/keyimport.html
share/roundcube/plugins/enigma/skins/classic/templates/keyinfo.html
share/roundcube/plugins/enigma/skins/classic/templates/keys.html
+share/roundcube/plugins/enigma/tests/Enigma.php
share/roundcube/plugins/example_addressbook/example_addressbook.php
share/roundcube/plugins/example_addressbook/example_addressbook_backend.php
share/roundcube/plugins/example_addressbook/package.xml
+share/roundcube/plugins/example_addressbook/tests/ExampleAddressbook.php
share/roundcube/plugins/filesystem_attachments/filesystem_attachments.php
share/roundcube/plugins/filesystem_attachments/package.xml
+share/roundcube/plugins/filesystem_attachments/tests/FilesystemAttachments.php
share/roundcube/plugins/help/content/about.html
share/roundcube/plugins/help/content/license.html
share/roundcube/plugins/help/help.php
+share/roundcube/plugins/help/localization/ar_SA.inc
+share/roundcube/plugins/help/localization/az_AZ.inc
+share/roundcube/plugins/help/localization/ber.inc
+share/roundcube/plugins/help/localization/br.inc
share/roundcube/plugins/help/localization/bs_BA.inc
share/roundcube/plugins/help/localization/ca_ES.inc
share/roundcube/plugins/help/localization/cs_CZ.inc
@@ -227,12 +249,15 @@ share/roundcube/plugins/help/localization/gl_ES.inc
share/roundcube/plugins/help/localization/he_IL.inc
share/roundcube/plugins/help/localization/hu_HU.inc
share/roundcube/plugins/help/localization/hy_AM.inc
+share/roundcube/plugins/help/localization/id_ID.inc
share/roundcube/plugins/help/localization/it_IT.inc
share/roundcube/plugins/help/localization/ja_JP.inc
+share/roundcube/plugins/help/localization/km_KH.inc
share/roundcube/plugins/help/localization/ko_KR.inc
share/roundcube/plugins/help/localization/lt_LT.inc
-share/roundcube/plugins/help/localization/nb_NB.inc
+share/roundcube/plugins/help/localization/nb_NO.inc
share/roundcube/plugins/help/localization/nl_NL.inc
+share/roundcube/plugins/help/localization/nn_NO.inc
share/roundcube/plugins/help/localization/pl_PL.inc
share/roundcube/plugins/help/localization/pt_BR.inc
share/roundcube/plugins/help/localization/pt_PT.inc
@@ -253,8 +278,10 @@ share/roundcube/plugins/help/skins/larry/help.css
share/roundcube/plugins/help/skins/larry/help.png
share/roundcube/plugins/help/skins/larry/icons.psd
share/roundcube/plugins/help/skins/larry/templates/help.html
+share/roundcube/plugins/help/tests/Help.php
share/roundcube/plugins/hide_blockquote/hide_blockquote.js
share/roundcube/plugins/hide_blockquote/hide_blockquote.php
+share/roundcube/plugins/hide_blockquote/localization/az_AZ.inc
share/roundcube/plugins/hide_blockquote/localization/bs_BA.inc
share/roundcube/plugins/hide_blockquote/localization/ca_ES.inc
share/roundcube/plugins/hide_blockquote/localization/cs_CZ.inc
@@ -274,12 +301,14 @@ share/roundcube/plugins/hide_blockquote/localization/gl_ES.inc
share/roundcube/plugins/hide_blockquote/localization/he_IL.inc
share/roundcube/plugins/hide_blockquote/localization/hu_HU.inc
share/roundcube/plugins/hide_blockquote/localization/hy_AM.inc
+share/roundcube/plugins/hide_blockquote/localization/id_ID.inc
share/roundcube/plugins/hide_blockquote/localization/it_IT.inc
share/roundcube/plugins/hide_blockquote/localization/ja_JP.inc
share/roundcube/plugins/hide_blockquote/localization/ko_KR.inc
share/roundcube/plugins/hide_blockquote/localization/lt_LT.inc
-share/roundcube/plugins/hide_blockquote/localization/nb_NB.inc
+share/roundcube/plugins/hide_blockquote/localization/nb_NO.inc
share/roundcube/plugins/hide_blockquote/localization/nl_NL.inc
+share/roundcube/plugins/hide_blockquote/localization/nn_NO.inc
share/roundcube/plugins/hide_blockquote/localization/pl_PL.inc
share/roundcube/plugins/hide_blockquote/localization/pt_BR.inc
share/roundcube/plugins/hide_blockquote/localization/pt_PT.inc
@@ -291,26 +320,34 @@ share/roundcube/plugins/hide_blockquote/localization/sv_SE.inc
share/roundcube/plugins/hide_blockquote/localization/tr_TR.inc
share/roundcube/plugins/hide_blockquote/localization/vi_VN.inc
share/roundcube/plugins/hide_blockquote/localization/zh_CN.inc
+share/roundcube/plugins/hide_blockquote/localization/zh_TW.inc
share/roundcube/plugins/hide_blockquote/package.xml
share/roundcube/plugins/hide_blockquote/skins/larry/style.css
+share/roundcube/plugins/hide_blockquote/tests/HideBlockquote.php
+share/roundcube/plugins/http_authentication/config.inc.php.dist
share/roundcube/plugins/http_authentication/http_authentication.php
share/roundcube/plugins/http_authentication/logout.html
share/roundcube/plugins/http_authentication/package.xml
+share/roundcube/plugins/http_authentication/tests/HttpAuthentication.php
share/roundcube/plugins/jqueryui/README
share/roundcube/plugins/jqueryui/jqueryui.php
share/roundcube/plugins/jqueryui/js/i18n/jquery-ui-i18n.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-af.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ar-DZ.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ar.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-az.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-bg.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-bs.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ca.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-cs.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-cy-GB.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-da.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-de-CH.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-de.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-el.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-AU.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-GB.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-en-NZ.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-eo.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-es.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-et.js
@@ -322,6 +359,7 @@ share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fr-CH.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-fr.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-gl.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-he.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-hi.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-hr.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-hu.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-hy.js
@@ -329,10 +367,16 @@ share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-id.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-is.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-it.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ja.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ka.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-kk.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-km.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ko.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-kz.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-lb.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-lt.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-lv.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-mk.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ml.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ms.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-nl-BE.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-nl.js
@@ -340,6 +384,7 @@ share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-no.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-pl.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-pt-BR.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-pt.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-rm.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ro.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ru.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sk.js
@@ -350,14 +395,16 @@ share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sr.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-sv.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-ta.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-th.js
+share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-tj.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-tr.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-uk.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-vi.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-CN.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-HK.js
share/roundcube/plugins/jqueryui/js/i18n/jquery.ui.datepicker-zh-TW.js
-share/roundcube/plugins/jqueryui/js/jquery-ui-1.8.18.custom.min.js
+share/roundcube/plugins/jqueryui/js/jquery-ui-1.9.1.custom.min.js
share/roundcube/plugins/jqueryui/package.xml
+share/roundcube/plugins/jqueryui/tests/Jqueryui.php
share/roundcube/plugins/jqueryui/themes/classic/images/buttongradient.png
share/roundcube/plugins/jqueryui/themes/classic/images/listheader.png
share/roundcube/plugins/jqueryui/themes/classic/images/ui-bg_flat_0_aaaaaa_40x100.png
@@ -372,7 +419,7 @@ share/roundcube/plugins/jqueryui/themes/classic/images/ui-icons_333333_256x240.p
share/roundcube/plugins/jqueryui/themes/classic/images/ui-icons_666666_256x240.png
share/roundcube/plugins/jqueryui/themes/classic/images/ui-icons_cc3333_256x240.png
share/roundcube/plugins/jqueryui/themes/classic/images/ui-icons_dddddd_256x240.png
-share/roundcube/plugins/jqueryui/themes/classic/jquery-ui-1.8.18.custom.css
+share/roundcube/plugins/jqueryui/themes/classic/jquery-ui-1.9.1.custom.css
share/roundcube/plugins/jqueryui/themes/classic/roundcube-custom.diff
share/roundcube/plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_55_b0ccd7_1x100.png
share/roundcube/plugins/jqueryui/themes/larry/images/ui-bg_highlight-hard_65_ffffff_1x100.png
@@ -384,8 +431,7 @@ share/roundcube/plugins/jqueryui/themes/larry/images/ui-dialog-close.png
share/roundcube/plugins/jqueryui/themes/larry/images/ui-icons-datepicker.png
share/roundcube/plugins/jqueryui/themes/larry/images/ui-icons_004458_256x240.png
share/roundcube/plugins/jqueryui/themes/larry/images/ui-icons_d7211e_256x240.png
-share/roundcube/plugins/jqueryui/themes/larry/images/ui-icons_ffffff_256x240.png
-share/roundcube/plugins/jqueryui/themes/larry/jquery-ui-1.8.18.custom.css
+share/roundcube/plugins/jqueryui/themes/larry/jquery-ui-1.9.1.custom.css
share/roundcube/plugins/jqueryui/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png
share/roundcube/plugins/jqueryui/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png
share/roundcube/plugins/jqueryui/themes/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png
@@ -401,11 +447,12 @@ share/roundcube/plugins/jqueryui/themes/redmond/images/ui-icons_6da8d5_256x240.p
share/roundcube/plugins/jqueryui/themes/redmond/images/ui-icons_cd0a0a_256x240.png
share/roundcube/plugins/jqueryui/themes/redmond/images/ui-icons_d8e7f3_256x240.png
share/roundcube/plugins/jqueryui/themes/redmond/images/ui-icons_f9bd01_256x240.png
-share/roundcube/plugins/jqueryui/themes/redmond/jquery-ui-1.8.18.custom.css
+share/roundcube/plugins/jqueryui/themes/redmond/jquery-ui-1.9.1.custom.css
share/roundcube/plugins/managesieve/Changelog
share/roundcube/plugins/managesieve/lib/Net/Sieve.php
-share/roundcube/plugins/managesieve/lib/rcube_sieve.php
-share/roundcube/plugins/managesieve/lib/rcube_sieve_script.php
+share/roundcube/plugins/managesieve/lib/Roundcube/rcube_sieve.php
+share/roundcube/plugins/managesieve/lib/Roundcube/rcube_sieve_script.php
+share/roundcube/plugins/managesieve/localization/az_AZ.inc
share/roundcube/plugins/managesieve/localization/be_BE.inc
share/roundcube/plugins/managesieve/localization/bg_BG.inc
share/roundcube/plugins/managesieve/localization/bs_BA.inc
@@ -431,7 +478,6 @@ share/roundcube/plugins/managesieve/localization/hr_HR.inc
share/roundcube/plugins/managesieve/localization/hu_HU.inc
share/roundcube/plugins/managesieve/localization/hy_AM.inc
share/roundcube/plugins/managesieve/localization/ia.inc
-share/roundcube/plugins/managesieve/localization/ia_IA.inc
share/roundcube/plugins/managesieve/localization/id_ID.inc
share/roundcube/plugins/managesieve/localization/it_IT.inc
share/roundcube/plugins/managesieve/localization/ja_JP.inc
@@ -439,10 +485,10 @@ share/roundcube/plugins/managesieve/localization/ko_KR.inc
share/roundcube/plugins/managesieve/localization/lt_LT.inc
share/roundcube/plugins/managesieve/localization/lv_LV.inc
share/roundcube/plugins/managesieve/localization/ml_IN.inc
-share/roundcube/plugins/managesieve/localization/ml_ML.inc
share/roundcube/plugins/managesieve/localization/mr_IN.inc
share/roundcube/plugins/managesieve/localization/nb_NO.inc
share/roundcube/plugins/managesieve/localization/nl_NL.inc
+share/roundcube/plugins/managesieve/localization/nn_NO.inc
share/roundcube/plugins/managesieve/localization/pl_PL.inc
share/roundcube/plugins/managesieve/localization/pt_BR.inc
share/roundcube/plugins/managesieve/localization/pt_PT.inc
@@ -479,19 +525,29 @@ share/roundcube/plugins/managesieve/skins/larry/managesieve_mail.css
share/roundcube/plugins/managesieve/skins/larry/templates/filteredit.html
share/roundcube/plugins/managesieve/skins/larry/templates/managesieve.html
share/roundcube/plugins/managesieve/skins/larry/templates/setedit.html
-share/roundcube/plugins/managesieve/tests/Makefile
-share/roundcube/plugins/managesieve/tests/parser.phpt
-share/roundcube/plugins/managesieve/tests/parser_body.phpt
-share/roundcube/plugins/managesieve/tests/parser_imapflags.phpt
-share/roundcube/plugins/managesieve/tests/parser_include.phpt
-share/roundcube/plugins/managesieve/tests/parser_kep14.phpt
-share/roundcube/plugins/managesieve/tests/parser_prefix.phpt
-share/roundcube/plugins/managesieve/tests/parser_relational.phpt
-share/roundcube/plugins/managesieve/tests/parser_vacation.phpt
-share/roundcube/plugins/managesieve/tests/parser_variables.phpt
-share/roundcube/plugins/managesieve/tests/parset_subaddress.phpt
-share/roundcube/plugins/managesieve/tests/tokenize.phpt
+share/roundcube/plugins/managesieve/tests/Managesieve.php
+share/roundcube/plugins/managesieve/tests/Parser.php
+share/roundcube/plugins/managesieve/tests/Tokenizer.php
+share/roundcube/plugins/managesieve/tests/src/parser
+share/roundcube/plugins/managesieve/tests/src/parser.out
+share/roundcube/plugins/managesieve/tests/src/parser_body
+share/roundcube/plugins/managesieve/tests/src/parser_enotify_a
+share/roundcube/plugins/managesieve/tests/src/parser_enotify_b
+share/roundcube/plugins/managesieve/tests/src/parser_imapflags
+share/roundcube/plugins/managesieve/tests/src/parser_include
+share/roundcube/plugins/managesieve/tests/src/parser_kep14
+share/roundcube/plugins/managesieve/tests/src/parser_kep14.out
+share/roundcube/plugins/managesieve/tests/src/parser_notify_a
+share/roundcube/plugins/managesieve/tests/src/parser_notify_b
+share/roundcube/plugins/managesieve/tests/src/parser_prefix
+share/roundcube/plugins/managesieve/tests/src/parser_relational
+share/roundcube/plugins/managesieve/tests/src/parser_subaddress
+share/roundcube/plugins/managesieve/tests/src/parser_vacation
+share/roundcube/plugins/managesieve/tests/src/parser_variables
+share/roundcube/plugins/markasjunk/localization/az_AZ.inc
share/roundcube/plugins/markasjunk/localization/be_BE.inc
+share/roundcube/plugins/markasjunk/localization/ber.inc
+share/roundcube/plugins/markasjunk/localization/br.inc
share/roundcube/plugins/markasjunk/localization/bs_BA.inc
share/roundcube/plugins/markasjunk/localization/ca_ES.inc
share/roundcube/plugins/markasjunk/localization/cs_CZ.inc
@@ -517,15 +573,16 @@ share/roundcube/plugins/markasjunk/localization/hy_AM.inc
share/roundcube/plugins/markasjunk/localization/id_ID.inc
share/roundcube/plugins/markasjunk/localization/it_IT.inc
share/roundcube/plugins/markasjunk/localization/ja_JP.inc
+share/roundcube/plugins/markasjunk/localization/km_KH.inc
share/roundcube/plugins/markasjunk/localization/ko_KR.inc
share/roundcube/plugins/markasjunk/localization/ku.inc
share/roundcube/plugins/markasjunk/localization/lt_LT.inc
share/roundcube/plugins/markasjunk/localization/lv_LV.inc
share/roundcube/plugins/markasjunk/localization/ml_IN.inc
-share/roundcube/plugins/markasjunk/localization/ml_ML.inc
share/roundcube/plugins/markasjunk/localization/mr_IN.inc
-share/roundcube/plugins/markasjunk/localization/nb_NB.inc
+share/roundcube/plugins/markasjunk/localization/nb_NO.inc
share/roundcube/plugins/markasjunk/localization/nl_NL.inc
+share/roundcube/plugins/markasjunk/localization/nn_NO.inc
share/roundcube/plugins/markasjunk/localization/pl_PL.inc
share/roundcube/plugins/markasjunk/localization/pt_BR.inc
share/roundcube/plugins/markasjunk/localization/pt_PT.inc
@@ -548,6 +605,8 @@ share/roundcube/plugins/markasjunk/skins/classic/junk_act.png
share/roundcube/plugins/markasjunk/skins/classic/junk_pas.png
share/roundcube/plugins/markasjunk/skins/classic/markasjunk.css
share/roundcube/plugins/markasjunk/skins/larry/.gitignore
+share/roundcube/plugins/markasjunk/tests/Markasjunk.php
+share/roundcube/plugins/new_user_dialog/localization/az_AZ.inc
share/roundcube/plugins/new_user_dialog/localization/be_BE.inc
share/roundcube/plugins/new_user_dialog/localization/bg_BG.inc
share/roundcube/plugins/new_user_dialog/localization/bs_BA.inc
@@ -574,15 +633,16 @@ share/roundcube/plugins/new_user_dialog/localization/hy_AM.inc
share/roundcube/plugins/new_user_dialog/localization/id_ID.inc
share/roundcube/plugins/new_user_dialog/localization/it_IT.inc
share/roundcube/plugins/new_user_dialog/localization/ja_JP.inc
+share/roundcube/plugins/new_user_dialog/localization/km_KH.inc
share/roundcube/plugins/new_user_dialog/localization/ko_KR.inc
share/roundcube/plugins/new_user_dialog/localization/ku.inc
share/roundcube/plugins/new_user_dialog/localization/lt_LT.inc
share/roundcube/plugins/new_user_dialog/localization/lv_LV.inc
share/roundcube/plugins/new_user_dialog/localization/ml_IN.inc
-share/roundcube/plugins/new_user_dialog/localization/ml_ML.inc
share/roundcube/plugins/new_user_dialog/localization/mr_IN.inc
-share/roundcube/plugins/new_user_dialog/localization/nb_NB.inc
+share/roundcube/plugins/new_user_dialog/localization/nb_NO.inc
share/roundcube/plugins/new_user_dialog/localization/nl_NL.inc
+share/roundcube/plugins/new_user_dialog/localization/nn_NO.inc
share/roundcube/plugins/new_user_dialog/localization/pl_PL.inc
share/roundcube/plugins/new_user_dialog/localization/pt_BR.inc
share/roundcube/plugins/new_user_dialog/localization/pt_PT.inc
@@ -600,10 +660,15 @@ share/roundcube/plugins/new_user_dialog/localization/zh_TW.inc
share/roundcube/plugins/new_user_dialog/new_user_dialog.php
share/roundcube/plugins/new_user_dialog/newuserdialog.css
share/roundcube/plugins/new_user_dialog/package.xml
+share/roundcube/plugins/new_user_dialog/tests/NewUserDialog.php
share/roundcube/plugins/new_user_identity/new_user_identity.php
share/roundcube/plugins/new_user_identity/package.xml
+share/roundcube/plugins/new_user_identity/tests/NewUserIdentity.php
share/roundcube/plugins/newmail_notifier/favicon.ico
+share/roundcube/plugins/newmail_notifier/localization/ar_SA.inc
+share/roundcube/plugins/newmail_notifier/localization/az_AZ.inc
share/roundcube/plugins/newmail_notifier/localization/be_BE.inc
+share/roundcube/plugins/newmail_notifier/localization/br.inc
share/roundcube/plugins/newmail_notifier/localization/bs_BA.inc
share/roundcube/plugins/newmail_notifier/localization/ca_ES.inc
share/roundcube/plugins/newmail_notifier/localization/cs_CZ.inc
@@ -625,18 +690,18 @@ share/roundcube/plugins/newmail_notifier/localization/hr_HR.inc
share/roundcube/plugins/newmail_notifier/localization/hu_HU.inc
share/roundcube/plugins/newmail_notifier/localization/hy_AM.inc
share/roundcube/plugins/newmail_notifier/localization/ia.inc
-share/roundcube/plugins/newmail_notifier/localization/ia_IA.inc
share/roundcube/plugins/newmail_notifier/localization/id_ID.inc
share/roundcube/plugins/newmail_notifier/localization/it_IT.inc
share/roundcube/plugins/newmail_notifier/localization/ja_JP.inc
+share/roundcube/plugins/newmail_notifier/localization/km_KH.inc
share/roundcube/plugins/newmail_notifier/localization/ko_KR.inc
share/roundcube/plugins/newmail_notifier/localization/lt_LT.inc
share/roundcube/plugins/newmail_notifier/localization/lv_LV.inc
share/roundcube/plugins/newmail_notifier/localization/ml_IN.inc
-share/roundcube/plugins/newmail_notifier/localization/ml_ML.inc
share/roundcube/plugins/newmail_notifier/localization/mr_IN.inc
-share/roundcube/plugins/newmail_notifier/localization/nb_NB.inc
+share/roundcube/plugins/newmail_notifier/localization/nb_NO.inc
share/roundcube/plugins/newmail_notifier/localization/nl_NL.inc
+share/roundcube/plugins/newmail_notifier/localization/nn_NO.inc
share/roundcube/plugins/newmail_notifier/localization/pl_PL.inc
share/roundcube/plugins/newmail_notifier/localization/pt_BR.inc
share/roundcube/plugins/newmail_notifier/localization/pt_PT.inc
@@ -657,6 +722,7 @@ share/roundcube/plugins/newmail_notifier/newmail_notifier.js
share/roundcube/plugins/newmail_notifier/newmail_notifier.php
share/roundcube/plugins/newmail_notifier/package.xml
share/roundcube/plugins/newmail_notifier/sound.wav
+share/roundcube/plugins/newmail_notifier/tests/NewmailNotifier.php
share/roundcube/plugins/password/README
share/roundcube/plugins/password/drivers/chpasswd.php
share/roundcube/plugins/password/drivers/cpanel.php
@@ -683,7 +749,9 @@ share/roundcube/plugins/password/helpers/chgvirtualminpasswd.c
share/roundcube/plugins/password/helpers/chpass-wrapper.py
share/roundcube/plugins/password/helpers/passwd-expect
share/roundcube/plugins/password/localization/az_AZ.inc
+share/roundcube/plugins/password/localization/ber.inc
share/roundcube/plugins/password/localization/bg_BG.inc
+share/roundcube/plugins/password/localization/br.inc
share/roundcube/plugins/password/localization/bs_BA.inc
share/roundcube/plugins/password/localization/ca_ES.inc
share/roundcube/plugins/password/localization/cs_CZ.inc
@@ -705,16 +773,20 @@ share/roundcube/plugins/password/localization/he_IL.inc
share/roundcube/plugins/password/localization/hr_HR.inc
share/roundcube/plugins/password/localization/hu_HU.inc
share/roundcube/plugins/password/localization/hy_AM.inc
+share/roundcube/plugins/password/localization/id_ID.inc
share/roundcube/plugins/password/localization/it_IT.inc
share/roundcube/plugins/password/localization/ja_JP.inc
share/roundcube/plugins/password/localization/ko_KR.inc
+share/roundcube/plugins/password/localization/ku.inc
share/roundcube/plugins/password/localization/lt_LT.inc
share/roundcube/plugins/password/localization/lv_LV.inc
-share/roundcube/plugins/password/localization/nb_NB.inc
+share/roundcube/plugins/password/localization/nb_NO.inc
share/roundcube/plugins/password/localization/nl_NL.inc
+share/roundcube/plugins/password/localization/nn_NO.inc
share/roundcube/plugins/password/localization/pl_PL.inc
share/roundcube/plugins/password/localization/pt_BR.inc
share/roundcube/plugins/password/localization/pt_PT.inc
+share/roundcube/plugins/password/localization/ro_RO.inc
share/roundcube/plugins/password/localization/ru_RU.inc
share/roundcube/plugins/password/localization/sk_SK.inc
share/roundcube/plugins/password/localization/sl_SI.inc
@@ -727,11 +799,15 @@ share/roundcube/plugins/password/localization/zh_TW.inc
share/roundcube/plugins/password/package.xml
share/roundcube/plugins/password/password.js
share/roundcube/plugins/password/password.php
+share/roundcube/plugins/password/tests/Password.php
share/roundcube/plugins/redundant_attachments/package.xml
share/roundcube/plugins/redundant_attachments/redundant_attachments.php
+share/roundcube/plugins/redundant_attachments/tests/RedundantAttachments.php
share/roundcube/plugins/show_additional_headers/package.xml
share/roundcube/plugins/show_additional_headers/show_additional_headers.php
+share/roundcube/plugins/show_additional_headers/tests/ShowAdditionalHeaders.php
share/roundcube/plugins/squirrelmail_usercopy/squirrelmail_usercopy.php
+share/roundcube/plugins/squirrelmail_usercopy/tests/SquirrelmailUsercopy.php
share/roundcube/plugins/subscriptions_option/localization/bs_BA.inc
share/roundcube/plugins/subscriptions_option/localization/ca_ES.inc
share/roundcube/plugins/subscriptions_option/localization/cs_CZ.inc
@@ -741,6 +817,7 @@ share/roundcube/plugins/subscriptions_option/localization/de_CH.inc
share/roundcube/plugins/subscriptions_option/localization/de_DE.inc
share/roundcube/plugins/subscriptions_option/localization/en_GB.inc
share/roundcube/plugins/subscriptions_option/localization/en_US.inc
+share/roundcube/plugins/subscriptions_option/localization/eo.inc
share/roundcube/plugins/subscriptions_option/localization/es_ES.inc
share/roundcube/plugins/subscriptions_option/localization/et_EE.inc
share/roundcube/plugins/subscriptions_option/localization/fa_IR.inc
@@ -750,9 +827,11 @@ share/roundcube/plugins/subscriptions_option/localization/gl_ES.inc
share/roundcube/plugins/subscriptions_option/localization/he_IL.inc
share/roundcube/plugins/subscriptions_option/localization/hu_HU.inc
share/roundcube/plugins/subscriptions_option/localization/hy_AM.inc
+share/roundcube/plugins/subscriptions_option/localization/it_IT.inc
share/roundcube/plugins/subscriptions_option/localization/ja_JP.inc
share/roundcube/plugins/subscriptions_option/localization/ko_KR.inc
share/roundcube/plugins/subscriptions_option/localization/lt_LT.inc
+share/roundcube/plugins/subscriptions_option/localization/nb_NO.inc
share/roundcube/plugins/subscriptions_option/localization/nl_NL.inc
share/roundcube/plugins/subscriptions_option/localization/pl_PL.inc
share/roundcube/plugins/subscriptions_option/localization/pt_BR.inc
@@ -763,11 +842,17 @@ share/roundcube/plugins/subscriptions_option/localization/sl_SI.inc
share/roundcube/plugins/subscriptions_option/localization/sr_CS.inc
share/roundcube/plugins/subscriptions_option/localization/sv_SE.inc
share/roundcube/plugins/subscriptions_option/localization/tr_TR.inc
+share/roundcube/plugins/subscriptions_option/localization/vi_VN.inc
+share/roundcube/plugins/subscriptions_option/localization/zh_CN.inc
share/roundcube/plugins/subscriptions_option/localization/zh_TW.inc
share/roundcube/plugins/subscriptions_option/package.xml
share/roundcube/plugins/subscriptions_option/subscriptions_option.php
+share/roundcube/plugins/subscriptions_option/tests/SubscriptionsOption.php
share/roundcube/plugins/userinfo/localization/ar_SA.inc
+share/roundcube/plugins/userinfo/localization/az_AZ.inc
share/roundcube/plugins/userinfo/localization/be_BE.inc
+share/roundcube/plugins/userinfo/localization/ber.inc
+share/roundcube/plugins/userinfo/localization/br.inc
share/roundcube/plugins/userinfo/localization/bs_BA.inc
share/roundcube/plugins/userinfo/localization/ca_ES.inc
share/roundcube/plugins/userinfo/localization/cs_CZ.inc
@@ -789,19 +874,19 @@ share/roundcube/plugins/userinfo/localization/hr_HR.inc
share/roundcube/plugins/userinfo/localization/hu_HU.inc
share/roundcube/plugins/userinfo/localization/hy_AM.inc
share/roundcube/plugins/userinfo/localization/ia.inc
-share/roundcube/plugins/userinfo/localization/ia_IA.inc
share/roundcube/plugins/userinfo/localization/id_ID.inc
share/roundcube/plugins/userinfo/localization/it_IT.inc
share/roundcube/plugins/userinfo/localization/ja_JP.inc
+share/roundcube/plugins/userinfo/localization/km_KH.inc
share/roundcube/plugins/userinfo/localization/ko_KR.inc
share/roundcube/plugins/userinfo/localization/ku.inc
share/roundcube/plugins/userinfo/localization/lt_LT.inc
share/roundcube/plugins/userinfo/localization/lv_LV.inc
share/roundcube/plugins/userinfo/localization/ml_IN.inc
-share/roundcube/plugins/userinfo/localization/ml_ML.inc
share/roundcube/plugins/userinfo/localization/mr_IN.inc
-share/roundcube/plugins/userinfo/localization/nb_NB.inc
+share/roundcube/plugins/userinfo/localization/nb_NO.inc
share/roundcube/plugins/userinfo/localization/nl_NL.inc
+share/roundcube/plugins/userinfo/localization/nn_NO.inc
share/roundcube/plugins/userinfo/localization/pl_PL.inc
share/roundcube/plugins/userinfo/localization/pt_BR.inc
share/roundcube/plugins/userinfo/localization/pt_PT.inc
@@ -817,8 +902,10 @@ share/roundcube/plugins/userinfo/localization/vi_VN.inc
share/roundcube/plugins/userinfo/localization/zh_CN.inc
share/roundcube/plugins/userinfo/localization/zh_TW.inc
share/roundcube/plugins/userinfo/package.xml
+share/roundcube/plugins/userinfo/tests/Userinfo.php
share/roundcube/plugins/userinfo/userinfo.js
share/roundcube/plugins/userinfo/userinfo.php
+share/roundcube/plugins/vcard_attachments/localization/az_AZ.inc
share/roundcube/plugins/vcard_attachments/localization/be_BE.inc
share/roundcube/plugins/vcard_attachments/localization/bs_BA.inc
share/roundcube/plugins/vcard_attachments/localization/ca_ES.inc
@@ -843,14 +930,15 @@ share/roundcube/plugins/vcard_attachments/localization/hy_AM.inc
share/roundcube/plugins/vcard_attachments/localization/id_ID.inc
share/roundcube/plugins/vcard_attachments/localization/it_IT.inc
share/roundcube/plugins/vcard_attachments/localization/ja_JP.inc
+share/roundcube/plugins/vcard_attachments/localization/km_KH.inc
share/roundcube/plugins/vcard_attachments/localization/ko_KR.inc
share/roundcube/plugins/vcard_attachments/localization/lt_LT.inc
share/roundcube/plugins/vcard_attachments/localization/lv_LV.inc
share/roundcube/plugins/vcard_attachments/localization/ml_IN.inc
-share/roundcube/plugins/vcard_attachments/localization/ml_ML.inc
share/roundcube/plugins/vcard_attachments/localization/mr_IN.inc
-share/roundcube/plugins/vcard_attachments/localization/nb_NB.inc
+share/roundcube/plugins/vcard_attachments/localization/nb_NO.inc
share/roundcube/plugins/vcard_attachments/localization/nl_NL.inc
+share/roundcube/plugins/vcard_attachments/localization/nn_NO.inc
share/roundcube/plugins/vcard_attachments/localization/pl_PL.inc
share/roundcube/plugins/vcard_attachments/localization/pt_BR.inc
share/roundcube/plugins/vcard_attachments/localization/pt_PT.inc
@@ -873,52 +961,72 @@ share/roundcube/plugins/vcard_attachments/skins/classic/vcard_add_contact.png
share/roundcube/plugins/vcard_attachments/skins/larry/style.css
share/roundcube/plugins/vcard_attachments/skins/larry/vcard.png
share/roundcube/plugins/vcard_attachments/skins/larry/vcard_add_contact.png
+share/roundcube/plugins/vcard_attachments/tests/VcardAttachments.php
share/roundcube/plugins/vcard_attachments/vcard_attachments.php
share/roundcube/plugins/vcard_attachments/vcardattach.js
share/roundcube/plugins/virtuser_file/package.xml
+share/roundcube/plugins/virtuser_file/tests/VirtuserFile.php
share/roundcube/plugins/virtuser_file/virtuser_file.php
share/roundcube/plugins/virtuser_query/package.xml
+share/roundcube/plugins/virtuser_query/tests/VirtuserQuery.php
share/roundcube/plugins/virtuser_query/virtuser_query.php
+share/roundcube/plugins/zipdownload/CHANGELOG
+share/roundcube/plugins/zipdownload/README
+share/roundcube/plugins/zipdownload/config.inc.php.dist
+share/roundcube/plugins/zipdownload/localization/az_AZ.inc
+share/roundcube/plugins/zipdownload/localization/br.inc
+share/roundcube/plugins/zipdownload/localization/bs_BA.inc
+share/roundcube/plugins/zipdownload/localization/ca_ES.inc
+share/roundcube/plugins/zipdownload/localization/cs_CZ.inc
+share/roundcube/plugins/zipdownload/localization/cy_GB.inc
+share/roundcube/plugins/zipdownload/localization/da_DK.inc
+share/roundcube/plugins/zipdownload/localization/de_CH.inc
+share/roundcube/plugins/zipdownload/localization/de_DE.inc
+share/roundcube/plugins/zipdownload/localization/en_GB.inc
+share/roundcube/plugins/zipdownload/localization/en_US.inc
+share/roundcube/plugins/zipdownload/localization/es_AR.inc
+share/roundcube/plugins/zipdownload/localization/es_ES.inc
+share/roundcube/plugins/zipdownload/localization/et_EE.inc
+share/roundcube/plugins/zipdownload/localization/fa_IR.inc
+share/roundcube/plugins/zipdownload/localization/fr_FR.inc
+share/roundcube/plugins/zipdownload/localization/gl_ES.inc
+share/roundcube/plugins/zipdownload/localization/he_IL.inc
+share/roundcube/plugins/zipdownload/localization/hu_HU.inc
+share/roundcube/plugins/zipdownload/localization/it_IT.inc
+share/roundcube/plugins/zipdownload/localization/ja_JP.inc
+share/roundcube/plugins/zipdownload/localization/km_KH.inc
+share/roundcube/plugins/zipdownload/localization/lt_LT.inc
+share/roundcube/plugins/zipdownload/localization/nb_NO.inc
+share/roundcube/plugins/zipdownload/localization/nl_NL.inc
+share/roundcube/plugins/zipdownload/localization/nn_NO.inc
+share/roundcube/plugins/zipdownload/localization/pl_PL.inc
+share/roundcube/plugins/zipdownload/localization/pt_BR.inc
+share/roundcube/plugins/zipdownload/localization/pt_PT.inc
+share/roundcube/plugins/zipdownload/localization/ro_RO.inc
+share/roundcube/plugins/zipdownload/localization/ru_RU.inc
+share/roundcube/plugins/zipdownload/localization/sk_SK.inc
+share/roundcube/plugins/zipdownload/localization/sr_CS.inc
+share/roundcube/plugins/zipdownload/localization/sv_SE.inc
+share/roundcube/plugins/zipdownload/localization/tr_TR.inc
+share/roundcube/plugins/zipdownload/localization/vi_VN.inc
+share/roundcube/plugins/zipdownload/localization/zh_TW.inc
+share/roundcube/plugins/zipdownload/package.xml
+share/roundcube/plugins/zipdownload/skins/classic/zip.png
+share/roundcube/plugins/zipdownload/skins/classic/zipdownload.css
+share/roundcube/plugins/zipdownload/skins/larry/zipdownload.css
+share/roundcube/plugins/zipdownload/tests/Zipdownload.php
+share/roundcube/plugins/zipdownload/zipdownload.js
+share/roundcube/plugins/zipdownload/zipdownload.php
share/roundcube/program/.htaccess
-share/roundcube/program/blank.gif
-share/roundcube/program/blocked.gif
+share/roundcube/program/include/bc.php
share/roundcube/program/include/clisetup.php
-share/roundcube/program/include/html.php
share/roundcube/program/include/iniset.php
-share/roundcube/program/include/main.inc
share/roundcube/program/include/rcmail.php
-share/roundcube/program/include/rcube_addressbook.php
-share/roundcube/program/include/rcube_browser.php
-share/roundcube/program/include/rcube_cache.php
-share/roundcube/program/include/rcube_charset.php
-share/roundcube/program/include/rcube_config.php
-share/roundcube/program/include/rcube_contacts.php
-share/roundcube/program/include/rcube_content_filter.php
-share/roundcube/program/include/rcube_html_page.php
-share/roundcube/program/include/rcube_image.php
-share/roundcube/program/include/rcube_imap.php
-share/roundcube/program/include/rcube_imap_cache.php
-share/roundcube/program/include/rcube_imap_generic.php
-share/roundcube/program/include/rcube_json_output.php
-share/roundcube/program/include/rcube_ldap.php
-share/roundcube/program/include/rcube_mdb2.php
-share/roundcube/program/include/rcube_message.php
-share/roundcube/program/include/rcube_mime.php
-share/roundcube/program/include/rcube_plugin.php
-share/roundcube/program/include/rcube_plugin_api.php
-share/roundcube/program/include/rcube_result_index.php
-share/roundcube/program/include/rcube_result_set.php
-share/roundcube/program/include/rcube_result_thread.php
-share/roundcube/program/include/rcube_session.php
-share/roundcube/program/include/rcube_shared.inc
-share/roundcube/program/include/rcube_smtp.php
-share/roundcube/program/include/rcube_spellchecker.php
-share/roundcube/program/include/rcube_sqlite.inc
-share/roundcube/program/include/rcube_storage.php
-share/roundcube/program/include/rcube_string_replacer.php
-share/roundcube/program/include/rcube_template.php
-share/roundcube/program/include/rcube_user.php
-share/roundcube/program/include/rcube_vcard.php
+share/roundcube/program/include/rcmail_html_page.php
+share/roundcube/program/include/rcmail_output.php
+share/roundcube/program/include/rcmail_output_html.php
+share/roundcube/program/include/rcmail_output_json.php
+share/roundcube/program/include/rcmail_string_replacer.php
share/roundcube/program/js/app.js
share/roundcube/program/js/app.js.src
share/roundcube/program/js/common.js
@@ -927,6 +1035,7 @@ share/roundcube/program/js/editor.js
share/roundcube/program/js/googiespell.js
share/roundcube/program/js/googiespell.js.src
share/roundcube/program/js/jquery.min.js
+share/roundcube/program/js/jstz.min.js
share/roundcube/program/js/list.js
share/roundcube/program/js/list.js.src
share/roundcube/program/js/tiny_mce/langs/ar.js
@@ -2082,10 +2191,52 @@ share/roundcube/program/js/tiny_mce/utils/editable_selects.js
share/roundcube/program/js/tiny_mce/utils/form_utils.js
share/roundcube/program/js/tiny_mce/utils/mctabs.js
share/roundcube/program/js/tiny_mce/utils/validate.js
-share/roundcube/program/lib/enriched.inc
-share/roundcube/program/lib/html2text.php
+share/roundcube/program/lib/Roundcube/README.md
+share/roundcube/program/lib/Roundcube/bootstrap.php
+share/roundcube/program/lib/Roundcube/html.php
+share/roundcube/program/lib/Roundcube/rcube.php
+share/roundcube/program/lib/Roundcube/rcube_addressbook.php
+share/roundcube/program/lib/Roundcube/rcube_base_replacer.php
+share/roundcube/program/lib/Roundcube/rcube_browser.php
+share/roundcube/program/lib/Roundcube/rcube_cache.php
+share/roundcube/program/lib/Roundcube/rcube_charset.php
+share/roundcube/program/lib/Roundcube/rcube_config.php
+share/roundcube/program/lib/Roundcube/rcube_contacts.php
+share/roundcube/program/lib/Roundcube/rcube_content_filter.php
+share/roundcube/program/lib/Roundcube/rcube_csv2vcard.php
+share/roundcube/program/lib/Roundcube/rcube_db.php
+share/roundcube/program/lib/Roundcube/rcube_db_mssql.php
+share/roundcube/program/lib/Roundcube/rcube_db_mysql.php
+share/roundcube/program/lib/Roundcube/rcube_db_pgsql.php
+share/roundcube/program/lib/Roundcube/rcube_db_sqlite.php
+share/roundcube/program/lib/Roundcube/rcube_db_sqlsrv.php
+share/roundcube/program/lib/Roundcube/rcube_enriched.php
+share/roundcube/program/lib/Roundcube/rcube_html2text.php
+share/roundcube/program/lib/Roundcube/rcube_image.php
+share/roundcube/program/lib/Roundcube/rcube_imap.php
+share/roundcube/program/lib/Roundcube/rcube_imap_cache.php
+share/roundcube/program/lib/Roundcube/rcube_imap_generic.php
+share/roundcube/program/lib/Roundcube/rcube_ldap.php
+share/roundcube/program/lib/Roundcube/rcube_message.php
+share/roundcube/program/lib/Roundcube/rcube_message_header.php
+share/roundcube/program/lib/Roundcube/rcube_message_part.php
+share/roundcube/program/lib/Roundcube/rcube_mime.php
+share/roundcube/program/lib/Roundcube/rcube_output.php
+share/roundcube/program/lib/Roundcube/rcube_plugin.php
+share/roundcube/program/lib/Roundcube/rcube_plugin_api.php
+share/roundcube/program/lib/Roundcube/rcube_result_index.php
+share/roundcube/program/lib/Roundcube/rcube_result_set.php
+share/roundcube/program/lib/Roundcube/rcube_result_thread.php
+share/roundcube/program/lib/Roundcube/rcube_session.php
+share/roundcube/program/lib/Roundcube/rcube_smtp.php
+share/roundcube/program/lib/Roundcube/rcube_spellchecker.php
+share/roundcube/program/lib/Roundcube/rcube_storage.php
+share/roundcube/program/lib/Roundcube/rcube_string_replacer.php
+share/roundcube/program/lib/Roundcube/rcube_user.php
+share/roundcube/program/lib/Roundcube/rcube_utils.php
+share/roundcube/program/lib/Roundcube/rcube_vcard.php
+share/roundcube/program/lib/Roundcube/rcube_washtml.php
share/roundcube/program/lib/tnef_decoder.php
-share/roundcube/program/lib/washtml.php
share/roundcube/program/localization/ar_SA/labels.inc
share/roundcube/program/localization/ar_SA/messages.inc
share/roundcube/program/localization/ast/labels.inc
@@ -2094,6 +2245,7 @@ share/roundcube/program/localization/az_AZ/labels.inc
share/roundcube/program/localization/az_AZ/messages.inc
share/roundcube/program/localization/be_BE/labels.inc
share/roundcube/program/localization/be_BE/messages.inc
+share/roundcube/program/localization/ber/labels.inc
share/roundcube/program/localization/bg_BG/labels.inc
share/roundcube/program/localization/bg_BG/messages.inc
share/roundcube/program/localization/bn_BD/labels.inc
@@ -2118,6 +2270,7 @@ share/roundcube/program/localization/el_GR/labels.inc
share/roundcube/program/localization/el_GR/messages.inc
share/roundcube/program/localization/en_GB/labels.inc
share/roundcube/program/localization/en_GB/messages.inc
+share/roundcube/program/localization/en_US/csv2vcard.inc
share/roundcube/program/localization/en_US/labels.inc
share/roundcube/program/localization/en_US/messages.inc
share/roundcube/program/localization/eo/labels.inc
@@ -2136,8 +2289,11 @@ share/roundcube/program/localization/fa_IR/labels.inc
share/roundcube/program/localization/fa_IR/messages.inc
share/roundcube/program/localization/fi_FI/labels.inc
share/roundcube/program/localization/fi_FI/messages.inc
+share/roundcube/program/localization/fr_FR/csv2vcard.inc
share/roundcube/program/localization/fr_FR/labels.inc
share/roundcube/program/localization/fr_FR/messages.inc
+share/roundcube/program/localization/fy_NL/labels.inc
+share/roundcube/program/localization/fy_NL/messages.inc
share/roundcube/program/localization/ga_IE/labels.inc
share/roundcube/program/localization/ga_IE/messages.inc
share/roundcube/program/localization/gl_ES/labels.inc
@@ -2193,6 +2349,7 @@ share/roundcube/program/localization/nl_NL/labels.inc
share/roundcube/program/localization/nl_NL/messages.inc
share/roundcube/program/localization/nn_NO/labels.inc
share/roundcube/program/localization/nn_NO/messages.inc
+share/roundcube/program/localization/pl_PL/csv2vcard.inc
share/roundcube/program/localization/pl_PL/labels.inc
share/roundcube/program/localization/pl_PL/messages.inc
share/roundcube/program/localization/ps/labels.inc
@@ -2229,8 +2386,13 @@ share/roundcube/program/localization/vi_VN/labels.inc
share/roundcube/program/localization/vi_VN/messages.inc
share/roundcube/program/localization/zh_CN/labels.inc
share/roundcube/program/localization/zh_CN/messages.inc
+share/roundcube/program/localization/zh_TW/csv2vcard.inc
share/roundcube/program/localization/zh_TW/labels.inc
share/roundcube/program/localization/zh_TW/messages.inc
+share/roundcube/program/resources/blank.gif
+share/roundcube/program/resources/blank.pdf
+share/roundcube/program/resources/blank.tif
+share/roundcube/program/resources/blocked.gif
share/roundcube/program/steps/addressbook/copy.inc
share/roundcube/program/steps/addressbook/delete.inc
share/roundcube/program/steps/addressbook/edit.inc
@@ -2262,6 +2424,7 @@ share/roundcube/program/steps/mail/mark.inc
share/roundcube/program/steps/mail/move_del.inc
share/roundcube/program/steps/mail/pagenav.inc
share/roundcube/program/steps/mail/search.inc
+share/roundcube/program/steps/mail/search_contacts.inc
share/roundcube/program/steps/mail/sendmail.inc
share/roundcube/program/steps/mail/sendmdn.inc
share/roundcube/program/steps/mail/show.inc
@@ -2289,13 +2452,13 @@ share/roundcube/skins/classic/README
share/roundcube/skins/classic/addressbook.css
share/roundcube/skins/classic/common.css
share/roundcube/skins/classic/editor_content.css
+share/roundcube/skins/classic/embed.css
share/roundcube/skins/classic/functions.js
share/roundcube/skins/classic/googiespell.css
share/roundcube/skins/classic/ie6hacks.css
share/roundcube/skins/classic/iehacks.css
share/roundcube/skins/classic/images/abook_toolbar.gif
share/roundcube/skins/classic/images/abook_toolbar.png
-share/roundcube/skins/classic/images/blank.gif
share/roundcube/skins/classic/images/buttons/add_act.png
share/roundcube/skins/classic/images/buttons/add_pas.png
share/roundcube/skins/classic/images/buttons/add_sel.png
@@ -2373,6 +2536,7 @@ share/roundcube/skins/classic/includes/messagetoolbar.html
share/roundcube/skins/classic/includes/settingstabs.html
share/roundcube/skins/classic/includes/taskbar.html
share/roundcube/skins/classic/mail.css
+share/roundcube/skins/classic/meta.json
share/roundcube/skins/classic/pngbehavior.htc
share/roundcube/skins/classic/print.css
share/roundcube/skins/classic/safari.css
@@ -2401,10 +2565,12 @@ share/roundcube/skins/classic/templates/messageprint.html
share/roundcube/skins/classic/templates/plugin.html
share/roundcube/skins/classic/templates/settings.html
share/roundcube/skins/classic/templates/settingsedit.html
+share/roundcube/skins/classic/thumbnail.png
share/roundcube/skins/classic/watermark.html
share/roundcube/skins/larry/README
share/roundcube/skins/larry/addressbook.css
share/roundcube/skins/larry/editor_content.css
+share/roundcube/skins/larry/embed.css
share/roundcube/skins/larry/googiespell.css
share/roundcube/skins/larry/ie7hacks.css
share/roundcube/skins/larry/iehacks.css
@@ -2413,7 +2579,10 @@ share/roundcube/skins/larry/images/ajaxloader.gif
share/roundcube/skins/larry/images/buttons.gif
share/roundcube/skins/larry/images/buttons.png
share/roundcube/skins/larry/images/contactpic.png
+share/roundcube/skins/larry/images/contactpic_32px.png
+share/roundcube/skins/larry/images/contactpic_48px.png
share/roundcube/skins/larry/images/favicon.ico
+share/roundcube/skins/larry/images/filedrop.png
share/roundcube/skins/larry/images/filetypes.png
share/roundcube/skins/larry/images/googiespell/change_lang.gif
share/roundcube/skins/larry/images/googiespell/indicator.gif
@@ -2437,6 +2606,7 @@ share/roundcube/skins/larry/includes/links.html
share/roundcube/skins/larry/includes/mailtoolbar.html
share/roundcube/skins/larry/includes/settingstabs.html
share/roundcube/skins/larry/mail.css
+share/roundcube/skins/larry/meta.json
share/roundcube/skins/larry/print.css
share/roundcube/skins/larry/settings.css
share/roundcube/skins/larry/styles.css
@@ -2464,5 +2634,6 @@ share/roundcube/skins/larry/templates/messageprint.html
share/roundcube/skins/larry/templates/plugin.html
share/roundcube/skins/larry/templates/settings.html
share/roundcube/skins/larry/templates/settingsedit.html
+share/roundcube/skins/larry/thumbnail.png
share/roundcube/skins/larry/ui.js
share/roundcube/skins/larry/watermark.html
diff --git a/mail/roundcube/distinfo b/mail/roundcube/distinfo
index d3cbeb0036c..6cecd3975a1 100644
--- a/mail/roundcube/distinfo
+++ b/mail/roundcube/distinfo
@@ -1,9 +1,28 @@
-$NetBSD: distinfo,v 1.29 2013/03/28 17:24:39 taca Exp $
+$NetBSD: distinfo,v 1.30 2013/06/15 16:08:09 taca Exp $
-SHA1 (roundcubemail-0.8.6-dep.tar.gz) = 78c7ab53f2cc1c79a5151833e911cbb0b670cd10
-RMD160 (roundcubemail-0.8.6-dep.tar.gz) = 01fdde16ddf8d399e9aaa3522637cdf74ea2a66e
-Size (roundcubemail-0.8.6-dep.tar.gz) = 3199668 bytes
+SHA1 (roundcubemail-0.9.1-dep.tar.gz) = 48ad1e44eaffc079bb3b5af24ce69feb6aa0315b
+RMD160 (roundcubemail-0.9.1-dep.tar.gz) = 0181bae162a64258cfe49076dcdfe590d1fccab5
+Size (roundcubemail-0.9.1-dep.tar.gz) = 3483626 bytes
SHA1 (patch-aa) = 4946fab1dd1a809d32de7fa16b9eb1075eb8424a
-SHA1 (patch-ab) = ac9f7ac488f9c309fd1b30a8ecec73e52b245c11
-SHA1 (patch-ac) = 89320be22d84d6099e44897d604fa0fe49e0fe60
-SHA1 (patch-af) = e2bae396f049b2c5030f24e539b7f418a3d09d78
+SHA1 (patch-ab) = 19b62d4a24d9b1ccc476f8d3fbe5f386faf6c553
+SHA1 (patch-ac) = ea60a00f8d53f36e069f4b61962ff97c980edb20
+SHA1 (patch-af) = c0534978e19174d058ac3002692a6bed4e535dc7
+SHA1 (patch-installer_config.php) = 6788454eddf4db96f5bd561c9dc45397383797e0
+SHA1 (patch-installer_rcube__install.php) = edcfbff2255fe818bd028310d829879d731fefc9
+SHA1 (patch-plugins_zipdownload_zipdownload.php) = c0605e036959d5082bd3cde2cf37bb5838cb5623
+SHA1 (patch-program_include_rcmail.php) = 8a23e2ffd974983023c98b866c5d7a6e7984e3f8
+SHA1 (patch-program_lib_Roundcube_rcube__cache.php) = ce92d42b294a1cde1d8223b6d5dae46d819754de
+SHA1 (patch-program_lib_Roundcube_rcube__config.php) = fafc1102722ededc9b16272ba515598026c175c2
+SHA1 (patch-program_lib_Roundcube_rcube__db.php) = d7f08a12a3d6131be88d84132b38d2bf2b7b0b2f
+SHA1 (patch-program_lib_Roundcube_rcube__db__pgsql.php) = c3cc7651cb38d5a50cca1d7e4b232f2aa3b4a72b
+SHA1 (patch-program_lib_Roundcube_rcube__imap.php) = 468e9100366dfc9110dda95d27f40b4fb7e075af
+SHA1 (patch-program_lib_Roundcube_rcube__imap__cache.php) = 526e2b2b645a32077116950a4cb2b531b34a649b
+SHA1 (patch-program_lib_Roundcube_rcube__mime.php) = ff74d19a6bfce728db75ad2d3950fe762144e859
+SHA1 (patch-program_lib_Roundcube_rcube__washtml.php) = d62fb13f45b1dd687bcb367ceb1a7229a0c8177f
+SHA1 (patch-program_steps_mail_compose.inc) = 8b9a4ce69eced4c284aee0b69278ff78071da851
+SHA1 (patch-program_steps_mail_func.inc) = 5e722794ee5d55c5aad7319998f5c396daae3918
+SHA1 (patch-program_steps_mail_show.inc) = f60e27ecece1477c813e6645c6178b1beef41199
+SHA1 (patch-skins_classic_print.css) = 2b6d51f3685566a135a2a6291e50109e13726e05
+SHA1 (patch-skins_larry_mail.css) = b88a2a90ed0388e3f5020e6eddc5a4f64b333aba
+SHA1 (patch-skins_larry_print.css) = d0119e711921cf7751a67ce98481f9ad3f0c19fc
+SHA1 (patch-skins_larry_templates_message.html) = 5d997fced39c74590bab3898c63fa40a69f43f99
diff --git a/mail/roundcube/files/roundcube.conf b/mail/roundcube/files/roundcube.conf
index 63f5bded8f8..1f83e4a0379 100644
--- a/mail/roundcube/files/roundcube.conf
+++ b/mail/roundcube/files/roundcube.conf
@@ -1,4 +1,4 @@
-# $NetBSD: roundcube.conf,v 1.5 2013/01/08 23:27:55 jym Exp $
+# $NetBSD: roundcube.conf,v 1.6 2013/06/15 16:08:09 taca Exp $
#
# RoundCube configuration file fragment for Apache
@@ -9,10 +9,10 @@
# Don't forget to adapt the configuration in @RCDIR@/.htaccess
# to your liking.
<Directory "@RCDIR@">
- Order allow,deny
- Allow from all
AllowOverride All
DirectoryIndex index.php
+ Order allow,deny
+ Allow from all
</Directory>
#
diff --git a/mail/roundcube/options.mk b/mail/roundcube/options.mk
index 857715928ab..d82294502a8 100644
--- a/mail/roundcube/options.mk
+++ b/mail/roundcube/options.mk
@@ -1,75 +1,60 @@
-# $NetBSD: options.mk,v 1.7 2012/09/15 13:24:13 obache Exp $
+# $NetBSD: options.mk,v 1.8 2013/06/15 16:08:09 taca Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.roundcube
-PKG_OPTIONS_REQUIRED_GROUPS= db
-PKG_OPTIONS_GROUP.db= mysql pgsql
+PKG_OPTIONS_REQUIRED_GROUPS= db converters
+PKG_OPTIONS_GROUP.db= mysql pgsql sqlite
+PKG_OPTIONS_GROUP.converters= iconv multibyte
-PKG_SUPPORTED_OPTIONS= iconv ldap multibyte mcrypt sockets gd
-# Following the recommendations in INSTALL the iconv, multibyte, gd and
-# mcrypt PHP extensions are all 'recommended' requirements
-PKG_SUGGESTED_OPTIONS= mysql iconv multibyte mcrypt sockets gd
-
-.if ${PKG_PHP_VERSION} == "53"
-PKG_OPTIONS_GROUP.db+= sqlite
-.endif
+PKG_SUPPORTED_OPTIONS= ldap sockets gd
+PKG_SUGGESTED_OPTIONS= mysql iconv sockets gd
.include "../../mk/bsd.options.mk"
###
-### Use mysql backend
+### Use mysql backend.
###
.if !empty(PKG_OPTIONS:Mmysql)
-DEPENDS+= ${PHP_PKG_PREFIX}-mysql>=4.3.1:../../databases/php-mysql
-DEPENDS+= ${PHP_PKG_PREFIX}-pear-MDB2_Driver_mysql>1.5:../../databases/pear-MDB2_Driver_mysql
+DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql-[0-9]*:../../databases/php-pdo_mysql
.endif
###
-### Use postgresql backend
+### Use postgresql backend.
###
.if !empty(PKG_OPTIONS:Mpgsql)
-DEPENDS+= ${PHP_PKG_PREFIX}-pgsql>=4.3.1:../../databases/php-pgsql
-DEPENDS+= ${PHP_PKG_PREFIX}-pear-MDB2_Driver_pgsql>=1.5:../../databases/pear-MDB2_Driver_pgsql
+DEPENDS+= ${PHP_PKG_PREFIX}-pdo_pgsql-[0-9]*:../../databases/php-pdo_pgsql
.endif
###
-### Use sqlite backend
+### Use sqlite backend.
###
.if !empty(PKG_OPTIONS:Msqlite)
-DEPENDS+= ${PHP_PKG_PREFIX}-sqlite-[0-9]*:../../databases/php-sqlite
-DEPENDS+= ${PHP_PKG_PREFIX}-pear-MDB2_Driver_sqlite>1.5:../../databases/pear-MDB2_Driver_sqlite
+DEPENDS+= ${PHP_PKG_PREFIX}-pdo_sqlite-[0-9]*:../../databases/php-pdo_sqlite
.endif
###
-### Use iconv
+### Use iconv.
###
.if !empty(PKG_OPTIONS:Miconv)
DEPENDS+= ${PHP_PKG_PREFIX}-iconv>=4.3.1:../../converters/php-iconv
.endif
###
-### Use OpenLDAP for storing data
-###
-.if !empty(PKG_OPTIONS:Mldap)
-DEPENDS+= ${PHP_PKG_PREFIX}-ldap>=4.3.1:../../databases/php-ldap
-.endif
-
-###
-### Use mbstring
+### Use mbstring.
###
.if !empty(PKG_OPTIONS:Mmultibyte)
DEPENDS+= ${PHP_PKG_PREFIX}-mbstring>=4.3.1:../../converters/php-mbstring
.endif
###
-### Use mcrypt
+### Use OpenLDAP for storing data.
###
-.if !empty(PKG_OPTIONS:Mmcrypt)
-DEPENDS+= ${PHP_PKG_PREFIX}-mcrypt>=4.3.1:../../security/php-mcrypt
+.if !empty(PKG_OPTIONS:Mldap)
+DEPENDS+= ${PHP_PKG_PREFIX}-ldap>=4.3.1:../../databases/php-ldap
.endif
###
-### Use sockets
+### Use sockets, required by managesieve and password plugins.
###
.if !empty(PKG_OPTIONS:Msockets)
DEPENDS+= ${PHP_PKG_PREFIX}-sockets>=4.3.1:../../net/php-sockets
diff --git a/mail/roundcube/patches/patch-ab b/mail/roundcube/patches/patch-ab
index 0fe5cec4f7c..e647495ebd6 100644
--- a/mail/roundcube/patches/patch-ab
+++ b/mail/roundcube/patches/patch-ab
@@ -1,13 +1,13 @@
-$NetBSD: patch-ab,v 1.7 2012/01/14 15:36:24 taca Exp $
+$NetBSD: patch-ab,v 1.8 2013/06/15 16:08:09 taca Exp $
* Use db-local.inc.php for local configuration.
---- config/db.inc.php.dist.orig 2011-09-28 10:16:54.000000000 +0000
+--- config/db.inc.php.dist.orig 2013-04-15 20:42:59.000000000 +0000
+++ config/db.inc.php.dist
-@@ -61,3 +61,6 @@ $rcmail_config['db_sequence_searches'] =
-
- // end db config file
+@@ -58,5 +58,6 @@ $rcmail_config['db_sequence_contacts'] =
+ $rcmail_config['db_sequence_contactgroups'] = 'contactgroups_ids';
+ $rcmail_config['db_sequence_searches'] = 'search_ids';
+include_once('db-local.inc.php');
-+
-+?>
+
+ // end db config file
diff --git a/mail/roundcube/patches/patch-ac b/mail/roundcube/patches/patch-ac
index 116dc20cce4..e92d9f38abb 100644
--- a/mail/roundcube/patches/patch-ac
+++ b/mail/roundcube/patches/patch-ac
@@ -1,15 +1,15 @@
-$NetBSD: patch-ac,v 1.6 2012/12/05 15:38:01 taca Exp $
+$NetBSD: patch-ac,v 1.7 2013/06/15 16:08:09 taca Exp $
Honor PKG_SYSCONFDIR.
---- installer/index.php.orig 2012-11-10 14:16:57.000000000 +0000
+--- installer/index.php.orig 2013-04-15 20:42:59.000000000 +0000
+++ installer/index.php
-@@ -43,7 +43,7 @@ ini_set('error_reporting', E_ALL&~E_NOTI
- ini_set('display_errors', 1);
+@@ -41,7 +41,7 @@ ini_set('display_errors', 1);
define('INSTALL_PATH', realpath(dirname(__FILE__) . '/../').'/');
--define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');
+ define('RCUBE_INSTALL_PATH', INSTALL_PATH);
+-define('RCUBE_CONFIG_DIR', INSTALL_PATH . 'config/');
+define('RCMAIL_CONFIG_DIR', '@PKG_SYSCONFDIR@');
- define('RCMAIL_CHARSET', 'UTF-8');
$include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR;
+ $include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR;
diff --git a/mail/roundcube/patches/patch-af b/mail/roundcube/patches/patch-af
index e28b4d3e17e..2774afacd5d 100644
--- a/mail/roundcube/patches/patch-af
+++ b/mail/roundcube/patches/patch-af
@@ -1,10 +1,10 @@
-$NetBSD: patch-af,v 1.5 2012/01/14 15:36:24 taca Exp $
+$NetBSD: patch-af,v 1.6 2013/06/15 16:08:09 taca Exp $
Honor PKG_SYSCONFDIR.
---- program/include/iniset.php.orig 2012-01-06 16:01:53.000000000 +0000
+--- program/include/iniset.php.orig 2013-04-15 20:43:00.000000000 +0000
+++ program/include/iniset.php
-@@ -47,7 +47,7 @@ if (!defined('INSTALL_PATH')) {
+@@ -44,7 +44,7 @@ if (!defined('INSTALL_PATH')) {
}
if (!defined('RCMAIL_CONFIG_DIR')) {
@@ -12,4 +12,4 @@ Honor PKG_SYSCONFDIR.
+ define('RCMAIL_CONFIG_DIR', '@PKG_SYSCONFDIR@');
}
- // make sure path_separator is defined
+ if (!defined('RCUBE_LOCALIZATION_DIR')) {
diff --git a/mail/roundcube/patches/patch-installer_config.php b/mail/roundcube/patches/patch-installer_config.php
new file mode 100644
index 00000000000..3a9a2556ac6
--- /dev/null
+++ b/mail/roundcube/patches/patch-installer_config.php
@@ -0,0 +1,33 @@
+$NetBSD: patch-installer_config.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 70ef48c2f311f1773a4b4deb8fcffd8ea72326f9:
+ Remove old enable_caching option from Installer
+
+--- installer/config.php.orig 2013-05-16 18:06:35.000000000 +0000
++++ installer/config.php
+@@ -15,7 +15,6 @@ $RCI->load_defaults();
+ // register these boolean fields
+ $RCI->bool_config_props = array(
+ 'ip_check' => 1,
+- 'enable_caching' => 1,
+ 'enable_spellcheck' => 1,
+ 'auto_create_user' => 1,
+ 'smtp_log' => 1,
+@@ -127,16 +126,6 @@ echo $check_ipcheck->show(intval($RCI->g
+ <p class="hint">This increases security but can cause sudden logouts when someone uses a proxy with changing IPs.</p>
+ </dd>
+
+-<dt class="propname">enable_caching</dt>
+-<dd>
+-<?php
+-
+-$check_caching = new html_checkbox(array('name' => '_enable_caching', 'id' => "cfgcache"));
+-echo $check_caching->show(intval($RCI->getprop('enable_caching')), array('value' => 1));
+-
+-?>
+-<label for="cfgcache">Cache messages in local database</label><br />
+-</dd>
+
+ <dt class="propname">enable_spellcheck</dt>
+ <dd>
diff --git a/mail/roundcube/patches/patch-installer_rcube__install.php b/mail/roundcube/patches/patch-installer_rcube__install.php
new file mode 100644
index 00000000000..f0a9fd53e3c
--- /dev/null
+++ b/mail/roundcube/patches/patch-installer_rcube__install.php
@@ -0,0 +1,19 @@
+$NetBSD: patch-installer_rcube__install.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 853d0ab2a402222cc87dc83bb27c3fb2f33d84aa:
+ Fix version selector - do not list versions newer than 0.9.0, use
+ "0.9 or newer" instead.
+
+--- installer/rcube_install.php.orig 2013-05-16 18:06:35.000000000 +0000
++++ installer/rcube_install.php
+@@ -455,7 +455,8 @@ class rcube_install
+ '0.6-beta', '0.6',
+ '0.7-beta', '0.7', '0.7.1', '0.7.2', '0.7.3', '0.7.4',
+ '0.8-beta', '0.8-rc', '0.8.0', '0.8.1', '0.8.2', '0.8.3', '0.8.4', '0.8.5', '0.8.6',
+- '0.9-beta', '0.9-rc', '0.9-rc2', '0.9.0',
++ '0.9-beta', '0.9-rc', '0.9-rc2',
++ // Note: Do not add newer versions here
+ ));
+ return $select;
+ }
diff --git a/mail/roundcube/patches/patch-plugins_zipdownload_zipdownload.php b/mail/roundcube/patches/patch-plugins_zipdownload_zipdownload.php
new file mode 100644
index 00000000000..4d14d8eae94
--- /dev/null
+++ b/mail/roundcube/patches/patch-plugins_zipdownload_zipdownload.php
@@ -0,0 +1,30 @@
+$NetBSD: patch-plugins_zipdownload_zipdownload.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 057b9e3e7f5bd1707e72812b1e5f977face0baed,
+ b9139f9f98fe994142dd3e050dac1e6ec9a24309:
+ Fix zipdownload plugin issue with filenames charset (#1489156)
+
+--- plugins/zipdownload/zipdownload.php.orig 2013-05-16 18:06:35.000000000 +0000
++++ plugins/zipdownload/zipdownload.php
+@@ -105,7 +105,7 @@ class zipdownload extends rcube_plugin
+ foreach ($message->attachments as $part) {
+ $pid = $part->mime_id;
+ $part = $message->mime_parts[$pid];
+- $disp_name = $this->_convert_filename($part->filename, $part->charset);
++ $disp_name = $this->_convert_filename($part->filename);
+
+ if ($part->body) {
+ $orig_message_raw = $part->body;
+@@ -258,9 +258,9 @@ class zipdownload extends rcube_plugin
+ /**
+ * Helper function to convert filenames to the configured charset
+ */
+- private function _convert_filename($str, $from = RCMAIL_CHARSET)
++ private function _convert_filename($str)
+ {
+- $str = rcube_charset::convert($str, $from == '' ? RCUBE_CHARSET : $from, $this->charset);
++ $str = rcube_charset::convert($str, RCUBE_CHARSET, $this->charset);
+
+ return strtr($str, array(':'=>'', '/'=>'-'));
+ }
diff --git a/mail/roundcube/patches/patch-program_include_rcmail.php b/mail/roundcube/patches/patch-program_include_rcmail.php
new file mode 100644
index 00000000000..f1a7ce4217a
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_include_rcmail.php
@@ -0,0 +1,20 @@
+$NetBSD: patch-program_include_rcmail.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit acb4b71ce55f3d98f7053b7bb8fdcf3c7858fbfc:
+ Fix error when there's no writeable addressbook source (#1489162)
+
+--- program/include/rcmail.php.orig 2013-05-16 18:06:35.000000000 +0000
++++ program/include/rcmail.php
+@@ -228,6 +228,11 @@ class rcmail extends rcube
+ }
+
+ if (!$contacts) {
++ // there's no default, just return
++ if ($default) {
++ return null;
++ }
++
+ self::raise_error(array(
+ 'code' => 700, 'type' => 'php',
+ 'file' => __FILE__, 'line' => __LINE__,
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__cache.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__cache.php
new file mode 100644
index 00000000000..eb562d43a22
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__cache.php
@@ -0,0 +1,52 @@
+$NetBSD: patch-program_lib_Roundcube_rcube__cache.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 72c8504b99fbd423651bab0180a044c489ca05cc:
+ Fix bug where serialized strings were truncated in PDO::quote() (#1489142)
+
+--- program/lib/Roundcube/rcube_cache.php.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/lib/Roundcube/rcube_cache.php
+@@ -145,7 +145,7 @@ class rcube_cache
+ */
+ function write($key, $data)
+ {
+- return $this->write_record($key, $this->packed ? serialize($data) : $data);
++ return $this->write_record($key, $this->serialize($data));
+ }
+
+
+@@ -219,7 +219,7 @@ class rcube_cache
+ if ($this->cache_changes[$key]) {
+ // Make sure we're not going to write unchanged data
+ // by comparing current md5 sum with the sum calculated on DB read
+- $data = $this->packed ? serialize($data) : $data;
++ $data = $this->serialize($data);
+
+ if (!$this->cache_sums[$key] || $this->cache_sums[$key] != md5($data)) {
+ $this->write_record($key, $data);
+@@ -255,7 +255,7 @@ class rcube_cache
+
+ if ($data) {
+ $md5sum = md5($data);
+- $data = $this->packed ? unserialize($data) : $data;
++ $data = $this->unserialize($data);
+
+ if ($nostore) {
+ return $data;
+@@ -283,7 +283,7 @@ class rcube_cache
+ $key = substr($sql_arr['cache_key'], strlen($this->prefix)+1);
+ $md5sum = $sql_arr['data'] ? md5($sql_arr['data']) : null;
+ if ($sql_arr['data']) {
+- $data = $this->packed ? unserialize($sql_arr['data']) : $sql_arr['data'];
++ $data = $this->unserialize($sql_arr['data']);
+ }
+
+ if ($nostore) {
+@@ -364,7 +364,6 @@ class rcube_cache
+ * @param string $key Cache key name or pattern
+ * @param boolean $prefix_mode Enable it to clear all keys starting
+ * with prefix specified in $key
+- *
+ */
+ private function remove_record($key=null, $prefix_mode=false)
+ {
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__config.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__config.php
new file mode 100644
index 00000000000..488f191d4d6
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__config.php
@@ -0,0 +1,63 @@
+$NetBSD: patch-program_lib_Roundcube_rcube__config.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 55e60c6d85efa3e4b3679c8f9c0b97109ee31ca3:
+ Fix legacy options handling
+
+--- program/lib/Roundcube/rcube_config.php.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/lib/Roundcube/rcube_config.php
+@@ -174,7 +174,7 @@ class rcube_config
+ ob_end_clean();
+
+ if (is_array($rcmail_config)) {
+- $this->prop = array_merge($this->prop, $rcmail_config, $this->userprefs);
++ $this->merge($rcmail_config);
+ return true;
+ }
+ }
+@@ -195,9 +195,6 @@ class rcube_config
+ if (isset($this->prop[$name])) {
+ $result = $this->prop[$name];
+ }
+- else if (isset($this->legacy_props[$name])) {
+- return $this->get($this->legacy_props[$name], $def);
+- }
+ else {
+ $result = $def;
+ }
+@@ -241,6 +238,7 @@ class rcube_config
+ public function merge($prefs)
+ {
+ $this->prop = array_merge($this->prop, $prefs, $this->userprefs);
++ $this->fix_legacy_props();
+ }
+
+
+@@ -273,6 +271,8 @@ class rcube_config
+ $this->userprefs = $prefs;
+ $this->prop = array_merge($this->prop, $prefs);
+
++ $this->fix_legacy_props();
++
+ // override timezone settings with client values
+ if ($this->prop['timezone'] == 'auto') {
+ $this->prop['_timezone_value'] = isset($_SESSION['timezone']) ? $this->client_timezone() : $this->prop['_timezone_value'];
+@@ -435,4 +435,18 @@ class rcube_config
+ return date_default_timezone_get();
+ }
+
++ /**
++ * Convert legacy options into new ones
++ */
++ private function fix_legacy_props()
++ {
++ foreach ($this->legacy_props as $new => $old) {
++ if (isset($this->prop[$old])) {
++ if (!isset($this->prop[$new])) {
++ $this->prop[$new] = $this->prop[$old];
++ }
++ unset($this->prop[$old]);
++ }
++ }
++ }
+ }
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db.php
new file mode 100644
index 00000000000..56d53d9a3f6
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db.php
@@ -0,0 +1,68 @@
+$NetBSD: patch-program_lib_Roundcube_rcube__db.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 72c8504b99fbd423651bab0180a044c489ca05cc:
+ Fix bug where serialized strings were truncated in PDO::quote() (#1489142)
+* commit ab05ee25c1d38c884790337796f7c941e28d36d9:
+ Fix backward copat. with cached values serialized but not base64-encoded
+ (#1489142)
+
+--- program/lib/Roundcube/rcube_db.php.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/lib/Roundcube/rcube_db.php
+@@ -789,12 +789,19 @@ class rcube_db
+ /**
+ * Encodes non-UTF-8 characters in string/array/object (recursive)
+ *
+- * @param mixed $input Data to fix
++ * @param mixed $input Data to fix
++ * @param bool $serialized Enable serialization
+ *
+ * @return mixed Properly UTF-8 encoded data
+ */
+- public static function encode($input)
++ public static function encode($input, $serialized = false)
+ {
++ // use Base64 encoding to workaround issues with invalid
++ // or null characters in serialized string (#1489142)
++ if ($serialized) {
++ return base64_encode(serialize($input));
++ }
++
+ if (is_object($input)) {
+ foreach (get_object_vars($input) as $idx => $value) {
+ $input->$idx = self::encode($value);
+@@ -805,6 +812,7 @@ class rcube_db
+ foreach ($input as $idx => $value) {
+ $input[$idx] = self::encode($value);
+ }
++
+ return $input;
+ }
+
+@@ -814,12 +822,24 @@ class rcube_db
+ /**
+ * Decodes encoded UTF-8 string/object/array (recursive)
+ *
+- * @param mixed $input Input data
++ * @param mixed $input Input data
++ * @param bool $serialized Enable serialization
+ *
+ * @return mixed Decoded data
+ */
+- public static function decode($input)
++ public static function decode($input, $serialized = false)
+ {
++ // use Base64 encoding to workaround issues with invalid
++ // or null characters in serialized string (#1489142)
++ if ($serialized) {
++ // Keep backward compatybility where base64 wasn't used
++ if (strpos(substr($input, 0, 16), ':') !== false) {
++ return self::decode(@unserialize($input));
++ }
++
++ return @unserialize(base64_decode($input));
++ }
++
+ if (is_object($input)) {
+ foreach (get_object_vars($input) as $idx => $value) {
+ $input->$idx = self::decode($value);
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db__pgsql.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db__pgsql.php
new file mode 100644
index 00000000000..40cf7e42122
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db__pgsql.php
@@ -0,0 +1,46 @@
+$NetBSD: patch-program_lib_Roundcube_rcube__db__pgsql.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 983308e8b364c0ae5358874087977df9740d97ac:
+ Fix connection to posgtres db using unix socket (#1489132)
+
+--- program/lib/Roundcube/rcube_db_pgsql.php.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/lib/Roundcube/rcube_db_pgsql.php
+@@ -129,4 +129,37 @@ class rcube_db_pgsql extends rcube_db
+ return isset($this->variables[$varname]) ? $this->variables[$varname] : $default;
+ }
+
++ /**
++ * Returns PDO DSN string from DSN array
++ *
++ * @param array $dsn DSN parameters
++ *
++ * @return string DSN string
++ */
++ protected function dsn_string($dsn)
++ {
++ $params = array();
++ $result = 'pgsql:';
++
++ if ($dsn['hostspec']) {
++ $params[] = 'host=' . $dsn['hostspec'];
++ }
++ else if ($dsn['socket']) {
++ $params[] = 'host=' . $dsn['socket'];
++ }
++
++ if ($dsn['port']) {
++ $params[] = 'port=' . $dsn['port'];
++ }
++
++ if ($dsn['database']) {
++ $params[] = 'dbname=' . $dsn['database'];
++ }
++
++ if (!empty($params)) {
++ $result .= implode(';', $params);
++ }
++
++ return $result;
++ }
+ }
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap.php
new file mode 100644
index 00000000000..e6f4b221f25
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap.php
@@ -0,0 +1,31 @@
+$NetBSD: patch-program_lib_Roundcube_rcube__imap.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 35b0a75f72ef1c7c83bf2ad8ba01f6ac1a444122:
+ Fix default sorting of threaded list when THREAD=REFS isn't supported.
+
+--- program/lib/Roundcube/rcube_imap.php.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/lib/Roundcube/rcube_imap.php
+@@ -1336,17 +1336,16 @@ class rcube_imap extends rcube_storage
+ // THREAD=REFERENCES: sorting by sent date of root message
+ // THREAD=REFS: sorting by the most recent date in each thread
+
+- if ($this->sort_field && ($this->sort_field != 'date' || $this->get_capability('THREAD') != 'REFS')) {
+- $index = $this->index_direct($this->folder, $this->sort_field, $this->sort_order, false);
++ if ($this->get_capability('THREAD') != 'REFS') {
++ $sortby = $this->sort_field ? $this->sort_field : 'date';
++ $index = $this->index_direct($this->folder, $sortby, $this->sort_order, false);
+
+ if (!$index->is_empty()) {
+ $threads->sort($index);
+ }
+ }
+- else {
+- if ($this->sort_order != $threads->get_parameters('ORDER')) {
+- $threads->revert();
+- }
++ else if ($this->sort_order != $threads->get_parameters('ORDER')) {
++ $threads->revert();
+ }
+ }
+
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap__cache.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap__cache.php
new file mode 100644
index 00000000000..b36e027a073
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap__cache.php
@@ -0,0 +1,76 @@
+$NetBSD: patch-program_lib_Roundcube_rcube__imap__cache.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 6213c6a6e18848d861f2add83bdb69a1de3f5956:
+ Fix removing flags from serialized object before saving it in DB
+Fix from repository:
+* commit 72c8504b99fbd423651bab0180a044c489ca05cc:
+ Fix bug where serialized strings were truncated in PDO::quote() (#1489142)
+
+--- program/lib/Roundcube/rcube_imap_cache.php.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/lib/Roundcube/rcube_imap_cache.php
+@@ -407,8 +407,8 @@ class rcube_imap_cache
+ return;
+ }
+
+- $msg = serialize($this->db->encode(clone $message));
+ $flags = 0;
++ $msg = clone $message;
+
+ if (!empty($message->flags)) {
+ foreach ($this->flags as $idx => $flag) {
+@@ -417,7 +417,9 @@ class rcube_imap_cache
+ }
+ }
+ }
++
+ unset($msg->flags);
++ $msg = $this->db->encode($msg, true);
+
+ // update cache record (even if it exists, the update
+ // here will work as select, assume row exist if affected_rows=0)
+@@ -639,7 +641,7 @@ class rcube_imap_cache
+
+ if ($sql_arr = $this->db->fetch_assoc($sql_result)) {
+ $data = explode('@', $sql_arr['data']);
+- $index = @unserialize($data[0]);
++ $index = $this->db->decode($data[0], true);
+ unset($data[0]);
+
+ if (empty($index)) {
+@@ -676,7 +678,7 @@ class rcube_imap_cache
+
+ if ($sql_arr = $this->db->fetch_assoc($sql_result)) {
+ $data = explode('@', $sql_arr['data']);
+- $thread = @unserialize($data[0]);
++ $thread = $this->db->decode($data[0], true);
+ unset($data[0]);
+
+ if (empty($thread)) {
+@@ -702,7 +704,7 @@ class rcube_imap_cache
+ $data, $mbox_data = array(), $exists = false, $modseq = null)
+ {
+ $data = array(
+- serialize($data),
++ $this->db->encode($data, true),
+ $sort_field,
+ (int) $this->skip_deleted,
+ (int) $mbox_data['UIDVALIDITY'],
+@@ -735,7 +737,7 @@ class rcube_imap_cache
+ private function add_thread_row($mailbox, $data, $mbox_data = array(), $exists = false)
+ {
+ $data = array(
+- serialize($data),
++ $this->db->encode($data, true),
+ (int) $this->skip_deleted,
+ (int) $mbox_data['UIDVALIDITY'],
+ (int) $mbox_data['UIDNEXT'],
+@@ -1067,7 +1069,7 @@ class rcube_imap_cache
+ */
+ private function build_message($sql_arr)
+ {
+- $message = $this->db->decode(unserialize($sql_arr['data']));
++ $message = $this->db->decode($sql_arr['data'], true);
+
+ if ($message) {
+ $message->flags = array();
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__mime.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__mime.php
new file mode 100644
index 00000000000..a928a7a54dd
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__mime.php
@@ -0,0 +1,150 @@
+$NetBSD: patch-program_lib_Roundcube_rcube__mime.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit db108e37793c7f8fc8ba11f00d0561d1f0bd32c0:
+ Fix another text wrapping issue (wrong handling of long unwrappable lines)
+* commit f031cb6c5e4fd3dcb7ea243d477825868d8ad17b:
+ Fix performance regression in text wrapping function (#1489133) - don't use
+ iconv here
+
+--- program/lib/Roundcube/rcube_mime.php.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/lib/Roundcube/rcube_mime.php
+@@ -587,23 +587,20 @@ class rcube_mime
+ */
+ public static function wordwrap($string, $width=75, $break="\n", $cut=false, $charset=null, $wrap_quoted=true)
+ {
+- if (!$charset) {
+- $charset = RCUBE_CHARSET;
+- }
++ // Note: Never try to use iconv instead of mbstring functions here
++ // Iconv's substr/strlen are 100x slower (#1489113)
+
+- // detect available functions
+- $strlen_func = function_exists('iconv_strlen') ? 'iconv_strlen' : 'mb_strlen';
+- $strpos_func = function_exists('iconv_strpos') ? 'iconv_strpos' : 'mb_strpos';
+- $strrpos_func = function_exists('iconv_strrpos') ? 'iconv_strrpos' : 'mb_strrpos';
+- $substr_func = function_exists('iconv_substr') ? 'iconv_substr' : 'mb_substr';
++ if ($charset && $charset != RCUBE_CHARSET && function_exists('mb_internal_encoding')) {
++ mb_internal_encoding($charset);
++ }
+
+ // Convert \r\n to \n, this is our line-separator
+ $string = str_replace("\r\n", "\n", $string);
+ $separator = "\n"; // must be 1 character length
+ $result = array();
+
+- while (($stringLength = $strlen_func($string, $charset)) > 0) {
+- $breakPos = $strpos_func($string, $separator, 0, $charset);
++ while (($stringLength = mb_strlen($string)) > 0) {
++ $breakPos = mb_strpos($string, $separator, 0);
+
+ // quoted line (do not wrap)
+ if ($wrap_quoted && $string[0] == '>') {
+@@ -612,7 +609,7 @@ class rcube_mime
+ $cutLength = null;
+ }
+ else {
+- $subString = $substr_func($string, 0, $breakPos, $charset);
++ $subString = mb_substr($string, 0, $breakPos);
+ $cutLength = $breakPos + 1;
+ }
+ }
+@@ -623,55 +620,54 @@ class rcube_mime
+ $cutLength = null;
+ }
+ else {
+- $subString = $substr_func($string, 0, $breakPos, $charset);
++ $subString = mb_substr($string, 0, $breakPos);
+ $cutLength = $breakPos + 1;
+ }
+ }
+ else {
+- $subString = $substr_func($string, 0, $width, $charset);
++ $subString = mb_substr($string, 0, $width);
+
+ // last line
+ if ($breakPos === false && $subString === $string) {
+ $cutLength = null;
+ }
+ else {
+- $nextChar = $substr_func($string, $width, 1, $charset);
++ $nextChar = mb_substr($string, $width, 1);
+
+ if ($nextChar === ' ' || $nextChar === $separator) {
+- $afterNextChar = $substr_func($string, $width + 1, 1, $charset);
++ $afterNextChar = mb_substr($string, $width + 1, 1);
+
+ if ($afterNextChar === false) {
+ $subString .= $nextChar;
+ }
+
+- $cutLength = $strlen_func($subString, $charset) + 1;
++ $cutLength = mb_strlen($subString) + 1;
+ }
+ else {
+- if ($strrpos_func[0] == 'm') {
+- $spacePos = $strrpos_func($subString, ' ', 0, $charset);
+- }
+- else {
+- $spacePos = $strrpos_func($subString, ' ', $charset);
+- }
++ $spacePos = mb_strrpos($subString, ' ', 0);
+
+ if ($spacePos !== false) {
+- $subString = $substr_func($subString, 0, $spacePos, $charset);
++ $subString = mb_substr($subString, 0, $spacePos);
+ $cutLength = $spacePos + 1;
+ }
++ else if ($cut === false && $breakPos === false) {
++ $subString = $string;
++ $cutLength = null;
++ }
+ else if ($cut === false) {
+- $spacePos = $strpos_func($string, ' ', 0, $charset);
++ $spacePos = mb_strpos($string, ' ', 0);
+
+ if ($spacePos !== false && $spacePos < $breakPos) {
+- $subString = $substr_func($string, 0, $spacePos, $charset);
++ $subString = mb_substr($string, 0, $spacePos);
+ $cutLength = $spacePos + 1;
+ }
+ else {
+- $subString = $substr_func($string, 0, $breakPos, $charset);
++ $subString = mb_substr($string, 0, $breakPos);
+ $cutLength = $breakPos + 1;
+ }
+ }
+ else {
+- $subString = $substr_func($subString, 0, $width, $charset);
++ $subString = mb_substr($subString, 0, $width);
+ $cutLength = $width;
+ }
+ }
+@@ -681,13 +677,17 @@ class rcube_mime
+ $result[] = $subString;
+
+ if ($cutLength !== null) {
+- $string = $substr_func($string, $cutLength, ($stringLength - $cutLength), $charset);
++ $string = mb_substr($string, $cutLength, ($stringLength - $cutLength));
+ }
+ else {
+ break;
+ }
+ }
+
++ if ($charset && $charset != RCUBE_CHARSET && function_exists('mb_internal_encoding')) {
++ mb_internal_encoding(RCUBE_CHARSET);
++ }
++
+ return implode($break, $result);
+ }
+
+@@ -795,7 +795,7 @@ class rcube_mime
+ }
+
+ foreach ($file_paths as $fp) {
+- if (is_readable($fp)) {
++ if (@is_readable($fp)) {
+ $lines = file($fp, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
+ break;
+ }
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__washtml.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__washtml.php
new file mode 100644
index 00000000000..4072aa99cb8
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__washtml.php
@@ -0,0 +1,139 @@
+$NetBSD: patch-program_lib_Roundcube_rcube__washtml.php,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 1fe7d6ad75d2a5a2ab72a24de8cd8cdb341cff0e:
+ Fix displaying messages with invalid self-closing HTML tags (#1489137)
+
+--- program/lib/Roundcube/rcube_washtml.php.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/lib/Roundcube/rcube_washtml.php
+@@ -113,10 +113,9 @@ class rcube_washtml
+ 'type', 'rows', 'cols', 'disabled', 'readonly', 'checked', 'multiple', 'value'
+ );
+
+- /* Block elements which could be empty but cannot be returned in short form (<tag />) */
+- static $block_elements = array('div', 'p', 'pre', 'blockquote', 'a', 'font', 'center',
+- 'table', 'ul', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ol', 'dl', 'strong',
+- 'i', 'b', 'u', 'span',
++ /* Elements which could be empty and be returned in short form (<tag />) */
++ static $void_elements = array('area', 'base', 'br', 'col', 'command', 'embed', 'hr',
++ 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr'
+ );
+
+ /* State for linked objects in HTML */
+@@ -134,12 +133,15 @@ class rcube_washtml
+ /* Ignore these HTML tags but process their content */
+ private $_ignore_elements = array();
+
+- /* Block elements which could be empty but cannot be returned in short form (<tag />) */
+- private $_block_elements = array();
++ /* Elements which could be empty and be returned in short form (<tag />) */
++ private $_void_elements = array();
+
+ /* Allowed HTML attributes */
+ private $_html_attribs = array();
+
++ /* Max nesting level */
++ private $max_nesting_level;
++
+
+ /**
+ * Class constructor
+@@ -149,9 +151,9 @@ class rcube_washtml
+ $this->_html_elements = array_flip((array)$p['html_elements']) + array_flip(self::$html_elements) ;
+ $this->_html_attribs = array_flip((array)$p['html_attribs']) + array_flip(self::$html_attribs);
+ $this->_ignore_elements = array_flip((array)$p['ignore_elements']) + array_flip(self::$ignore_elements);
+- $this->_block_elements = array_flip((array)$p['block_elements']) + array_flip(self::$block_elements);
++ $this->_void_elements = array_flip((array)$p['void_elements']) + array_flip(self::$void_elements);
+
+- unset($p['html_elements'], $p['html_attribs'], $p['ignore_elements'], $p['block_elements']);
++ unset($p['html_elements'], $p['html_attribs'], $p['ignore_elements'], $p['void_elements']);
+
+ $this->config = $p + array('show_washed' => true, 'allow_remote' => false, 'cid_map' => array());
+ }
+@@ -284,12 +286,26 @@ class rcube_washtml
+ * It output only allowed tags with allowed attributes
+ * and allowed inline styles
+ */
+- private function dumpHtml($node)
++ private function dumpHtml($node, $level = 0)
+ {
+ if (!$node->hasChildNodes()) {
+ return '';
+ }
+
++ $level++;
++
++ if ($this->max_nesting_level > 0 && $level == $this->max_nesting_level - 1) {
++ // log error message once
++ if (!$this->max_nesting_level_error) {
++ $this->max_nesting_level_error = true;
++ rcube::raise_error(array('code' => 500, 'type' => 'php',
++ 'line' => __LINE__, 'file' => __FILE__,
++ 'message' => "Maximum nesting level exceeded (xdebug.max_nesting_level={$this->max_nesting_level})"),
++ true, false);
++ }
++ return '<!-- ignored -->';
++ }
++
+ $node = $node->firstChild;
+ $dump = '';
+
+@@ -299,19 +315,19 @@ class rcube_washtml
+ $tagName = strtolower($node->tagName);
+ if ($callback = $this->handlers[$tagName]) {
+ $dump .= call_user_func($callback, $tagName,
+- $this->wash_attribs($node), $this->dumpHtml($node), $this);
++ $this->wash_attribs($node), $this->dumpHtml($node, $level), $this);
+ }
+ else if (isset($this->_html_elements[$tagName])) {
+- $content = $this->dumpHtml($node);
++ $content = $this->dumpHtml($node, $level);
+ $dump .= '<' . $tagName . $this->wash_attribs($node) .
+- ($content != '' || isset($this->_block_elements[$tagName]) ? ">$content</$tagName>" : ' />');
++ ($content === '' && isset($this->_void_elements[$tagName]) ? ' />' : ">$content</$tagName>");
+ }
+ else if (isset($this->_ignore_elements[$tagName])) {
+ $dump .= '<!-- ' . htmlspecialchars($tagName, ENT_QUOTES) . ' not allowed -->';
+ }
+ else {
+ $dump .= '<!-- ' . htmlspecialchars($tagName, ENT_QUOTES) . ' ignored -->';
+- $dump .= $this->dumpHtml($node); // ignore tags not its content
++ $dump .= $this->dumpHtml($node, $level); // ignore tags not its content
+ }
+ break;
+
+@@ -324,14 +340,14 @@ class rcube_washtml
+ break;
+
+ case XML_HTML_DOCUMENT_NODE:
+- $dump .= $this->dumpHtml($node);
++ $dump .= $this->dumpHtml($node, $level);
+ break;
+
+ case XML_DOCUMENT_TYPE_NODE:
+ break;
+
+ default:
+- $dump . '<!-- node type ' . $node->nodeType . ' -->';
++ $dump .= '<!-- node type ' . $node->nodeType . ' -->';
+ }
+ } while($node = $node->nextSibling);
+
+@@ -358,6 +374,9 @@ class rcube_washtml
+ $this->config['base_url'] = '';
+ }
+
++ // Detect max nesting level (for dumpHTML) (#1489110)
++ $this->max_nesting_level = (int) @ini_get('xdebug.max_nesting_level');
++
+ @$node->loadHTML($html);
+ return $this->dumpHtml($node);
+ }
+@@ -405,6 +424,7 @@ class rcube_washtml
+ rcube::raise_error(array('code' => 620, 'type' => 'php',
+ 'line' => __LINE__, 'file' => __FILE__,
+ 'message' => $errstr), true, false);
++
+ return '';
+ }
+
diff --git a/mail/roundcube/patches/patch-program_steps_mail_compose.inc b/mail/roundcube/patches/patch-program_steps_mail_compose.inc
new file mode 100644
index 00000000000..8dddedf0961
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_steps_mail_compose.inc
@@ -0,0 +1,41 @@
+$NetBSD: patch-program_steps_mail_compose.inc,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 0a7df4a32e86a103a5f1fe801374383a195ba1a5:
+ Fix so bounces addresses in Sender headers are skipped on Reply-All
+ (#1489011)
+* commit aafc0a3d24149da9f7350f760932898319041815:
+ Fix so non-inline images aren't skipped on forward (#1489150)
+
+--- program/steps/mail/compose.inc.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/steps/mail/compose.inc
+@@ -143,7 +143,7 @@ $OUTPUT->set_env('top_posting', intval($
+ $OUTPUT->set_env('recipients_separator', trim($RCMAIL->config->get('recipients_separator', ',')));
+
+ // default font for HTML editor
+-$font = rcube_fontdefs($RCMAIL->config->get('default_font', 'Verdana'));
++$font = rcube_fontdefs($RCMAIL->config->get('default_font'));
+ if ($font && !is_array($font)) {
+ $OUTPUT->set_env('default_font', $font);
+ }
+@@ -318,7 +318,8 @@ foreach ($parts as $header) {
+ $fvalue .= $v;
+ if ($v = $MESSAGE->headers->cc)
+ $fvalue .= (!empty($fvalue) ? $separator : '') . $v;
+- if ($v = $MESSAGE->headers->get('Sender', false))
++ // Use Sender header (#1489011)
++ if (($v = $MESSAGE->headers->get('Sender', false)) && strpos($v, '-bounces@') === false)
+ $fvalue .= (!empty($fvalue) ? $separator : '') . $v;
+
+ // When To: and Reply-To: are the same we add From: address to the list (#1489037)
+@@ -1007,8 +1008,8 @@ function rcmail_write_compose_attachment
+ if ($part->ctype_primary == 'message' && $compose_mode == RCUBE_COMPOSE_REPLY) {
+ continue;
+ }
+- // skip inline images when forwarding in plain text
+- if ($part->content_id && !$bodyIsHtml && $compose_mode == RCUBE_COMPOSE_FORWARD) {
++ // skip inline images when forwarding
++ if ($part->content_id && $part->disposition == 'inline' && $compose_mode == RCUBE_COMPOSE_FORWARD) {
+ continue;
+ }
+
diff --git a/mail/roundcube/patches/patch-program_steps_mail_func.inc b/mail/roundcube/patches/patch-program_steps_mail_func.inc
new file mode 100644
index 00000000000..09374d0be2f
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_steps_mail_func.inc
@@ -0,0 +1,50 @@
+$NetBSD: patch-program_steps_mail_func.inc,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit db108e37793c7f8fc8ba11f00d0561d1f0bd32c0:
+ Fix another text wrapping issue (wrong handling of long unwrappable lines)
+* commit f5fac810dd2b9276994585789cc68f71c4cd4cd3:
+ Fix PHP warning when responding to a message with many Return-Path headers
+ (#1489136)
+
+--- program/steps/mail/func.inc.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/steps/mail/func.inc
+@@ -1532,11 +1532,11 @@ function rcmail_address_string($input, $
+ /**
+ * Wrap text to a given number of characters per line
+ * but respect the mail quotation of replies messages (>).
+- * Finally add another quotation level by prpending the lines
++ * Finally add another quotation level by prepending the lines
+ * with >
+ *
+ * @param string Text to wrap
+- * @param int The line width
++ * @param int The line width
+ * @return string The wrapped text
+ */
+ function rcmail_wrap_and_quote($text, $length = 72)
+@@ -1552,7 +1552,7 @@ function rcmail_wrap_and_quote($text, $l
+ $line = '>' . rtrim($line);
+ else if (mb_strlen($line) > $max) {
+ $newline = '';
+- foreach(explode("\n", rc_wordwrap($line, $length - 2)) as $l) {
++ foreach (explode("\n", rc_wordwrap($line, $length - 2)) as $l) {
+ if (strlen($l))
+ $newline .= '> ' . $l . "\n";
+ else
+@@ -1803,9 +1803,12 @@ function rcmail_identity_select($MESSAGE
+ // Try Return-Path
+ if ($from_idx === null && ($return_path = $MESSAGE->headers->others['return-path'])) {
+ foreach ($identities as $idx => $ident) {
+- if (strpos($return_path, str_replace('@', '=', $ident['email_ascii']).'@') !== false) {
+- $from_idx = $idx;
+- break;
++ $ident = str_replace('@', '=', $ident['email_ascii']) . '@';
++ foreach ((array)$return_path as $path) {
++ if (strpos($path, $ident) !== false) {
++ $from_idx = $idx;
++ break 2;
++ }
+ }
+ }
+ }
diff --git a/mail/roundcube/patches/patch-program_steps_mail_show.inc b/mail/roundcube/patches/patch-program_steps_mail_show.inc
new file mode 100644
index 00000000000..907412aa8e6
--- /dev/null
+++ b/mail/roundcube/patches/patch-program_steps_mail_show.inc
@@ -0,0 +1,25 @@
+$NetBSD: patch-program_steps_mail_show.inc,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit acb4b71ce55f3d98f7053b7bb8fdcf3c7858fbfc:
+ Fix error when there's no writeable addressbook source (#1489162)
+
+--- program/steps/mail/show.inc.orig 2013-05-16 18:06:36.000000000 +0000
++++ program/steps/mail/show.inc
+@@ -255,9 +255,13 @@ function rcmail_contact_exists($email)
+ if ($email) {
+ // @TODO: search in all address books?
+ $CONTACTS = $RCMAIL->get_address_book(-1, true);
+- $existing = $CONTACTS->search('email', $email, true, false);
+- if ($existing->count)
+- return true;
++
++ if (is_object($CONTACTS)) {
++ $existing = $CONTACTS->search('email', $email, true, false);
++ if ($existing->count) {
++ return true;
++ }
++ }
+ }
+
+ return false;
diff --git a/mail/roundcube/patches/patch-skins_classic_print.css b/mail/roundcube/patches/patch-skins_classic_print.css
new file mode 100644
index 00000000000..dc36d62513a
--- /dev/null
+++ b/mail/roundcube/patches/patch-skins_classic_print.css
@@ -0,0 +1,40 @@
+$NetBSD: patch-skins_classic_print.css,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 50d0a12933f5b58506cfe0df477eeb81b727d41e:
+ Add styles for image thumbnails in print mode (#1489134)
+
+--- skins/classic/print.css.orig 2013-05-16 18:06:37.000000000 +0000
++++ skins/classic/print.css
+@@ -136,3 +136,31 @@ div.message-part blockquote blockquote b
+ border-left: 2px solid #bb0000;
+ border-right: 2px solid #bb0000;
+ }
++
++p.image-attachment
++{
++ position: relative;
++ padding: 1em;
++ border-top: 1px solid #ccc;
++}
++
++p.image-attachment a.image-link
++{
++ float: left;
++ display: block;
++ margin-right: 2em;
++ min-width: 160px;
++ min-height: 60px;
++ text-align: center;
++}
++
++p.image-attachment .image-filename
++{
++ display: block;
++ line-height: 1.6em;
++}
++
++p.image-attachment .attachment-links
++{
++ display: none;
++}
diff --git a/mail/roundcube/patches/patch-skins_larry_mail.css b/mail/roundcube/patches/patch-skins_larry_mail.css
new file mode 100644
index 00000000000..14bc106dfd6
--- /dev/null
+++ b/mail/roundcube/patches/patch-skins_larry_mail.css
@@ -0,0 +1,118 @@
+$NetBSD: patch-skins_larry_mail.css,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 63049afbfe457d9b1dd709e7d8b108218c5ea3f2:
+ Set minimum height for message headers block (#1489108)
+
+--- skins/larry/mail.css.orig 2013-05-16 18:06:37.000000000 +0000
++++ skins/larry/mail.css
+@@ -151,7 +151,7 @@ a.iconbutton.threadmode.selected {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+- background-image: url(images/listicons.png?v=bd98.25486);
++ background-image: url(images/listicons.png);
+ background-repeat: no-repeat;
+ background-position: 6px 3px;
+ }
+@@ -254,7 +254,7 @@ a.iconbutton.threadmode.selected {
+ left: 19px;
+ width: 13px;
+ height: 13px;
+- background: url(images/listicons.png?v=bd98.25486) -3px -144px no-repeat;
++ background: url(images/listicons.png) -3px -144px no-repeat;
+ cursor: pointer;
+ }
+
+@@ -376,7 +376,7 @@ a.iconbutton.threadmode.selected {
+ right: 4px;
+ width: 20px;
+ height: 18px;
+- background: url(images/buttons.png?v=abf1.36693) -3px -458px no-repeat;
++ background: url(images/buttons.png) -3px -458px no-repeat;
+ }
+
+ #mailpreviewtoggle.enabled {
+@@ -463,7 +463,7 @@ a.iconbutton.threadmode.selected {
+ #messagelist thead tr td.sortedDESC a {
+ color: #004458;
+ text-decoration: underline;
+- background: url(images/listicons.png?v=bd98.25486) right -912px no-repeat;
++ background: url(images/listicons.png) right -912px no-repeat;
+ }
+
+ #messagelist thead tr td.sortedASC a {
+@@ -526,7 +526,7 @@ a.iconbutton.threadmode.selected {
+ height: 18px;
+ width: 20px;
+ padding: 0;
+- background: url(images/listicons.png?v=bd98.25486) -100px 0 no-repeat;
++ background: url(images/listicons.png) -100px 0 no-repeat;
+ }
+
+ #messagelist tbody tr td.attachment span.attachment {
+@@ -826,7 +826,7 @@ h3.subject {
+ left: 0;
+ width: 18px;
+ height: 16px;
+- background: url(images/buttons.png?v=abf1.36693) -27px -242px no-repeat;
++ background: url(images/buttons.png) -27px -242px no-repeat;
+ }
+
+ .moreheaderstoggle.remove .iconlink {
+@@ -846,7 +846,7 @@ div.more-headers {
+ width: 12px;
+ height: 10px;
+ cursor: pointer;
+- background: url(images/buttons.png?v=abf1.36693) center -1579px no-repeat;
++ background: url(images/buttons.png) center -1579px no-repeat;
+ }
+
+ div.hide-headers {
+@@ -903,7 +903,7 @@ div.hide-headers {
+ width: 32px;
+ height: 32px;
+ overflow: hidden;
+- background: url(images/contactpic_32px.png?v=09a3.287) center center no-repeat #fff;
++ background: url(images/contactpic_32px.png) center center no-repeat #fff;
+ border-radius: 3px;
+ }
+
+@@ -913,6 +913,10 @@ div.hide-headers {
+ border-radius: 3px;
+ }
+
++#messageheader .message-headers {
++ min-height: 60px;
++}
++
+ #messageheader #contactphoto {
+ display: block;
+ position: absolute;
+@@ -923,7 +927,7 @@ div.hide-headers {
+ overflow: hidden;
+ border-radius: 4px;
+ border: 1px solid #e6e6e6;
+- background: url(images/contactpic_48px.png?v=1bc4.353) center center no-repeat #fff;
++ background: url(images/contactpic_48px.png) center center no-repeat #fff;
+ }
+
+ #messageheader #contactphoto img {
+@@ -1200,7 +1204,7 @@ div.message-partheaders .headers-table t
+ }
+
+ #compose-contacts li a, #contacts-table td {
+- background: url(images/listicons.png?v=bd98.25486) -100px 0 no-repeat;
++ background: url(images/listicons.png) -100px 0 no-repeat;
+ overflow: hidden;
+ padding-left: 36px;
+ text-overflow: ellipsis;
+@@ -1412,7 +1416,7 @@ div.message-partheaders .headers-table t
+ }
+
+ #compose-attachments.droptarget {
+- background-image: url(images/filedrop.png?v=deab.605);
++ background-image: url(images/filedrop.png);
+ background-position: center bottom;
+ background-repeat: no-repeat;
+ }
diff --git a/mail/roundcube/patches/patch-skins_larry_print.css b/mail/roundcube/patches/patch-skins_larry_print.css
new file mode 100644
index 00000000000..1bebecc4875
--- /dev/null
+++ b/mail/roundcube/patches/patch-skins_larry_print.css
@@ -0,0 +1,36 @@
+$NetBSD: patch-skins_larry_print.css,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 50d0a12933f5b58506cfe0df477eeb81b727d41e:
+ Add styles for image thumbnails in print mode (#1489134)
+
+--- skins/larry/print.css.orig 2013-05-16 18:06:37.000000000 +0000
++++ skins/larry/print.css
+@@ -123,3 +123,27 @@ div.message-part blockquote blockquote b
+ border-left: 2px solid #b00;
+ border-right: 2px solid #b00;
+ }
++
++p.image-attachment {
++ position: relative;
++ padding: 1em;
++ border-top: 1px solid #ccc;
++}
++
++p.image-attachment a.image-link {
++ float: left;
++ display: block;
++ margin-right: 2em;
++ min-width: 160px;
++ min-height: 60px;
++ text-align: center;
++}
++
++p.image-attachment .image-filename {
++ display: block;
++ line-height: 1.6em;
++}
++
++p.image-attachment .attachment-links {
++ display: none;
++}
diff --git a/mail/roundcube/patches/patch-skins_larry_templates_message.html b/mail/roundcube/patches/patch-skins_larry_templates_message.html
new file mode 100644
index 00000000000..7bef2dc94f4
--- /dev/null
+++ b/mail/roundcube/patches/patch-skins_larry_templates_message.html
@@ -0,0 +1,18 @@
+$NetBSD: patch-skins_larry_templates_message.html,v 1.1 2013/06/15 16:08:09 taca Exp $
+
+Fix from repository:
+* commit 63049afbfe457d9b1dd709e7d8b108218c5ea3f2:
+ Set minimum height for message headers block (#1489108)
+
+--- skins/larry/templates/message.html.orig 2013-05-16 18:06:37.000000000 +0000
++++ skins/larry/templates/message.html
+@@ -44,7 +44,9 @@
+ <span class="moreheaderstoggle"></span>
+
+ <h2 class="subject"><roundcube:object name="messageHeaders" valueOf="subject" /></h2>
++<div class="message-headers">
+ <roundcube:object name="messageHeaders" class="headers-table" addicon="/images/addcontact.png" exclude="subject" max="20" />
++</div>
+ <roundcube:object name="messageFullHeaders" id="full-headers" />
+
+ <!-- record navigation -->