]> git.donarmstrong.com Git - roundcube.git/commitdiff
Merge tag 'upstream/0.7.2'
authorVincent Bernat <bernat@luffy.cx>
Sat, 28 Apr 2012 08:27:08 +0000 (10:27 +0200)
committerVincent Bernat <bernat@luffy.cx>
Sat, 28 Apr 2012 08:27:08 +0000 (10:27 +0200)
Upstream version 0.7.2

Conflicts:
program/include/rcmail.php.orig

84 files changed:
INSTALL.orig [deleted file]
debian/bug.control [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/conf/apache.conf [new file with mode: 0644]
debian/conf/lighttpd.conf [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/patches/correct-magic-path.patch [new file with mode: 0644]
debian/patches/correct_install_path.patch [new file with mode: 0644]
debian/patches/dbconfig-common_support.patch [new file with mode: 0644]
debian/patches/debianize_password_plugin.patch [new file with mode: 0644]
debian/patches/default-charset-utf8.patch [new file with mode: 0644]
debian/patches/disable-dns-prefetch.patch [new file with mode: 0644]
debian/patches/dont-limit-email-local-part.patch [new file with mode: 0644]
debian/patches/fix-599586.patch [new file with mode: 0644]
debian/patches/loginbox-size.patch [new file with mode: 0644]
debian/patches/received-headers-sa.patch [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/patches/too-old-mdb2.patch [new file with mode: 0644]
debian/patches/use-debian-jquery-ui.patch [new file with mode: 0644]
debian/patches/use_packaged_tinymce.patch [new file with mode: 0644]
debian/patches/use_pspell.patch [new file with mode: 0644]
debian/po/POTFILES.in [new file with mode: 0644]
debian/po/ar.po [new file with mode: 0644]
debian/po/cs.po [new file with mode: 0644]
debian/po/da.po [new file with mode: 0644]
debian/po/de.po [new file with mode: 0644]
debian/po/es.po [new file with mode: 0644]
debian/po/eu.po [new file with mode: 0644]
debian/po/fi.po [new file with mode: 0644]
debian/po/fr.po [new file with mode: 0644]
debian/po/gl.po [new file with mode: 0644]
debian/po/it.po [new file with mode: 0644]
debian/po/ja.po [new file with mode: 0644]
debian/po/nl.po [new file with mode: 0644]
debian/po/pt.po [new file with mode: 0644]
debian/po/pt_BR.po [new file with mode: 0644]
debian/po/ru.po [new file with mode: 0644]
debian/po/sk.po [new file with mode: 0644]
debian/po/sv.po [new file with mode: 0644]
debian/po/ta.po [new file with mode: 0644]
debian/po/templates.pot [new file with mode: 0644]
debian/roundcube-core.NEWS [new file with mode: 0644]
debian/roundcube-core.README.Debian [new file with mode: 0644]
debian/roundcube-core.config [new file with mode: 0644]
debian/roundcube-core.cron.daily [new file with mode: 0644]
debian/roundcube-core.default [new file with mode: 0644]
debian/roundcube-core.dirs [new file with mode: 0644]
debian/roundcube-core.docs [new file with mode: 0644]
debian/roundcube-core.install [new file with mode: 0644]
debian/roundcube-core.links [new file with mode: 0644]
debian/roundcube-core.logrotate [new file with mode: 0644]
debian/roundcube-core.postinst [new file with mode: 0644]
debian/roundcube-core.postrm [new file with mode: 0644]
debian/roundcube-core.prerm [new file with mode: 0644]
debian/roundcube-plugins.README.Debian [new file with mode: 0644]
debian/roundcube-plugins.dirs [new file with mode: 0644]
debian/roundcube-plugins.examples [new file with mode: 0644]
debian/roundcube-plugins.install [new file with mode: 0644]
debian/roundcube.cron.daily [new file with mode: 0644]
debian/roundcube.default [new file with mode: 0644]
debian/roundcube.logrotate [new file with mode: 0644]
debian/roundcube.postinst [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/sql/mysql/0.1.1-1 [new file with mode: 0644]
debian/sql/mysql/0.1~rc1~dfsg-1 [new file with mode: 0644]
debian/sql/mysql/0.2~alpha-5 [new file with mode: 0644]
debian/sql/mysql/0.2~stable-1 [new file with mode: 0644]
debian/sql/mysql/0.5-1 [new file with mode: 0644]
debian/sql/mysql/0.6+dfsg-1 [new file with mode: 0644]
debian/sql/mysql/0.7-1 [new file with mode: 0644]
debian/sql/mysql/0.7.1-1 [new file with mode: 0644]
debian/sql/pgsql/0.1.1-1 [new file with mode: 0644]
debian/sql/pgsql/0.1~rc1~dfsg-1 [new file with mode: 0644]
debian/sql/pgsql/0.2~stable-1 [new file with mode: 0644]
debian/sql/pgsql/0.5-1 [new file with mode: 0644]
debian/sql/pgsql/0.6+dfsg-1 [new file with mode: 0644]
debian/sql/pgsql/0.7-1 [new file with mode: 0644]
debian/sql/pgsql/0.7.1-1 [new file with mode: 0644]
debian/templates [new file with mode: 0644]
debian/watch [new file with mode: 0644]
program/include/rcmail.php.orig [deleted file]

diff --git a/INSTALL.orig b/INSTALL.orig
deleted file mode 100644 (file)
index 493baf7..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-INTRODUCTION
-============
-
-This file describes the basic steps to install Roundcube Webmail on your
-web server. For additional information, please also consult the project's
-wiki page at http://trac.roundcube.net/wiki
-
-
-REQUIREMENTS
-============
-
-* The Apache, Lighttpd, Cherokee or Hiawatha web server
-* .htaccess support allowing overrides for DirectoryIndex
-* PHP Version 5.2.1 or greater including
-   - PCRE, DOM, JSON, XML, Session, Sockets (required)
-   - libiconv (recommended)
-   - mbstring, fileinfo, mcrypt (optional)
-* PEAR packages distributed with Roundcube or external:
-   - MDB2 2.5.0 or newer
-   - Mail_Mime 1.8.1 or newer
-   - Net_SMTP 1.4.2 or newer
-   - Net_IDNA2 0.1.1 or newer
-   - Auth_SASL 1.0.3 or newer
-* php.ini options (see .htaccess file):
-   - error_reporting E_ALL & ~E_NOTICE (or lower)
-   - memory_limit > 16MB (increase as suitable to support large attachments)
-   - file_uploads enabled (for attachment upload features)
-   - session.auto_start disabled
-   - zend.ze1_compatibility_mode disabled
-   - suhosin.session.encrypt disabled
-   - mbstring.func_overload disabled
-   - magic_quotes_runtime disabled
-* PHP compiled with OpenSSL to connect to IMAPS and to use the spell checker
-* A MySQL (4.0.8 or newer), PostgreSQL, MSSQL database engine
-  or the SQLite extension for PHP
-* One of the above databases with permission to create tables
-* An SMTP server (recommended) or PHP configured for mail delivery
-
-
-INSTALLATION
-============
-
-1. Decompress and put this folder somewhere inside your document root
-2. Make sure that the following directories (and the files within)
-   are writable by the webserver
-   - /temp
-   - /logs
-3. Create a new database and a database user for Roundcube (see DATABASE SETUP)
-4. Point your browser to http://url-to-roundcube/installer/
-5. Follow the instructions of the install script (or see MANUAL CONFIGURATION)
-6. After creating and testing the configuration, remove the installer directory
-7. Done!
-
-
-CONFIGURATION HINTS
-===================
-
-Roundcube writes internal errors to the 'errors' log file located in the logs
-directory which can be configured in config/main.inc.php. If you want ordinary
-PHP errors to be logged there as well, enable the 'php_value error_log' line
-in the .htaccess file and set the path to the log file accordingly.
-
-By default the session_path settings of PHP are not modified by Roundcube.
-However if you want to limit the session cookies to the directory where
-Roundcube resides you can uncomment and configure the according line
-in the .htaccess file.
-
-
-DATABASE SETUP
-==============
-
-Note: Database for Roundcube must use UTF-8 character set.
-
-* MySQL
--------
-Setting up the mysql database can be done by creating an empty database,
-importing the table layout and granting the proper permissions to the
-roundcube user. Here is an example of that procedure:
-
-# mysql
-> CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
-> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost
-    IDENTIFIED BY 'password';
-> quit
-
-# mysql roundcubemail < SQL/mysql.initial.sql
-
-Note 1: 'password' is the master password for the roundcube user. It is strongly
-recommended you replace this with a more secure password. Please keep in
-mind: You need to specify this password later in 'config/db.inc.php'.
-
-
-* SQLite
---------
-You need sqlite 2 (preferably 2.8) to setup the sqlite db 
-(sqlite 3.x also doesn't work at the moment). Here is
-an example how you can setup the sqlite.db for roundcube:
-
-# sqlite -init SQL/sqlite.initial.sql sqlite.db
-Loading resources from SQL/sqlite.initial.sql
-SQLite version 2.8.16
-Enter ".help" for instructions
-sqlite> .exit
-# chmod o+rw sqlite.db
-
-Make sure your configuration points to the sqlite.db file and that the
-webserver can write to the file and the directory containing the file.
-
-
-* PostgreSQL
-------------
-To use Roundcube with PostgreSQL support you have to follow these
-simple steps, which have to be done as the postgres system user (or
-which ever is the database superuser):
-
-$ createuser roundcube
-$ createdb -O roundcube -E UNICODE roundcubemail
-$ psql roundcubemail
-
-roundcubemail =# ALTER USER roundcube WITH PASSWORD 'the_new_password';
-roundcubemail =# \c - roundcube
-roundcubemail => \i SQL/postgres.initial.sql
-
-All this has been tested with PostgreSQL 8.x and 7.4.x. Older
-versions don't have a -O option for the createdb, so if you are
-using that version you'll have to change ownership of the DB later.
-
-
-Database cleaning
------------------
-Do keep your database slick and clean we recommend to periodically execute
-bin/cleandb.sh which finally removes all records that are marked as deleted.
-Best solution is to install a cronjob running this script daily.
-
-
-
-MANUAL CONFIGURATION
-====================
-
-First of all, rename the files config/*.inc.php.dist to config/*.inc.php.
-You can then change these files according to your environment and your needs.
-Details about the config parameters can be found in the config files.
-See http://trac.roundcube.net/wiki/Howto_Install for even more guidance.
-
-You can also modify the default .htaccess file. This is necessary to
-increase the allowed size of file attachments, for example:
-       php_value       upload_max_filesize     2M
-
-
-UPGRADING
-=========
-
-If you already have a previous version of Roundcube installed,
-please refer to the instructions in UPGRADING guide.
-
-
-OPTIMISING
-==========
-
-There are two forms of optimisation here, compression and caching, both aimed
-at increasing an end user's experience using Roundcube Webmail. Compression
-allows the static web pages to be delivered with less bandwidth. The index.php
-of Roundcube Webmail already enables compression on its output. The settings
-below allow compression to occur for all static files. Caching sets HTTP 
-response headers that enable a user's web client to understand what is static
-and how to cache it.
-
-The caching directives used are:
- * Etags - sets at tag so the client can request is the page has changed
- * Cache-control - defines the age of the page and that the page is 'public'
-   This enables clients to cache javascript files that don't have private 
-   information between sessions even if using HTTPS. It also allows proxies
-   to share the same cached page between users.
- * Expires - provides another hint to increase the lifetime of static pages.
-
-For more information refer to RFC 2616.
-
-Side effects:
--------------
-These directives are designed for production use. If you are using this in
-a development environment you may get horribly confused if your webclient
-is caching stuff that you changed on the server. Disabling the expires 
-parts below should save you some grief.
-
-If you are changing the skins, it is recommended that you copy content to 
-a different directory apart from 'default'.
-
-Apache:
--------
-To enable these features in apache the following modules need to be enabled:
- * mod_deflate
- * mod_expires
- * mod_headers
-
-The optimisation is already included in the .htaccess file in the top 
-directory of your installation.
-
-If you are using Apache version 2.2.9 and later, in the .htaccess file
-change the 'append' word to 'merge' for a more correct response. Keeping
-as 'append' shouldn't cause any problems though changing to merge will 
-eliminate the possibility of duplicate 'public' headers in Cache-control.
-
-Lighttpd:
----------
-With Lightty the addition of Expire: tags by mod_expire is incompatible with
-the addition of "Cache-control: public". Using Cache-control 'public' is 
-used below as it is assumed to give a better caching result.
-
-Enable modules in server.modules:
-    "mod_setenv"
-    "mod_compress"
-
-Mod_compress is a server side cache of compressed files to improve its performance.
-
-$HTTP["host"] == "www.example.com" {
-
-    static-file.etags = "enable"
-    # http://redmine.lighttpd.net/projects/lighttpd/wiki/Etag.use-mtimeDetails
-    etag.use-mtime = "enable"
-
-    # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModSetEnv
-    $HTTP["url"] =~ "^/roundcubemail/(plugins|skins|program)" {
-        setenv.add-response-header  = ( "Cache-Control" => "public, max-age=2592000")
-    }
-
-    # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModCompress
-    # set compress.cache-dir to somewhere outside the docroot.
-    compress.cache-dir   = var.statedir + "/cache/compress"
-
-    compress.filetype = ("text/plain", "text/html", "text/javascript", "text/css", "text/xml", "image/gif", "image/png")
-}
-
-
diff --git a/debian/bug.control b/debian/bug.control
new file mode 100644 (file)
index 0000000..b627c1b
--- /dev/null
@@ -0,0 +1,2 @@
+Submit-As: roundcube
+Report-With: roundcube-core
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..1df0e70
--- /dev/null
@@ -0,0 +1,689 @@
+roundcube (0.7.1-2) unstable; urgency=high
+
+  * Remove roundcube-sqlite package since php5 package does not ship
+    SQLite 2.x support anymore. Roundcube is incompatible with SQLite 3.x.
+    Closes: #657092.
+  * Urgency set to high for php5 migration into testing.
+
+ -- Vincent Bernat <bernat@debian.org>  Tue, 07 Feb 2012 17:37:52 +0100
+
+roundcube (0.7.1-1) unstable; urgency=low
+
+  * New upstream version. Closes: #656093.
+  * Add Dutch debconf translation, thanks to Jeroen Schot.
+    Closes: #656082.
+
+ -- Vincent Bernat <bernat@debian.org>  Tue, 17 Jan 2012 08:57:11 +0100
+
+roundcube (0.7-3) unstable; urgency=low
+
+  * Ship jqueryui plugin. Closes: #653274.
+      + Depend on libjs-jquery-ui package (instead of builtin copy).
+      + Conflict with versions of roundcube-plugins-extra providing this
+        plugin.
+  * More SQL fixes on update. Closes: #654297.
+
+ -- Vincent Bernat <bernat@debian.org>  Mon, 02 Jan 2012 21:45:42 +0100
+
+roundcube (0.7-2) unstable; urgency=low
+
+  * Fix SQLite upgrade file. Closes: #653217.
+  * Also fixes MySQL upgrade file and SQLite regular file.
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 25 Dec 2011 16:14:04 +0100
+
+roundcube (0.7-1) unstable; urgency=low
+
+  * New upstream version. Closes: #652564.
+      + Does not ship SWF with TinyMCE anymore.
+
+ -- Vincent Bernat <bernat@debian.org>  Fri, 23 Dec 2011 22:04:39 +0100
+
+roundcube (0.6+dfsg-1) unstable; urgency=low
+
+  * New upstream version. Closes: #643707.
+      + Repack to remove SWF file without source from TinyMCE.      
+      + Add SQL upgrade procedures.
+      + Add new plugins: acl, enigma and newmail_notifier.
+      + Update jQuery dependency to jQuery 1.6.4.
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 02 Oct 2011 15:20:57 +0200
+
+roundcube (0.5.4+dfsg-1) unstable; urgency=high
+
+  [ Vincent Bernat ]
+  * New upstream version.
+     + Fix XSS vulnerability in UI messages (Closes: #641996).
+  * Switch to Git for version control thanks to Jérémy
+    Bobbio. debian/control updated.
+  * Ship INSTALL. Closes: #633698.
+
+  [ Jérémy Bobbio ]
+  * Re-add 'password' plugin to roundcube-plugins.
+
+ -- Vincent Bernat <bernat@debian.org>  Wed, 13 Jul 2011 08:33:01 +0200
+
+roundcube (0.5.3+dfsg-1) unstable; urgency=low
+
+  * New upstream release.
+     + Fix identities "reply-to" and "bcc" fields have a bogus value when
+       left empty (Closes: #628553).
+
+ -- Vincent Bernat <bernat@debian.org>  Fri, 10 Jun 2011 22:48:57 +0200
+
+roundcube (0.5.2+dfsg-1) unstable; urgency=low
+
+  * New upstream release
+  * Update logrotate configuration. Closes: #619410.
+  * Make debian-db.php owned by root. This really closes: #608976.
+  * Bump Standards-Version. No changes required.
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 24 Apr 2011 00:35:34 +0200
+
+roundcube (0.5.1+dfsg-7) unstable; urgency=low
+
+  * Make dbconfig-common use sqlite by default to ensure that the package
+    can be configured non-interactively in most cases. Closes: #617754.
+
+ -- Vincent Bernat <bernat@debian.org>  Fri, 11 Mar 2011 09:08:32 +0100
+
+roundcube (0.5.1+dfsg-6) unstable; urgency=low
+
+  * Handle incorrect upgrade from 0.3.1-6 when "changed" column already
+    exists for table "identities". Closes: #617312.
+
+ -- Vincent Bernat <bernat@debian.org>  Tue, 08 Mar 2011 07:37:56 +0100
+
+roundcube (0.5.1+dfsg-5) unstable; urgency=low
+
+  * Don't use awk. Use plain shell to modify main.inc.php.
+    Closes: #616074.
+
+ -- Vincent Bernat <bernat@debian.org>  Fri, 04 Mar 2011 20:46:57 +0100
+
+roundcube (0.5.1+dfsg-4) unstable; urgency=low
+
+  * Fix debian/watch to remove "+dfsg" suffix.
+  * Use awk instead of sed to modify main.inc.php. Closes: #615277.
+
+ -- Vincent Bernat <bernat@debian.org>  Tue, 01 Mar 2011 19:59:00 +0100
+
+roundcube (0.5.1+dfsg-3) unstable; urgency=low
+
+  * Install show_additional_headers plugin in roundcube-plugins package.
+  * Use dbconfig-common to force some upgrade commands using some ugly
+    hacks. This should fix any remaining problems with MySQL
+    upgrade. Closes: #613586.
+
+ -- Vincent Bernat <bernat@debian.org>  Fri, 18 Feb 2011 22:04:12 +0100
+
+roundcube (0.5.1+dfsg-2) unstable; urgency=low
+
+  * Remove all "ADD INDEX" from MySQL 0.5-1 upgrade file and put them in
+    postinst script. If you have a problem during the upgrade, please, let
+    me know. This upload is only done to prevent users who did not upgrade
+    to 0.5 yet to have a problem during their upgrade. If you already
+    upgraded to 0.5 and if the upgrade failed (or if some feature are
+    missing like identities management), please look at bug #613586.
+
+ -- Vincent Bernat <bernat@debian.org>  Wed, 16 Feb 2011 20:54:48 +0100
+
+roundcube (0.5.1+dfsg-1) unstable; urgency=low
+
+  * Add plugins. Closes: #550454.
+  * Rewrite (and update) of debian/copyright.
+  * Use of yui-compressor to re-minify Javascript files.
+  * Drop correct-magic-path.patch: libmagic1 now provides a symlink to the
+    correct location since 4.24-4.
+  * Repack orig.tar.gz to remove swf file shipped with TinyMCE with no
+    sources available.
+
+ -- Vincent Bernat <bernat@debian.org>  Mon, 14 Feb 2011 22:33:51 +0100
+
+roundcube (0.5.1-1) unstable; urgency=low
+
+  * New upstream version. Some bugs are corrected in this release or in a
+    previous release:
+      + when switching to HTML mode, content type is now correctly set.
+        Closes: #611321.
+      + header delimiters handling has been fixed in 0.5.
+        Closes: #603489.
+  * Don't assign "skins" directory to www-data. Closes: #612552.
+  * Add instructions on how to install and upgrade when not using
+    dbconfig-common. We do not ship UPGRADING file any more since it is
+    misleading. Closes: #612511.
+  * Fix MySQL indexes if upgrading from 0.5-2 or lesser. Closes: #610725.
+  * Rework how symlinks work. The only directory to use is
+    /var/lib/roundcube. We use symlink from /usr/share/roundcube to
+    /var/lib/roundcube and not the other way. Moreover, plugins and skins
+    are also symlinked. A user should be able to add plugins and skins in
+    /var/lib/roundcube while default ones are in
+    /usr/share/roundcube. Closes: #612553.
+
+ -- Vincent Bernat <bernat@debian.org>  Wed, 09 Feb 2011 07:32:42 +0100
+
+roundcube (0.5-2) experimental; urgency=low
+
+  * If 0.3.1 was installed from scratch, upgrade does not work on MySQL
+    and PostgreSQL because we try to create an index which already
+    exists. With SQLite, the error is ignored, no fix needed. When using
+    PostgreSQL, fix this by dropping the index if it already
+    exists. Nothing similar seems to exist with MySQL. Therefore, just
+    don't create the index. We need to handle this later. See bug
+    #610725. Not closing.
+
+ -- Vincent Bernat <bernat@debian.org>  Fri, 21 Jan 2011 21:44:05 +0100
+
+roundcube (0.5-1) experimental; urgency=low
+
+  * New upstream release. Closes: #592312.
+     + Drop patches included upstream (DNS prefetching, jQuery 1.4
+       handling, email address validation, duplicate headers, incorrectly
+       formatted received headers). Adapt other patches. One of the patch
+       now correctly states to use dpkg-reconfigure roundcube-core.
+       Closes: #608977.
+     + Update SQL commands to use to upgrade database.
+       That also closes: #602922. Unfortunately, the user may get some
+       harmless error messages because there is no way to know if
+       0.3.1 was installed from scratch or upgraded from 0.3.
+     + Update dependencies to match INSTALL file. Only exception is the
+       use of Mail_Mime 1.8.0 in place of 1.8.1 which is not available in
+       Debian. We depends on jQuery 1.4.2 because 1.4.4 is not available in
+       Debian.
+     + All folders are correctly checked since 0.4. Closes: #552430.
+     + Also, closes: #553194 since it seems to have been fixed too.
+     + There is also the possibility to not top-quote since 0.4.
+       Closes: #491063.
+     + Closes: #602144. Also fixed.
+  * Move .htaccess to /etc/roundcube and use a symlink (Closes: #591369).
+  * Don't let www-data overwrite debian-db.php. Closes: #608976.
+  * Bump Standards-Version. No changes required.
+
+ -- Vincent Bernat <bernat@debian.org>  Sat, 15 Jan 2011 12:40:27 +0100
+
+roundcube (0.3.1-6) unstable; urgency=low
+
+  * Update Arabic debconf translation, thanks to Ossama Khayat.
+    Closes: #596181.
+  * Update Portuguese debconf translation, thanks to Christian Perrier.
+    Closes: #599575.
+  * Add a patch to avoid duplicate boundaries in headers when adding an
+    attachment. Closes: #599586.
+
+ -- Vincent Bernat <bernat@debian.org>  Mon, 18 Oct 2010 23:14:37 +0200
+
+roundcube (0.3.1-5) unstable; urgency=low
+
+  * Depends on php-mail-mime 1.7.0 or more recent to handle correctly
+    'mime_param_folding' directive. Closes: #588295.
+  * Add Danish debconf translation, thanks to Joe Dalton.
+    Closes: #593271.
+  * Add a patch to fix Received header to behave better with Spam
+    Assassin. Closes: #595204.
+
+ -- Vincent Bernat <bernat@debian.org>  Thu, 02 Sep 2010 07:54:58 +0200
+
+roundcube (0.3.1-4) unstable; urgency=low
+
+  * Update README.Debian to state that the variable to modify is
+    'htmleditor' instead of 'enable_htmleditor'. Thanks to Hans
+    Spaans. Closes: #575556.
+  * Add Brazilian Portuguese debconf translation, thanks to Eder
+    L. Marques. Closes: #581745.
+  * Switch default encoding to UTF-8 instead of ISO-8859-1.
+    Closes: #588084.
+  * Add more explanations on how to install roundcube in a Debian system
+    in README.Debian. Closes: #584458, #582894.
+  * Bump Standards-Version. No changes required.
+  * Switch to 3.0 (quilt) format.
+  * Use Breaks instead of Conflicts to move files from older roundcube
+    installations.
+
+ -- Vincent Bernat <bernat@debian.org>  Sat, 17 Jul 2010 17:23:30 +0200
+
+roundcube (0.3.1-3) unstable; urgency=high
+
+  * RFC 5321, section 4.5.3.1, asks to not impose any limits on length if
+    possible. We respect this by dropping limitation of the local-part of
+    an email address. Closes: #568360, #568537.
+  * Suggests php-auth-sasl to enable use of SASL mechanisms for mail
+    servers. Closes: #567550.
+  * Disable DNS prefetching to avoid information leakage through links
+    embedded in messages. This fixes CVE-2010-0464. Closes: #569660.
+  * Bump Standards-Version. No changes required.
+
+ -- Vincent Bernat <bernat@debian.org>  Sat, 13 Feb 2010 10:21:49 +0100
+
+roundcube (0.3.1-2) unstable; urgency=low
+
+  * Fix VCS links in debian/control, thanks to Torsten Landschoff.
+    Closes: #555900.
+  * Really ship NEWS.Debian.
+  * Add changesets 3170 and 3202 from upstream to handle gracefully jQuery
+    1.4. Thanks to Volker Gropp for the report. Closes: #565715.
+
+ -- Vincent Bernat <bernat@debian.org>  Mon, 18 Jan 2010 23:11:01 +0100
+
+roundcube (0.3.1-1) unstable; urgency=low
+
+  * New upstream release.
+  * Add a notice in NEWS.Debian about php.ini options that should be set
+    to get Roundcube working properly. Closes: #549428, #552508.
+
+ -- Vincent Bernat <bernat@debian.org>  Sat, 07 Nov 2009 17:41:37 +0100
+
+roundcube (0.3-2) unstable; urgency=low
+
+  * Really fix #544579 since the default value is null without
+    quotes. This really Closes: #544579.
+  * Enlarge login box to accommodate sk_SK locale. Closes: #542933.
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 27 Sep 2009 11:26:56 +0200
+
+roundcube (0.3-1) unstable; urgency=low
+
+  * New upstream release. Closes: #545498.
+  * Update debconf translations:
+      + Italian, thanks to Luca Monducci. Closes: #544199.
+      + Czech, thanks to Miroslav Kure. Closes: #546413.
+  * Roundcube configuration now uses 'language' instead of 'locale_string'
+    to specify the default language. Update postinst to reflect this
+    change. Thanks to Richard van den Berg for noticing this. Closes: #544579.
+  * Depends on libjs-jquery (>= 1.3) since this is now used by roundcube.
+  * Don't ship any plugins for now but ship an empty plugins directory.
+  * Ship main .htaccess since it is needed to setup correctly PHP (for
+    example, to disable PHP Suhosin cookie encryption).
+  * Bump Standards-Version. No changes required.
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 27 Sep 2009 11:00:30 +0200
+
+roundcube (0.2.2-1) unstable; urgency=low
+
+  * New upstream release
+  * Bump Standards-Version. No changes required.
+  * Remove *.js.src which are not needed at runtime.
+  * Don't send email contents to Google by default by using php5-pspell
+    instead. Thanks to Anand Kumria. Closes: #529563.
+  * Update debconf translations:
+      + Basque, thanks to Piarres Beobide. Closes: #534282.
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 05 Jul 2009 09:53:17 +0200
+
+roundcube (0.2.1-2) unstable; urgency=low
+
+  * Update debconf translations:
+      + German, thanks to Helge Kreutzmann. Closes: #520004.
+      + Japanese, thanks to Hideki Yamane. Closes: #520024.
+      + Spanish, thanks to Francisco Javier. Closes: #526696.
+      + Russian, thanks to Yuri Kozlov. Closes: #528796.
+  * Depend on php-mdb2-* (>= 1.5.0b2) since it is needed to fix some
+    bugs. Closes: #519104, #519293. Remove not needed any more patch from
+    debian/patches/series. Keep it in debian/patches to help backports.
+
+ -- Vincent Bernat <bernat@debian.org>  Sat, 16 May 2009 15:30:17 +0200
+
+roundcube (0.2.1-1) unstable; urgency=low
+
+  * New upstream release:
+      + Fix use_packaged_tinymce.patch to apply to this new version
+      + Remove cve-2009-0413.patch which has been applied upstream
+
+ -- Vincent Bernat <bernat@debian.org>  Sat, 14 Mar 2009 17:42:07 +0100
+
+roundcube (0.2~stable-2) unstable; urgency=low
+
+  * Update debconf translations:
+      + French, thanks to Christian Perrier. Closes: #515806.
+      + Swedish, thanks to Martin Bagge. Closes: #516683.
+  * Drop virtual package roundcube-db and add dependencies on real package
+    instead: this way, we can have versioned dependencies on those to avoid
+    version mismatch between packages.
+  * Add a patch to not use a MDB2 feature not present in the Debian
+    package. Thanks to Grzegorz Sobański for the patch. Closes: #519104.
+
+ -- Vincent Bernat <bernat@debian.org>  Wed, 11 Mar 2009 18:49:32 +0100
+
+roundcube (0.2~stable-1) unstable; urgency=low
+
+  * New upstream version. Closes: #503573, #504570.
+      + Add SQL update scripts for this new release and for
+        0.2~alpha. Remove copy of SQL upgrade script from debian/rules.
+      + Remove patch for CVE-2008-5620 which is now fixed upstream.
+      + Remove patch correcting a vulnerability in html2text.php.
+      + Remove patch fixing login issue. This is fixed upstream.
+      + Remove patch setting the default backend to db instead of mdb2:
+        this is not possible any more. We depend on php-mdb2 now.
+      + Update patch to use packaged tinymce.
+  * Upload to unstable since Lenny is out.
+  * Apply fix for XSS issue (CVE-2009-0413). Closes: #514179.
+  * Remove hack to update a SQLite table for an upgrade from a quite old
+    version of roundcube.
+  * Fix pending l10n issues:
+      + Update English debconf template. Closes: #473794.
+      + Add Swedish translation thanks to Martin Bagge. Closes: #508752.
+  * Fix debian/copyright to make lintian happy.
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 15 Feb 2009 16:18:58 +0100
+
+roundcube (0.2~alpha-4) experimental; urgency=low
+
+  * Add missing ${misc:Depends} to make Lintian happy.
+  * Add description to each patch.
+  * Execute cron job only if the directory to clean exists.
+  * Reload web server configuration instead of restart, thanks to a patch
+    from Tiago Bortoletto Vaz. Closes: #508633.
+  * Fix a vulnerability in quota image generation. This fixes
+    CVE-2008-5620. Thanks to Nico Golde for reporting it. Closes: #509596.
+  * Add missing dependency on php5-gd, used for quota bar.
+  * For roundcube-pgsql, depends on postgresql-client only. This package
+    is provided by the currently supported real package.
+
+ -- Vincent Bernat <bernat@debian.org>  Thu, 25 Dec 2008 11:38:13 +0100
+
+roundcube (0.2~alpha-3) experimental; urgency=high
+
+  [ Vincent Bernat ]
+  * Fix a vulnerability in the use of preg_replace (Closes: #508628).
+  * Adapt descriptions of roundcube-database packages to refer them as
+    metapackages instead of virtual package (Closes: #495434).
+  * Add robots.txt from upstream, even if in some configuration, it will
+    not be considered (Closes: #499108).
+  * Do not ship .htaccess files. Restrictions are set in Apache or
+    Lighttpd configuration files (Closes: #500202).
+
+  [ Romain Beauxis ]
+  * Changed versioned dependency of rouncube from binary:Version to
+    source:Version since these are all architecture independent packages.  
+
+ -- Vincent Bernat <bernat@debian.org>  Sat, 13 Dec 2008 14:36:02 +0100
+
+roundcube (0.2~alpha-2) experimental; urgency=low
+
+  [ Vincent Bernat ]
+  * Fix lintian warnings introduced by previous upload
+  * Fix lighttpd.conf to make it work with latest versions (Closes: #494044)
+  * Do not prepend path to lighty util in postinst and postrm, as per
+    Policy Manual section 6.1
+  * Ship a bug/control file to have all bugs submitted against roundcube
+    metapackage
+  * Fix debian/roundcube-core.cron.daily to use
+    /etc/default/roundcube-core instead of /etc/default/roundcube which
+    should not exist any more
+
+  [ Romain Beauxis ]
+  * Versioned roundcube-core dependency for roundcube 
+
+ -- Vincent Bernat <bernat@debian.org>  Sat, 16 Aug 2008 13:22:08 +0200
+
+roundcube (0.2~alpha-1) experimental; urgency=low
+
+  * New upstream release
+  * Update debian/watch file to correctly consider those new releases
+  * Remove the following patches:
+      + messageid-headers-ordering
+      + mysql-update-fix
+      + disable-tinymce-spellchecker
+  * Update the following patches:
+      + correct_install_path
+      + use_packaged_tinymce
+  * Add a new patch to fix a login problem
+  * Depends on tinymce >= 3
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 22 Jun 2008 14:10:44 +0200
+
+roundcube (0.1.1-7) unstable; urgency=low
+
+  * Another fix for incorrect tinymce path. This should be the last one!
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 22 Jun 2008 12:36:59 +0200
+
+roundcube (0.1.1-6) unstable; urgency=low
+
+  * Fix use_packaged_tinymce patch which was incorrect after switch to
+    tinymce2 package.
+
+ -- Vincent Bernat <bernat@debian.org>  Sun, 22 Jun 2008 12:19:16 +0200
+
+roundcube (0.1.1-5) unstable; urgency=low
+
+  * Fix ordering of message-id in message headers, thanks to Reinhard
+    Tartler (Closes: #486493)
+  * Update Standards-Version to 3.8.0
+
+ -- Vincent Bernat <bernat@debian.org>  Tue, 17 Jun 2008 00:33:40 +0200
+
+roundcube (0.1.1-4) unstable; urgency=low
+
+  * Add Slovak debconf translation, thanks to Ivan Masár (Closes: #481376)
+  * Fix debian/copyright:
+     + RoundCube is GPL-2 licensed, not GPL-2+
+     + Add an explanation on the BSD license present at the top of
+       index.php (Closes: #477119)
+  * We do not support tinymce 3, yet. Depends on tinymce2 | tinymce (<<
+    3). Closes: #481145, #483053, #482295
+
+ -- Vincent Bernat <bernat@debian.org>  Tue, 20 May 2008 20:51:52 +0200
+
+roundcube (0.1.1-3) unstable; urgency=low
+
+  * Fix an error introduced when fixing bug #476803. Thanks to Micah
+    Anderson for spotting it (Closes: #479775).
+  * Avoid to pop language question at every upgrade. Thanks to Ivan Vucica
+    for spotting this. The problem lied in the use of db_metaget to get
+    the value of a key set by db_subst in a previous invocation. It seems
+    this is not possible any more (Closes: #480043). The fix implies that
+    we won't ask the question again if more languages are available since
+    last upgrade.
+
+ -- Vincent Bernat <bernat@debian.org>  Thu, 08 May 2008 09:50:24 +0200
+
+roundcube (0.1.1-2) unstable; urgency=low
+
+  * Comment by default Alias directive for tinymce in Apache configuration
+    file (Closes: #476162).
+  * Allow to preseed language value (Closes: #476803).
+
+ -- Vincent Bernat <bernat@luffy.cx>  Sat, 19 Apr 2008 16:50:28 +0200
+
+roundcube (0.1.1-1) unstable; urgency=low
+
+  * New upstream release
+    - Copy old SQL upgrade scripts into debian/sql to allow upgrade from
+      versions older than 0.1
+    - Patch new MySQL upgrade script to fix a typo
+  * Debconf translation updates:
+    - Spanish. Closes: #473788
+  * Depends on php-mail-mime (>= 1.5.0) and drop compatibility patch
+  * Install upstream changelog in /usr/share/doc/roundcube*
+
+ -- Vincent Bernat <bernat@luffy.cx>  Sat, 05 Apr 2008 18:16:33 +0200
+
+roundcube (0.1-4) unstable; urgency=low
+
+  * Debconf translation updates:
+    - French. Closes: #469802
+    - Russian. Closes: #469847
+    - Galician. Closes: #469866
+    - German. Closes: #469875
+    - Finnish. Closes: #469922
+    - Italian. Closes: #469987
+    - Czech. Closes: #470150
+    - Portuguese. Closes: #470156
+    - Spanish. Closes: #470732
+    - Basque. Closes: #470871
+    - Arabic. Closes: #471470
+
+ -- Vincent Bernat <bernat@luffy.cx>  Sat, 08 Mar 2008 11:15:00 +0100
+
+roundcube (0.1-3) unstable; urgency=low
+
+  * Fix problem with too old php-mail-mime package (Closes: #469814)
+
+ -- Vincent Bernat <bernat@luffy.cx>  Fri, 07 Mar 2008 11:06:49 +0100
+
+roundcube (0.1-2) unstable; urgency=low
+
+  * Ship bin/ directory as well. This fix conversion from HTML to text in
+    composition.
+  * Disable spellchecker for tinymce since it is not shipped with Debian
+    package of tinymce.
+
+ -- Vincent Bernat <bernat@luffy.cx>  Fri, 07 Mar 2008 09:42:39 +0100
+
+roundcube (0.1-1) unstable; urgency=low
+
+  * New upstream release (Closes: #469487).
+     - This release seems to fix failure to set some fields when replying,
+       with bincimap as IMAP server (Closes: #443562)
+     - It also fixes the deletion of multiple messages, still with
+       bincimap (Closes: #451404)
+  * Remove 'ob_gzhandler.patch' and 'xss-fix.patch'. They have been
+    merged upstream.
+  * Upstream has switched to MDB2 database backend which is not packaged
+    in Debian yet. We switch back to old backend.
+  * Fix debian/watch to handle correctly detection of new versions.
+  * Add support for lighttpd and remove support for older version of
+    Apache. The debconf question about webserver autoconfiguration is
+    reworded (Closes: #462961).
+  * Do not depend on a specific revision of cdbs.
+  * Move po-debconf from Build-Depends-Indep to Build-Depends since it is
+    needed for clean target.
+  * Correct path to /usr/share/file/magic, provided by libmagic1. Provide
+    license information about this file in debian/copyright.
+
+ -- Vincent Bernat <bernat@luffy.cx>  Wed, 05 Mar 2008 20:49:03 +0100
+
+roundcube (0.1~rc2-6) unstable; urgency=high
+
+  * Bug fix: "CVE-2007-6321: Cross-site scripting (XSS) vulnerability",
+    thanks to Micah Anderson (Closes: #455840). The patch is from
+    http://lists.roundcube.net/mail-archive/dev/2007-12/0000038.html and
+    provided by Robin Elfrink. It has been modified with some functions
+    stolen from Squirrelmail.
+  * Finnish debconf template, thanks to Esko Arajärvi (Closes: #458244).
+
+ -- Vincent Bernat <bernat@luffy.cx>  Sat, 29 Dec 2007 21:55:17 +0100
+
+roundcube (0.1~rc2-5) unstable; urgency=low
+
+  * Deal with old /etc/logrotate.d/roundcube by removing it if left
+    untouched (Closes: #456546). Also deal with /etc/default/roundcube and
+    /etc/cron.daily/roundcube.
+
+ -- Vincent Bernat <bernat@luffy.cx>  Tue, 18 Dec 2007 23:02:46 +0100
+
+roundcube (0.1~rc2-4) unstable; urgency=low
+
+  * Thightened dependencies for a safe upgrade
+  * Finally removed any circular dependency, -db packages no longer pull
+    a full roundcube install
+
+ -- Romain Beauxis <toots@rastageeks.org>  Sun, 09 Dec 2007 14:24:24 +0100
+
+roundcube (0.1~rc2-3) unstable; urgency=low
+
+  * Upload to unstable
+  * Bumped standard version to 3.7.3 (no changes) 
+
+ -- Romain Beauxis <toots@rastageeks.org>  Sun, 09 Dec 2007 14:19:28 +0100
+
+roundcube (0.1~rc2-2) experimental; urgency=low
+
+  [ Vincent Bernat ]
+  * Fix a conflict between ob_gzhandler and zlib output compression,
+    thanks to kaouete (Closes: #450482).
+
+  [ Romain Beauxis ]
+  * Fix tinymce patch and inclusion
+    Closes: #452016
+  * Splitted virtual packages to avoid circular dependencies.
+    Uploading to experimental, as this is an important change and we may
+    expect issues..
+
+ -- Romain Beauxis <toots@rastageeks.org>  Mon, 26 Nov 2007 11:54:21 +0100
+
+roundcube (0.1~rc2-1) unstable; urgency=low
+
+  * New upstream, thanks to Nicolas Stransky (Closes: #447503). This
+    release support tinymce as HTML editor. Look at README.Debian for more
+    information.
+  * Update Galician debconf template, thanks to Jacobo Tarrio (Closes: #447943).
+
+ -- Vincent Bernat <bernat@luffy.cx>  Mon, 29 Oct 2007 22:08:43 +0100
+
+roundcube (0.1~rc1-3) unstable; urgency=low
+
+  * In respect to policy 12.3, do not put main.inc.php.dist in
+    /usr/share/doc, thanks to Jonas Smedegaard (Closes: #446502).
+  * Update German and French debconf templates, thanks to Christian
+    Perrier (Closes: #446458) and Helge Kreutzmann (Closes: #446532).
+
+ -- Vincent Bernat <bernat@luffy.cx>  Sun, 14 Oct 2007 08:41:24 +0200
+
+roundcube (0.1~rc1-2) unstable; urgency=low
+
+  * Fix dependencies by creating virtual packages for each database
+    backend, thanks to Joey Hess (Closes: #444925).
+
+ -- Vincent Bernat <bernat@luffy.cx>  Tue, 02 Oct 2007 20:09:19 +0200
+
+roundcube (0.1~rc1-1) unstable; urgency=low
+
+  * New upstream release
+  * Removed non gpl file des.inc
+
+ -- Romain Beauxis <toots@rastageeks.org>  Tue, 24 Jul 2007 13:36:20 +0200
+
+roundcube (0.1~rc1~dfsg-3) unstable; urgency=low
+
+  * Add php5-mcrypt dependency (Closes: #431177)
+
+ -- Vincent Bernat <bernat@luffy.cx>  Sat, 30 Jun 2007 19:36:21 +0200
+
+roundcube (0.1~rc1~dfsg-2) unstable; urgency=low
+
+  * Removed custom unix_timestamp for sqlite: solved upstream
+  * Debconf templates and debian/control reviewed by the debian-l10n-
+    english team as part of the Smith review project.
+    Closes: #426086, #427546, #427546
+  * Debconf translation updates:
+    - Galician. Closes: #426140
+    - Basque. Closes: #426150
+    - Czech. Closes: #426428
+    - Portuguese. Closes: #426451
+    - Arabic. Closes: #427110
+    - Italian. Closes: #427206
+    - German. Closes: #427536
+    - French. Closes: #427736
+    - Tamil. Closes: #428254
+    - Russian. Closes: #428364
+    - Spanish. Closes: #428573
+
+ -- Romain Beauxis <toots@rastageeks.org>  Tue, 05 Jun 2007 15:22:36 +0200
+
+roundcube (0.1~rc1~dfsg-1) unstable; urgency=low
+
+  [ Vincent Bernat ]
+  * New upstream release
+  * Update script for sqlite in postinst
+  [ Romain Beauxis ]
+  * Fixed dh_link calls
+    Closes: #423824
+  * Added custom patch to use php unix timestamp support
+    with sqlite since UNIX_TIMESTAMP is not supported by sqlite.
+  * Dropped php4 dependencies
+
+ -- Vincent Bernat <bernat@luffy.cx>  Sun, 20 May 2007 13:59:44 +0200
+
+roundcube (0.1~beta2.2~dfsg-2) unstable; urgency=low
+
+  * Fix a security issue by disallowing access to logs.
+  * First upload to unstable.
+
+ -- Vincent Bernat <bernat@luffy.cx>  Sat,  5 May 2007 00:23:40 +0200
+
+roundcube (0.1~beta2.2~dfsg-1) experimental; urgency=low
+
+  * Initial release. (Closes: #333756, #344949)
+
+ -- Romain Beauxis <toots@rastageeks.org>  Tue, 13 Mar 2007 13:28:05 +0100
diff --git a/debian/compat b/debian/compat
new file mode 100644 (file)
index 0000000..7ed6ff8
--- /dev/null
@@ -0,0 +1 @@
+5
diff --git a/debian/conf/apache.conf b/debian/conf/apache.conf
new file mode 100644 (file)
index 0000000..f4befee
--- /dev/null
@@ -0,0 +1,42 @@
+# Those aliases do not work properly with several hosts on your apache server
+# Uncomment them to use it or adapt them to your configuration
+#    Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/
+#    Alias /roundcube /var/lib/roundcube
+
+# Access to tinymce files
+<Directory "/usr/share/tinymce/www/">
+      Options Indexes MultiViews FollowSymLinks
+      AllowOverride None
+      Order allow,deny
+      allow from all
+</Directory>
+
+<Directory /var/lib/roundcube/>
+  Options +FollowSymLinks
+  # This is needed to parse /var/lib/roundcube/.htaccess. See its
+  # content before setting AllowOverride to None.
+  AllowOverride All
+  order allow,deny
+  allow from all
+</Directory>
+
+# Protecting basic directories:
+<Directory /var/lib/roundcube/config>
+        Options -FollowSymLinks
+        AllowOverride None
+</Directory>
+
+<Directory /var/lib/roundcube/temp>
+        Options -FollowSymLinks
+        AllowOverride None
+       Order allow,deny
+       Deny from all
+</Directory>
+
+<Directory /var/lib/roundcube/logs>
+        Options -FollowSymLinks
+        AllowOverride None
+       Order allow,deny
+       Deny from all
+</Directory>
+
diff --git a/debian/conf/lighttpd.conf b/debian/conf/lighttpd.conf
new file mode 100644 (file)
index 0000000..46a12ae
--- /dev/null
@@ -0,0 +1,17 @@
+# You may want to set up this alias differently depending on your
+# virtual host configuration. Do not forget to adapt the rest of the
+# configuration.
+
+# Look at /var/lib/roundcube/.htaccess. You may need to migrate some
+# of those php_flag/php_value to your setup.
+
+alias.url += ("/roundcube/program/js/tiny_mce" => "/usr/share/tinymce/www")
+alias.url += ("/roundcube" => "/var/lib/roundcube")
+
+$HTTP["url"] =~ "^/roundcube" {
+  server.follow-symlink = "enable"
+}
+
+$HTTP["url"] =~ "^/roundcube/config|/roundcube/temp|/roundcube/logs" {
+  url.access-deny = ( "" )
+}
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..96364ab
--- /dev/null
@@ -0,0 +1,81 @@
+Source: roundcube
+Section: web
+Priority: extra
+Maintainer: Debian Roundcube Maintainers <pkg-roundcube-maintainers@lists.alioth.debian.org>
+Uploaders: Vincent Bernat <bernat@debian.org>, Romain Beauxis <toots@rastageeks.org>
+Build-Depends: cdbs, debhelper (>= 5), dh-buildinfo, po-debconf, yui-compressor
+Homepage: http://www.roundcube.net/
+Standards-Version: 3.9.2
+Vcs-Git: git://anonscm.debian.org/pkg-roundcube/roundcube.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-roundcube/roundcube.git
+
+Package: roundcube-core
+Architecture: all
+Depends: dbconfig-common, debconf | debconf-2.0, ucf,
+ apache2 | lighttpd | httpd,
+ php5, php5-mcrypt, php5-gd, php5-intl,
+ php-mdb2 (>= 2.5.0), php-auth, php-net-smtp (>= 1.4.2),
+ php-net-socket, php-mail-mime (>= 1.8.0), php5-pspell,
+ tinymce (>= 3), libjs-jquery (>= 1.6.4), libjs-jquery-ui (>= 1.8),
+ libmagic1,
+ roundcube-mysql (= ${source:Version}) | roundcube-pgsql (= ${source:Version}),
+ ${misc:Depends}
+Suggests: php-auth-sasl (>= 1.0.3), php-crypt-gpg, roundcube-plugins
+Replaces: roundcube
+Breaks: roundcube (<< 0.1~rc2-2)
+Conflicts: roundcube-plugins-extra (<= 0.6-20111030)
+Description: skinnable AJAX based webmail solution for IMAP servers
+ RoundCube Webmail is a browser-based multilingual IMAP client with an
+ application-like user interface. It provides full functionality
+ expected from an e-mail client, including MIME support, address book,
+ folder manipulation and message filters.
+ .
+ The user interface is fully skinnable using XHTML and CSS 2.
+ .
+ This package provides the core code for roundcube. You should install
+ it along with one of the roundcube database metapackages.
+
+Package: roundcube
+Architecture: all
+Depends: roundcube-core (= ${source:Version}), ${misc:Depends}
+Description: skinnable AJAX based webmail solution for IMAP servers - metapackage
+ RoundCube Webmail is a browser-based multilingual IMAP client with an
+ application-like user interface. It provides full functionality
+ expected from an e-mail client, including MIME support, address book,
+ folder manipulation and message filters.
+ .
+ The user interface is fully skinnable using XHTML and CSS 2.
+ .
+ This package will install a full roundcube application.
+
+Package: roundcube-mysql
+Architecture: all
+Depends: php-mdb2-driver-mysql (>= 1.5.0b2), mysql-client | virtual-mysql-client, ${misc:Depends}
+Suggests: mysql-server
+Description: metapackage providing MySQL dependencies for RoundCube
+ This package provides MySQL dependencies for RoundCube Webmail, a
+ skinnable AJAX based webmail solution for IMAP servers. Install this
+ one if you want to use a MySQL database with RoundCube.
+
+Package: roundcube-pgsql
+Architecture: all
+Depends: php-mdb2-driver-pgsql (>= 1.5.0b2), postgresql-client-8.1 | postgresql-client, ${misc:Depends}
+Suggests: postgresql-server
+Description: metapackage providing PostgreSQL dependencies for RoundCube
+ This package provides PostgreSQL dependencies for RoundCube Webmail,
+ a skinnable AJAX based webmail solution for IMAP servers. Install
+ this one if you want to use a PostgreSQL database with RoundCube.
+
+Package: roundcube-plugins
+Architecture: all
+Depends: roundcube-core (= ${source:Version}), ${misc:Depends}
+Description: skinnable AJAX based webmail solution for IMAP servers - plugins
+ RoundCube Webmail is a browser-based multilingual IMAP client with an
+ application-like user interface. It provides full functionality
+ expected from an e-mail client, including MIME support, address book,
+ folder manipulation and message filters.
+ .
+ The user interface is fully skinnable using XHTML and CSS 2.
+ .
+ This package provides several plugins for Roundcube. They should be
+ enabled in the configuration of Roundcube.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..36a4b89
--- /dev/null
@@ -0,0 +1,541 @@
+Format: http://dep.debian.net/deps/dep5/
+Upstream-Name: Roundcube Dev. - Switzerland
+Upstream-Contact: http://roundcube.net/support
+Source: http://roundcube.net/download
+
+Files: *
+Copyright: 2005-2011, Roundcube Dev. - Switzerland
+License: GPL-2
+
+Files: skins/default/*
+Copyright: 2005-2011, Roundcube Dev. - Switzerland
+License: CC-BY-SA-3
+
+Files: program/js/googiespell.js*
+Copyright: 2006 Amir Salihefendic
+           2009 Aleksander Machniak
+License: GPL-2
+
+Files: program/js/jquery*.js
+Copyright: 2010 John Resig
+           2010 The Dojo Foundation
+License: GPL-2 or Expat
+ Also includes sizzle.js, licensed under Expat, BSD-3-clause and
+ GPL-2. This file is not shipped in the resulting Debian packages. We
+ use system-included jQuery.
+
+Files: program/js/tiny_mce/*
+Copyright: 2003-2006 Moxiecode Systems AB
+License: LGPL-2.1
+
+Files: program/lib/enriched.inc
+Copyright: 2000-2003 Ryo Chijiiwa <Ryo@IlohaMail.org>
+License: GPL-2
+
+Files: program/lib/html2text.php
+Copyright: 2005-2007 Jon Abernathy <jon@chuggnutt.com>
+License: GPL-2+
+
+Files: program/lib/tnef_decoder.php
+Copyright: 2002-2010 The Horde Project (http://www.horde.org/)
+License: LGPL-2.1
+
+Files: program/lib/utf7.inc
+Copyright: 2000 Edmund Grimley Evans <edmundo@rano.org>
+License: GPL-2+
+
+Files: program/lib/washtml.php
+Copyright: 2007 Frederic Motte <fmotte@ubixis.com>
+License: BSD-2-clause
+
+Files: plugins/managesieve/lib/Net/Sieve.php
+Copyright: 2002-2003 Richard Heyes
+           2006-2008 Anish Mistry
+License: BSD-2-clause
+
+Files: plugins/enigma/lib/Crypt/*
+Copyright: 2005-2010 silverorange
+License: LGPL-2.1
+
+Files: plugins/acl/acl.php
+Copyright: Copyright (C) 2011, Kolab Systems AG
+License: GPL-2
+
+Files: plugins/redundant_attachments/redundant_attachments.php
+Copyright: Copyright (C) 2011, The Roundcube Dev Team
+           Copyright (C) 2011, Kolab Systems AG
+License: GPL-2
+
+Files: debian/*
+Copyright: 2007-2011, Vincent Bernat <bernat@debian.org>
+           2007-2011, Romain Beauxis <toots@rastageeks.org>
+License: GPL-2
+
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: GPL-2
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License version 2
+ as published by the Free Software Foundation.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+License: CC-BY-SA-3
+ The theme uses icons originally designed by Stephen Horlander and
+ Kevin Gerich for Mozilla.org. In case of redistribution giving credit
+ to these artwork creators is mandatory.
+ .
+ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
+ CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS
+ PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE
+ WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
+ PROHIBITED.
+ .
+ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
+ AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS
+ LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU
+ THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH
+ TERMS AND CONDITIONS.
+ .
+ 1. Definitions
+ .
+   a. "Adaptation" means a work based upon the Work, or upon the Work
+   and other pre-existing works, such as a translation, adaptation,
+   derivative work, arrangement of music or other alterations of a
+   literary or artistic work, or phonogram or performance and includes
+   cinematographic adaptations or any other form in which the Work may
+   be recast, transformed, or adapted including in any form
+   recognizably derived from the original, except that a work that
+   constitutes a Collection will not be considered an Adaptation for
+   the purpose of this License. For the avoidance of doubt, where the
+   Work is a musical work, performance or phonogram, the
+   synchronization of the Work in timed-relation with a moving image
+   ("synching") will be considered an Adaptation for the purpose of
+   this License.
+ .
+   b. "Collection" means a collection of literary or artistic works,
+   such as encyclopedias and anthologies, or performances, phonograms
+   or broadcasts, or other works or subject matter other than works
+   listed in Section 1(f) below, which, by reason of the selection and
+   arrangement of their contents, constitute intellectual creations,
+   in which the Work is included in its entirety in unmodified form
+   along with one or more other contributions, each constituting
+   separate and independent works in themselves, which together are
+   assembled into a collective whole. A work that constitutes a
+   Collection will not be considered an Adaptation (as defined below)
+   for the purposes of this License.
+ .
+   c. "Creative Commons Compatible License" means a license that is
+   listed at http://creativecommons.org/compatiblelicenses that has
+   been approved by Creative Commons as being essentially equivalent
+   to this License, including, at a minimum, because that license: (i)
+   contains terms that have the same purpose, meaning and effect as
+   the License Elements of this License; and, (ii) explicitly permits
+   the relicensing of adaptations of works made available under that
+   license under this License or a Creative Commons jurisdiction
+   license with the same License Elements as this License.
+ .
+   d. "Distribute" means to make available to the public the original
+   and copies of the Work or Adaptation, as appropriate, through sale
+   or other transfer of ownership.
+ .
+   e. "License Elements" means the following high-level license
+   attributes as selected by Licensor and indicated in the title of
+   this License: Attribution, ShareAlike.
+ .
+   f. "Licensor" means the individual, individuals, entity or entities
+   that offer(s) the Work under the terms of this License.
+ .
+   g. "Original Author" means, in the case of a literary or artistic
+   work, the individual, individuals, entity or entities who created
+   the Work or if no individual or entity can be identified, the
+   publisher; and in addition (i) in the case of a performance the
+   actors, singers, musicians, dancers, and other persons who act,
+   sing, deliver, declaim, play in, interpret or otherwise perform
+   literary or artistic works or expressions of folklore; (ii) in the
+   case of a phonogram the producer being the person or legal entity
+   who first fixes the sounds of a performance or other sounds; and,
+   (iii) in the case of broadcasts, the organization that transmits
+   the broadcast.
+ .
+   h. "Work" means the literary and/or artistic work offered under the
+   terms of this License including without limitation any production
+   in the literary, scientific and artistic domain, whatever may be
+   the mode or form of its expression including digital form, such as
+   a book, pamphlet and other writing; a lecture, address, sermon or
+   other work of the same nature; a dramatic or dramatico-musical
+   work; a choreographic work or entertainment in dumb show; a musical
+   composition with or without words; a cinematographic work to which
+   are assimilated works expressed by a process analogous to
+   cinematography; a work of drawing, painting, architecture,
+   sculpture, engraving or lithography; a photographic work to which
+   are assimilated works expressed by a process analogous to
+   photography; a work of applied art; an illustration, map, plan,
+   sketch or three-dimensional work relative to geography, topography,
+   architecture or science; a performance; a broadcast; a phonogram; a
+   compilation of data to the extent it is protected as a
+   copyrightable work; or a work performed by a variety or circus
+   performer to the extent it is not otherwise considered a literary
+   or artistic work.
+ .
+   i. "You" means an individual or entity exercising rights under this
+   License who has not previously violated the terms of this License
+   with respect to the Work, or who has received express permission
+   from the Licensor to exercise rights under this License despite a
+   previous violation.
+ .
+   j. "Publicly Perform" means to perform public recitations of the
+   Work and to communicate to the public those public recitations, by
+   any means or process, including by wire or wireless means or public
+   digital performances; to make available to the public Works in such
+   a way that members of the public may access these Works from a
+   place and at a place individually chosen by them; to perform the
+   Work to the public by any means or process and the communication to
+   the public of the performances of the Work, including by public
+   digital performance; to broadcast and rebroadcast the Work by any
+   means including signs, sounds or images.
+ .
+   k. "Reproduce" means to make copies of the Work by any means
+   including without limitation by sound or visual recordings and the
+   right of fixation and reproducing fixations of the Work, including
+   storage of a protected performance or phonogram in digital form or
+   other electronic medium.
+ .
+ 2. Fair Dealing Rights. Nothing in this License is intended to
+ reduce, limit, or restrict any uses free from copyright or rights
+ arising from limitations or exceptions that are provided for in
+ connection with the copyright protection under copyright law or other
+ applicable laws.
+ .
+ 3. License Grant. Subject to the terms and conditions of this
+ License, Licensor hereby grants You a worldwide, royalty-free,
+ non-exclusive, perpetual (for the duration of the applicable
+ copyright) license to exercise the rights in the Work as stated
+ below:
+ .
+    a. to Reproduce the Work, to incorporate the Work into one or more
+    Collections, and to Reproduce the Work as incorporated in the
+    Collections;
+ .
+    b. to create and Reproduce Adaptations provided that any such
+    Adaptation, including any translation in any medium, takes
+    reasonable steps to clearly label, demarcate or otherwise identify
+    that changes were made to the original Work. For example, a
+    translation could be marked "The original work was translated from
+    English to Spanish," or a modification could indicate "The
+    original work has been modified.";
+ .
+    c. to Distribute and Publicly Perform the Work including as
+    incorporated in Collections; and,
+ .
+    d. to Distribute and Publicly Perform Adaptations.
+    e.
+ .
+      For the avoidance of doubt:
+ .
+         i. Non-waivable Compulsory License Schemes. In those
+         jurisdictions in which the right to collect royalties through
+         any statutory or compulsory licensing scheme cannot be
+         waived, the Licensor reserves the exclusive right to collect
+         such royalties for any exercise by You of the rights granted
+         under this License;
+ .
+         ii. Waivable Compulsory License Schemes. In those
+         jurisdictions in which the right to collect royalties through
+         any statutory or compulsory licensing scheme can be waived,
+         the Licensor waives the exclusive right to collect such
+         royalties for any exercise by You of the rights granted under
+         this License; and,
+ .
+         iii. Voluntary License Schemes. The Licensor waives the right
+         to collect royalties, whether individually or, in the event
+         that the Licensor is a member of a collecting society that
+         administers voluntary licensing schemes, via that society,
+         from any exercise by You of the rights granted under this
+         License.
+ .
+ The above rights may be exercised in all media and formats whether
+ now known or hereafter devised. The above rights include the right to
+ make such modifications as are technically necessary to exercise the
+ rights in other media and formats. Subject to Section 8(f), all
+ rights not expressly granted by Licensor are hereby reserved.
+ .
+ 4. Restrictions. The license granted in Section 3 above is expressly
+ made subject to and limited by the following restrictions:
+ .
+   a. You may Distribute or Publicly Perform the Work only under the
+   terms of this License. You must include a copy of, or the Uniform
+   Resource Identifier (URI) for, this License with every copy of the
+   Work You Distribute or Publicly Perform. You may not offer or
+   impose any terms on the Work that restrict the terms of this
+   License or the ability of the recipient of the Work to exercise the
+   rights granted to that recipient under the terms of the
+   License. You may not sublicense the Work. You must keep intact all
+   notices that refer to this License and to the disclaimer of
+   warranties with every copy of the Work You Distribute or Publicly
+   Perform. When You Distribute or Publicly Perform the Work, You may
+   not impose any effective technological measures on the Work that
+   restrict the ability of a recipient of the Work from You to
+   exercise the rights granted to that recipient under the terms of
+   the License. This Section 4(a) applies to the Work as incorporated
+   in a Collection, but this does not require the Collection apart
+   from the Work itself to be made subject to the terms of this
+   License. If You create a Collection, upon notice from any Licensor
+   You must, to the extent practicable, remove from the Collection any
+   credit as required by Section 4(c), as requested. If You create an
+   Adaptation, upon notice from any Licensor You must, to the extent
+   practicable, remove from the Adaptation any credit as required by
+   Section 4(c), as requested.
+ .
+   b. You may Distribute or Publicly Perform an Adaptation only under
+   the terms of: (i) this License; (ii) a later version of this
+   License with the same License Elements as this License; (iii) a
+   Creative Commons jurisdiction license (either this or a later
+   license version) that contains the same License Elements as this
+   License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative
+   Commons Compatible License. If you license the Adaptation under one
+   of the licenses mentioned in (iv), you must comply with the terms
+   of that license. If you license the Adaptation under the terms of
+   any of the licenses mentioned in (i), (ii) or (iii) (the
+   "Applicable License"), you must comply with the terms of the
+   Applicable License generally and the following provisions: (I) You
+   must include a copy of, or the URI for, the Applicable License with
+   every copy of each Adaptation You Distribute or Publicly Perform;
+   (II) You may not offer or impose any terms on the Adaptation that
+   restrict the terms of the Applicable License or the ability of the
+   recipient of the Adaptation to exercise the rights granted to that
+   recipient under the terms of the Applicable License; (III) You must
+   keep intact all notices that refer to the Applicable License and to
+   the disclaimer of warranties with every copy of the Work as
+   included in the Adaptation You Distribute or Publicly Perform; (IV)
+   when You Distribute or Publicly Perform the Adaptation, You may not
+   impose any effective technological measures on the Adaptation that
+   restrict the ability of a recipient of the Adaptation from You to
+   exercise the rights granted to that recipient under the terms of
+   the Applicable License. This Section 4(b) applies to the Adaptation
+   as incorporated in a Collection, but this does not require the
+   Collection apart from the Adaptation itself to be made subject to
+   the terms of the Applicable License.
+ .
+   c. If You Distribute, or Publicly Perform the Work or any
+   Adaptations or Collections, You must, unless a request has been
+   made pursuant to Section 4(a), keep intact all copyright notices
+   for the Work and provide, reasonable to the medium or means You are
+   utilizing: (i) the name of the Original Author (or pseudonym, if
+   applicable) if supplied, and/or if the Original Author and/or
+   Licensor designate another party or parties (e.g., a sponsor
+   institute, publishing entity, journal) for attribution
+   ("Attribution Parties") in Licensor's copyright notice, terms of
+   service or by other reasonable means, the name of such party or
+   parties; (ii) the title of the Work if supplied; (iii) to the
+   extent reasonably practicable, the URI, if any, that Licensor
+   specifies to be associated with the Work, unless such URI does not
+   refer to the copyright notice or licensing information for the
+   Work; and (iv) , consistent with Ssection 3(b), in the case of an
+   Adaptation, a credit identifying the use of the Work in the
+   Adaptation (e.g., "French translation of the Work by Original
+   Author," or "Screenplay based on original Work by Original
+   Author"). The credit required by this Section 4(c) may be
+   implemented in any reasonable manner; provided, however, that in
+   the case of a Adaptation or Collection, at a minimum such credit
+   will appear, if a credit for all contributing authors of the
+   Adaptation or Collection appears, then as part of these credits and
+   in a manner at least as prominent as the credits for the other
+   contributing authors. For the avoidance of doubt, You may only use
+   the credit required by this Section for the purpose of attribution
+   in the manner set out above and, by exercising Your rights under
+   this License, You may not implicitly or explicitly assert or imply
+   any connection with, sponsorship or endorsement by the Original
+   Author, Licensor and/or Attribution Parties, as appropriate, of You
+   or Your use of the Work, without the separate, express prior
+   written permission of the Original Author, Licensor and/or
+   Attribution Parties.
+ .
+   d. Except as otherwise agreed in writing by the Licensor or as may
+   be otherwise permitted by applicable law, if You Reproduce,
+   Distribute or Publicly Perform the Work either by itself or as part
+   of any Adaptations or Collections, You must not distort, mutilate,
+   modify or take other derogatory action in relation to the Work
+   which would be prejudicial to the Original Author's honor or
+   reputation. Licensor agrees that in those jurisdictions
+   (e.g. Japan), in which any exercise of the right granted in Section
+   3(b) of this License (the right to make Adaptations) would be
+   deemed to be a distortion, mutilation, modification or other
+   derogatory action prejudicial to the Original Author's honor and
+   reputation, the Licensor will waive or not assert, as appropriate,
+   this Section, to the fullest extent permitted by the applicable
+   national law, to enable You to reasonably exercise Your right under
+   Section 3(b) of this License (right to make Adaptations) but not
+   otherwise.
+ .
+ 5. Representations, Warranties and Disclaimer
+ .
+ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING,
+ LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR
+ WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED,
+ STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF
+ TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE,
+ NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY,
+ OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT
+ DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF
+ IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+ .
+ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY
+ APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY
+ LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR
+ EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK,
+ EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ .
+ 7. Termination
+ .
+   a. This License and the rights granted hereunder will terminate
+   automatically upon any breach by You of the terms of this
+   License. Individuals or entities who have received Adaptations or
+   Collections from You under this License, however, will not have
+   their licenses terminated provided such individuals or entities
+   remain in full compliance with those licenses. Sections 1, 2, 5, 6,
+   7, and 8 will survive any termination of this License.
+ .
+   b. Subject to the above terms and conditions, the license granted
+   here is perpetual (for the duration of the applicable copyright in
+   the Work). Notwithstanding the above, Licensor reserves the right
+   to release the Work under different license terms or to stop
+   distributing the Work at any time; provided, however that any such
+   election will not serve to withdraw this License (or any other
+   license that has been, or is required to be, granted under the
+   terms of this License), and this License will continue in full
+   force and effect unless terminated as stated above.
+ .
+ 8. Miscellaneous
+ .
+   a. Each time You Distribute or Publicly Perform the Work or a
+   Collection, the Licensor offers to the recipient a license to the
+   Work on the same terms and conditions as the license granted to You
+   under this License.
+ .
+   b. Each time You Distribute or Publicly Perform an Adaptation,
+   Licensor offers to the recipient a license to the original Work on
+   the same terms and conditions as the license granted to You under
+   this License.
+ .
+   c. If any provision of this License is invalid or unenforceable
+   under applicable law, it shall not affect the validity or
+   enforceability of the remainder of the terms of this License, and
+   without further action by the parties to this agreement, such
+   provision shall be reformed to the minimum extent necessary to make
+   such provision valid and enforceable.
+ .
+   d. No term or provision of this License shall be deemed waived and
+   no breach consented to unless such waiver or consent shall be in
+   writing and signed by the party to be charged with such waiver or
+   consent.
+ .
+   e. This License constitutes the entire agreement between the
+   parties with respect to the Work licensed here. There are no
+   understandings, agreements or representations with respect to the
+   Work not specified here. Licensor shall not be bound by any
+   additional provisions that may appear in any communication from
+   You. This License may not be modified without the mutual written
+   agreement of the Licensor and You.
+ .
+   f. The rights granted under, and the subject matter referenced, in
+   this License were drafted utilizing the terminology of the Berne
+   Convention for the Protection of Literary and Artistic Works (as
+   amended on September 28, 1979), the Rome Convention of 1961, the
+   WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms
+   Treaty of 1996 and the Universal Copyright Convention (as revised
+   on July 24, 1971). These rights and subject matter take effect in
+   the relevant jurisdiction in which the License terms are sought to
+   be enforced according to the corresponding provisions of the
+   implementation of those treaty provisions in the applicable
+   national law. If the standard suite of rights granted under
+   applicable copyright law includes additional rights not granted
+   under this License, such additional rights are deemed to be
+   included in the License; this License is not intended to restrict
+   the license of any rights under applicable law.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+License: LGPL-2.1
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License version 2.1
+ as published by the Free Software Foundation.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the full text of the GNU Lesser General Public
+ License version 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-2.1'.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at
+ your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
diff --git a/debian/patches/correct-magic-path.patch b/debian/patches/correct-magic-path.patch
new file mode 100644 (file)
index 0000000..db7e4be
--- /dev/null
@@ -0,0 +1,15 @@
+On Debian, the magic file is in /usr/share/file/magic.
+
+Index: b/config/main.inc.php.dist
+===================================================================
+--- a/config/main.inc.php.dist 2009-10-21 10:47:40.000000000 +0200
++++ b/config/main.inc.php.dist 2010-07-17 17:33:23.000000000 +0200
+@@ -301,7 +301,7 @@
+ $rcmail_config['identities_level'] = 0;
+ // mime magic database
+-$rcmail_config['mime_magic'] = '/usr/share/misc/magic';
++$rcmail_config['mime_magic'] = '/usr/share/file/magic';
+ // Enable DNS checking for e-mail address validation
+ $rcmail_config['email_dns_check'] = false;
diff --git a/debian/patches/correct_install_path.patch b/debian/patches/correct_install_path.patch
new file mode 100644 (file)
index 0000000..6afa098
--- /dev/null
@@ -0,0 +1,15 @@
+Install path is /var/lib/roundcube for Debian. Don't try to guess it.
+
+Index: b/program/include/iniset.php
+===================================================================
+--- a/program/include/iniset.php       2010-07-17 17:33:04.000000000 +0200
++++ b/program/include/iniset.php       2010-07-17 17:33:23.000000000 +0200
+@@ -42,7 +42,7 @@
+ define('RCMAIL_START', microtime(true));
+ if (!defined('INSTALL_PATH')) {
+-    define('INSTALL_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
++    define('INSTALL_PATH', '/var/lib/roundcube/');
+ }
+
+ if (!defined('RCMAIL_CONFIG_DIR')) {
diff --git a/debian/patches/dbconfig-common_support.patch b/debian/patches/dbconfig-common_support.patch
new file mode 100644 (file)
index 0000000..574c67e
--- /dev/null
@@ -0,0 +1,35 @@
+The default db.inc.php is modified to adapt it to the use of dbconfig-common package.
+
+Index: b/config/db.inc.php.dist
+===================================================================
+--- a/config/db.inc.php.dist   2010-07-17 17:33:04.000000000 +0200
++++ b/config/db.inc.php.dist   2010-07-17 17:33:23.000000000 +0200
+@@ -14,15 +14,20 @@
+ $rcmail_config = array();
+-// PEAR database DSN for read/write operations
+-// format is db_provider://user:password@host/database 
+-// For examples see http://pear.php.net/manual/en/package.database.mdb2.intro-dsn.php
+-// currently supported db_providers: mysql, mysqli, pgsql, sqlite, mssql or sqlsrv
++/* Do not set db_dsnw here, use dpkg-reconfigure roundcube-core to configure database ! */
+-$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
+-// postgres example: 'pgsql://roundcube:pass@localhost/roundcubemail';
+-// Warning: for SQLite use absolute path in DSN:
+-// sqlite example: 'sqlite:////full/path/to/sqlite.db?mode=0646';
++include_once("/etc/roundcube/debian-db.php");
++
++switch ($dbtype) {
++ case "sqlite":
++   $rcmail_config['db_dsnw'] = "sqlite:///$basepath/$dbname?mode=0640";
++   break;
++ default:
++   if ($dbport != '') $dbport=":$dbport";
++   if ($dbserver == '') $dbserver="localhost";
++   $rcmail_config['db_dsnw'] = "$dbtype://$dbuser:$dbpass@$dbserver$dbport/$dbname";
++   break;
++ }
+ // PEAR database DSN for read only operations (if empty write database will be used)
+ // useful for database replication
diff --git a/debian/patches/debianize_password_plugin.patch b/debian/patches/debianize_password_plugin.patch
new file mode 100644 (file)
index 0000000..3b23ab2
--- /dev/null
@@ -0,0 +1,66 @@
+Description: specify Debian path and group names in password plugin
+Forwarded: not-needed
+Author: Jérémy Bobbio <lunar@debian.org>
+
+diff --git a/plugins/password/README b/plugins/password/README
+index 81e4f1e..bdb8264 100644
+--- a/plugins/password/README
++++ b/plugins/password/README
+@@ -133,7 +133,8 @@
+  Installation:
+- Change into the drivers directory. Edit the chgsaslpasswd.c file as is
++ Change into the drivers directory. Copy and edit
++ /usr/share/roundcube-plugins/examples/chgsaslpasswd.c as is
+  documented within it.
+  Compile the wrapper program:
+@@ -200,7 +201,8 @@
+  ----------------------------
+  As in sasl driver this one allows to change password using shell
+- utility called "virtualmin". See drivers/chgvirtualminpasswd.c for
++ utility called "virtualmin". See
++ /usr/share/doc/roundcube-plugins/examples/chgvirtualminpasswd.c for
+  installation instructions. See also config.inc.php.dist file.
+@@ -225,8 +227,9 @@
+  Driver that adds functionality to change the systems user password via 
+  the 'chpasswd' command. See config.inc.php.dist file.
+- Attached wrapper script (chpass-wrapper.py) restricts password changes
+- to uids >= 1000 and can deny requests based on a blacklist.
++ Attached wrapper script
++ (/usr/share/doc/roundcube-plugins/examples/chpass-wrapper.py) restricts
++ password changes to uids >= 1000 and can deny requests based on a blacklist.
+  2.12.  LDAP - no PEAR (ldap_simple)
+diff --git a/plugins/password/drivers/chgsaslpasswd.c b/plugins/password/drivers/chgsaslpasswd.c
+index bcdcb2e..2c3bbf9 100644
+--- a/plugins/password/drivers/chgsaslpasswd.c
++++ b/plugins/password/drivers/chgsaslpasswd.c
+@@ -8,7 +8,7 @@
+ /* INSTALLING:
+   gcc -o chgsaslpasswd chgsaslpasswd.c
+-  chown cyrus.apache chgsaslpasswd
++  chown cyrus:www-data chgsaslpasswd
+   strip chgsaslpasswd
+   chmod 4550 chgsaslpasswd
+ */
+diff --git a/plugins/password/drivers/chgvirtualminpasswd.c b/plugins/password/drivers/chgvirtualminpasswd.c
+index 4e2299c..12989c6 100644
+--- a/plugins/password/drivers/chgvirtualminpasswd.c
++++ b/plugins/password/drivers/chgvirtualminpasswd.c
+@@ -7,7 +7,7 @@
+ /* INSTALLING:
+   gcc -o chgvirtualminpasswd chgvirtualminpasswd.c
+-  chown root.apache chgvirtualminpasswd
++  chown root:www-data chgvirtualminpasswd
+   strip chgvirtualminpasswd
+   chmod 4550 chgvirtualminpasswd
+ */
diff --git a/debian/patches/default-charset-utf8.patch b/debian/patches/default-charset-utf8.patch
new file mode 100644 (file)
index 0000000..8e840b2
--- /dev/null
@@ -0,0 +1,15 @@
+Switch to UTF-8 as default charset
+
+Index: b/config/main.inc.php.dist
+===================================================================
+--- a/config/main.inc.php.dist 2010-07-17 17:33:24.000000000 +0200
++++ b/config/main.inc.php.dist 2010-07-17 17:33:25.000000000 +0200
+@@ -489,7 +489,7 @@
+ // ----------------------------------
+ // Use this charset as fallback for message decoding
+-$rcmail_config['default_charset'] = 'ISO-8859-1';
++$rcmail_config['default_charset'] = 'UTF-8';
+ // skin name: folder from skins/
+ $rcmail_config['skin'] = 'default';
diff --git a/debian/patches/disable-dns-prefetch.patch b/debian/patches/disable-dns-prefetch.patch
new file mode 100644 (file)
index 0000000..6f6c6d8
--- /dev/null
@@ -0,0 +1,20 @@
+Disable DNS prefetching to solve CVE-2010-0464.
+
+Index: b/program/include/rcube_html_page.php
+===================================================================
+--- a/program/include/rcube_html_page.php      2009-06-22 18:20:34.000000000 +0200
++++ b/program/include/rcube_html_page.php      2010-07-17 17:33:25.000000000 +0200
+@@ -165,6 +165,13 @@
+             $__page_header.= $this->charset . '" />'."\n";
+         }
++        // add hint to disable DNS prefetching
++        if (!headers_sent()) {
++            header('X-DNS-Prefetch-Control: off');
++        } else {
++            $__page_header.= '<meta http-equiv="x-dns-prefetch-control" content="off" />'."\n";
++        }
++
+         // definition of the code to be placed in the document header and footer
+         if (is_array($this->script_files['head'])) {
+             foreach ($this->script_files['head'] as $file) {
diff --git a/debian/patches/dont-limit-email-local-part.patch b/debian/patches/dont-limit-email-local-part.patch
new file mode 100644 (file)
index 0000000..27cb519
--- /dev/null
@@ -0,0 +1,14 @@
+To fix #568360 and #568537, don't limit local part size.
+Index: b/program/include/main.inc
+===================================================================
+--- a/program/include/main.inc 2009-10-31 14:44:19.000000000 +0100
++++ b/program/include/main.inc 2010-07-17 17:33:25.000000000 +0200
+@@ -1427,7 +1427,7 @@
+     return false;
+   // Check that there's one @ symbol, and that the lengths are right
+-  if (!preg_match('/^([^@]{1,64})@([^@]{1,255})$/', $email, $email_array))
++  if (!preg_match('/^([^@]+)@([^@]{1,255})$/', $email, $email_array))
+     return false;
+   // Check local part
diff --git a/debian/patches/fix-599586.patch b/debian/patches/fix-599586.patch
new file mode 100644 (file)
index 0000000..2ac3d77
--- /dev/null
@@ -0,0 +1,21 @@
+Fix #599586 which was caused by duplicate boundaries. The fix is to
+simply use _addMixedPart from original Mail_Mime class which is recent
+enough in our case.
+
+--- roundcube/program/include/rcube_mail_mime.php~     2009-05-01 19:58:12.000000000 +0200
++++ roundcube/program/include/rcube_mail_mime.php      2010-10-18 19:31:33.751930400 +0200
+@@ -102,12 +102,12 @@
+    * @return object  The multipart/mixed mimePart object
+    * @access private
+    */
+-  function &_addMixedPart()
++  /* function &_addMixedPart()
+   {
+     $params['content_type'] = $this->_headers['Content-Type'] ? $this->_headers['Content-Type'] : 'multipart/mixed';
+     $ret = new Mail_mimePart('', $params);
+     return $ret;
+-  }
++  } */
+   
+   
+   /**
diff --git a/debian/patches/loginbox-size.patch b/debian/patches/loginbox-size.patch
new file mode 100644 (file)
index 0000000..74c693f
--- /dev/null
@@ -0,0 +1,15 @@
+Fix size of login box to accommodate sk_SK locale
+
+Index: b/skins/default/common.css
+===================================================================
+--- a/skins/default/common.css 2009-10-06 12:00:33.000000000 +0200
++++ b/skins/default/common.css 2010-07-17 17:33:24.000000000 +0200
+@@ -677,7 +677,7 @@
+   margin-left: auto;
+   margin-right: auto;
+   margin-top: 50px;
+-  width: 400px;
++  width: 420px;
+   border: 1px solid #999;
+ }
diff --git a/debian/patches/received-headers-sa.patch b/debian/patches/received-headers-sa.patch
new file mode 100644 (file)
index 0000000..740792d
--- /dev/null
@@ -0,0 +1,37 @@
+Fix Received headers to behave better with SpamAssassin?
+ http://trac.roundcube.net/changeset/3291
+ http://trac.roundcube.net/ticket/1486513
+
+--- a/program/steps/mail/sendmail.inc  2009-11-16 23:49:07 +0000
++++ a/program/steps/mail/sendmail.inc  2010-02-24 00:48:24 +0000
+@@ -259,8 +259,8 @@
+         $http_header .= ' ('. rcmail_encrypt_header($host) . ')';
+     } else {
+       $http_header .= (($host != $hostname) ? $hostname : '[' . $host . ']');
+-      $http_header .= ' ('. ($host == $hostname ? '' : $hostname . ' ') .
+-        '[' . $host .'])';
++      if ($host != $hostname)
++        $http_header .= ' (['. $host .'])';
+     }
+     $http_header .= $nldlm . ' via ';
+   }
+@@ -272,14 +272,14 @@
+       $http_header .= ' ('. rcmail_encrypt_header($host) . ')';
+   } else {
+     $http_header .= (($host != $hostname) ? $hostname : '[' . $host . ']');
+-    $http_header .= ' ('. ($host == $hostname ? '' : $hostname . ' ') .
+-      '[' . $host .'])';
++    if ($host != $hostname)
++      $http_header .= ' (['. $host .'])';
+   }
+   // BY
+   $http_header .= $nldlm . 'by ' . $_SERVER['HTTP_HOST'];
+   // WITH
+-  $http_header .= $nldlm . 'with ' . $_SERVER['SERVER_PROTOCOL'] .
+-      ' ('.$_SERVER['REQUEST_METHOD'] . '); ' . date('r');
++  $http_header .= $nldlm . 'with HTTP (' . $_SERVER['SERVER_PROTOCOL'] .
++      ' '.$_SERVER['REQUEST_METHOD'] . '); ' . date('r');
+   $http_header = wordwrap($http_header, 69, $nldlm);
+   $headers['Received'] = $http_header;
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..0ffb987
--- /dev/null
@@ -0,0 +1,8 @@
+dbconfig-common_support.patch
+correct_install_path.patch
+use_packaged_tinymce.patch
+use_pspell.patch
+loginbox-size.patch
+default-charset-utf8.patch
+debianize_password_plugin.patch
+use-debian-jquery-ui.patch
diff --git a/debian/patches/too-old-mdb2.patch b/debian/patches/too-old-mdb2.patch
new file mode 100644 (file)
index 0000000..b724772
--- /dev/null
@@ -0,0 +1,14 @@
+Don't use disable_smart_seqname which is not present in our version of MDB2.
+
+--- roundcube-0.2~stable/program/include/rcube_mdb2.php        2008-10-14 14:49:44.000000000 +0200
++++ roundcube-0.2~stable-patched/program/include/rcube_mdb2.php        2009-03-11 11:16:43.000000000 +0100
+@@ -86,7 +86,8 @@
+         'portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL);
+     if ($this->db_provider == 'pgsql') {
+-      $db_options['disable_smart_seqname'] = true;
++    // commented out due toa php-mdb2-driver-pgsql < 1.5.0a in debian 
++    //  $db_options['disable_smart_seqname'] = true;
+       $db_options['seqname_format'] = '%s';
+     }
diff --git a/debian/patches/use-debian-jquery-ui.patch b/debian/patches/use-debian-jquery-ui.patch
new file mode 100644 (file)
index 0000000..e9173cb
--- /dev/null
@@ -0,0 +1,30 @@
+Use packaged libjs-jquery-ui.
+
+diff --git a/plugins/jqueryui/jqueryui.php b/plugins/jqueryui/jqueryui.php
+index 7ed2018..5f4545c 100644
+--- a/plugins/jqueryui/jqueryui.php
++++ b/plugins/jqueryui/jqueryui.php
+@@ -21,18 +21,18 @@ class jqueryui extends rcube_plugin
+     $this->load_config();
+     // include UI scripts
+-    $this->include_script("js/jquery-ui-$version.custom.min.js");
++    $this->include_script("js/jquery-ui.min.js");
+     // include UI stylesheet
+     $skin = $rcmail->config->get('skin', 'default');
+     $ui_map = $rcmail->config->get('jquery_ui_skin_map', array());
+-    $ui_theme = $ui_map[$skin] ? $ui_map[$skin] : 'default';
++    $ui_theme = $ui_map[$skin] ? $ui_map[$skin] : 'smoothness';
+-    if (file_exists($this->home . "/themes/$ui_theme/jquery-ui-$version.custom.css")) {
+-      $this->include_stylesheet("themes/$ui_theme/jquery-ui-$version.custom.css");
++    if (file_exists($this->home . "/css/$ui_theme/jquery-ui.custom.css")) {
++      $this->include_stylesheet("css/$ui_theme/jquery-ui.min.css");
+     }
+     else {
+-      $this->include_stylesheet("themes/default/jquery-ui-$version.custom.css");
++      $this->include_stylesheet("css/smoothness/jquery-ui.min.css");
+     }
+     // jquery UI localization
diff --git a/debian/patches/use_packaged_tinymce.patch b/debian/patches/use_packaged_tinymce.patch
new file mode 100644 (file)
index 0000000..4382673
--- /dev/null
@@ -0,0 +1,15 @@
+Use tinymce from tinycme package instead of the shipped one.
+
+Index: b/program/steps/mail/sendmail.inc
+===================================================================
+--- a/program/steps/mail/sendmail.inc  2009-10-14 12:52:27.000000000 +0200
++++ b/program/steps/mail/sendmail.inc  2010-07-17 17:33:23.000000000 +0200
+@@ -115,7 +115,7 @@
+         // sanitize image name so resulting attachment doesn't leave images dir
+         $image_name = preg_replace('/[^a-zA-Z0-9_\.\-]/i', '', $image_name);
+-        $img_file = INSTALL_PATH . '/' . $searchstr . $image_name;
++        $img_file = '/usr/share/tinymce/www/plugins/emotions/img/' . $image_name;
+         if (! in_array($image_name, $included_images)) {
+           // add the image to the MIME message
diff --git a/debian/patches/use_pspell.patch b/debian/patches/use_pspell.patch
new file mode 100644 (file)
index 0000000..d50c423
--- /dev/null
@@ -0,0 +1,15 @@
+Instead of using Google by default, we use pspell to avoid to send each mail to Google...
+
+Index: b/config/main.inc.php.dist
+===================================================================
+--- a/config/main.inc.php.dist 2010-07-17 17:33:23.000000000 +0200
++++ b/config/main.inc.php.dist 2010-07-17 17:33:24.000000000 +0200
+@@ -376,7 +376,7 @@
+ // Set the spell checking engine. 'googie' is the default. 'pspell' is also available,
+ // but requires the Pspell extensions. When using Nox Spell Server, also set 'googie' here.
+-$rcmail_config['spellcheck_engine'] = 'googie';
++$rcmail_config['spellcheck_engine'] = 'pspell';
+ // For a locally installed Nox Spell Server, please specify the URI to call it.
+ // Get Nox Spell Server from http://orangoo.com/labs/?page_id=72
diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in
new file mode 100644 (file)
index 0000000..cef83a3
--- /dev/null
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] templates
diff --git a/debian/po/ar.po b/debian/po/ar.po
new file mode 100644 (file)
index 0000000..eee0fa2
--- /dev/null
@@ -0,0 +1,131 @@
+# translation of ar.po to Arabic
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Ossama M. Khayat <okhayat@yahoo.com>, 2007, 2008, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: ar\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2010-09-09 05:05+0300\n"
+"Last-Translator: Ossama M. Khayat <okhayat@yahoo.com>\n"
+"Language-Team: Arabic <support@arabeyes.org>\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 1.0\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "خادم الوب المطلوب تهيئته آلياً:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"يدعم RoundCube أي خادم وب يدعمه PHP، ولكن يمكن تهيئة Apache وlighttpd فقط "
+"آلياً."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr "الرجاء اختيار خادم الوب الذي يجب أن يقوم RoundCube بتهيئته آلياً."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "هل تريد تشغيل خادم الوب الآن؟"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"لتنشيط التهيئة الجديدة، يجب إعادة تشغيل خادمات الوب التي تمت إعادة تهيئتها."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "خادمات IMAP المستخدمة مع RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "رجاء اختر خادم IMAP الذي يجب استخدامه مع RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"إن ترك هذا الحقل فارغاً، فسيتم إظهار مربع نص عند تسجيل الدخول. إدخال أسماء "
+"مضيفين تفصل بينهم مسافات سيظهر قائمة منسدلة بهذه الأسماء. وإدخال اسم مضيف "
+"هنا سيجبر استخدام هذا المضيف."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"لاستخدام اتصالات SSL، الرجاء إدخال اسم المضيف بالشكل 'ssl://hostname:993'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "اللغة الافتراضية:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "الرجاء اختيار اللغة الافتراضية للحزمة RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "يمكن تخطي هذا الخيار من قبل المستخدمين عبر تغيير تفضيلاتهم."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"على أي، سيتم استخدام اللغة الافتراضية لشاشة تسجيل الدخول والاتصال الأول "
+"للمستخدمين."
diff --git a/debian/po/cs.po b/debian/po/cs.po
new file mode 100644 (file)
index 0000000..0349a9f
--- /dev/null
@@ -0,0 +1,132 @@
+# Czech translation of roundcube debconf messages.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the roundcube package.
+# Miroslav Kure <kurem@debian.cz>, 2008,2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2009-09-13 09:23+0200\n"
+"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
+"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Webové servery, které se mají nastavit automaticky:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube podporuje libovolný webový server, pod kterým běží PHP, ovšem "
+"automaticky lze nastavit pouze Apache 2 a lighttpd."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Vyberte prosím webové servery, které se mají automaticky nastavit pro "
+"RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Mají se webové servery restartovat nyní?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Aby se nové nastavení projevilo, musí se příslušné webové servery "
+"restartovat."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "IMAP servery používané s RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Vyberte prosím IMAP server, který se má s RoundCube použít."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Ponecháte-li prázdné, zobrazí se při přihlášení textové pole. Zadáte-li "
+"mezerami oddělený seznam serverů, zobrazí roletové menu. Zadání jediného "
+"serveru vynutí použití daného serveru."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Pro použití SSL spojení zadejte jména serverů ve tvaru 'ssl://"
+"jmenoserveru:993'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Výchozí jazyk:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Zadejte prosím výchozí jazyk RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "Tuto volbu mohou jednotliví uživatelé přepsat ve svých předvolbách."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Výchozí jazyk se však použije na přihlašovací obrazovce a při prvním "
+"připojení uživatelů."
diff --git a/debian/po/da.po b/debian/po/da.po
new file mode 100644 (file)
index 0000000..145c999
--- /dev/null
@@ -0,0 +1,135 @@
+# Danish translation roundcube.
+# Copyright (C) 2010 roundcube & nedenstående oversættere.
+# This file is distributed under the same license as the roundcube package.
+# Joe Hansen (joedalton2@yahoo.dk), 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2010-08-16 17:30+01:00\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish@lists.debian.org> \n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Internetservere at konfigurere automatisk:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube understøtter enhver internetserver, der er understøttet af PHP, "
+"dog kan kun Apache 2 og lighttpd konfigureres automatisk."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Vælg venligst de internetservere som skal konfigureres automatisk for "
+"RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Skal internetserverne genstartes nu?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"For at aktivere den nye konfiguration, skal de rekonfigurerede "
+"internetservere genstartes."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "IMAP-servere brugt med RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Vælg venligst IMAP-serveren som skal bruges med RoundCube."
+
+# engelsk fejl? pull-down menu -> drop down menu
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Hvis denne efterlades tom, vil en tekstboks blive vist ved logind. "
+"Indtastning af en mellemrumsadskilt liste af værter vil vise en "
+"rullegardinsmenu. Indtastning af en enkelt vært vil fremtvinge brug af denne "
+"vært."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"For at bruge SSL-forbindelser, indtast venligst værtsnavne som »ssl://"
+"hostname:993«."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Standardsprog:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Vælg venligst standardsproget for RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr ""
+"Dette valg kan overskrives af individuelle brugere i deres indstillinger."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Standardsproget vil blive brugt til logindskærmen og den første forbindelse "
+"for brugere."
diff --git a/debian/po/de.po b/debian/po/de.po
new file mode 100644 (file)
index 0000000..c0d09fd
--- /dev/null
@@ -0,0 +1,145 @@
+# German translation of roundcube templates
+# Helge Kreutzmann <debian@helgefjell.de>, 2007-2009.
+# This file is distributed under the same license as the roundcube package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube 0.2.1-1\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2009-03-16 21:15+0100\n"
+"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
+"Language-Team: de <debian-l10n-german@lists.debian.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "Apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "Lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Webserver, die automatisch konfiguriert werden sollen:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube unterstützt jeden Webserver, der auch von PHP unterstützt wird. "
+"Allerdings kann nur Apache 2 und Lighttpd automatisch konfiguriert werden."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Bitte wählen Sie den/die Webserver aus, die für RoundCube automatisch "
+"konfiguriert werden sollen."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Soll der/die Webserver jetzt automatisch neu gestartet werden?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Um die neue Konfiguration zu aktivieren, müssen der/die rekonfigurierten "
+"Webserver neu gestartet werden."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "IMAP-Server, die mit RoundCube verwendet werden sollen:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr ""
+"Bitte wählen Sie den/die IMAP-Server aus, die mit RoundCube verwendet werden "
+"soll."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Falls dies leer gelassen wird, erscheint ein Textkasten bei der Anmeldung. "
+"Bei Eingabe einer Liste von Rechnern (durch Leerzeichen getrennt) wird ein "
+"Auswahlmenü angezeigt. Wird ein einzelner Rechner eingegeben, so wird dieser "
+"erzwungen."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Um SSL-Verbindungen zu benutzen, geben Sie bitte die Rechnernamen als »ssl://"
+"hostname:993« ein."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Standardsprache:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Bitte wählen Sie die Standardsprache für RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr ""
+"Diese Auswahl kann von jedem Benutzer in seinen persönlichen Einstellungen "
+"überschrieben werden."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Allerdings wird die Standardsprache beim Anmeldebildschirm und der ersten "
+"Verbindung mit den Benutzern verwandt."
+
+#~ msgid "apache"
+#~ msgstr "Apache"
+
+#~ msgid "apache-ssl"
+#~ msgstr "Apache-SSL"
+
+#~ msgid "apache-perl"
+#~ msgstr "Apache-Perl"
diff --git a/debian/po/es.po b/debian/po/es.po
new file mode 100644 (file)
index 0000000..cd71099
--- /dev/null
@@ -0,0 +1,157 @@
+# roundcube po-debconf translation to Spanish
+# Copyright (C) 2004, 2007, 2009 Software in the Public Interest
+# This file is distributed under the same license as the roundcube package.
+#
+# Changes:
+#   - Initial translation
+#       Carlos Galisteo de Cabo <cgalisteo@k-rolus.net>, 2007
+#
+#   - Updates
+#       Francisco Javier Cuadrado <fcocuadrado@gmail.com>, 2009
+#
+# Traductores, si no conocen el formato PO, merece la pena leer la
+# documentación de gettext, especialmente las secciones dedicadas a este
+# formato, por ejemplo ejecutando:
+#       info -n '(gettext)PO Files'
+#       info -n '(gettext)Header Entry'
+#
+# Equipo de traducción al español, por favor lean antes de traducir
+# los siguientes documentos:
+#
+#   - El proyecto de traducción de Debian al español
+#     http://www.debian.org/intl/spanish/coordinacion
+#     especialmente las notas de traducción en
+#     http://www.debian.org/intl/spanish/notas
+#
+#   - La guía de traducción de po's de debconf:
+#     /usr/share/doc/po-debconf/README-trans
+#     o http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube 0.2.1-1\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2008-04-01 18:21+0200\n"
+"Last-Translator: Carlos Galisteo <cgalisteo@k-rolus.net>\n"
+"Language-Team: Debian l10n Spanishf <debian-l10n-spanish@lists.debian.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Servidores web a reconfigurar automáticamente:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube funciona con cualquier servidor web que soporte PHP, sin embargo "
+"sólo se configuran automáticamente Apache 2 y lighttpd."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Seleccione el/los servidor/es web que debe/n configurarse automáticamente "
+"para RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "¿Debe/n reiniciarse ahora el/los servidor/es web?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Debe/n reiniciarse el/los servidor/es web para activar la nueva "
+"configuración."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "Servidor/es IMAP usado/s por RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Seleccione el/los servidor/es IMAP que se usará/n con RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Se mostrará un campo al autenticarse que el usuario podrá rellenar si deja "
+"este campo en blanco. Si proporciona una lista de equipos separados por "
+"espacios, se mostrará un menú desplegable. Si proporciona un único nombre de "
+"equipo se forzará el uso de este equipo."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Escriba los nombres de sistema como «ssl://hostname:9993» si desea usar "
+"conexiones SSL."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Idioma predeterminado:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Elija el idioma predeterminado para RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "Los usuarios pueden cambiar esta opción en sus preferencias."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Sin embargo, el idioma predeterminado se usará en la pantalla de "
+"autenticación y en la primera conexión de los usuarios."
diff --git a/debian/po/eu.po b/debian/po/eu.po
new file mode 100644 (file)
index 0000000..68a01cd
--- /dev/null
@@ -0,0 +1,135 @@
+# translation of roundcube-eu.po to Euskara
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Piarres Beobide <pi@beobide.net>, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube-eu\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2008-03-14 09:03+0100\n"
+"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
+"Language-Team: Euskara <Librezale@librezale.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Automatikoki konfiguratu behar den web zerbitzaria:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube-k PHP onartzen duen edozein web zerbitzari onartzen du, hala ere "
+"Apache2 eta lighttpd bakarrik konfiguratu daiteke automatikoki."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Mesedez hautatu Roundube-rentzat automatikoki konfiguratu behar den web "
+"zerbitzaria(k)."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Web zerbitzaria(k) orain berrabiarazi behar al da?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Konfigurazio berria gaitu ahal izateko, birkonfiguratutako web zerbitzaria"
+"(k) berrabiarazi egin behar d(ir)a."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "RoundCube-rekin erabiliko d(ir)en IMAP zerbitzaria(k):"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Mesedez hautatu RoundCube-rekin erabiliko den IMAP zerbitzaria(k)."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Hau zurian utzi ezkero, testu kutxa bat bistaraziko da saioa hastean. "
+"Zuriunez bereziriko ostalari zerrenda bat idatzi ezkero aukeratzeko menu bat "
+"bistaraziko da. Ostalari bakar bat idatziaz ostalari hori erabiltzea "
+"behartuko da."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"SSL konexioak erabiltzeko, idatzi ostalari izena formatu honetan: 'ssl://"
+"ostalaria:993'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Lehenetsitako hizkuntza:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Mesedez hautatu RoundCube-ren hizkuntz lehenetsia."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr ""
+"Hautapen hauek erabiltzaile bakoitzak bere hobespenetan gainidatzi ditzake."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Hala ere, lehenetsiriko hizkuntza saio hasiera orria eta erabiltzailearen "
+"lehen konexioetan erabiliko da."
diff --git a/debian/po/fi.po b/debian/po/fi.po
new file mode 100644 (file)
index 0000000..5b0a4fa
--- /dev/null
@@ -0,0 +1,141 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube_0.1~rc2-4\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2008-03-08 00:45+0200\n"
+"Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
+"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Finnish\n"
+"X-Poedit-Country: Finland\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Automaattisesti asetettavat verkkopalvelimet:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube tukee mitä tahansa verkkopalvelinta, joka tukee PHP:ta. Vain "
+"Apache 2 ja lighttpd voidaan kuitenkin asettaa automaattisesti."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Valitse verkkopalvelimet, joiden asetukset tulisi automaattisesti tehdä "
+"RoundCubea varten."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Tulisiko verkkopalvelimet käynnistää uudelleen nyt?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Uusien asetusten ottamiseksi käyttöön asetetut verkkopalvelimet tulee "
+"käynnistää uudelleen."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "RoundCuben kanssa käytettävät IMAP-palvelimet:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+#, fuzzy
+#| msgid "Please select the IMAP server that should be used with RoundCube."
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Valitse IMAP-palvelimet, joita käytetään RoundCuben kanssa."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Jos tämä kenttä jätetään tyhjäksi, kirjautumisvaiheessa näytetään "
+"tekstikenttä. Jos tässä kentässä on välilyönnein eroteltu lista "
+"palvelimista, kirjauduttaessa näytetään alasvetovalikko. Yhden palvelimen "
+"syöttäminen pakottaa kyseisen palvelimen käyttöön."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"SSL-yhteydet saadaan käyttöön syöttämällä palvelimien verkkonimet muodossa "
+"”ssl://verkkonimi:993”."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Oletuskieli:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Valitse RoundCuben oletuskieli."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "Yksittäiset käyttäjät voivat muuttaa tätä valintaa asetuksissaan."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Oletuskieltä käytetään kuitenkin kirjautumisruudussa ja käyttäjien "
+"ensimmäisen yhteyden yhteydessä."
+
+#~ msgid "apache"
+#~ msgstr "apache"
+
+#~ msgid "apache-ssl"
+#~ msgstr "apache-ssl"
+
+#~ msgid "apache-perl"
+#~ msgstr "apache-perl"
diff --git a/debian/po/fr.po b/debian/po/fr.po
new file mode 100644 (file)
index 0000000..30cfe6c
--- /dev/null
@@ -0,0 +1,144 @@
+# Traduction Debconf pour le paquet RoundCube
+# Copyright (C) 2007
+# This file is distributed under the same license as the roundcube package.
+# Vincent Bernat <bernat@luffy.cx>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube-0.1~rc1~dfsg-1\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2008-03-08 11:24+0100\n"
+"Last-Translator: Vincent Bernat <bernat@luffy.cx>\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "Apache 2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Serveur(s) web à configurer automatiquement :"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube fonctionne avec n'importe quel serveur web géré par PHP. "
+"Cependant, seuls Apache 2 et lighttpd peuvent être configurés "
+"automatiquement."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Veuillez choisir le(s) serveur(s) Web à configurer automatiquement pour "
+"Roundcube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Faut-il redémarrer le(s) serveur(s) web maintenant ?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Afin d'activer la nouvelle configuration, le(s) serveur(s) web reconfigurés "
+"doive(nt) être redémarrés."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "Serveur(s) IMAP à utiliser avec RoundCube :"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Veuillez choisir le(s) serveur(s) IMAP que doit utiliser RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Si ce champ est laissé vide, il pourra être renseigné à la connexion. En "
+"entrant une liste d'hôtes séparés par des espaces, ceux-ci apparaîtront dans "
+"un menu déroulant. En spécifiant un seul hôte, ce dernier sera "
+"systématiquement utilisé."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Pour utiliser des connexions sécurisées (SSL), veuillez indiquer le nom du "
+"serveur sous la forme « ssl://serveur:993 »."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Langue par défaut :"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Veuillez choisir la langue par défaut pour RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr ""
+"Ce choix peut être personnalisé par chaque utilisateur dans ses préférences."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Cependant, la langue par défaut sera utilisée sur l'écran de connexion et "
+"lors de la première connexion de chaque utilisateur."
+
+#~ msgid "apache"
+#~ msgstr "Apache"
+
+#~ msgid "apache-ssl"
+#~ msgstr "Apache SSL"
+
+#~ msgid "apache-perl"
+#~ msgstr "Apache-perl"
diff --git a/debian/po/gl.po b/debian/po/gl.po
new file mode 100644 (file)
index 0000000..e317834
--- /dev/null
@@ -0,0 +1,143 @@
+# Galician translation of roundcube's debconf templates
+# This file is distributed under the same license as the roundcube package.
+# Jacobo Tarrio <jtarrio@debian.org>, 2007, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2008-03-07 16:27+0000\n"
+"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Servidor(es) web a reconfigurar automaticamente:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube soporta os servidores web soportados por PHP; nembargantes, só se "
+"poden configurar automaticamente Apache 2 e lighttpd."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Escolla o(s) servidor(es) web que se deberían configurar automaticamente "
+"para RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "¿Debería(n) reiniciarse o(s) servidor(es) web?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Para activar a nova configuración hai que reiniciar o(s) servidor(es) web "
+"reconfigurado(s)."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "Servidor(es) IMAP a empregar con RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+#, fuzzy
+#| msgid "Please select the IMAP server that should be used with RoundCube."
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Escolla o servidor IMAP que se debería empregar con RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Se deixa isto baleiro, hase amosar unha caixa de texto ao se conectar. Se "
+"introduce unha lista de servidores separados por espazos hase amosar un menú "
+"desplegable. Se introduce un só servidor ha facer que só se empregue ese "
+"servidor."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Para empregar conexións SSL, introduza os nomes dos servidores coma \"ssl://"
+"servidor:993\"."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Idioma por defecto:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Escolla o idioma por defecto de RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "Cada usuario pode cambiar esta opción nas súas preferencias."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Nembargantes, hase empregar o idioma por defecto na pantalla de inicio e na "
+"primeira conexión de cada usuario."
+
+#~ msgid "apache"
+#~ msgstr "apache"
+
+#~ msgid "apache-ssl"
+#~ msgstr "apache-ssl"
+
+#~ msgid "apache-perl"
+#~ msgstr "apache-perl"
diff --git a/debian/po/it.po b/debian/po/it.po
new file mode 100644 (file)
index 0000000..0af6c09
--- /dev/null
@@ -0,0 +1,132 @@
+# Italian (it) translation of debconf templates for roundcube\r
+# Copyright (C) 2007 Free Software Foundation, Inc.\r
+# This file is distributed under the same license as the roundcube package.\r
+# Luca Monducci <luca.mo@tiscali.it>, 2007-2009.\r
+# \r
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube 0.2.2 italian debconf templates\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2009-08-30 12:09+0200\n"
+"Last-Translator: Luca Monducci <luca.mo@tiscali.it>\n"
+"Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Server web da configurare automaticamente:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube può essere usato con qualsiasi server web che supporta PHP, ma "
+"questo processo di configurazione automatica funziona solo con Apache 2 e "
+"lighttpd."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Selezionare quale/i server web configurare automaticamente per RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Riavviare il/i server web adesso?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Per attivare la nuova configurazione è necessario riavviare il/i server web "
+"appena riconfigurato/i."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "Server IMAP da usare con RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Scegliere il/i server IMAP da usare con RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Se si lascia in bianco, viene richiesto l'inserimento nella schermata di "
+"accesso. Inserendo un elenco di host separati da degli spazi viene mostrato "
+"un menu a discesa. Inserendo un solo host, viene usato quell'host."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Per usare connessioni SSL, inserire i nomi host nel formato \"ssl://"
+"nomehost:993\"."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Lingua predefinita:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Scegliere la lingua predefinita per RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "Gli utenti possono modificare questa scelta nelle proprie preferenze."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"La lingua predefinita viene comunque usata nella schermata d'accesso e per "
+"la prima connessione degli utenti."
diff --git a/debian/po/ja.po b/debian/po/ja.po
new file mode 100644 (file)
index 0000000..83c5c01
--- /dev/null
@@ -0,0 +1,128 @@
+# Copyright (C) 2009 Debian Roundcube Maintainers <pkg-roundcube-maintainers@lists.alioth.debian.org>\r
+# This file is distributed under the same license as roundcube package.\r
+# Hideki Yamane (Debian-JP) <henrich@debian.or.jp>, 2009.\r
+# \r
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube 0.2~stable-1\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2009-03-06 06:26+0900\n"
+"Last-Translator: Hideki Yamane (Debian-JP) <henrich@debian.or.jp>\n"
+"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "自動的に設定するウェブサーバ:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube は PHP をサポートしているウェブサーバであればどれでもサポートしてい"
+"ますが、自動的に設定できるのは Apache2 と lighttpd のみです。"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr "RoundCube 用の設定を自動的に実施するウェブサーバを選択してください。"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "今すぐウェブサーバを再起動しますか?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"新しい設定を反映するには、再設定したウェブサーバを再起動する必要があります。"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "RoundCube で利用する IMAP サーバ:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "RoundCube で利用する IMAP サーバを選択してください。"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"ここで入力しない場合は、ログイン時にテキストボックスが表示されます。空白で区"
+"切られたホストのリストを入力すると、プルダウンメニューが表示されます。ホスト"
+"名を一つだけ入力した場合はそのホストが強制的に利用されます。"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"SSL 接続を利用するには、'ssl://hostname:993' のようにしてホスト名を入力してく"
+"ださい。"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "標準の言語:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "RoundCube での標準の言語を入力してください。"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "ここでの選択は、個々のユーザの個人設定で上書きできます。"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"しかし、標準に設定した言語はログイン画面とユーザの初回の接続画面に利用されま"
+"す。"
diff --git a/debian/po/nl.po b/debian/po/nl.po
new file mode 100644 (file)
index 0000000..9601f6b
--- /dev/null
@@ -0,0 +1,133 @@
+# Dutch translation of roundcube debconf templates.
+# Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the roundcube package.
+# Jeroen Schot <schot@a-eskwadraat.nl>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube 0.7-3\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2012-01-13 15:20+0100\n"
+"Last-Translator: Jeroen Schot <schot@a-eskwadraat.nl>\n"
+"Language-Team: Debian l10n Dutch <debian-l10n-dutch@lists.debian.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Automatisch te configureren webserver(s):"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube ondersteunt elke webserver die PHP ondersteunt, maar alleen Apache "
+"2 en lighttpd kunnen automatisch worden geconfigureerd."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Welke webservers moeten automatisch worden geconfigureerd voor RoundCube?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Webserver(s) nu herstarten?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Om de nieuwe configuratie te activeren moeten de opnieuw ingestelde webserver"
+"(s) worden herstart."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "Bij RoundCube te gebruiken IMAP-server(s):"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Welke IMAP-servers moeten er met RoundCube worden gebruikt?"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Wanneer dit leeg wordt gelaten zal er een tekstvak worden weergegeven bij "
+"het inloggen. Wanneer u een door spaties gescheiden lijst van computernamen "
+"opgeeft zal dit als een keuzemenu worden weergegeven. Het opgeven van één "
+"enkele computernaam dwingt het gebruikt van deze af."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"U kunt een SSL-verbinding aangeven door de computernaam als volgt in te "
+"voeren: 'ssl://hostname:993'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Standaardtaal:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Wat is de standaardtaal voor RoundCube?"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr ""
+"Individuele gebruikers kunnen in hun voorkeuren een andere taal kiezen."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Maar de standaardtaal zal worden gebruikt voor het loginscherm en bij de "
+"eerste verbinding van gebruikers."
diff --git a/debian/po/pt.po b/debian/po/pt.po
new file mode 100644 (file)
index 0000000..9f301bf
--- /dev/null
@@ -0,0 +1,147 @@
+# Portuguese translations for roundcube package.
+# Copyright (C) Miguel Figueiredo
+# This file is distributed under the same license as the roundcoube package.
+# Miguel Figueiredo <elmig@debianpt.org>, 2007, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2008-03-09 14:12+0000\n"
+"Last-Translator: Miguel Figueiredo <elmig@debianpt.org>\n"
+"Language-Team: Portuguese <traduz@debianpt.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Servidor(es) web a configurar automaticamente:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"O RoundCube suporta qualquer servidor web que suporte PHP, no entanto apenas "
+"o Apache 2 e lighttpd podem ser automaticamente configurados."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Por favor escolha o(s) servidor(es) web que deve(m) ser automaticamente "
+"configurado(s) para o RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Deverá o servidor web ser reiniciado agora?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"De modo a activar a nova configuração, o(s) servidor(es) web reconfigurados "
+"terão de ser reiniciados."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "Servidor(es) IMAP utilizado(s) com o RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr ""
+"Por favor escolha o(s) servidor(es) IMAP que deve(m) ser utilizado(s) com o "
+"RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Se isto for deixado em branco, será mostrada uma caixa de texto no login. "
+"Introduzir uma lista de máquinas, separada por espaços, irá mostrar um menu "
+"pull-down. Introduzir uma única máquina irá forçar a utilização desta "
+"máquina."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Para utilizar ligações SSL, por favor introduza os nomes das máquinas como "
+"'ssl://nomedamáquina:993'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Idioma por omissão:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Por favor, escolha o idioma por omissão para o RoundCoube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr ""
+"Esta escolha pode ser ultrapassada por utilizadores individuais nas suas "
+"preferências."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"No entanto, o idioma pré-definido será utilizado para o ecrã de login e para "
+"a primeira ligação dos utilizadores."
+
+#~ msgid "apache"
+#~ msgstr "apache"
+
+#~ msgid "apache-ssl"
+#~ msgstr "apache-ssl"
+
+#~ msgid "apache-perl"
+#~ msgstr "apache-perl"
diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po
new file mode 100644 (file)
index 0000000..af65c44
--- /dev/null
@@ -0,0 +1,139 @@
+# roundcube Brazilian Portuguese translation.
+# Copyright (C) 2009 roundcube's COPYRIGHT HOLDER
+# This file is distributed under the same license as the roundcube package.
+# Bruno Gurgel Gomes de Oliveira <bruno.gurgel@gmail.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2009-03-11 13:15+1200\n"
+"Last-Translator: Bruno Gurgel Gomes de Oliveira <bruno.gurgel@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
+"org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"pt_BR utf-8\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Servidor(es) web para configurar automaticamente:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"O RoundCube dá suporte a qualquer servidor web que tenha suporte a PHP, no "
+"entanto, somente o Apache2 e o lighttpd podem ser configurados "
+"automaticamente."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Por favor, selecione o(s) servidor(es) web que deve(m) ser configurado(s) "
+"automaticamente para o RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "O(s) servidor(es) web deve(m) ser reiniciado(s) agora?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Para ativar a nova configuração, o(s) servidor(es) web reconfigurado(s) deve"
+"(m) ser reiniciado(s)."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "Servidor(es) IMAP usado(s) pelo RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr ""
+"Por favor, selecione o(s) servidor(es) IMAP que deve(m) ser usado(s) com o "
+"RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Se isto for deixado em branco, uma caixa de texto será mostrada no login. "
+"Informando uma lista de hosts separados por espaço exibirá um menu suspenso. "
+"Informando um único host forçará o uso do mesmo."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Para usar conexões SSL, por favor, informe os nomes de máquina como: 'ssl://"
+"nome-da-máquina:993'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Idioma padrão:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Por favor, escolha o idioma padrão para o RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr ""
+"Esta escolha poderá ser sobrescrita por usuários em suas preferências "
+"individuais."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"No entanto, o idioma padrão será usado para a tela de login e a primeira "
+"conexão dos usuários."
diff --git a/debian/po/ru.po b/debian/po/ru.po
new file mode 100644 (file)
index 0000000..11a85f6
--- /dev/null
@@ -0,0 +1,136 @@
+# translation of ru.po to Russian
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Yuri Kozlov <kozlov.y@gmail.com>, 2007, 2008.
+# Yuri Kozlov <yuray@komyakino.ru>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube 0.2.1-1\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2009-05-15 21:20+0400\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Веб-сервер(ы), которые нужно настроить автоматически:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube работает с любым веб-сервером, поддерживающим PHP, однако "
+"автоматическая настройка выполняется только для Apache и lighttpd."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Выберите веб-сервер(ы), которые нужно настроить автоматически под RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Перезапустить веб-сервер(ы) прямо сейчас?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Чтобы новые настройки вступили в силу, нужно перезапустить перенастроенный "
+"веб-сервер(ы)."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "IMAP-сервер(ы), используемые с RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Укажите сервер(ы) IMAP, который нужно использовать с RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Если вы оставите поле пустым, при входе будет показано текстовое поле для "
+"ввода. Укажите список (через пробел) хостов, которые нужно показать в "
+"выпадающем меню. Если ввести только один хост, то только он и будет "
+"использован."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Чтобы использовать соединение через SSL, вводите имена хостов в виде 'ssl://"
+"хост:993'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Язык по умолчанию:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Укажите язык по умолчанию для RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "Этот выбор может быть изменён любым пользователем в их настройках."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Однако, язык по умолчанию будет использован для выдачи приглашения к входу и "
+"во время первого подключения пользователя."
diff --git a/debian/po/sk.po b/debian/po/sk.po
new file mode 100644 (file)
index 0000000..f9ca1d0
--- /dev/null
@@ -0,0 +1,134 @@
+# Slovak translation of roundcube debconf template
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the roundcube package.
+# Ivan Masár <helix84@centrum.sk>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2008-05-15 17:59+0100\n"
+"Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
+"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Nastaviť automaticky nasledovné webové servery:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"RoundCube podporuje akýkoľvek webový server, ktorý podporuje PHP, avšak iba  "
+"Apache 2 a lighttpd je možné nastaviť automaticky."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Prosím, vyberte, ktoré webové servery sa majú nastaviť automaticky pre "
+"RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Majú sa webové servery teraz reštartovať?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"Aby sa aktivovala nové konfigurácia, nastavené webové servery je potrebné "
+"reštartovať."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "IMAP servery na použitie s RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+#, fuzzy
+#| msgid "Please select the IMAP server that should be used with RoundCube."
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Prosím, vyberte, ktorý IMAP server sa má použiť s RoundCube."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Ak toto pole necháte prázdne, pri prihlásení sa zobrazí textové pole. Ak "
+"zadáte zoznam strojov oddelených čiarkami, zobrazí sa roletová ponuka. Ak "
+"zadáte jeden stroj, vynúti sa použitie tohto stroja."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"Aby ste mohli používať SSL spojenia, zadajte prosím názvy strojov v tvare "
+"'ssl://nazovstroja:993'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Štandardný jazyk:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Prosím, vyberte štandardný jazyk rozhrania RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "Nastavenia jednotlivých používateľov majú prednosť pre touto voľbou."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Avšak štandardný jazyk sa použije na prihlasovacej obrazovke a pri prvom "
+"prihlásení používateľa."
diff --git a/debian/po/sv.po b/debian/po/sv.po
new file mode 100644 (file)
index 0000000..dde6862
--- /dev/null
@@ -0,0 +1,131 @@
+# translation of debconf messages for Roundcube to Swedish
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the Roundcube package.
+#
+# Martin Bagge <brother@bsnet.se>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2009-02-23 01:41+0100\n"
+"Last-Translator: Martin Bagge <brother@bsnet.se>\n"
+"Language-Team: swedish <debian-l10n-swedish@lists.debian.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "apache2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "lighttpd"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "Webservrar som ska ställas in automatiskt:"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"Roundcube kan köras på alla webbservrar som stödje PHP, dock kan bara Apache "
+"2 och lighttpd ställas in automatiskt."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"Ange den eller de webbservrar som ska ställas in automatiskt för RoundCube."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "Ska webbservern/-servrarna startas om nu?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr "För att aktivera de nya inställningarna måste webbservern startas om."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "IMAP-värd/-ar som ska användas med RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "Ange den/de IMAP-server/-servrar som ska användas med RoundCube:"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"Om detta fält lämnas tomt kommer en textruta att visas vid inloggningsrutan. "
+"Ange en mellanslagsseparerad lista med värdar för att visa en "
+"rullgardinsmeny. Genom att endast ange en värd kommer endast denna att kunna "
+"användas."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"För att använda säker anslutning (SSL) ang värdnamnet i formen 'ssl://"
+"värdnamn:933'."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "Standardspråk:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "Ange standardspråk för RoundCube."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "Detta språk kan ändras för varje användare i deras egna inställingar."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"Tänk på att standardspråket kommer att användas för inloggningsrutan och "
+"första gången en användare ansluter."
diff --git a/debian/po/ta.po b/debian/po/ta.po
new file mode 100644 (file)
index 0000000..faec187
--- /dev/null
@@ -0,0 +1,132 @@
+# translation of roundcube 0.1-3.po to Tamil
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Dr.T.Vasudevan <agnihot3@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: roundcube 0.1-3\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: 2008-03-07 19:05+0530\n"
+"Last-Translator: Dr.T.Vasudevan <agnihot3@gmail.com>\n"
+"Language-Team: Tamil <ubuntu>\n"
+"Language: ta\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr "அபாசே2"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr "லைட்டிபிடி (lighttpd)"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr "தானியங்கியாக வடிவமைக்க வலை சேவையகம்(கங்கள்):"
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+"ரவுண்ட் க்யூப் ஹெச்பிஆல் ஆதரிக்கப்பட்ட எந்த வலை சேவையகத்தையும் ஆதரிக்கும். ஆயினும் அபாசே 2 "
+"மற்றும் லைட்டிபிடி (lighttpd ) மட்டுமே தானியங்கியாக வடிவமைக்கப்பட முடியும்."
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+"ரவ்ண்ட்க்யூப் க்கு தானியங்கியாக வடிவமைக்கப்பட வேண்டிய வலை சேவையகத்தை(கங்களை) "
+"தேர்ந்தெடுக்கவும்."
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr "வலை சேவையகத்தை(கங்களை) மீள் துவக்கவா?"
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+"புதிய வடிவமைப்பை செயல்படுத்த வடிவமைத்த வலை சேவையகம் (-கங்கள்) மீள் துவக்கப் பட வேண்டும்."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr "ரவ்ண்ட்க்யூப் உடன் பயன்படுத்த வேண்டிய ஐமாப் சேவையகம்(கங்கள்):"
+
+#. Type: string
+#. Description
+#: ../templates:4001
+#, fuzzy
+#| msgid "Please select the IMAP server that should be used with RoundCube."
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr "ரவ்ண்ட்க்யூப் உடன் பயன்படுத்த வேண்டிய ஐமாப் சேவையகம்(கங்கள்) ஐ தேர்ந்தெடுக்கவும்."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+"இதை வெற்றாக விட்டால் உள்நுழைவு போது ஒரு சோதனைப் பெட்டி காட்டப் படும். இடைவெளியுடன் "
+"கூடிய புரவன்கள் பட்டியல் ஐ உள்ளிட்டால் ஒரு இழுவை பட்டியல் காட்டப் படும். ஒரு தனிப் பெயரை "
+"உள்ளிட்டால் இந்த புரவனை பயன்படுத்துவதை உறுதியாக்கும்."
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+"எஸ்எஸ்எல் இணைப்பை பயன் படுத்த புரவன் பெயர்களை  'ssl://hostname:993' போல் உள்ளிடவும்."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr "முன்னிருப்பு மொழி:"
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr "ரவ்ண்ட்க்யூப் க்கு முன்னிருப்பு மொழி ஐ தேர்ந்தெடுக்கவும்."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr "இந்த தேர்வு பயனர் விருப்பங்களால் மீறப்பட இயலும்."
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
+"ஆயினும் உள்நுழைவின் போதும் முதல் பயனர் இணைப்பின் போதும் முன்னிருப்பு மொழியே பயன் படும்."
diff --git a/debian/po/templates.pot b/debian/po/templates.pot
new file mode 100644 (file)
index 0000000..5a75257
--- /dev/null
@@ -0,0 +1,119 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: roundcube@packages.debian.org\n"
+"POT-Creation-Date: 2009-02-15 17:05+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "apache2"
+msgstr ""
+
+#. Type: multiselect
+#. Choices
+#: ../templates:2001
+msgid "lighttpd"
+msgstr ""
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid "Web server(s) to configure automatically:"
+msgstr ""
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"RoundCube supports any web server supported by PHP, however only Apache 2 "
+"and lighttpd can be configured automatically."
+msgstr ""
+
+#. Type: multiselect
+#. Description
+#: ../templates:2002
+msgid ""
+"Please select the web server(s) that should be configured automatically for "
+"RoundCube."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid "Should the webserver(s) be restarted now?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates:3001
+msgid ""
+"In order to activate the new configuration, the reconfigured web server(s) "
+"have to be restarted."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "IMAP server(s) used with RoundCube:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid "Please select the IMAP server(s) that should be used with RoundCube."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"If this is left blank, a text box will be displayed at login. Entering a "
+"space-separated list of hosts will display a pull-down menu. Entering a "
+"single host will enforce using this host."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../templates:4001
+msgid ""
+"To use SSL connections, please enter host names as 'ssl://hostname:993'."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Default language:"
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "Please choose the default language for RoundCube."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid "This choice can be overridden by individual users in their preferences."
+msgstr ""
+
+#. Type: select
+#. Description
+#: ../templates:5001
+msgid ""
+"However, the default language will be used for the login screen and the "
+"first connection of users."
+msgstr ""
diff --git a/debian/roundcube-core.NEWS b/debian/roundcube-core.NEWS
new file mode 100644 (file)
index 0000000..a0ecf6b
--- /dev/null
@@ -0,0 +1,26 @@
+roundcube (0.7.1-2) unstable; urgency=high
+
+    Roundcube SQLite support is limited to SQLite 2.x. No support for
+    SQLite 3.x currently exists. Unfortunately, SQLite 2.x is unmaintained
+    for several years and therefore has been dropped from php5
+    package. You will need to select another database to keep Roundcube
+    running.
+
+ -- Vincent Bernat <bernat@debian.org>  Tue, 07 Feb 2012 17:41:58 +0100
+
+roundcube (0.3.1-2) unstable; urgency=low
+
+    Starting from Roundcube 0.3, an incompatibility with Suhosin session
+    encryption is present. This can be resolved by tuning php.ini for
+    Roundcube with the "suhosin.session.encrypt" set to "Off".
+
+    We ship a .htaccess in /var/lib/roundcube to disable this
+    option. However, this only works with a webserver like Apache with
+    mod_php. If you are using a webserver with PHP configured as a
+    *CGI process, you need to tune the php.ini for this process:
+    either turn of globally Suhosin session encryption in
+    /etc/php5/conf.d/suhosin or you can provide your own php.ini to
+    php5-cgi with "-c" option.
+
+ -- Vincent Bernat <bernat@debian.org>  Mon, 02 Nov 2009 19:48:22 +0100
+
diff --git a/debian/roundcube-core.README.Debian b/debian/roundcube-core.README.Debian
new file mode 100644 (file)
index 0000000..def57ea
--- /dev/null
@@ -0,0 +1,36 @@
+This package ships with configuration files for Apache and
+lighttpd. However, it is not possible to cover all cases and you still
+need to do some manual steps to adapt the installation to your site
+configuration.
+
+You can uncomment the Alias directives in
+`/etc/roundcube/apache.conf'. You can then access your roundcube
+installation under `/roundcube' in all virtual hosts. If you want to
+create a specific virtual host, just point DocumentRoot to
+`/var/lib/roundcube'.
+
+It is important to keep in mind that the root installation of
+roundcube is `/var/lib/roundcube' and not `/usr/share/roundcube'. You
+also need to keep the configuration file provided. Otherwise, your
+installation will be non functional and insecure.
+
+For better compatibility, the schema used for MySQL is the one
+targeted at MySQL 4.0, not the one for MySQL 4.1 or MySQL 5.x.
+
+To use tinymce editor:
+ - set $rcmail_config['htmleditor'] to TRUE in
+   /etc/roundcube/main.inc.php
+
+No plugins are shipped (except core plugins) with this package of
+roundcube. Add your plugin in /var/lib/roundcube/plugins.
+
+This package makes use of dbconfig-common to setup the database. If
+you do not wish to use dbconfig-common, you can find the SQL commands
+to use to install and upgrade the database in
+`/usr/share/dbconfig-common/data/roundcube'. When upgrading, you need
+to apply each upgrade file from the version you are upgrading
+(excluded). For example, if you are using MySQL and want to upgrade
+from 0.3-1, you need to apply `mysql/0.5-1'. If you are upgrading from
+0.2~alpha-5, you need to apply `mysql/0.2~stable-1' and `mysql/0.5-1'.
+
+ -- Vincent Bernat <bernat@debian.org>, Sun, 13 Feb 2011 12:59:27 +0100
diff --git a/debian/roundcube-core.config b/debian/roundcube-core.config
new file mode 100644 (file)
index 0000000..a1ecf4f
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+db_input medium roundcube/hosts || true
+db_go || true
+
+# Retrieve all available languages
+instd_langs=$(echo /usr/share/roundcube/program/localization/*/messages.inc | \
+    sed 's+[^ ]*/\([^ ]*\)/messages.inc+\1,+g' | sed 's+,$++')
+db_subst roundcube/language languages $instd_langs
+# First try to get the current choice in case of preseeding or if the
+# question has already been asked
+db_get roundcube/language || true
+locale="$RET"
+if [ -n "$locale" -a -d "/usr/share/roundcube/program/localization/$locale" ]; then
+    # We get our answer (db_set should be useless in fact)
+    db_set roundcube/language $locale
+else 
+    # Either we never answered the question or the locale does not
+    # exist any more. In both cases, we do as if we never seen the
+    # question.
+    db_fset roundcube/language seen false
+    # Try to guess the locale
+    locale=$(echo $LANG | sed 's/[@\.].*//')
+    if [ -d /usr/share/roundcube/program/localization/$locale ]; then
+               db_set roundcube/language $locale
+    else
+       locale=$(echo $locale | sed 's/_.*//')
+       if [ -d /usr/share/roundcube/program/localization/$locale ]; then
+           db_set roundcube/language $locale
+       else
+           db_set roundcube/language en_US
+       fi
+    fi
+fi
+# Ask the question
+db_input medium roundcube/language || true
+db_go || true
+
+if [ -f /usr/share/dbconfig-common/dpkg/config ]; then
+        dbc_dbtypes="mysql, pgsql"
+        dbc_authmethod_user="password"
+        . /usr/share/dbconfig-common/dpkg/config 
+        dbc_go roundcube $@
+fi
+
+db_input medium roundcube/reconfigure-webserver || true
+db_go || true
+db_input medium roundcube/restart-webserver || true
+db_go || true
diff --git a/debian/roundcube-core.cron.daily b/debian/roundcube-core.cron.daily
new file mode 100644 (file)
index 0000000..ec4bfd7
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+MAX_TMPFILE_LIFETIME=5
+# MAX_TMPFILE_LIFETIME can be overridden in this file
+if [ -r /etc/default/roundcube-core ]; then
+       . /etc/default/roundcube-core
+fi
+
+if [ -d /var/lib/roundcube/temp ]; then
+       find /var/lib/roundcube/temp -type f -mtime +$MAX_TMPFILE_LIFETIME -print0 | xargs -0 -r rm
+fi
diff --git a/debian/roundcube-core.default b/debian/roundcube-core.default
new file mode 100644 (file)
index 0000000..67e646d
--- /dev/null
@@ -0,0 +1,3 @@
+# Uncomment the following line to alter the default delay to clean
+# temporary directory /var/lib/roundcube/temp
+# MAX_TMPFILE_LIFETIME=5
diff --git a/debian/roundcube-core.dirs b/debian/roundcube-core.dirs
new file mode 100644 (file)
index 0000000..55ce9e8
--- /dev/null
@@ -0,0 +1,12 @@
+usr/share/roundcube
+usr/share/dbconfig-common/data/roundcube/install
+usr/share/dbconfig-common/data/roundcube/upgrade/mysql
+usr/share/dbconfig-common/data/roundcube/upgrade/pgsql
+etc/roundcube
+etc/roundcube/plugins/jqueryui
+var/log/roundcube
+var/lib/roundcube/config
+var/lib/roundcube/plugins
+var/lib/roundcube/skins
+var/lib/roundcube/temp
+etc/default
diff --git a/debian/roundcube-core.docs b/debian/roundcube-core.docs
new file mode 100644 (file)
index 0000000..ff37da8
--- /dev/null
@@ -0,0 +1,2 @@
+README
+INSTALL
diff --git a/debian/roundcube-core.install b/debian/roundcube-core.install
new file mode 100644 (file)
index 0000000..1f7ed9e
--- /dev/null
@@ -0,0 +1,10 @@
+robots.txt index.php .htaccess program/ bin/ usr/share/roundcube
+skins/default/ usr/share/roundcube/skins
+
+plugins/filesystem_attachments/ usr/share/roundcube/plugins
+
+plugins/jqueryui/jqueryui.php usr/share/roundcube/plugins/jqueryui
+plugins/jqueryui/config.inc.php.dist usr/share/roundcube/plugins/jqueryui
+
+debian/conf/* etc/roundcube
+config/*.php etc/roundcube
diff --git a/debian/roundcube-core.links b/debian/roundcube-core.links
new file mode 100644 (file)
index 0000000..9e745dd
--- /dev/null
@@ -0,0 +1,15 @@
+etc/roundcube/main.inc.php var/lib/roundcube/config/main.inc.php
+usr/share/roundcube/index.php var/lib/roundcube/index.php
+usr/share/roundcube/robots.txt var/lib/roundcube/robots.txt
+usr/share/roundcube/program var/lib/roundcube/program
+usr/share/roundcube/skins/default var/lib/roundcube/skins/default
+
+usr/share/roundcube/plugins/filesystem_attachments var/lib/roundcube/plugins/filesystem_attachments
+usr/share/roundcube/plugins/jqueryui var/lib/roundcube/plugins/jqueryui
+usr/share/javascript/jquery-ui/jquery-ui.min.js usr/share/roundcube/plugins/jqueryui/js/jquery-ui.min.js
+usr/share/javascript/jquery-ui/ui/i18n usr/share/roundcube/plugins/jqueryui/js/i18n
+usr/share/javascript/jquery-ui/css usr/share/roundcube/plugins/jqueryui/css
+etc/roundcube/plugins/jqueryui/config.inc.php usr/share/roundcube/plugins/jqueryui/config.inc.php
+
+var/log/roundcube var/lib/roundcube/logs
+usr/share/roundcube/main.inc.php.dist usr/share/doc/roundcube/main.inc.php.dist
diff --git a/debian/roundcube-core.logrotate b/debian/roundcube-core.logrotate
new file mode 100644 (file)
index 0000000..3d95dad
--- /dev/null
@@ -0,0 +1,8 @@
+/var/log/roundcube/errors /var/log/roundcube/sendmail /var/log/roundcube/userlogins {
+  create 0640 www-data adm
+  compress
+  missingok
+  notifempty
+  rotate 52
+  weekly
+}
diff --git a/debian/roundcube-core.postinst b/debian/roundcube-core.postinst
new file mode 100644 (file)
index 0000000..f07f3d3
--- /dev/null
@@ -0,0 +1,178 @@
+#!/bin/sh
+# postinst script for roundcube
+#
+# see: dh_installdeb(1)
+
+set -e
+
+. /usr/share/debconf/confmodule
+. /usr/share/dbconfig-common/dpkg/postinst 
+dbc_generate_include=php:/etc/roundcube/debian-db.php
+dbc_generate_include_owner="root:www-data"
+dbc_generate_include_perms="640"
+dbc_dbfile_owner="www-data:www-data"
+dbc_dbfile_perms="0660"
+dbc_dbuser=roundcube
+dbc_dbname=roundcube
+
+dbc_go roundcube $@
+
+lighttpd_install() {
+       if [ ! -f /etc/lighttpd/conf-available/50-roundcube.conf ] ; then
+               if [ ! -x /usr/sbin/lighty-enable-mod ] ; then
+                       echo "Lighttpd not installed, skipping"
+               else
+                       ln -s /etc/roundcube/lighttpd.conf /etc/lighttpd/conf-available/50-roundcube.conf
+                       lighty-enable-mod roundcube
+               fi
+       fi
+}
+
+apache_install() {
+       webserver=$1
+       if [ -d /etc/$webserver/conf.d ] && [ ! -e /etc/$webserver/conf.d/roundcube ]; then
+               ln -s /etc/roundcube/apache.conf /etc/$webserver/conf.d/roundcube
+       fi
+}
+
+
+case "$1" in
+    configure)
+
+       # We try to fix an incomplete upgrade (see #610725 and #613586)
+       if [ -n "$2" ] && dpkg --compare-versions "$2" le 0.5.1+dfsg-5; then
+           db_get roundcube/dbconfig-upgrade || true
+           if [ x"$RET" = x"true" ]; then
+               if [ x"$dbc_dbtype" = x"mysql" ]; then
+                   # Ok, we may need to do some upgrade steps.
+                   echo "Fixing MySQL installation..."
+                   if dpkg --compare-versions "$2" ge 0.5; then
+                       # Hack (ugly) to replace "mysql" by "mysql -f"
+                       real_mysql="$(which mysql)"
+                       workdir="$(mktemp -d)"
+                       oldpath="$PATH"
+                       cat <<EOF > "$workdir/mysql"
+#!/bin/sh
+"$real_mysql" "\$@" -f
+EOF
+                       chmod +x "$workdir/mysql"
+                       PATH="$workdir:$PATH"
+                       dbc_mysql_exec_file \
+                           /usr/share/dbconfig-common/data/roundcube/upgrade/mysql/0.5-1 || true
+                       PATH="$oldpath"
+                       rm -rf "$workdir"
+                    fi
+                   cat <<EOF | while read command; do dbc_mysql_exec_command "$command" || true ; done
+ALTER TABLE \`messages\` ADD INDEX \`index_index\` (\`user_id\`, \`cache_key\`, \`idx\`);
+ALTER TABLE \`contacts\`ADD INDEX \`user_contacts_index\` (\`user_id\`,\`email\`);
+ALTER TABLE \`identities\` ADD \`changed\` datetime NOT NULL DEFAULT '1000-01-01 00:00:00' AFTER \`user_id\`;
+ALTER TABLE \`identities\` ADD INDEX \`user_identities_index\` (\`user_id\`, \`del\`);
+EOF
+               fi
+           fi
+       fi
+
+       CONFFILE=/etc/roundcube/main.inc.php
+       touch $CONFFILE.ucftmp
+       chmod 640 $CONFFILE.ucftmp
+
+       db_get roundcube/hosts || true
+       hosts="$RET"
+       if [ "$hosts" != "" ]; then
+           hosts="array(\"$(echo $hosts | sed 's/ /\",\"/g')\")"
+       else
+           hosts="''"
+       fi
+
+       db_get roundcube/language || true
+       language="$RET"
+
+       # Get current 3DES key from /etc/roundcube/main.inc.php
+       [ -f /etc/roundcube/main.inc.php ] && {
+           deskey=$(sed -n "s+^\$rcmail_config\['des_key'\] = '\(.*\)';\$+\1+p" \
+               /etc/roundcube/main.inc.php)
+       }
+       # If this is the default key, forget it !
+       [ "$deskey" = "rcmail-!24ByteDESkey*Str" ] && unset deskey
+       # Generate a new one
+       while [ -z "$deskey" ]; do
+           deskey=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | \
+               tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p')
+       done
+
+       # Put hosts, language and key in main.inc.php
+       cat /usr/share/roundcube/main.inc.php.dist | while read line; do
+           case "$line" in
+               "\$rcmail_config['default_host'] = "*)
+                   printf "\$rcmail_config['default_host'] = %s;\n" "${hosts}"
+                   ;;
+               "\$rcmail_config['des_key'] = "*)
+                   printf "\$rcmail_config['des_key'] = '%s';\n" "${deskey}"
+                   ;;
+               "\$rcmail_config['language'] = "*)
+                   printf "\$rcmail_config['language'] = '%s';\n" "${language}"
+                   ;;
+               *)
+                   printf "%s\n" "$line"
+                   ;;
+           esac
+       done >> $CONFFILE.ucftmp
+
+       ucf --debconf-ok $CONFFILE.ucftmp $CONFFILE
+       chown root:www-data $CONFFILE
+        rm -f $CONFFILE.ucftmp
+       
+       # Handle webserver reconfiguration/restart ; stolen from zabbix package
+       db_get roundcube/reconfigure-webserver || true
+       webservers="$RET"
+       restart=""
+
+       for webserver in $webservers; do
+            webserver=${webserver%,}
+           if [ "$webserver" = "lighttpd" ] ; then
+               lighttpd_install
+           else
+               apache_install $webserver
+           fi
+            test -x /usr/sbin/$webserver || continue
+            restart="$restart $webserver"
+        done
+
+        db_get roundcube/restart-webserver || true
+       res="$RET"
+       db_stop || true
+       if [ "$res" = "true" ]; then
+            for webserver in $restart; do
+               webserver=${webserver%,}
+               # Redirection of 3 is needed because Debconf uses it and it might
+                # be inherited by webserver. See bug #446324.
+               if [ -x /usr/sbin/invoke-rc.d ]; then
+                    invoke-rc.d $webserver reload 3>/dev/null || true
+               else
+                    /etc/init.d/$webserver reload 3>/dev/null || true
+               fi
+            done
+       fi
+
+       chown -R www-data:adm /var/log/roundcube
+       chmod -R 750 /var/log/roundcube
+       chown -R www-data:www-data /var/lib/roundcube/temp
+       chmod -R 750 /var/lib/roundcube/temp
+
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/roundcube-core.postrm b/debian/roundcube-core.postrm
new file mode 100644 (file)
index 0000000..6659a77
--- /dev/null
@@ -0,0 +1,107 @@
+#!/bin/sh
+# postrm script for roundcube
+#
+# see: dh_installdeb(1)
+
+set -e
+
+if [ -f /usr/share/debconf/confmodule ]; then
+        . /usr/share/debconf/confmodule
+fi
+if [ -f /usr/share/dbconfig-common/dpkg/postrm ]; then
+        . /usr/share/dbconfig-common/dpkg/postrm 
+        dbc_go roundcube $@
+fi
+
+lighttpd_remove() {
+       if [ -f /etc/lighttpd/conf-available/50-roundcube.conf ] ; then
+               rm -f /etc/lighttpd/conf-available/50-roundcube.conf
+               if [ ! -x /usr/sbin/lighty-disable-mod ] ; then
+                       echo "Lighttpd not installed, skipping"
+               else
+                       lighty-disable-mod roundcube
+               fi
+               # See bug #448682
+               if [ -h /etc/lighttpd/conf-enabled/50-roundcube.conf ] ; then
+                   echo 'Manually deleting lighttpd/roundcube configuration link'
+                   rm /etc/lighttpd/conf-enabled/50-roundcube.conf
+               fi
+       fi
+}
+
+apache_remove() {
+       if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/roundcube ]; then
+               rm -f /etc/$webserver/conf.d/roundcube
+       fi
+}
+
+
+case "$1" in
+    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+    
+    remove)
+
+       # Handling web server reconfiguration
+       db_get roundcube/reconfigure-webserver
+        webservers="$RET"
+        restart=""
+        
+        for webserver in $webservers; do
+            webserver=${webserver%,}
+        
+            case "$webserver" in
+                apache*)
+                   apache_remove $webserver
+                   ;;
+               lighttpd)
+                   lighttpd_remove
+                   ;;
+                *)
+                   echo "Unknown webserver $webserver"
+                    ;;
+            esac
+
+            test -x /usr/sbin/$webserver || continue
+            restart="$restart $webserver"
+
+        done
+        
+        db_get roundcube/restart-webserver
+        res="$RET"
+        db_stop || true
+        if [ "$res" = "true" ]; then
+            for webserver in $restart; do
+                webserver=${webserver%,}
+                # Redirection of 3 is needed because Debconf uses it and it might
+                # be inherited by webserver. See bug #446324.
+                if [ -x /usr/sbin/invoke-rc.d ]; then
+                    invoke-rc.d $webserver reload 3>/dev/null || true
+                else
+                    /etc/init.d/$webserver reload 3>/dev/null || true
+                fi
+            done
+        fi
+    ;;
+
+    purge)
+        rm -f /etc/roundcube/debian-db.php
+        if which ucf >/dev/null 2>&1; then
+                ucf --purge /etc/roundcube/debian-db.php
+               ucf --purge /etc/roundcube/main.inc.php
+        fi
+       rm -f /etc/roundcube/main.inc.php
+       rm -rf /var/log/roundcube
+       rm -rf /var/lib/roundcube
+    ;;
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/roundcube-core.prerm b/debian/roundcube-core.prerm
new file mode 100644 (file)
index 0000000..5004518
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+# prerm script for roundcube
+#
+# see: dh_installdeb(1)
+
+set -e
+
+. /usr/share/debconf/confmodule
+. /usr/share/dbconfig-common/dpkg/prerm 
+dbc_go roundcube $@
+
+case "$1" in
+    remove|upgrade|deconfigure)
+    ;;
+
+    failed-upgrade)
+    ;;
+
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/debian/roundcube-plugins.README.Debian b/debian/roundcube-plugins.README.Debian
new file mode 100644 (file)
index 0000000..7262f25
--- /dev/null
@@ -0,0 +1,11 @@
+This package ships several plugins. To use them, you need to enable
+them by adding them to $rcmail_config['plugins'] array in your
+`/etc/roundcube/main.inc.php' file.
+
+Some plugins need to be configured directly in
+`/etc/roundcube/main.inc.php' while some others have specific
+configuration files. For the later, look at
+`/etc/roundcube/plugins'. You will find empty files that you can
+modify to configure the corresponding plugin.
+
+ -- Vincent Bernat <bernat@debian.org>, Sun, 13 Feb 2011 15:50:48 +0100
diff --git a/debian/roundcube-plugins.dirs b/debian/roundcube-plugins.dirs
new file mode 100644 (file)
index 0000000..17c7d77
--- /dev/null
@@ -0,0 +1 @@
+etc/roundcube/plugins
diff --git a/debian/roundcube-plugins.examples b/debian/roundcube-plugins.examples
new file mode 100644 (file)
index 0000000..46a06f1
--- /dev/null
@@ -0,0 +1,3 @@
+plugins/password/drivers/chgsaslpasswd.c
+plugins/password/drivers/chgvirtualminpasswd.c
+plugins/password/drivers/chpass-wrapper.py
diff --git a/debian/roundcube-plugins.install b/debian/roundcube-plugins.install
new file mode 100644 (file)
index 0000000..8842867
--- /dev/null
@@ -0,0 +1,23 @@
+plugins/acl/ usr/share/roundcube/plugins
+plugins/additional_message_headers/ usr/share/roundcube/plugins
+plugins/archive/ usr/share/roundcube/plugins
+plugins/autologon/ usr/share/roundcube/plugins
+plugins/database_attachments/ usr/share/roundcube/plugins
+plugins/debug_logger/ usr/share/roundcube/plugins
+plugins/emoticons/ usr/share/roundcube/plugins
+plugins/enigma/ usr/share/roundcube/plugins
+plugins/help/ usr/share/roundcube/plugins
+plugins/http_authentication/ usr/share/roundcube/plugins
+plugins/managesieve/ usr/share/roundcube/plugins
+plugins/markasjunk/ usr/share/roundcube/plugins
+plugins/new_user_dialog/ usr/share/roundcube/plugins
+plugins/new_user_identity/ usr/share/roundcube/plugins
+plugins/newmail_notifier/ usr/share/roundcube/plugins
+plugins/password /usr/share/roundcube/plugins
+plugins/show_additional_headers/ usr/share/roundcube/plugins
+plugins/squirrelmail_usercopy/ usr/share/roundcube/plugins
+plugins/subscriptions_option/ usr/share/roundcube/plugins
+plugins/userinfo/ usr/share/roundcube/plugins
+plugins/vcard_attachments/ usr/share/roundcube/plugins
+plugins/virtuser_file/ usr/share/roundcube/plugins
+plugins/virtuser_query/ usr/share/roundcube/plugins
diff --git a/debian/roundcube.cron.daily b/debian/roundcube.cron.daily
new file mode 100644 (file)
index 0000000..8efe0fb
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/sh
+# This file conflicts with /etc/cron.daily/roundcube-core. If you have
+# modified it, report your modifications to
+# /etc/cron.daily/roundcube-core. If this file is left empty or
+# untouched, it will be deleted.
+
+# If you leave the following marker, this file will be deleted during
+# the next upgrade:
+# 75321 DELETE 75321
diff --git a/debian/roundcube.default b/debian/roundcube.default
new file mode 100644 (file)
index 0000000..3506610
--- /dev/null
@@ -0,0 +1,8 @@
+# This file conflicts with /etc/default/roundcube-core. If you have
+# modified it, report your modifications to
+# /etc/default/roundcube-core. If this file is left empty or
+# untouched, it will be deleted.
+
+# If you leave the following marker, this file will be deleted during
+# the next upgrade:
+# 75321 DELETE 75321
diff --git a/debian/roundcube.logrotate b/debian/roundcube.logrotate
new file mode 100644 (file)
index 0000000..bdb3ea5
--- /dev/null
@@ -0,0 +1,8 @@
+# This file conflicts with /etc/logrotate.d/roundcube-core. If you
+# have modified it, report your modifications to
+# /etc/logrotate.d/roundcube-core. If this file is left empty or
+# untouched, it will be deleted.
+
+# If you leave the following marker, this file will be deleted during
+# the next upgrade:
+# 75321 DELETE 75321
diff --git a/debian/roundcube.postinst b/debian/roundcube.postinst
new file mode 100644 (file)
index 0000000..99e67a5
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+set -e
+
+# Handle old files that are not needed any more
+for OLD in /etc/logrotate.d/roundcube /etc/default/roundcube /etc/cron.daily/roundcube; do
+    [ -f $OLD ] && {
+       if [ ! -s $OLD ]; then
+           rm $OLD
+       else
+           grep -q '^# 75321 DELETE 75321$' $OLD && rm $OLD
+       fi
+    }
+done
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..a2998a9
--- /dev/null
@@ -0,0 +1,72 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+
+DEB_INSTALL_CHANGELOGS_ALL=CHANGELOG
+
+DEB_DH_INSTALL_ARGS = \
+       --exclude=chgsaslpasswd.c \
+       --exclude=chgvirtualminpasswd.c \
+       --exclude=chpass-wrapper.py
+
+binary-install/roundcube-core::
+       # Install config files
+       install -m 0640 $(CURDIR)/config/db.inc.php.dist $(CURDIR)/debian/roundcube-core/etc/roundcube/db.inc.php
+       install -m 0640 $(CURDIR)/config/main.inc.php.dist $(CURDIR)/debian/roundcube-core/usr/share/roundcube
+       install -m 0640 $(CURDIR)/.htaccess $(CURDIR)/debian/roundcube-core/etc/roundcube/htaccess
+       for c in $(CURDIR)/debian/roundcube-core/etc/roundcube/*.php; do \
+               dh_link -proundcube-core etc/roundcube/$$(basename $$c) var/lib/roundcube/config/$$(basename $$c) ; \
+       done
+       dh_link -proundcube-core etc/roundcube/htaccess var/lib/roundcube/.htaccess
+
+       # Database related files
+       # Install empty tables and updates for each db type
+       install -m 0644 $(CURDIR)/SQL/mysql.initial.sql $(CURDIR)/debian/roundcube-core/usr/share/dbconfig-common/data/roundcube/install/mysql
+       install -m 0644 $(CURDIR)/SQL/postgres.initial.sql $(CURDIR)/debian/roundcube-core/usr/share/dbconfig-common/data/roundcube/install/pgsql
+
+       # Old database upgrades
+       cp -r $(CURDIR)/debian/sql/* $(CURDIR)/debian/roundcube-core/usr/share/dbconfig-common/data/roundcube/upgrade/.
+
+       # Some files are executable while not being scripts or binary...
+       find $(CURDIR)/debian/roundcube-core/usr/share/roundcube -type f -print0 | xargs -r0 chmod -x
+       # Remove useless file
+       rm -rf $(CURDIR)/debian/roundcube-core/usr/share/roundcube/bin
+       find $(CURDIR)/debian/roundcube-core -name '._*' -print0 | xargs -r0 rm
+       # Convert .js.src back to js
+       for js in $$(find $(CURDIR)/debian/roundcube-core -name '*.js.src' -print); do \
+               yui-compressor --type js "$$js" -o "$${js%.*}" ; \
+               rm "$$js" ; \
+       done
+       # Remove files shipped in tinymce package
+       rm -rf $(CURDIR)/debian/roundcube-core/usr/share/roundcube/program/js/tiny_mce
+       dh_link -proundcube-core usr/share/tinymce/www usr/share/roundcube/program/js/tiny_mce
+       # Remove jquery as well
+       rm $(CURDIR)/debian/roundcube-core/usr/share/roundcube/program/js/jquery.min.js
+       dh_link -proundcube-core usr/share/javascript/jquery/jquery.min.js usr/share/roundcube/program/js/jquery.min.js
+       # Remove GnuPG PEAR module
+       rm -rf $(CURDIR)/debian/roundcube-plugins/usr/share/roundcube/plugins/enigma/lib/Crypt
+
+binary-install/roundcube-plugins::
+       # Plugins are in usr/share/roundcube/plugins, for each plugin
+       # if there is config.inc.php.dist, we symlink a config.inc.php
+       # in /etc/roundcube/plugins with some dummy content.
+       for plugin in $(CURDIR)/debian/roundcube-plugins/usr/share/roundcube/plugins/*; do \
+               dh_link -proundcube-plugins usr/share/roundcube/plugins/$${plugin##*/} \
+                       var/lib/roundcube/plugins/$${plugin##*/} ; \
+               if [ ! -f $${plugin}/config.inc.php.dist ]; then continue; fi ; \
+               dh_installdirs -proundcube-plugins etc/roundcube/plugins/$${plugin##*/} ; \
+               (echo "<?php" ; \
+                echo "// Empty configuration for $${plugin##*/}" ; \
+                echo "// See /usr/share/roundcube/plugins/$${plugin##*/}/config.inc.php.dist for instructions" ; \
+                echo "?>") > \
+                       $(CURDIR)/debian/roundcube-plugins/etc/roundcube/plugins/$${plugin##*/}/config.inc.php ; \
+               dh_link -proundcube-plugins etc/roundcube/plugins/$${plugin##*/}/config.inc.php \
+                       usr/share/roundcube/plugins/$${plugin##*/}/config.inc.php ; \
+       done
+
+$(patsubst %,binary-install/%,$(DEB_PACKAGES)) :: binary-install/% :
+       install -d $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/bug/$(cdbs_curpkg)
+       install -m 644 $(CURDIR)/debian/bug.control $(CURDIR)/debian/$(cdbs_curpkg)/usr/share/bug/$(cdbs_curpkg)/control
+
+clean::
+       debconf-updatepo
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/sql/mysql/0.1.1-1 b/debian/sql/mysql/0.1.1-1
new file mode 100644 (file)
index 0000000..103cb61
--- /dev/null
@@ -0,0 +1,17 @@
+-- RoundCube Webmail update script for MySQL databases
+-- Updates from version 0.1-stable to 0.1.1
+
+TRUNCATE TABLE `messages`;
+
+ALTER TABLE `messages`
+  DROP INDEX `idx`,
+  DROP INDEX `uid`;
+
+ALTER TABLE `cache`
+  DROP INDEX `cache_key`,
+  DROP INDEX `session_id`,
+  ADD INDEX `user_cache_index` (`user_id`,`cache_key`);
+
+ALTER TABLE `users`
+    ADD INDEX `username_index` (`username`),
+    ADD INDEX `alias_index` (`alias`);
diff --git a/debian/sql/mysql/0.1~rc1~dfsg-1 b/debian/sql/mysql/0.1~rc1~dfsg-1
new file mode 100644 (file)
index 0000000..e904be2
--- /dev/null
@@ -0,0 +1,21 @@
+-- RoundCube Webmail update script for MySQL databases
+-- Updates from version 0.1-beta and 0.1-beta2
+
+TRUNCATE TABLE `messages`;
+
+ALTER TABLE `messages`
+  DROP `body`,
+  DROP INDEX `cache_key`,
+  ADD `structure` TEXT,
+  ADD UNIQUE `uniqueness` (`user_id`, `cache_key`, `uid`);
+
+ALTER TABLE `identities`
+  ADD `html_signature` tinyint(1) default 0 NOT NULL;
+
+ALTER TABLE `session` CHANGE `ip` `ip` VARCHAR(40) 
+  
+-- Uncomment these lines if you're using MySQL 4.1 or higher
+-- ALTER TABLE `users`
+--  DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci,
+--  CHANGE `username` `username` VARCHAR( 128 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+--  CHANGE `alias` `alias` VARCHAR( 128 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
diff --git a/debian/sql/mysql/0.2~alpha-5 b/debian/sql/mysql/0.2~alpha-5
new file mode 100644 (file)
index 0000000..38b9631
--- /dev/null
@@ -0,0 +1,10 @@
+-- Updates from version 0.1.1
+
+ALTER TABLE `identities`
+    MODIFY `signature` text, 
+    MODIFY `bcc` varchar(128) NOT NULL DEFAULT '', 
+    MODIFY `reply-to` varchar(128) NOT NULL DEFAULT '', 
+    MODIFY `organization` varchar(128) NOT NULL DEFAULT '',
+    MODIFY `name` varchar(128) NOT NULL, 
+    MODIFY `email` varchar(128) NOT NULL; 
+
diff --git a/debian/sql/mysql/0.2~stable-1 b/debian/sql/mysql/0.2~stable-1
new file mode 100644 (file)
index 0000000..67f7fb3
--- /dev/null
@@ -0,0 +1,18 @@
+-- Updates from version 0.2-alpha
+
+ALTER TABLE `messages`
+    ADD INDEX `created_index` (`created`);
+
+-- Updates from version 0.2-beta (InnoDB only)
+
+ALTER TABLE `cache`
+    DROP `session_id`;
+    
+ALTER TABLE `session`
+    ADD INDEX `changed_index` (`changed`);
+
+ALTER TABLE `cache`
+    ADD INDEX `created_index` (`created`);
+
+ALTER TABLE `users`
+    CHANGE `language` `language` varchar(5);
diff --git a/debian/sql/mysql/0.5-1 b/debian/sql/mysql/0.5-1
new file mode 100644 (file)
index 0000000..193896f
--- /dev/null
@@ -0,0 +1,87 @@
+-- Ensure we are using InnoDB as engine.
+
+ALTER TABLE `cache` ENGINE=InnoDB;
+ALTER TABLE `session` ENGINE=InnoDB;
+ALTER TABLE `messages` ENGINE=InnoDB;
+ALTER TABLE `users` ENGINE=InnoDB;
+ALTER TABLE `contacts` ENGINE=InnoDB;
+ALTER TABLE `identities` ENGINE=InnoDB;
+
+-- Updates from version 0.3-stable
+
+TRUNCATE `messages`;
+
+-- ALTER TABLE `messages`
+--    ADD INDEX `index_index` (`user_id`, `cache_key`, `idx`);
+
+-- ALTER TABLE `session` 
+--    CHANGE `vars` `vars` MEDIUMTEXT NOT NULL;
+
+-- ALTER TABLE `contacts`
+--    ADD INDEX `user_contacts_index` (`user_id`,`email`);
+
+-- Updates from version 0.3.1
+-- WARNING: Make sure that all tables are using InnoDB engine!!!
+--          If not, use: ALTER TABLE xxx ENGINE=InnoDB;
+
+/* MySQL bug workaround: http://bugs.mysql.com/bug.php?id=46293 */
+/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
+
+ALTER TABLE `messages` DROP FOREIGN KEY `user_id_fk_messages`;
+ALTER TABLE `cache` DROP FOREIGN KEY `user_id_fk_cache`;
+ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`;
+ALTER TABLE `identities` DROP FOREIGN KEY `user_id_fk_identities`;
+
+ALTER TABLE `messages` ADD CONSTRAINT `user_id_fk_messages` FOREIGN KEY (`user_id`)
+ REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `cache` ADD CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`)
+ REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
+ REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE `identities` ADD CONSTRAINT `user_id_fk_identities` FOREIGN KEY (`user_id`)
+ REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `contacts` ALTER `name` SET DEFAULT '';
+ALTER TABLE `contacts` ALTER `firstname` SET DEFAULT '';
+ALTER TABLE `contacts` ALTER `surname` SET DEFAULT '';
+
+-- ALTER TABLE `identities` ADD INDEX `user_identities_index` (`user_id`, `del`);
+-- ALTER TABLE `identities` ADD `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00' AFTER `user_id`;
+
+CREATE TABLE `contactgroups` (
+  `contactgroup_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
+  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
+  `del` tinyint(1) NOT NULL DEFAULT '0',
+  `name` varchar(128) NOT NULL DEFAULT '',
+  PRIMARY KEY(`contactgroup_id`),
+  CONSTRAINT `user_id_fk_contactgroups` FOREIGN KEY (`user_id`)
+    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+  INDEX `contactgroups_user_index` (`user_id`,`del`)
+) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
+
+CREATE TABLE `contactgroupmembers` (
+  `contactgroup_id` int(10) UNSIGNED NOT NULL,
+  `contact_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
+  `created` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
+  PRIMARY KEY (`contactgroup_id`, `contact_id`),
+  CONSTRAINT `contactgroup_id_fk_contactgroups` FOREIGN KEY (`contactgroup_id`)
+    REFERENCES `contactgroups`(`contactgroup_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+  CONSTRAINT `contact_id_fk_contacts` FOREIGN KEY (`contact_id`)
+    REFERENCES `contacts`(`contact_id`) ON DELETE CASCADE ON UPDATE CASCADE
+) /*!40000 ENGINE=INNODB */;
+
+/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
+
+-- Updates from version 0.4-beta
+
+ALTER TABLE `users` CHANGE `last_login` `last_login` datetime DEFAULT NULL;
+UPDATE `users` SET `last_login` = NULL WHERE `last_login` = '1000-01-01 00:00:00';
+
+-- Updates from version 0.4.2
+
+ALTER TABLE `users` DROP INDEX `username_index`;
+ALTER TABLE `users` ADD UNIQUE `username` (`username`, `mail_host`);
+
+ALTER TABLE `contacts` MODIFY `email` varchar(255) NOT NULL;
+
diff --git a/debian/sql/mysql/0.6+dfsg-1 b/debian/sql/mysql/0.6+dfsg-1
new file mode 100644 (file)
index 0000000..8d64d12
--- /dev/null
@@ -0,0 +1,6 @@
+ALTER TABLE `contacts` ADD `words` TEXT NULL AFTER `vcard`;
+ALTER TABLE `contacts` CHANGE `vcard` `vcard` LONGTEXT /*!40101 CHARACTER SET utf8 */ NULL DEFAULT NULL;
+ALTER TABLE `contactgroupmembers` ADD INDEX `contactgroupmembers_contact_index` (`contact_id`);
+
+TRUNCATE TABLE `messages`;
+TRUNCATE TABLE `cache`;
diff --git a/debian/sql/mysql/0.7-1 b/debian/sql/mysql/0.7-1
new file mode 100644 (file)
index 0000000..093ced4
--- /dev/null
@@ -0,0 +1,71 @@
+-- Updates from version 0.6
+
+/*!40014 SET FOREIGN_KEY_CHECKS=0 */;
+
+ALTER TABLE `users` CHANGE `alias` `alias` varchar(128) BINARY NOT NULL;
+ALTER TABLE `users` CHANGE `username` `username` varchar(128) BINARY NOT NULL;
+
+CREATE TABLE `dictionary` (
+  `user_id` int(10) UNSIGNED DEFAULT NULL,
+  `language` varchar(5) NOT NULL,
+  `data` longtext NOT NULL,
+  CONSTRAINT `user_id_fk_dictionary` FOREIGN KEY (`user_id`)
+    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+  UNIQUE `uniqueness` (`user_id`, `language`)
+) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
+
+CREATE TABLE `searches` (
+  `search_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+  `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
+  `type` int(3) NOT NULL DEFAULT '0',
+  `name` varchar(128) NOT NULL,
+  `data` text,
+  PRIMARY KEY(`search_id`),
+  CONSTRAINT `user_id_fk_searches` FOREIGN KEY (`user_id`)
+    REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+  UNIQUE `uniqueness` (`user_id`, `type`, `name`)
+) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
+
+DROP TABLE `messages`;
+
+CREATE TABLE `cache_index` (
+ `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
+ `mailbox` varchar(255) BINARY NOT NULL,
+ `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
+ `valid` tinyint(1) NOT NULL DEFAULT '0',
+ `data` longtext NOT NULL,
+ CONSTRAINT `user_id_fk_cache_index` FOREIGN KEY (`user_id`)
+   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+ INDEX `changed_index` (`changed`),
+ PRIMARY KEY (`user_id`, `mailbox`)
+) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
+
+CREATE TABLE `cache_thread` (
+ `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
+ `mailbox` varchar(255) BINARY NOT NULL,
+ `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
+ `data` longtext NOT NULL,
+ CONSTRAINT `user_id_fk_cache_thread` FOREIGN KEY (`user_id`)
+   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+ INDEX `changed_index` (`changed`),
+ PRIMARY KEY (`user_id`, `mailbox`)
+) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
+
+CREATE TABLE `cache_messages` (
+ `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
+ `mailbox` varchar(255) BINARY NOT NULL,
+ `uid` int(11) UNSIGNED NOT NULL DEFAULT '0',
+ `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
+ `data` longtext NOT NULL,
+ `flags` int(11) NOT NULL DEFAULT '0',
+ CONSTRAINT `user_id_fk_cache_messages` FOREIGN KEY (`user_id`)
+   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE,
+ INDEX `changed_index` (`changed`),
+ PRIMARY KEY (`user_id`, `mailbox`, `uid`)
+) /*!40000 ENGINE=INNODB */ /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
+
+/*!40014 SET FOREIGN_KEY_CHECKS=1 */;
+
+-- Updates from version 0.7-beta
+
+ALTER TABLE `session` CHANGE `sess_id` `sess_id` varchar(128) NOT NULL;
diff --git a/debian/sql/mysql/0.7.1-1 b/debian/sql/mysql/0.7.1-1
new file mode 100644 (file)
index 0000000..920a5e1
--- /dev/null
@@ -0,0 +1,18 @@
+-- Updates from version 0.7
+
+ALTER TABLE `contacts` DROP FOREIGN KEY `user_id_fk_contacts`;
+ALTER TABLE `contacts` DROP INDEX `user_contacts_index`;
+ALTER TABLE `contacts` MODIFY `email` text NOT NULL DEFAULT '';
+ALTER TABLE `contacts` ADD INDEX `user_contacts_index` (`user_id`,`del`);
+ALTER TABLE `contacts` ADD CONSTRAINT `user_id_fk_contacts` FOREIGN KEY (`user_id`)
+   REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ALTER TABLE `cache` ALTER `user_id` DROP DEFAULT;
+ALTER TABLE `cache_index` ALTER `user_id` DROP DEFAULT;
+ALTER TABLE `cache_thread` ALTER `user_id` DROP DEFAULT;
+ALTER TABLE `cache_messages` ALTER `user_id` DROP DEFAULT;
+ALTER TABLE `contacts` ALTER `user_id` DROP DEFAULT;
+ALTER TABLE `contactgroups` ALTER `user_id` DROP DEFAULT;
+ALTER TABLE `contactgroupmembers` ALTER `contact_id` DROP DEFAULT;
+ALTER TABLE `identities` ALTER `user_id` DROP DEFAULT;
+ALTER TABLE `searches` ALTER `user_id` DROP DEFAULT;
diff --git a/debian/sql/pgsql/0.1.1-1 b/debian/sql/pgsql/0.1.1-1
new file mode 100644 (file)
index 0000000..fb28a7a
--- /dev/null
@@ -0,0 +1,20 @@
+-- RoundCube Webmail update script for Postgres databases
+-- Updates from version 0.1-stable to 0.1.1
+
+CREATE INDEX cache_user_id_idx ON cache (user_id, cache_key);
+CREATE INDEX contacts_user_id_idx ON contacts (user_id);
+CREATE INDEX identities_user_id_idx ON identities (user_id);
+
+CREATE INDEX users_username_id_idx ON users (username);
+CREATE INDEX users_alias_id_idx ON users (alias);
+
+-- added ON DELETE/UPDATE actions
+ALTER TABLE messages DROP CONSTRAINT messages_user_id_fkey;
+ALTER TABLE messages ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE identities DROP CONSTRAINT identities_user_id_fkey;
+ALTER TABLE identities ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE contacts DROP CONSTRAINT contacts_user_id_fkey;
+ALTER TABLE contacts ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;
+ALTER TABLE cache DROP CONSTRAINT cache_user_id_fkey;
+ALTER TABLE cache ADD FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE;
+
diff --git a/debian/sql/pgsql/0.1~rc1~dfsg-1 b/debian/sql/pgsql/0.1~rc1~dfsg-1
new file mode 100644 (file)
index 0000000..0d63cf9
--- /dev/null
@@ -0,0 +1,12 @@
+-- RoundCube Webmail update script for Postres databases
+-- Updates from version 0.1-beta and older
+
+ALTER TABLE "messages" DROP body;
+ALTER TABLE "messages" ADD structure TEXT;
+ALTER TABLE "messages" ADD UNIQUE (user_id, cache_key, uid);
+
+ALTER TABLE "identities" ADD html_signature INTEGER;
+ALTER TABLE "identities" ALTER html_signature SET DEFAULT 0;
+UPDATE identities SET html_signature = 0;
+ALTER TABLE "identities" ALTER html_signature SET NOT NULL;
+
diff --git a/debian/sql/pgsql/0.2~stable-1 b/debian/sql/pgsql/0.2~stable-1
new file mode 100644 (file)
index 0000000..102843e
--- /dev/null
@@ -0,0 +1,18 @@
+-- Updates from version 0.2-alpha
+
+CREATE INDEX messages_created_idx ON messages (created);
+
+-- Updates from version 0.2-beta
+
+ALTER TABLE cache DROP session_id;
+
+CREATE INDEX session_changed_idx ON session (changed);
+CREATE INDEX cache_created_idx ON "cache" (created);
+
+ALTER TABLE users ALTER "language" DROP NOT NULL;
+ALTER TABLE users ALTER "language" DROP DEFAULT;
+
+ALTER TABLE identities ALTER del TYPE smallint;
+ALTER TABLE identities ALTER standard TYPE smallint;
+ALTER TABLE contacts ALTER del TYPE smallint;
+ALTER TABLE messages ALTER del TYPE smallint;
diff --git a/debian/sql/pgsql/0.5-1 b/debian/sql/pgsql/0.5-1
new file mode 100644 (file)
index 0000000..07a2882
--- /dev/null
@@ -0,0 +1,52 @@
+-- Updates from version 0.3-stable
+
+TRUNCATE messages;
+DROP INDEX IF EXISTS messages_index_idx;
+CREATE INDEX messages_index_idx ON messages (user_id, cache_key, idx);
+DROP INDEX contacts_user_id_idx;
+CREATE INDEX contacts_user_id_idx ON contacts (user_id, email);
+
+-- Updates from version 0.3.1
+
+DROP INDEX identities_user_id_idx;
+CREATE INDEX identities_user_id_idx ON identities (user_id, del);
+
+ALTER TABLE identities ADD changed timestamp with time zone DEFAULT now() NOT NULL;
+
+CREATE SEQUENCE contactgroups_ids
+    INCREMENT BY 1
+    NO MAXVALUE
+    NO MINVALUE
+    CACHE 1;
+
+CREATE TABLE contactgroups (
+    contactgroup_id integer DEFAULT nextval('contactgroups_ids'::text) PRIMARY KEY,
+    user_id    integer         NOT NULL
+        REFERENCES users(user_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    changed    timestamp with time zone DEFAULT now() NOT NULL,
+    del        smallint        NOT NULL DEFAULT 0,
+    name       varchar(128)    NOT NULL DEFAULT ''
+);
+
+CREATE INDEX contactgroups_user_id_idx ON contactgroups (user_id, del);
+
+CREATE TABLE contactgroupmembers (
+    contactgroup_id    integer NOT NULL
+       REFERENCES contactgroups(contactgroup_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    contact_id                 integer NOT NULL
+       REFERENCES contacts(contact_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    created timestamp with time zone DEFAULT now() NOT NULL,
+    PRIMARY KEY (contactgroup_id, contact_id)
+);
+
+-- Updates from version 0.4-beta
+
+ALTER TABLE users ALTER last_login DROP NOT NULL;
+ALTER TABLE users ALTER last_login SET DEFAULT NULL;
+
+-- Updates from version 0.4.2
+
+DROP INDEX users_username_id_idx;
+ALTER TABLE users ADD UNIQUE (username, mail_host);
+ALTER TABLE contacts ALTER email TYPE varchar(255);
+
diff --git a/debian/sql/pgsql/0.6+dfsg-1 b/debian/sql/pgsql/0.6+dfsg-1
new file mode 100644 (file)
index 0000000..779b598
--- /dev/null
@@ -0,0 +1,5 @@
+ALTER TABLE contacts ADD words TEXT NULL;
+CREATE INDEX contactgroupmembers_contact_id_idx ON contactgroupmembers (contact_id);
+
+TRUNCATE messages;
+TRUNCATE cache;
diff --git a/debian/sql/pgsql/0.7-1 b/debian/sql/pgsql/0.7-1
new file mode 100644 (file)
index 0000000..10c7f23
--- /dev/null
@@ -0,0 +1,68 @@
+-- Updates from version 0.6
+
+CREATE TABLE dictionary (
+    user_id integer DEFAULT NULL
+        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
+   "language" varchar(5) NOT NULL,
+    data text NOT NULL,
+    CONSTRAINT dictionary_user_id_language_key UNIQUE (user_id, "language")
+);
+
+CREATE SEQUENCE search_ids
+    INCREMENT BY 1
+    NO MAXVALUE
+    NO MINVALUE
+    CACHE 1;
+
+CREATE TABLE searches (
+    search_id integer DEFAULT nextval('search_ids'::text) PRIMARY KEY,
+    user_id integer NOT NULL
+        REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    "type" smallint DEFAULT 0 NOT NULL,
+    name varchar(128) NOT NULL,
+    data text NOT NULL,
+    CONSTRAINT searches_user_id_key UNIQUE (user_id, "type", name)
+);
+
+DROP SEQUENCE message_ids;
+DROP TABLE messages;
+
+CREATE TABLE cache_index (
+    user_id integer NOT NULL
+       REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    mailbox varchar(255) NOT NULL,
+    changed timestamp with time zone DEFAULT now() NOT NULL,
+    valid smallint NOT NULL DEFAULT 0,
+    data text NOT NULL,
+    PRIMARY KEY (user_id, mailbox)
+);
+
+CREATE INDEX cache_index_changed_idx ON cache_index (changed);
+
+CREATE TABLE cache_thread (
+    user_id integer NOT NULL
+       REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    mailbox varchar(255) NOT NULL,
+    changed timestamp with time zone DEFAULT now() NOT NULL,
+    data text NOT NULL,
+    PRIMARY KEY (user_id, mailbox)
+);
+
+CREATE INDEX cache_thread_changed_idx ON cache_thread (changed);
+
+CREATE TABLE cache_messages (
+    user_id integer NOT NULL
+       REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE CASCADE,
+    mailbox varchar(255) NOT NULL,
+    uid integer NOT NULL,
+    changed timestamp with time zone DEFAULT now() NOT NULL,
+    data text NOT NULL,
+    flags integer NOT NULL DEFAULT 0,
+    PRIMARY KEY (user_id, mailbox, uid)
+);
+
+CREATE INDEX cache_messages_changed_idx ON cache_messages (changed);
+
+-- Updates from version 0.7-beta
+
+ALTER TABLE "session" ALTER sess_id TYPE varchar(128);
diff --git a/debian/sql/pgsql/0.7.1-1 b/debian/sql/pgsql/0.7.1-1
new file mode 100644 (file)
index 0000000..81a0cb8
--- /dev/null
@@ -0,0 +1,5 @@
+-- Updates from version 0.7
+
+DROP INDEX contacts_user_id_idx;
+CREATE INDEX contacts_user_id_idx ON contacts USING btree (user_id, del);
+ALTER TABLE contacts ALTER email TYPE text;
diff --git a/debian/templates b/debian/templates
new file mode 100644 (file)
index 0000000..5c376bd
--- /dev/null
@@ -0,0 +1,50 @@
+# These templates have been reviewed by the debian-l10n-english
+# team
+#
+# If modifications/additions/rewording are needed, please ask
+# for an advice to debian-l10n-english@lists.debian.org
+#
+# Even minor modifications require translation updates and such
+# changes should be coordinated with translators and reviewers.
+
+Template: roundcube/reconfigure-webserver
+Type: multiselect
+__Choices: apache2, lighttpd
+Default: apache2, lighttpd
+_Description: Web server(s) to configure automatically:
+ RoundCube supports any web server supported by PHP, however only
+ Apache 2 and lighttpd can be configured automatically.
+ .
+ Please select the web server(s) that should be configured
+ automatically for RoundCube.
+
+Template: roundcube/restart-webserver
+Type: boolean
+Default: true
+_Description: Should the webserver(s) be restarted now?
+ In order to activate the new configuration, the reconfigured web
+ server(s) have to be restarted.
+
+Template: roundcube/hosts
+Type: string
+Default:
+_Description: IMAP server(s) used with RoundCube:
+ Please select the IMAP server(s) that should be used with RoundCube.
+ .
+ If this is left blank, a text box will be displayed at
+ login. Entering a space-separated list of hosts will display a
+ pull-down menu. Entering a single host will enforce using this
+ host.
+ .
+ To use SSL connections, please enter host names as 'ssl://hostname:993'.
+
+Template: roundcube/language
+Type: select
+Choices: ${languages}
+_Description: Default language:
+ Please choose the default language for RoundCube.
+ .
+ This choice can be overridden by individual users in their preferences.
+ .
+ However, the default language will be used for the login screen and
+ the first connection of users.
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..52d2904
--- /dev/null
@@ -0,0 +1,2 @@
+version=3
+opts="uversionmangle=s/-(rc|alpha|beta)/~$1/,dversionmangle=s/\+dfsg//" http://sf.net/roundcubemail/roundcubemail-([\d\.]+.*)-dep\.tar\.gz
diff --git a/program/include/rcmail.php.orig b/program/include/rcmail.php.orig
deleted file mode 100644 (file)
index 2dc9eae..0000000
+++ /dev/null
@@ -1,1719 +0,0 @@
-<?php
-
-/*
- +-----------------------------------------------------------------------+
- | program/include/rcmail.php                                            |
- |                                                                       |
- | This file is part of the Roundcube Webmail client                     |
- | Copyright (C) 2008-2011, The Roundcube Dev Team                       |
- | Copyright (C) 2011, Kolab Systems AG                                  |
- | Licensed under the GNU GPL                                            |
- |                                                                       |
- | PURPOSE:                                                              |
- |   Application class providing core functions and holding              |
- |   instances of all 'global' objects like db- and imap-connections     |
- +-----------------------------------------------------------------------+
- | Author: Thomas Bruederli <roundcube@gmail.com>                        |
- +-----------------------------------------------------------------------+
-
- $Id: rcmail.php 5897 2012-02-21 20:46:15Z thomasb $
-
-*/
-
-
-/**
- * Application class of Roundcube Webmail
- * implemented as singleton
- *
- * @package Core
- */
-class rcmail
-{
-  /**
-   * Main tasks.
-   *
-   * @var array
-   */
-  static public $main_tasks = array('mail','settings','addressbook','login','logout','utils','dummy');
-
-  /**
-   * Singleton instace of rcmail
-   *
-   * @var rcmail
-   */
-  static private $instance;
-
-  /**
-   * Stores instance of rcube_config.
-   *
-   * @var rcube_config
-   */
-  public $config;
-
-  /**
-   * Stores rcube_user instance.
-   *
-   * @var rcube_user
-   */
-  public $user;
-
-  /**
-   * Instace of database class.
-   *
-   * @var rcube_mdb2
-   */
-  public $db;
-
-  /**
-   * Instace of Memcache class.
-   *
-   * @var rcube_mdb2
-   */
-  public $memcache;
-
-  /**
-   * Instace of rcube_session class.
-   *
-   * @var rcube_session
-   */
-  public $session;
-
-  /**
-   * Instance of rcube_smtp class.
-   *
-   * @var rcube_smtp
-   */
-  public $smtp;
-
-  /**
-   * Instance of rcube_imap class.
-   *
-   * @var rcube_imap
-   */
-  public $imap;
-
-  /**
-   * Instance of rcube_template class.
-   *
-   * @var rcube_template
-   */
-  public $output;
-
-  /**
-   * Instance of rcube_plugin_api.
-   *
-   * @var rcube_plugin_api
-   */
-  public $plugins;
-
-  /**
-   * Current task.
-   *
-   * @var string
-   */
-  public $task;
-
-  /**
-   * Current action.
-   *
-   * @var string
-   */
-  public $action = '';
-  public $comm_path = './';
-
-  private $texts;
-  private $address_books = array();
-  private $caches = array();
-  private $action_map = array();
-  private $shutdown_functions = array();
-
-
-  /**
-   * This implements the 'singleton' design pattern
-   *
-   * @return rcmail The one and only instance
-   */
-  static function get_instance()
-  {
-    if (!self::$instance) {
-      self::$instance = new rcmail();
-      self::$instance->startup();  // init AFTER object was linked with self::$instance
-    }
-
-    return self::$instance;
-  }
-
-
-  /**
-   * Private constructor
-   */
-  private function __construct()
-  {
-    // load configuration
-    $this->config = new rcube_config();
-
-    register_shutdown_function(array($this, 'shutdown'));
-  }
-
-
-  /**
-   * Initial startup function
-   * to register session, create database and imap connections
-   *
-   * @todo Remove global vars $DB, $USER
-   */
-  private function startup()
-  {
-    // initialize syslog
-    if ($this->config->get('log_driver') == 'syslog') {
-      $syslog_id = $this->config->get('syslog_id', 'roundcube');
-      $syslog_facility = $this->config->get('syslog_facility', LOG_USER);
-      openlog($syslog_id, LOG_ODELAY, $syslog_facility);
-    }
-
-    // connect to database
-    $GLOBALS['DB'] = $this->get_dbh();
-
-    // start session
-    $this->session_init();
-
-    // create user object
-    $this->set_user(new rcube_user($_SESSION['user_id']));
-
-    // configure session (after user config merge!)
-    $this->session_configure();
-
-    // set task and action properties
-    $this->set_task(get_input_value('_task', RCUBE_INPUT_GPC));
-    $this->action = asciiwords(get_input_value('_action', RCUBE_INPUT_GPC));
-
-    // reset some session parameters when changing task
-    if ($this->task != 'utils') {
-      if ($this->session && $_SESSION['task'] != $this->task)
-        $this->session->remove('page');
-      // set current task to session
-      $_SESSION['task'] = $this->task;
-    }
-
-    // init output class
-    if (!empty($_REQUEST['_remote']))
-      $GLOBALS['OUTPUT'] = $this->json_init();
-    else
-      $GLOBALS['OUTPUT'] = $this->load_gui(!empty($_REQUEST['_framed']));
-
-    // create plugin API and load plugins
-    $this->plugins = rcube_plugin_api::get_instance();
-
-    // init plugins
-    $this->plugins->init();
-  }
-
-
-  /**
-   * Setter for application task
-   *
-   * @param string Task to set
-   */
-  public function set_task($task)
-  {
-    $task = asciiwords($task);
-
-    if ($this->user && $this->user->ID)
-      $task = !$task ? 'mail' : $task;
-    else
-      $task = 'login';
-
-    $this->task = $task;
-    $this->comm_path = $this->url(array('task' => $this->task));
-
-    if ($this->output)
-      $this->output->set_env('task', $this->task);
-  }
-
-
-  /**
-   * Setter for system user object
-   *
-   * @param rcube_user Current user instance
-   */
-  public function set_user($user)
-  {
-    if (is_object($user)) {
-      $this->user = $user;
-      $GLOBALS['USER'] = $this->user;
-
-      // overwrite config with user preferences
-      $this->config->set_user_prefs((array)$this->user->get_prefs());
-    }
-
-    $_SESSION['language'] = $this->user->language = $this->language_prop($this->config->get('language', $_SESSION['language']));
-
-    // set localization
-    setlocale(LC_ALL, $_SESSION['language'] . '.utf8', 'en_US.utf8');
-
-    // workaround for http://bugs.php.net/bug.php?id=18556
-    if (in_array($_SESSION['language'], array('tr_TR', 'ku', 'az_AZ')))
-      setlocale(LC_CTYPE, 'en_US' . '.utf8');
-  }
-
-
-  /**
-   * Check the given string and return a valid language code
-   *
-   * @param string Language code
-   * @return string Valid language code
-   */
-  private function language_prop($lang)
-  {
-    static $rcube_languages, $rcube_language_aliases;
-
-    // user HTTP_ACCEPT_LANGUAGE if no language is specified
-    if (empty($lang) || $lang == 'auto') {
-       $accept_langs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
-       $lang = str_replace('-', '_', $accept_langs[0]);
-     }
-
-    if (empty($rcube_languages)) {
-      @include(INSTALL_PATH . 'program/localization/index.inc');
-    }
-
-    // check if we have an alias for that language
-    if (!isset($rcube_languages[$lang]) && isset($rcube_language_aliases[$lang])) {
-      $lang = $rcube_language_aliases[$lang];
-    }
-    // try the first two chars
-    else if (!isset($rcube_languages[$lang])) {
-      $short = substr($lang, 0, 2);
-
-      // check if we have an alias for the short language code
-      if (!isset($rcube_languages[$short]) && isset($rcube_language_aliases[$short])) {
-        $lang = $rcube_language_aliases[$short];
-      }
-      // expand 'nn' to 'nn_NN'
-      else if (!isset($rcube_languages[$short])) {
-        $lang = $short.'_'.strtoupper($short);
-      }
-    }
-
-    if (!isset($rcube_languages[$lang]) || !is_dir(INSTALL_PATH . 'program/localization/' . $lang)) {
-      $lang = 'en_US';
-    }
-
-    return $lang;
-  }
-
-
-  /**
-   * Get the current database connection
-   *
-   * @return rcube_mdb2  Database connection object
-   */
-  public function get_dbh()
-  {
-    if (!$this->db) {
-      $config_all = $this->config->all();
-
-      $this->db = new rcube_mdb2($config_all['db_dsnw'], $config_all['db_dsnr'], $config_all['db_persistent']);
-      $this->db->sqlite_initials = INSTALL_PATH . 'SQL/sqlite.initial.sql';
-      $this->db->set_debug((bool)$config_all['sql_debug']);
-    }
-
-    return $this->db;
-  }
-  
-  
-  /**
-   * Get global handle for memcache access
-   *
-   * @return object Memcache
-   */
-  public function get_memcache()
-  {
-    if (!isset($this->memcache)) {
-      // no memcache support in PHP
-      if (!class_exists('Memcache')) {
-        $this->memcache = false;
-        return false;
-      }
-
-      $this->memcache = new Memcache;
-      $this->mc_available = 0;
-      
-      // add alll configured hosts to pool
-      $pconnect = $this->config->get('memcache_pconnect', true);
-      foreach ($this->config->get('memcache_hosts', array()) as $host) {
-        list($host, $port) = explode(':', $host);
-        if (!$port) $port = 11211;
-        $this->mc_available += intval($this->memcache->addServer($host, $port, $pconnect, 1, 1, 15, false, array($this, 'memcache_failure')));
-      }
-      
-      // test connection and failover (will result in $this->mc_available == 0 on complete failure)
-      $this->memcache->increment('__CONNECTIONTEST__', 1);  // NOP if key doesn't exist
-
-      if (!$this->mc_available)
-        $this->memcache = false;
-    }
-
-    return $this->memcache;
-  }
-  
-  /**
-   * Callback for memcache failure
-   */
-  public function memcache_failure($host, $port)
-  {
-    static $seen = array();
-    
-    // only report once
-    if (!$seen["$host:$port"]++) {
-      $this->mc_available--;
-      raise_error(array('code' => 604, 'type' => 'db',
-        'line' => __LINE__, 'file' => __FILE__,
-        'message' => "Memcache failure on host $host:$port"),
-        true, false);
-    }
-  }
-
-
-  /**
-   * Initialize and get cache object
-   *
-   * @param string $name   Cache identifier
-   * @param string $type   Cache type ('db', 'apc' or 'memcache')
-   * @param int    $ttl    Expiration time for cache items in seconds
-   * @param bool   $packed Enables/disables data serialization
-   *
-   * @return rcube_cache Cache object
-   */
-  public function get_cache($name, $type='db', $ttl=0, $packed=true)
-  {
-    if (!isset($this->caches[$name])) {
-      $this->caches[$name] = new rcube_cache($type, $_SESSION['user_id'], $name, $ttl, $packed);
-    }
-
-    return $this->caches[$name];
-  }
-
-
-  /**
-   * Return instance of the internal address book class
-   *
-   * @param string  Address book identifier
-   * @param boolean True if the address book needs to be writeable
-   *
-   * @return rcube_contacts Address book object
-   */
-  public function get_address_book($id, $writeable = false)
-  {
-    $contacts    = null;
-    $ldap_config = (array)$this->config->get('ldap_public');
-    $abook_type  = strtolower($this->config->get('address_book_type'));
-
-    // 'sql' is the alias for '0' used by autocomplete
-    if ($id == 'sql')
-        $id = '0';
-
-    // use existing instance
-    if (isset($this->address_books[$id]) && is_object($this->address_books[$id])
-      && is_a($this->address_books[$id], 'rcube_addressbook')
-      && (!$writeable || !$this->address_books[$id]->readonly)
-    ) {
-      $contacts = $this->address_books[$id];
-    }
-    else if ($id && $ldap_config[$id]) {
-      $contacts = new rcube_ldap($ldap_config[$id], $this->config->get('ldap_debug'), $this->config->mail_domain($_SESSION['imap_host']));
-    }
-    else if ($id === '0') {
-      $contacts = new rcube_contacts($this->db, $this->user->ID);
-    }
-    else {
-      $plugin = $this->plugins->exec_hook('addressbook_get', array('id' => $id, 'writeable' => $writeable));
-
-      // plugin returned instance of a rcube_addressbook
-      if ($plugin['instance'] instanceof rcube_addressbook) {
-        $contacts = $plugin['instance'];
-      }
-      // get first source from the list
-      else if (!$id) {
-        $source = reset($this->get_address_sources($writeable));
-        if (!empty($source)) {
-          $contacts = $this->get_address_book($source['id']);
-          if ($contacts)
-            $id = $source['id'];
-        }
-      }
-    }
-
-    if (!$contacts) {
-      raise_error(array(
-        'code' => 700, 'type' => 'php',
-        'file' => __FILE__, 'line' => __LINE__,
-        'message' => "Addressbook source ($id) not found!"),
-        true, true);
-    }
-
-    // set configured sort order
-    if ($sort_col = $this->config->get('addressbook_sort_col'))
-        $contacts->set_sort_order($sort_col);
-
-    // add to the 'books' array for shutdown function
-    $this->address_books[$id] = $contacts;
-
-    return $contacts;
-  }
-
-
-  /**
-   * Return address books list
-   *
-   * @param boolean True if the address book needs to be writeable
-   *
-   * @return array  Address books array
-   */
-  public function get_address_sources($writeable = false)
-  {
-    $abook_type = strtolower($this->config->get('address_book_type'));
-    $ldap_config = $this->config->get('ldap_public');
-    $autocomplete = (array) $this->config->get('autocomplete_addressbooks');
-    $list = array();
-
-    // We are using the DB address book
-    if ($abook_type != 'ldap') {
-      if (!isset($this->address_books['0']))
-        $this->address_books['0'] = new rcube_contacts($this->db, $this->user->ID);
-      $list['0'] = array(
-        'id'       => '0',
-        'name'     => rcube_label('personaladrbook'),
-        'groups'   => $this->address_books['0']->groups,
-        'readonly' => $this->address_books['0']->readonly,
-        'autocomplete' => in_array('sql', $autocomplete),
-        'undelete' => $this->address_books['0']->undelete && $this->config->get('undo_timeout'),
-      );
-    }
-
-    if ($ldap_config) {
-      $ldap_config = (array) $ldap_config;
-      foreach ($ldap_config as $id => $prop)
-        $list[$id] = array(
-          'id'       => $id,
-          'name'     => $prop['name'],
-          'groups'   => is_array($prop['groups']),
-          'readonly' => !$prop['writable'],
-          'hidden'   => $prop['hidden'],
-          'autocomplete' => in_array($id, $autocomplete)
-        );
-    }
-
-    $plugin = $this->plugins->exec_hook('addressbooks_list', array('sources' => $list));
-    $list = $plugin['sources'];
-
-    foreach ($list as $idx => $item) {
-      // register source for shutdown function
-      if (!is_object($this->address_books[$item['id']]))
-        $this->address_books[$item['id']] = $item;
-      // remove from list if not writeable as requested
-      if ($writeable && $item['readonly'])
-          unset($list[$idx]);
-    }
-
-    return $list;
-  }
-
-
-  /**
-   * Init output object for GUI and add common scripts.
-   * This will instantiate a rcmail_template object and set
-   * environment vars according to the current session and configuration
-   *
-   * @param boolean True if this request is loaded in a (i)frame
-   * @return rcube_template Reference to HTML output object
-   */
-  public function load_gui($framed = false)
-  {
-    // init output page
-    if (!($this->output instanceof rcube_template))
-      $this->output = new rcube_template($this->task, $framed);
-
-    // set keep-alive/check-recent interval
-    if ($this->session && ($keep_alive = $this->session->get_keep_alive())) {
-      $this->output->set_env('keep_alive', $keep_alive);
-    }
-
-    if ($framed) {
-      $this->comm_path .= '&_framed=1';
-      $this->output->set_env('framed', true);
-    }
-
-    $this->output->set_env('task', $this->task);
-    $this->output->set_env('action', $this->action);
-    $this->output->set_env('comm_path', $this->comm_path);
-    $this->output->set_charset(RCMAIL_CHARSET);
-
-    // add some basic labels to client
-    $this->output->add_label('loading', 'servererror');
-
-    return $this->output;
-  }
-
-
-  /**
-   * Create an output object for JSON responses
-   *
-   * @return rcube_json_output Reference to JSON output object
-   */
-  public function json_init()
-  {
-    if (!($this->output instanceof rcube_json_output))
-      $this->output = new rcube_json_output($this->task);
-
-    return $this->output;
-  }
-
-
-  /**
-   * Create SMTP object and connect to server
-   *
-   * @param boolean True if connection should be established
-   */
-  public function smtp_init($connect = false)
-  {
-    $this->smtp = new rcube_smtp();
-
-    if ($connect)
-      $this->smtp->connect();
-  }
-
-
-  /**
-   * Create global IMAP object and connect to server
-   *
-   * @param boolean True if connection should be established
-   * @todo Remove global $IMAP
-   */
-  public function imap_init($connect = false)
-  {
-    // already initialized
-    if (is_object($this->imap))
-      return;
-
-    $this->imap = new rcube_imap();
-    $this->imap->skip_deleted = $this->config->get('skip_deleted');
-
-    // enable caching of imap data
-    $imap_cache = $this->config->get('imap_cache');
-    $messages_cache = $this->config->get('messages_cache');
-    // for backward compatybility
-    if ($imap_cache === null && $messages_cache === null && $this->config->get('enable_caching')) {
-        $imap_cache     = 'db';
-        $messages_cache = true;
-    }
-    if ($imap_cache)
-        $this->imap->set_caching($imap_cache);
-    if ($messages_cache)
-        $this->imap->set_messages_caching(true);
-
-    // set pagesize from config
-    $this->imap->set_pagesize($this->config->get('pagesize', 50));
-
-    // Setting root and delimiter before establishing the connection
-    // can save time detecting them using NAMESPACE and LIST
-    $options = array(
-      'auth_type'   => $this->config->get('imap_auth_type', 'check'),
-      'auth_cid'    => $this->config->get('imap_auth_cid'),
-      'auth_pw'     => $this->config->get('imap_auth_pw'),
-      'debug'       => (bool) $this->config->get('imap_debug', 0),
-      'force_caps'  => (bool) $this->config->get('imap_force_caps'),
-      'timeout'     => (int) $this->config->get('imap_timeout', 0),
-    );
-
-    $this->imap->set_options($options);
-
-    // set global object for backward compatibility
-    $GLOBALS['IMAP'] = $this->imap;
-
-    $hook = $this->plugins->exec_hook('imap_init', array('fetch_headers' => $this->imap->fetch_add_headers));
-    if ($hook['fetch_headers'])
-      $this->imap->fetch_add_headers = $hook['fetch_headers'];
-
-    // support this parameter for backward compatibility but log warning
-    if ($connect) {
-      $this->imap_connect();
-      raise_error(array(
-        'code' => 800, 'type' => 'imap',
-        'file' => __FILE__, 'line' => __LINE__,
-        'message' => "rcube::imap_init(true) is deprecated, use rcube::imap_connect() instead"),
-        true, false);
-    }
-  }
-
-
-  /**
-   * Connect to IMAP server with stored session data
-   *
-   * @return bool True on success, false on error
-   */
-  public function imap_connect()
-  {
-    if (!$this->imap)
-      $this->imap_init();
-
-    if ($_SESSION['imap_host'] && !$this->imap->conn->connected()) {
-      if (!$this->imap->connect($_SESSION['imap_host'], $_SESSION['username'], $this->decrypt($_SESSION['password']), $_SESSION['imap_port'], $_SESSION['imap_ssl'])) {
-        if ($this->output)
-          $this->output->show_message($this->imap->get_error_code() == -1 ? 'imaperror' : 'sessionerror', 'error');
-      }
-      else {
-        $this->set_imap_prop();
-        return $this->imap->conn;
-      }
-    }
-
-    return false;
-  }
-
-
-  /**
-   * Create session object and start the session.
-   */
-  public function session_init()
-  {
-    // session started (Installer?)
-    if (session_id())
-      return;
-
-    $sess_name   = $this->config->get('session_name');
-    $sess_domain = $this->config->get('session_domain');
-    $lifetime    = $this->config->get('session_lifetime', 0) * 60;
-
-    // set session domain
-    if ($sess_domain) {
-      ini_set('session.cookie_domain', $sess_domain);
-    }
-    // set session garbage collecting time according to session_lifetime
-    if ($lifetime) {
-      ini_set('session.gc_maxlifetime', $lifetime * 2);
-    }
-
-    ini_set('session.cookie_secure', rcube_https_check());
-    ini_set('session.name', $sess_name ? $sess_name : 'roundcube_sessid');
-    ini_set('session.use_cookies', 1);
-    ini_set('session.use_only_cookies', 1);
-    ini_set('session.serialize_handler', 'php');
-
-    // use database for storing session data
-    $this->session = new rcube_session($this->get_dbh(), $this->config);
-
-    $this->session->register_gc_handler('rcmail_temp_gc');
-    $this->session->register_gc_handler('rcmail_cache_gc');
-
-    // start PHP session (if not in CLI mode)
-    if ($_SERVER['REMOTE_ADDR'])
-      session_start();
-
-    // set initial session vars
-    if (!$_SESSION['user_id'])
-      $_SESSION['temp'] = true;
-  }
-
-
-  /**
-   * Configure session object internals
-   */
-  public function session_configure()
-  {
-    if (!$this->session)
-      return;
-
-    $lifetime = $this->config->get('session_lifetime', 0) * 60;
-
-    // set keep-alive/check-recent interval
-    if ($keep_alive = $this->config->get('keep_alive')) {
-      // be sure that it's less than session lifetime
-      if ($lifetime)
-        $keep_alive = min($keep_alive, $lifetime - 30);
-      $keep_alive = max(60, $keep_alive);
-      $this->session->set_keep_alive($keep_alive);
-    }
-
-    $this->session->set_secret($this->config->get('des_key') . $_SERVER['HTTP_USER_AGENT']);
-    $this->session->set_ip_check($this->config->get('ip_check'));
-  }
-
-
-  /**
-   * Perfom login to the IMAP server and to the webmail service.
-   * This will also create a new user entry if auto_create_user is configured.
-   *
-   * @param string IMAP user name
-   * @param string IMAP password
-   * @param string IMAP host
-   * @return boolean True on success, False on failure
-   */
-  function login($username, $pass, $host=NULL)
-  {
-    $user = NULL;
-    $config = $this->config->all();
-
-    if (!$host)
-      $host = $config['default_host'];
-
-    // Validate that selected host is in the list of configured hosts
-    if (is_array($config['default_host'])) {
-      $allowed = false;
-      foreach ($config['default_host'] as $key => $host_allowed) {
-        if (!is_numeric($key))
-          $host_allowed = $key;
-        if ($host == $host_allowed) {
-          $allowed = true;
-          break;
-        }
-      }
-      if (!$allowed)
-        return false;
-      }
-    else if (!empty($config['default_host']) && $host != rcube_parse_host($config['default_host']))
-      return false;
-
-    // parse $host URL
-    $a_host = parse_url($host);
-    if ($a_host['host']) {
-      $host = $a_host['host'];
-      $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? $a_host['scheme'] : null;
-      if (!empty($a_host['port']))
-        $imap_port = $a_host['port'];
-      else if ($imap_ssl && $imap_ssl != 'tls' && (!$config['default_port'] || $config['default_port'] == 143))
-        $imap_port = 993;
-    }
-
-    $imap_port = $imap_port ? $imap_port : $config['default_port'];
-
-    /* Modify username with domain if required
-       Inspired by Marco <P0L0_notspam_binware.org>
-    */
-    // Check if we need to add domain
-    if (!empty($config['username_domain']) && strpos($username, '@') === false) {
-      if (is_array($config['username_domain']) && isset($config['username_domain'][$host]))
-        $username .= '@'.rcube_parse_host($config['username_domain'][$host], $host);
-      else if (is_string($config['username_domain']))
-        $username .= '@'.rcube_parse_host($config['username_domain'], $host);
-    }
-
-    // Convert username to lowercase. If IMAP backend
-    // is case-insensitive we need to store always the same username (#1487113)
-    if ($config['login_lc']) {
-      $username = mb_strtolower($username);
-    }
-
-    // try to resolve email address from virtuser table
-    if (strpos($username, '@') && ($virtuser = rcube_user::email2user($username))) {
-      $username = $virtuser;
-    }
-
-    // Here we need IDNA ASCII
-    // Only rcube_contacts class is using domain names in Unicode
-    $host = rcube_idn_to_ascii($host);
-    if (strpos($username, '@')) {
-      // lowercase domain name
-      list($local, $domain) = explode('@', $username);
-      $username = $local . '@' . mb_strtolower($domain);
-      $username = rcube_idn_to_ascii($username);
-    }
-
-    // user already registered -> overwrite username
-    if ($user = rcube_user::query($username, $host))
-      $username = $user->data['username'];
-
-    if (!$this->imap)
-      $this->imap_init();
-
-    // try IMAP login
-    if (!($imap_login = $this->imap->connect($host, $username, $pass, $imap_port, $imap_ssl))) {
-      // try with lowercase
-      $username_lc = mb_strtolower($username);
-      if ($username_lc != $username) {
-        // try to find user record again -> overwrite username
-        if (!$user && ($user = rcube_user::query($username_lc, $host)))
-          $username_lc = $user->data['username'];
-
-        if ($imap_login = $this->imap->connect($host, $username_lc, $pass, $imap_port, $imap_ssl))
-          $username = $username_lc;
-      }
-    }
-
-    // exit if IMAP login failed
-    if (!$imap_login)
-      return false;
-
-    // user already registered -> update user's record
-    if (is_object($user)) {
-      // update last login timestamp
-      $user->touch();
-    }
-    // create new system user
-    else if ($config['auto_create_user']) {
-      if ($created = rcube_user::create($username, $host)) {
-        $user = $created;
-      }
-      else {
-        raise_error(array(
-          'code' => 620, 'type' => 'php',
-          'file' => __FILE__, 'line' => __LINE__,
-          'message' => "Failed to create a user record. Maybe aborted by a plugin?"
-          ), true, false);
-      }
-    }
-    else {
-      raise_error(array(
-        'code' => 621, 'type' => 'php',
-        'file' => __FILE__, 'line' => __LINE__,
-        'message' => "Access denied for new user $username. 'auto_create_user' is disabled"
-        ), true, false);
-    }
-
-    // login succeeded
-    if (is_object($user) && $user->ID) {
-      // Configure environment
-      $this->set_user($user);
-      $this->set_imap_prop();
-      $this->session_configure();
-
-      // fix some old settings according to namespace prefix
-      $this->fix_namespace_settings($user);
-
-      // create default folders on first login
-      if ($config['create_default_folders'] && (!empty($created) || empty($user->data['last_login']))) {
-        $this->imap->create_default_folders();
-      }
-
-      // set session vars
-      $_SESSION['user_id']   = $user->ID;
-      $_SESSION['username']  = $user->data['username'];
-      $_SESSION['imap_host'] = $host;
-      $_SESSION['imap_port'] = $imap_port;
-      $_SESSION['imap_ssl']  = $imap_ssl;
-      $_SESSION['password']  = $this->encrypt($pass);
-      $_SESSION['login_time'] = mktime();
-
-      if (isset($_REQUEST['_timezone']) && $_REQUEST['_timezone'] != '_default_')
-        $_SESSION['timezone'] = floatval($_REQUEST['_timezone']);
-      if (isset($_REQUEST['_dstactive']) && $_REQUEST['_dstactive'] != '_default_')
-        $_SESSION['dst_active'] = intval($_REQUEST['_dstactive']);
-
-      // force reloading complete list of subscribed mailboxes
-      $this->imap->clear_cache('mailboxes', true);
-
-      return true;
-    }
-
-    return false;
-  }
-
-
-  /**
-   * Set root dir and last stored mailbox
-   * This must be done AFTER connecting to the server!
-   */
-  public function set_imap_prop()
-  {
-    $this->imap->set_charset($this->config->get('default_charset', RCMAIL_CHARSET));
-
-    if ($default_folders = $this->config->get('default_imap_folders')) {
-      $this->imap->set_default_mailboxes($default_folders);
-    }
-    if (isset($_SESSION['mbox'])) {
-      $this->imap->set_mailbox($_SESSION['mbox']);
-    }
-    if (isset($_SESSION['page'])) {
-      $this->imap->set_page($_SESSION['page']);
-    }
-  }
-
-
-  /**
-   * Auto-select IMAP host based on the posted login information
-   *
-   * @return string Selected IMAP host
-   */
-  public function autoselect_host()
-  {
-    $default_host = $this->config->get('default_host');
-    $host = null;
-
-    if (is_array($default_host)) {
-      $post_host = get_input_value('_host', RCUBE_INPUT_POST);
-
-      // direct match in default_host array
-      if ($default_host[$post_host] || in_array($post_host, array_values($default_host))) {
-        $host = $post_host;
-      }
-
-      // try to select host by mail domain
-      list($user, $domain) = explode('@', get_input_value('_user', RCUBE_INPUT_POST));
-      if (!empty($domain)) {
-        foreach ($default_host as $imap_host => $mail_domains) {
-          if (is_array($mail_domains) && in_array($domain, $mail_domains)) {
-            $host = $imap_host;
-            break;
-          }
-        }
-      }
-
-      // take the first entry if $host is still an array
-      if (empty($host)) {
-        $host = array_shift($default_host);
-      }
-    }
-    else if (empty($default_host)) {
-      $host = get_input_value('_host', RCUBE_INPUT_POST);
-    }
-    else
-      $host = rcube_parse_host($default_host);
-
-    return $host;
-  }
-
-
-  /**
-   * Get localized text in the desired language
-   *
-   * @param mixed   $attrib  Named parameters array or label name
-   * @param string  $domain  Label domain (plugin) name
-   *
-   * @return string Localized text
-   */
-  public function gettext($attrib, $domain=null)
-  {
-    // load localization files if not done yet
-    if (empty($this->texts))
-      $this->load_language();
-
-    // extract attributes
-    if (is_string($attrib))
-      $attrib = array('name' => $attrib);
-
-    $nr = is_numeric($attrib['nr']) ? $attrib['nr'] : 1;
-    $name = $attrib['name'] ? $attrib['name'] : '';
-
-    // attrib contain text values: use them from now
-    if (($setval = $attrib[strtolower($_SESSION['language'])]) || ($setval = $attrib['en_us']))
-        $this->texts[$name] = $setval;
-
-    // check for text with domain
-    if ($domain && ($text_item = $this->texts[$domain.'.'.$name]))
-      ;
-    // text does not exist
-    else if (!($text_item = $this->texts[$name])) {
-      return "[$name]";
-    }
-
-    // make text item array
-    $a_text_item = is_array($text_item) ? $text_item : array('single' => $text_item);
-
-    // decide which text to use
-    if ($nr == 1) {
-      $text = $a_text_item['single'];
-    }
-    else if ($nr > 0) {
-      $text = $a_text_item['multiple'];
-    }
-    else if ($nr == 0) {
-      if ($a_text_item['none'])
-        $text = $a_text_item['none'];
-      else if ($a_text_item['single'])
-        $text = $a_text_item['single'];
-      else if ($a_text_item['multiple'])
-        $text = $a_text_item['multiple'];
-    }
-
-    // default text is single
-    if ($text == '') {
-      $text = $a_text_item['single'];
-    }
-
-    // replace vars in text
-    if (is_array($attrib['vars'])) {
-      foreach ($attrib['vars'] as $var_key => $var_value)
-        $text = str_replace($var_key[0]!='$' ? '$'.$var_key : $var_key, $var_value, $text);
-    }
-
-    // format output
-    if (($attrib['uppercase'] && strtolower($attrib['uppercase']=='first')) || $attrib['ucfirst'])
-      return ucfirst($text);
-    else if ($attrib['uppercase'])
-      return mb_strtoupper($text);
-    else if ($attrib['lowercase'])
-      return mb_strtolower($text);
-
-    return $text;
-  }
-
-
-  /**
-   * Check if the given text label exists
-   *
-   * @param string  $name       Label name
-   * @param string  $domain     Label domain (plugin) name or '*' for all domains
-   * @param string  $ref_domain Sets domain name if label is found
-   *
-   * @return boolean True if text exists (either in the current language or in en_US)
-   */
-  public function text_exists($name, $domain = null, &$ref_domain = null)
-  {
-    // load localization files if not done yet
-    if (empty($this->texts))
-      $this->load_language();
-
-    if (isset($this->texts[$name])) {
-        $ref_domain = '';
-        return true;
-    }
-
-    // any of loaded domains (plugins)
-    if ($domain == '*') {
-      foreach ($this->plugins->loaded_plugins() as $domain)
-        if (isset($this->texts[$domain.'.'.$name])) {
-          $ref_domain = $domain;
-          return true;
-        }
-    }
-    // specified domain
-    else if ($domain) {
-      $ref_domain = $domain;
-      return isset($this->texts[$domain.'.'.$name]);
-    }
-
-    return false;
-  }
-
-  /**
-   * Load a localization package
-   *
-   * @param string Language ID
-   */
-  public function load_language($lang = null, $add = array())
-  {
-    $lang = $this->language_prop(($lang ? $lang : $_SESSION['language']));
-
-    // load localized texts
-    if (empty($this->texts) || $lang != $_SESSION['language']) {
-      $this->texts = array();
-
-      // handle empty lines after closing PHP tag in localization files
-      ob_start();
-
-      // get english labels (these should be complete)
-      @include(INSTALL_PATH . 'program/localization/en_US/labels.inc');
-      @include(INSTALL_PATH . 'program/localization/en_US/messages.inc');
-
-      if (is_array($labels))
-        $this->texts = $labels;
-      if (is_array($messages))
-        $this->texts = array_merge($this->texts, $messages);
-
-      // include user language files
-      if ($lang != 'en' && is_dir(INSTALL_PATH . 'program/localization/' . $lang)) {
-        include_once(INSTALL_PATH . 'program/localization/' . $lang . '/labels.inc');
-        include_once(INSTALL_PATH . 'program/localization/' . $lang . '/messages.inc');
-
-        if (is_array($labels))
-          $this->texts = array_merge($this->texts, $labels);
-        if (is_array($messages))
-          $this->texts = array_merge($this->texts, $messages);
-      }
-
-      ob_end_clean();
-
-      $_SESSION['language'] = $lang;
-    }
-
-    // append additional texts (from plugin)
-    if (is_array($add) && !empty($add))
-      $this->texts += $add;
-  }
-
-
-  /**
-   * Read directory program/localization and return a list of available languages
-   *
-   * @return array List of available localizations
-   */
-  public function list_languages()
-  {
-    static $sa_languages = array();
-
-    if (!sizeof($sa_languages)) {
-      @include(INSTALL_PATH . 'program/localization/index.inc');
-
-      if ($dh = @opendir(INSTALL_PATH . 'program/localization')) {
-        while (($name = readdir($dh)) !== false) {
-          if ($name[0] == '.' || !is_dir(INSTALL_PATH . 'program/localization/' . $name))
-            continue;
-
-          if ($label = $rcube_languages[$name])
-            $sa_languages[$name] = $label;
-        }
-        closedir($dh);
-      }
-    }
-
-    return $sa_languages;
-  }
-
-
-  /**
-   * Destroy session data and remove cookie
-   */
-  public function kill_session()
-  {
-    $this->plugins->exec_hook('session_destroy');
-
-    $this->session->kill();
-    $_SESSION = array('language' => $this->user->language, 'temp' => true);
-    $this->user->reset();
-  }
-
-
-  /**
-   * Do server side actions on logout
-   */
-  public function logout_actions()
-  {
-    $config = $this->config->all();
-
-    // on logout action we're not connected to imap server
-    if (($config['logout_purge'] && !empty($config['trash_mbox'])) || $config['logout_expunge']) {
-      if (!$this->session->check_auth())
-        return;
-
-      $this->imap_connect();
-    }
-
-    if ($config['logout_purge'] && !empty($config['trash_mbox'])) {
-      $this->imap->clear_mailbox($config['trash_mbox']);
-    }
-
-    if ($config['logout_expunge']) {
-      $this->imap->expunge('INBOX');
-    }
-
-    // Try to save unsaved user preferences
-    if (!empty($_SESSION['preferences'])) {
-      $this->user->save_prefs(unserialize($_SESSION['preferences']));
-    }
-  }
-
-
-  /**
-   * Function to be executed in script shutdown
-   * Registered with register_shutdown_function()
-   */
-  public function shutdown()
-  {
-    foreach ($this->shutdown_functions as $function)
-      call_user_func($function);
-
-    if (is_object($this->smtp))
-      $this->smtp->disconnect();
-
-    foreach ($this->address_books as $book) {
-      if (is_object($book) && is_a($book, 'rcube_addressbook'))
-        $book->close();
-    }
-
-    foreach ($this->caches as $cache) {
-        if (is_object($cache))
-            $cache->close();
-    }
-
-    if (is_object($this->imap))
-      $this->imap->close();
-
-    // before closing the database connection, write session data
-    if ($_SERVER['REMOTE_ADDR'] && is_object($this->session)) {
-      session_write_close();
-    }
-
-    // write performance stats to logs/console
-    if ($this->config->get('devel_mode')) {
-      if (function_exists('memory_get_usage'))
-        $mem = show_bytes(memory_get_usage());
-      if (function_exists('memory_get_peak_usage'))
-        $mem .= '/'.show_bytes(memory_get_peak_usage());
-
-      $log = $this->task . ($this->action ? '/'.$this->action : '') . ($mem ? " [$mem]" : '');
-      if (defined('RCMAIL_START'))
-        rcube_print_time(RCMAIL_START, $log);
-      else
-        console($log);
-    }
-  }
-
-
-  /**
-   * Registers shutdown function to be executed on shutdown.
-   * The functions will be executed before destroying any
-   * objects like smtp, imap, session, etc.
-   *
-   * @param callback Function callback
-   */
-  public function add_shutdown_function($function)
-  {
-    $this->shutdown_functions[] = $function;
-  }
-
-
-  /**
-   * Generate a unique token to be used in a form request
-   *
-   * @return string The request token
-   */
-  public function get_request_token()
-  {
-    $sess_id = $_COOKIE[ini_get('session.name')];
-    if (!$sess_id) $sess_id = session_id();
-    $plugin = $this->plugins->exec_hook('request_token', array('value' => md5('RT' . $this->user->ID . $this->config->get('des_key') . $sess_id)));
-    return $plugin['value'];
-  }
-
-
-  /**
-   * Check if the current request contains a valid token
-   *
-   * @param int Request method
-   * @return boolean True if request token is valid false if not
-   */
-  public function check_request($mode = RCUBE_INPUT_POST)
-  {
-    $token = get_input_value('_token', $mode);
-    $sess_id = $_COOKIE[ini_get('session.name')];
-    return !empty($sess_id) && $token == $this->get_request_token();
-  }
-
-
-  /**
-   * Create unique authorization hash
-   *
-   * @param string Session ID
-   * @param int Timestamp
-   * @return string The generated auth hash
-   */
-  private function get_auth_hash($sess_id, $ts)
-  {
-    $auth_string = sprintf('rcmail*sess%sR%s*Chk:%s;%s',
-      $sess_id,
-      $ts,
-      $this->config->get('ip_check') ? $_SERVER['REMOTE_ADDR'] : '***.***.***.***',
-      $_SERVER['HTTP_USER_AGENT']);
-
-    if (function_exists('sha1'))
-      return sha1($auth_string);
-    else
-      return md5($auth_string);
-  }
-
-
-  /**
-   * Encrypt using 3DES
-   *
-   * @param string $clear clear text input
-   * @param string $key encryption key to retrieve from the configuration, defaults to 'des_key'
-   * @param boolean $base64 whether or not to base64_encode() the result before returning
-   *
-   * @return string encrypted text
-   */
-  public function encrypt($clear, $key = 'des_key', $base64 = true)
-  {
-    if (!$clear)
-      return '';
-    /*-
-     * Add a single canary byte to the end of the clear text, which
-     * will help find out how much of padding will need to be removed
-     * upon decryption; see http://php.net/mcrypt_generic#68082
-     */
-    $clear = pack("a*H2", $clear, "80");
-
-    if (function_exists('mcrypt_module_open') &&
-        ($td = mcrypt_module_open(MCRYPT_TripleDES, "", MCRYPT_MODE_CBC, "")))
-    {
-      $iv = $this->create_iv(mcrypt_enc_get_iv_size($td));
-      mcrypt_generic_init($td, $this->config->get_crypto_key($key), $iv);
-      $cipher = $iv . mcrypt_generic($td, $clear);
-      mcrypt_generic_deinit($td);
-      mcrypt_module_close($td);
-    }
-    else {
-      @include_once 'des.inc';
-
-      if (function_exists('des')) {
-        $des_iv_size = 8;
-        $iv = $this->create_iv($des_iv_size);
-        $cipher = $iv . des($this->config->get_crypto_key($key), $clear, 1, 1, $iv);
-      }
-      else {
-        raise_error(array(
-          'code' => 500, 'type' => 'php',
-          'file' => __FILE__, 'line' => __LINE__,
-          'message' => "Could not perform encryption; make sure Mcrypt is installed or lib/des.inc is available"
-        ), true, true);
-      }
-    }
-
-    return $base64 ? base64_encode($cipher) : $cipher;
-  }
-
-  /**
-   * Decrypt 3DES-encrypted string
-   *
-   * @param string $cipher encrypted text
-   * @param string $key encryption key to retrieve from the configuration, defaults to 'des_key'
-   * @param boolean $base64 whether or not input is base64-encoded
-   *
-   * @return string decrypted text
-   */
-  public function decrypt($cipher, $key = 'des_key', $base64 = true)
-  {
-    if (!$cipher)
-      return '';
-
-    $cipher = $base64 ? base64_decode($cipher) : $cipher;
-
-    if (function_exists('mcrypt_module_open') &&
-        ($td = mcrypt_module_open(MCRYPT_TripleDES, "", MCRYPT_MODE_CBC, "")))
-    {
-      $iv_size = mcrypt_enc_get_iv_size($td);
-      $iv = substr($cipher, 0, $iv_size);
-
-      // session corruption? (#1485970)
-      if (strlen($iv) < $iv_size)
-        return '';
-
-      $cipher = substr($cipher, $iv_size);
-      mcrypt_generic_init($td, $this->config->get_crypto_key($key), $iv);
-      $clear = mdecrypt_generic($td, $cipher);
-      mcrypt_generic_deinit($td);
-      mcrypt_module_close($td);
-    }
-    else {
-      @include_once 'des.inc';
-
-      if (function_exists('des')) {
-        $des_iv_size = 8;
-        $iv = substr($cipher, 0, $des_iv_size);
-        $cipher = substr($cipher, $des_iv_size);
-        $clear = des($this->config->get_crypto_key($key), $cipher, 0, 1, $iv);
-      }
-      else {
-        raise_error(array(
-          'code' => 500, 'type' => 'php',
-          'file' => __FILE__, 'line' => __LINE__,
-          'message' => "Could not perform decryption; make sure Mcrypt is installed or lib/des.inc is available"
-        ), true, true);
-      }
-    }
-
-    /*-
-     * Trim PHP's padding and the canary byte; see note in
-     * rcmail::encrypt() and http://php.net/mcrypt_generic#68082
-     */
-    $clear = substr(rtrim($clear, "\0"), 0, -1);
-
-    return $clear;
-  }
-
-  /**
-   * Generates encryption initialization vector (IV)
-   *
-   * @param int Vector size
-   * @return string Vector string
-   */
-  private function create_iv($size)
-  {
-    // mcrypt_create_iv() can be slow when system lacks entrophy
-    // we'll generate IV vector manually
-    $iv = '';
-    for ($i = 0; $i < $size; $i++)
-        $iv .= chr(mt_rand(0, 255));
-    return $iv;
-  }
-
-  /**
-   * Build a valid URL to this instance of Roundcube
-   *
-   * @param mixed Either a string with the action or url parameters as key-value pairs
-   * @return string Valid application URL
-   */
-  public function url($p)
-  {
-    if (!is_array($p))
-      $p = array('_action' => @func_get_arg(0));
-
-    $task = $p['_task'] ? $p['_task'] : ($p['task'] ? $p['task'] : $this->task);
-    $p['_task'] = $task;
-    unset($p['task']);
-
-    $url = './';
-    $delm = '?';
-    foreach (array_reverse($p) as $key => $val) {
-      if ($val !== '') {
-        $par = $key[0] == '_' ? $key : '_'.$key;
-        $url .= $delm.urlencode($par).'='.urlencode($val);
-        $delm = '&';
-      }
-    }
-    return $url;
-  }
-
-
-  /**
-   * Use imagemagick or GD lib to read image properties
-   *
-   * @param string Absolute file path
-   * @return mixed Hash array with image props like type, width, height or False on error
-   */
-  public static function imageprops($filepath)
-  {
-    $rcmail = rcmail::get_instance();
-    if ($cmd = $rcmail->config->get('im_identify_path', false)) {
-      list(, $type, $size) = explode(' ', strtolower(rcmail::exec($cmd. ' 2>/dev/null {in}', array('in' => $filepath))));
-      if ($size)
-        list($width, $height) = explode('x', $size);
-    }
-    else if (function_exists('getimagesize')) {
-      $imsize = @getimagesize($filepath);
-      $width = $imsize[0];
-      $height = $imsize[1];
-      $type = preg_replace('!image/!', '', $imsize['mime']);
-    }
-
-    return $type ? array('type' => $type, 'width' => $width, 'height' => $height) : false;
-  }
-
-
-  /**
-   * Convert an image to a given size and type using imagemagick (ensures input is an image)
-   *
-   * @param $p['in']  Input filename (mandatory)
-   * @param $p['out'] Output filename (mandatory)
-   * @param $p['size']  Width x height of resulting image, e.g. "160x60"
-   * @param $p['type']  Output file type, e.g. "jpg"
-   * @param $p['-opts'] Custom command line options to ImageMagick convert
-   * @return Success of convert as true/false
-   */
-  public static function imageconvert($p)
-  {
-    $result = false;
-    $rcmail = rcmail::get_instance();
-    $convert  = $rcmail->config->get('im_convert_path', false);
-    $identify = $rcmail->config->get('im_identify_path', false);
-
-    // imagemagick is required for this
-    if (!$convert)
-        return false;
-
-    if (!(($imagetype = @exif_imagetype($p['in'])) && ($type = image_type_to_extension($imagetype, false))))
-      list(, $type) = explode(' ', strtolower(rcmail::exec($identify . ' 2>/dev/null {in}', $p))); # for things like eps
-
-    $type = strtr($type, array("jpeg" => "jpg", "tiff" => "tif", "ps" => "eps", "ept" => "eps"));
-    $p += array('type' => $type, 'types' => "bmp,eps,gif,jp2,jpg,png,svg,tif", 'quality' => 75);
-    $p['-opts'] = array('-resize' => $p['size'].'>') + (array)$p['-opts'];
-
-    if (in_array($type, explode(',', $p['types']))) # Valid type?
-      $result = rcmail::exec($convert . ' 2>&1 -flatten -auto-orient -colorspace RGB -quality {quality} {-opts} {in} {type}:{out}', $p) === "";
-
-    return $result;
-  }
-
-
-  /**
-   * Construct shell command, execute it and return output as string.
-   * Keywords {keyword} are replaced with arguments
-   *
-   * @param $cmd Format string with {keywords} to be replaced
-   * @param $values (zero, one or more arrays can be passed)
-   * @return output of command. shell errors not detectable
-   */
-  public static function exec(/* $cmd, $values1 = array(), ... */)
-  {
-    $args = func_get_args();
-    $cmd = array_shift($args);
-    $values = $replacements = array();
-
-    // merge values into one array
-    foreach ($args as $arg)
-      $values += (array)$arg;
-
-    preg_match_all('/({(-?)([a-z]\w*)})/', $cmd, $matches, PREG_SET_ORDER);
-    foreach ($matches as $tags) {
-      list(, $tag, $option, $key) = $tags;
-      $parts = array();
-
-      if ($option) {
-        foreach ((array)$values["-$key"] as $key => $value) {
-          if ($value === true || $value === false || $value === null)
-            $parts[] = $value ? $key : "";
-          else foreach ((array)$value as $val)
-            $parts[] = "$key " . escapeshellarg($val);
-        }
-      }
-      else {
-        foreach ((array)$values[$key] as $value)
-          $parts[] = escapeshellarg($value);
-      }
-
-      $replacements[$tag] = join(" ", $parts);
-    }
-
-    // use strtr behaviour of going through source string once
-    $cmd = strtr($cmd, $replacements);
-
-    return (string)shell_exec($cmd);
-  }
-
-
-  /**
-   * Helper method to set a cookie with the current path and host settings
-   *
-   * @param string Cookie name
-   * @param string Cookie value
-   * @param string Expiration time
-   */
-  public static function setcookie($name, $value, $exp = 0)
-  {
-    if (headers_sent())
-      return;
-
-    $cookie = session_get_cookie_params();
-
-    setcookie($name, $value, $exp, $cookie['path'], $cookie['domain'],
-      rcube_https_check(), true);
-  }
-
-  /**
-   * Registers action aliases for current task
-   *
-   * @param array $map Alias-to-filename hash array
-   */
-  public function register_action_map($map)
-  {
-    if (is_array($map)) {
-      foreach ($map as $idx => $val) {
-        $this->action_map[$idx] = $val;
-      }
-    }
-  }
-
-  /**
-   * Returns current action filename
-   *
-   * @param array $map Alias-to-filename hash array
-   */
-  public function get_action_file()
-  {
-    if (!empty($this->action_map[$this->action])) {
-      return $this->action_map[$this->action];
-    }
-
-    return strtr($this->action, '-', '_') . '.inc';
-  }
-
-  /**
-   * Fixes some user preferences according to namespace handling change.
-   * Old Roundcube versions were using folder names with removed namespace prefix.
-   * Now we need to add the prefix on servers where personal namespace has prefix.
-   *
-   * @param rcube_user $user User object
-   */
-  private function fix_namespace_settings($user)
-  {
-    $prefix     = $this->imap->get_namespace('prefix');
-    $prefix_len = strlen($prefix);
-
-    if (!$prefix_len)
-      return;
-
-    $prefs = $this->config->all();
-    if (!empty($prefs['namespace_fixed']))
-      return;
-
-    // Build namespace prefix regexp
-    $ns     = $this->imap->get_namespace();
-    $regexp = array();
-
-    foreach ($ns as $entry) {
-      if (!empty($entry)) {
-        foreach ($entry as $item) {
-          if (strlen($item[0])) {
-            $regexp[] = preg_quote($item[0], '/');
-          }
-        }
-      }
-    }
-    $regexp = '/^('. implode('|', $regexp).')/';
-
-    // Fix preferences
-    $opts = array('drafts_mbox', 'junk_mbox', 'sent_mbox', 'trash_mbox', 'archive_mbox');
-    foreach ($opts as $opt) {
-      if ($value = $prefs[$opt]) {
-        if ($value != 'INBOX' && !preg_match($regexp, $value)) {
-          $prefs[$opt] = $prefix.$value;
-        }
-      }
-    }
-
-    if (!empty($prefs['default_imap_folders'])) {
-      foreach ($prefs['default_imap_folders'] as $idx => $name) {
-        if ($name != 'INBOX' && !preg_match($regexp, $name)) {
-          $prefs['default_imap_folders'][$idx] = $prefix.$name;
-        }
-      }
-    }
-
-    if (!empty($prefs['search_mods'])) {
-      $folders = array();
-      foreach ($prefs['search_mods'] as $idx => $value) {
-        if ($idx != 'INBOX' && $idx != '*' && !preg_match($regexp, $idx)) {
-          $idx = $prefix.$idx;
-        }
-        $folders[$idx] = $value;
-      }
-      $prefs['search_mods'] = $folders;
-    }
-
-    if (!empty($prefs['message_threading'])) {
-      $folders = array();
-      foreach ($prefs['message_threading'] as $idx => $value) {
-        if ($idx != 'INBOX' && !preg_match($regexp, $idx)) {
-          $idx = $prefix.$idx;
-        }
-        $folders[$prefix.$idx] = $value;
-      }
-      $prefs['message_threading'] = $folders;
-    }
-
-    if (!empty($prefs['collapsed_folders'])) {
-      $folders     = explode('&&', $prefs['collapsed_folders']);
-      $count       = count($folders);
-      $folders_str = '';
-
-      if ($count) {
-          $folders[0]        = substr($folders[0], 1);
-          $folders[$count-1] = substr($folders[$count-1], 0, -1);
-      }
-
-      foreach ($folders as $value) {
-        if ($value != 'INBOX' && !preg_match($regexp, $value)) {
-          $value = $prefix.$value;
-        }
-        $folders_str .= '&'.$value.'&';
-      }
-      $prefs['collapsed_folders'] = $folders_str;
-    }
-
-    $prefs['namespace_fixed'] = true;
-
-    // save updated preferences and reset imap settings (default folders)
-    $user->save_prefs($prefs);
-    $this->set_imap_prop();
-  }
-
-}