Control: retitle -1 unblock: (pre-approval) owncloud/7.0.4~rc1+dfsg-2

Hi Niels,

Le 06/12/2014 05:44, Niels Thykier a écrit :
> On 2014-12-06 00:40, David Prévot wrote:
>> Le 05/12/2014 03:34, Niels Thykier a écrit :
>>> On 2014-12-03 20:24, David Prévot wrote:
>>
>>>> TL;DR: upcoming upstream point release update with security related
>>>> fixes.
>>
>>> Approved, provided it is accepted into unstable before Monday the 8th of
>>> December.
>>
>> Thanks! I hope you meant Monday the 8th *included*: it’s the expected
>> upstream release date.

> No, I meant upload the changes we have already approved before Monday

OK, changed the title to make it clear it’s about the RC1 version then.

> Once owncloud/7.0.4+dfsg-1 has migrated to testing, we can look at the
> small bits between that and the new upstream release.

Upstream released an RC2 in the mean time, the changes since the RC1 you
already approved follow, is it OK if I include them? (i.e., change the
request as about owncloud/7.0.4~rc2+dfsg-1 instead):

The attached debdiff still filters out the documentation:

debdiff ../owncloud_7.0.4~rc?+dfsg-1.dsc | filterdiff -x '*/core/doc/*'

It’s a bit bigger than I’d have expected (new
apps/user_ldap/command/search.php file, for the search feature of
user_ldap, even if this app is not enabled by default), but there are
not much change in the core:

> $ diffstat /tmp/ocrc2.diff
>  apps/files_sharing/appinfo/database.xml                                      
>     |    2 
>  apps/gallery/js/slideshow.js                                                 
>     |    6 
>  apps/user_ldap/appinfo/register_command.php                                  
>     |    1 
>  apps/user_ldap/command/search.php                                            
>     |  100 ++++++++++
>  apps/user_ldap/lib/access.php                                                
>     |   52 +++++
>  apps/user_ldap/user_ldap.php                                                 
>     |    5 
>  config/config.sample.php                                                     
>     |   29 ++
>  core/js/share.js                                                             
>     |    2 
>  debian/changelog                                                             
>     |   17 +
>  debian/patches/0001-Disable-the-appstore.patch                               
>     |   10 -
>  debian/patches/0002-Fix-displayed-version.patch                              
>     |    4 
>  debian/patches/0003-Improve-logfile-handling.patch                           
>     |    6 
>  
> debian/patches/path/0005-Adapt-Doctrine-Symphony-Patchwork-and-Pimple-path.patch
>  |    2 
>  lib/base.php                                                                 
>     |    6 
>  lib/private/helper.php                                                       
>     |    8 
>  lib/private/request.php                                                      
>     |   33 ++-
>  lib/private/setup.php                                                        
>     |    2 
>  settings/admin.php                                                           
>     |    2 
>  settings/templates/admin.php                                                 
>     |   20 +-
>  version.php                                                                  
>     |    6 
>  20 files changed, 272 insertions(+), 41 deletions(-)

Thanks in advance for considering, and sorry for the back and forth.

Regards

David
diff -Nru owncloud-7.0.4~rc1+dfsg/apps/files_sharing/appinfo/database.xml 
owncloud-7.0.4~rc2+dfsg/apps/files_sharing/appinfo/database.xml
--- owncloud-7.0.4~rc1+dfsg/apps/files_sharing/appinfo/database.xml     
2014-12-01 16:30:38.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/apps/files_sharing/appinfo/database.xml     
2014-12-05 10:46:16.000000000 -0400
@@ -32,7 +32,7 @@
                        <field>
                                <name>password</name>
                                <type>text</type>
-                               <notnull>true</notnull>
+                               <notnull>false</notnull>
                                <length>64</length>
                                <comments>Optional password for the public 
share</comments>
                        </field>
diff -Nru owncloud-7.0.4~rc1+dfsg/apps/gallery/js/slideshow.js 
owncloud-7.0.4~rc2+dfsg/apps/gallery/js/slideshow.js
--- owncloud-7.0.4~rc1+dfsg/apps/gallery/js/slideshow.js        2014-12-01 
16:31:58.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/apps/gallery/js/slideshow.js        2014-12-05 
10:46:19.000000000 -0400
@@ -141,7 +141,7 @@
                        }
                        if (preloadUrl) {
                                jQuery.fn.slideShow.loadImage(
-                                       fallBack,
+                                       preloadUrl,
                                        preloadFallBack
                                );
                        }
@@ -371,6 +371,9 @@
                        for (var i = 0; i < files.length; i++) {
                                var file = files[i];
                                if (file.mimetype && 
file.mimetype.indexOf('image') >= 0) {
+                                       if (file.mimetype === 'image/tiff') {
+                                               continue;
+                                       }
                                        if (file.mimetype === 'image/svg+xml') {
                                                imageUrl = 
OCA.Files.Files.getDownloadUrl(file.name, dir);
                                        } else {
@@ -406,5 +409,6 @@
                        jQuery.fn.slideShow.call(images, $('#slideshow'), 
start, {fallBacks: fallBacks});
                });
                OCA.Files.fileActions.setDefault('image', 'View');
+               OCA.Files.fileActions.setDefault('image/tiff', 'Download');
        }
 });
diff -Nru owncloud-7.0.4~rc1+dfsg/apps/user_ldap/appinfo/register_command.php 
owncloud-7.0.4~rc2+dfsg/apps/user_ldap/appinfo/register_command.php
--- owncloud-7.0.4~rc1+dfsg/apps/user_ldap/appinfo/register_command.php 
2014-12-01 16:31:56.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/apps/user_ldap/appinfo/register_command.php 
2014-12-05 10:46:16.000000000 -0400
@@ -9,3 +9,4 @@
 $application->add(new OCA\user_ldap\Command\ShowConfig());
 $application->add(new OCA\user_ldap\Command\SetConfig());
 $application->add(new OCA\user_ldap\Command\TestConfig());
+$application->add(new OCA\user_ldap\Command\Search());
diff -Nru owncloud-7.0.4~rc1+dfsg/apps/user_ldap/command/search.php 
owncloud-7.0.4~rc2+dfsg/apps/user_ldap/command/search.php
--- owncloud-7.0.4~rc1+dfsg/apps/user_ldap/command/search.php   1969-12-31 
20:00:00.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/apps/user_ldap/command/search.php   2014-12-05 
10:44:51.000000000 -0400
@@ -0,0 +1,100 @@
+<?php
+/**
+ * Copyright (c) 2014 Arthur Schiwon <bli...@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OCA\user_ldap\Command;
+
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+
+use OCA\user_ldap\User_Proxy;
+use OCA\user_ldap\Group_Proxy;
+use OCA\user_ldap\lib\Helper;
+use OCA\user_ldap\lib\LDAP;
+
+class Search extends Command {
+       protected function configure() {
+               $this
+                       ->setName('ldap:search')
+                       ->setDescription('executes a user or group search')
+                       ->addArgument(
+                                       'search',
+                                       InputArgument::REQUIRED,
+                                       'the search string (can be empty)'
+                                    )
+                       ->addOption(
+                                       'group',
+                                       null,
+                                       InputOption::VALUE_NONE,
+                                       'searches groups instead of users'
+                                    )
+                       ->addOption(
+                                       'offset',
+                                       null,
+                                       InputOption::VALUE_REQUIRED,
+                                       'The offset of the result set. Needs to 
be a multiple of limit. defaults to 0.',
+                                       0
+                                    )
+                       ->addOption(
+                                       'limit',
+                                       null,
+                                       InputOption::VALUE_REQUIRED,
+                                       'limit the results. 0 means no limit, 
defaults to 15',
+                                       15
+                                    )
+               ;
+       }
+
+       /**
+        * Tests whether the offset and limit options are valid
+        * @param int $offset
+        * @param int $limit
+        * @throws \InvalidArgumentException
+        */
+       protected function validateOffsetAndLimit($offset, $limit) {
+               if($limit < 0) {
+                       throw new \InvalidArgumentException('limit must be  0 
or greater');
+               }
+               if($offset  < 0) {
+                       throw new \InvalidArgumentException('offset must be 0 
or greater');
+               }
+               if($limit === 0 && $offset !== 0) {
+                       throw new \InvalidArgumentException('offset must be 0 
if limit is also set to 0');
+               }
+               if($offset > 0 && ($offset % $limit !== 0)) {
+                       throw new \InvalidArgumentException('offset must be a 
multiple of limit');
+               }
+       }
+
+       protected function execute(InputInterface $input, OutputInterface 
$output) {
+               $configPrefixes = Helper::getServerConfigurationPrefixes(true);
+               $ldapWrapper = new LDAP();
+
+               $offset = intval($input->getOption('offset'));
+               $limit = intval($input->getOption('limit'));
+               $this->validateOffsetAndLimit($offset, $limit);
+
+               if($input->getOption('group')) {
+                       $proxy = new Group_Proxy($configPrefixes, $ldapWrapper);
+                       $getMethod = 'getGroups';
+                       $printID = false;
+               } else {
+                       $proxy = new User_Proxy($configPrefixes, $ldapWrapper);
+                       $getMethod = 'getDisplayNames';
+                       $printID = true;
+               }
+
+               $result = $proxy->$getMethod($input->getArgument('search'), 
$limit, $offset);
+               foreach($result as $id => $name) {
+                       $line = $name . ($printID ? ' ('.$id.')' : '');
+                       $output->writeln($line);
+               }
+       }
+}
diff -Nru owncloud-7.0.4~rc1+dfsg/apps/user_ldap/lib/access.php 
owncloud-7.0.4~rc2+dfsg/apps/user_ldap/lib/access.php
--- owncloud-7.0.4~rc1+dfsg/apps/user_ldap/lib/access.php       2014-12-01 
16:31:56.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/apps/user_ldap/lib/access.php       2014-12-05 
10:46:16.000000000 -0400
@@ -403,6 +403,8 @@
 
                //a new user/group! Add it only if it doesn't conflict with 
other backend's users or existing groups
                //disabling Cache is required to avoid that the new user is 
cached as not-existing in fooExists check
+               //NOTE: mind, disabling cache affects only this instance! Using 
it
+               // outside of core user management will still cache the user as 
non-existing.
                $originalTTL = $this->connection->ldapCacheTTL;
                $this->connection->setConfiguration(array('ldapCacheTTL' => 0));
                if(($isUser && !\OCP\User::userExists($intName))
@@ -507,6 +509,7 @@
                                if($isUsers) {
                                        //cache the user names so it does not 
need to be retrieved
                                        //again later (e.g. sharing dialogue).
+                                       $this->cacheUserExists($ocName);
                                        $this->cacheUserDisplayName($ocName, 
$nameByLDAP);
                                }
                        }
@@ -516,6 +519,14 @@
        }
 
        /**
+        * caches a user as existing
+        * @param string $ocName the internal ownCloud username
+        */
+       public function cacheUserExists($ocName) {
+               $this->connection->writeToCache('userExists'.$ocName, true);
+       }
+
+       /**
         * caches the user display name
         * @param string $ocName the internal ownCloud username
         * @param string $displayName the display name
@@ -1141,6 +1152,33 @@
        }
 
        /**
+        * creates a filter part for searches by splitting up the given search
+        * string into single words
+        * @param string $search the search term
+        * @param string[] $searchAttributes needs to have at least two 
attributes,
+        * otherwise it does not make sense :)
+        * @return string the final filter part to use in LDAP searches
+        * @throws \Exception
+        */
+       private function getAdvancedFilterPartForSearch($search, 
$searchAttributes) {
+               if(!is_array($searchAttributes) || count($searchAttributes) < 
2) {
+                       throw new \Exception('searchAttributes must be an array 
with at least two string');
+               }
+               $searchWords = explode(' ', trim($search));
+               $wordFilters = array();
+               foreach($searchWords as $word) {
+                       $word .= '*';
+                       //every word needs to appear at least once
+                       $wordMatchOneAttrFilters = array();
+                       foreach($searchAttributes as $attr) {
+                               $wordMatchOneAttrFilters[] = $attr . '=' . 
$word;
+                       }
+                       $wordFilters[] = 
$this->combineFilterWithOr($wordMatchOneAttrFilters);
+               }
+               return $this->combineFilterWithAnd($wordFilters);
+       }
+
+       /**
         * creates a filter part for searches
         * @param string $search the search term
         * @param string[]|null $searchAttributes
@@ -1150,7 +1188,19 @@
         */
        private function getFilterPartForSearch($search, $searchAttributes, 
$fallbackAttribute) {
                $filter = array();
-               $search = empty($search) ? '*' : '*'.$search.'*';
+               $haveMultiSearchAttributes = (is_array($searchAttributes) && 
count($searchAttributes) > 0);
+               if($haveMultiSearchAttributes && strpos(trim($search), ' ') !== 
false) {
+                       try {
+                               return 
$this->getAdvancedFilterPartForSearch($search, $searchAttributes);
+                       } catch(\Exception $e) {
+                               \OCP\Util::writeLog(
+                                       'user_ldap',
+                                       'Creating advanced filter for search 
failed, falling back to simple method.',
+                                       \OCP\Util::INFO
+                               );
+                       }
+               }
+               $search = empty($search) ? '*' : $search.'*';
                if(!is_array($searchAttributes) || count($searchAttributes) === 
0) {
                        if(empty($fallbackAttribute)) {
                                return '';
diff -Nru owncloud-7.0.4~rc1+dfsg/apps/user_ldap/user_ldap.php 
owncloud-7.0.4~rc2+dfsg/apps/user_ldap/user_ldap.php
--- owncloud-7.0.4~rc1+dfsg/apps/user_ldap/user_ldap.php        2014-12-01 
16:31:56.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/apps/user_ldap/user_ldap.php        2014-12-05 
10:46:16.000000000 -0400
@@ -292,7 +292,12 @@
        public function countUsers() {
                $filter = \OCP\Util::mb_str_replace(
                        '%uid', '*', 
$this->access->connection->ldapLoginFilter, 'UTF-8');
+               $cacheKey = 'countUsers-'.$filter;
+               if(!is_null($entries = 
$this->access->connection->getFromCache($cacheKey))) {
+                       return $entries;
+               }
                $entries = $this->access->countUsers($filter);
+               $this->access->connection->writeToCache($cacheKey, $entries);
                return $entries;
        }
 }
diff -Nru owncloud-7.0.4~rc1+dfsg/config/config.sample.php 
owncloud-7.0.4~rc2+dfsg/config/config.sample.php
--- owncloud-7.0.4~rc1+dfsg/config/config.sample.php    2014-12-01 
16:31:56.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/config/config.sample.php    2014-12-05 
10:46:16.000000000 -0400
@@ -83,8 +83,15 @@
 'version' => '',
 
 /**
- * Identifies the database used with this installation: ``sqlite``, ``mysql``,
- * ``pgsql``, ``oci``, or ``mssql``.
+ * Identifies the database used with this installation. See also config option
+ * ``supportedDatabases``
+ *
+ * Available:
+ *     - sqlite (SQLite3 - Community Edition Only)
+ *     - mysql (MySQL)
+ *     - pgsql (PostgreSQL)
+ *     - oci (Oracle - Enterprise Edition Only)
+ *     - mssql (Microsoft SQL Server - Enterprise Edition Only)
  */
 'dbtype' => 'sqlite',
 
@@ -429,6 +436,15 @@
  */
 'check_for_working_htaccess' => true,
 
+/**
+ * In certain environments it is desired to have a read-only config file.
+ * When this switch is set to ``true`` ownCloud will not verify whether the
+ * configuration is writable. However, it will not be possible to configure
+ * all options via the web-interface. Furthermore, when updating ownCloud
+ * it is required to make the config file writable again for the update
+ * process.
+ */
+'config_is_read_only' => false,
 
 /**
  * Logging
@@ -808,15 +824,14 @@
 ),
 
 /**
- * Database types that are supported for installation. (SQLite is available 
only in 
- * ownCloud Community Edition, oci and mssql only for the Enterprise Edition)
+ * Database types that are supported for installation.
  *
  * Available:
- *     - sqlite (SQLite3)
+ *     - sqlite (SQLite3 - Community Edition Only)
  *     - mysql (MySQL)
  *     - pgsql (PostgreSQL)
- *     - oci (Oracle)
- *     - mssql (Microsoft SQL Server)
+ *     - oci (Oracle - Enterprise Edition Only)
+ *     - mssql (Microsoft SQL Server - Enterprise Edition Only)
  */
 'supportedDatabases' => array(
        'sqlite',
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/antivirus_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/antivirus_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/automatic_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/automatic_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/background_jobs_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/background_jobs_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/big_file_upload_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/big_file_upload_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/collaborative_documents_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/collaborative_documents_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/config_sample_php_parameters.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/config_sample_php_parameters.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/custom_client_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/custom_client_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/database_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/database_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/email_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/email_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/encryption_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/encryption_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/external_storage_configuration_gui.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/external_storage_configuration_gui.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/external_storage_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/external_storage_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/file_sharing_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/file_sharing_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/files_locking_enabling.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/files_locking_enabling.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/index.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/index.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/js_css_asset_management_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/js_css_asset_management_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/knowledgebase_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/knowledgebase_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/language_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/language_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/logging_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/logging_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/previews_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/previews_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/reverse_proxy_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/reverse_proxy_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/search_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/search_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/server_to_server_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/server_to_server_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/serving_static_files_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/serving_static_files_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/thirdparty_php_configuration.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/thirdparty_php_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/user_auth_ftp_smb_imap.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/user_auth_ftp_smb_imap.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/user_auth_ldap.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/user_auth_ldap.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/configuration/user_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/configuration/user_configuration.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/contents.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/contents.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/genindex.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/genindex.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/index.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/index.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/appliance_installation.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/appliance_installation.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/apps_management_installation.html
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/apps_management_installation.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/hiawatha_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/hiawatha_configuration.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/index.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/index.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/installation_wizard.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/installation_wizard.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/lighttpd_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/lighttpd_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/linux_installation.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/linux_installation.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/macos_installation.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/macos_installation.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/nginx_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/nginx_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/others_installation.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/others_installation.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/selinux_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/selinux_configuration.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/source_installation.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/source_installation.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/ucs_installation.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/ucs_installation.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/windows_installation.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/windows_installation.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/installation/yaws_configuration.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/installation/yaws_configuration.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/issues/index.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/issues/index.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/maintenance/backup.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/maintenance/backup.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/maintenance/convert_db.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/maintenance/convert_db.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/maintenance/enable_maintenance.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/maintenance/enable_maintenance.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/maintenance/index.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/maintenance/index.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/maintenance/migrating.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/maintenance/migrating.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/maintenance/restore.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/maintenance/restore.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/maintenance/update.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/maintenance/update.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/maintenance/upgrade.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/maintenance/upgrade.html
Les fichiers binaires 
/tmp/d4CzyWKOC8/owncloud-7.0.4~rc1+dfsg/core/doc/admin/objects.inv et 
/tmp/8kLE7wEAJ4/owncloud-7.0.4~rc2+dfsg/core/doc/admin/objects.inv sont 
différents
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/search.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/search.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/configuration/config_sample_php_parameters.txt
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/configuration/config_sample_php_parameters.txt
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/configuration/index.txt 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/configuration/index.txt
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/contents.txt 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/contents.txt
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/index.txt 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/index.txt
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/installation/index.txt 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/installation/index.txt
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/installation/linux_installation.txt
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/installation/linux_installation.txt
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/installation/selinux_configuration.txt
 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/installation/selinux_configuration.txt
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/issues/index.txt 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/issues/index.txt
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/_sources/maintenance/index.txt 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/_sources/maintenance/index.txt
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/admin/whats_new_admin.html 
owncloud-7.0.4~rc2+dfsg/core/doc/admin/whats_new_admin.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/bookmarks.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/bookmarks.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/contents.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/contents.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/documents.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/documents.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/user/external_storage/google_drive.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/external_storage/google_drive.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/user/files/configuring_big_file_upload.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/configuring_big_file_upload.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/files/deletedfiles.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/deletedfiles.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/files/encryption.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/encryption.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/files/files.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/files.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/files/filesweb.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/filesweb.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/files/index.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/index.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/files/quota.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/quota.html
diff -Nru 
owncloud-7.0.4~rc1+dfsg/core/doc/user/files/server_to_server_using.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/server_to_server_using.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/files/sync.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/sync.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/files/versioncontrol.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/files/versioncontrol.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/genindex.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/genindex.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/index.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/index.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/installing_apps.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/installing_apps.html
Les fichiers binaires 
/tmp/d4CzyWKOC8/owncloud-7.0.4~rc1+dfsg/core/doc/user/objects.inv et 
/tmp/8kLE7wEAJ4/owncloud-7.0.4~rc2+dfsg/core/doc/user/objects.inv sont 
différents
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/pim/calendar.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/pim/calendar.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/pim/contacts.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/pim/contacts.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/pim/index.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/pim/index.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/pim/sync_ios.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/pim/sync_ios.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/pim/sync_kde.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/pim/sync_kde.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/pim/sync_osx.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/pim/sync_osx.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/pim/sync_thunderbird.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/pim/sync_thunderbird.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/pim/troubleshooting.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/pim/troubleshooting.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/search.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/search.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/_sources/files/filesweb.txt 
owncloud-7.0.4~rc2+dfsg/core/doc/user/_sources/files/filesweb.txt
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/userpreferences.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/userpreferences.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/webinterface.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/webinterface.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/doc/user/whats_new.html 
owncloud-7.0.4~rc2+dfsg/core/doc/user/whats_new.html
diff -Nru owncloud-7.0.4~rc1+dfsg/core/js/share.js 
owncloud-7.0.4~rc2+dfsg/core/js/share.js
--- owncloud-7.0.4~rc1+dfsg/core/js/share.js    2014-12-01 16:31:56.000000000 
-0400
+++ owncloud-7.0.4~rc2+dfsg/core/js/share.js    2014-12-05 10:46:16.000000000 
-0400
@@ -447,7 +447,7 @@
                        $('#shareWith').autocomplete({minLength: 2, delay: 750, 
source: function(search, response) {
                                var $loading = $('#dropdown .shareWithLoading');
                                $loading.removeClass('hidden');
-                               $.get(OC.filePath('core', 'ajax', 'share.php'), 
{ fetch: 'getShareWith', search: search.term, itemShares: OC.Share.itemShares 
}, function(result) {
+                               $.get(OC.filePath('core', 'ajax', 'share.php'), 
{ fetch: 'getShareWith', search: search.term.trim(), itemShares: 
OC.Share.itemShares }, function(result) {
                                        $loading.addClass('hidden');
                                        if (result.status == 'success' && 
result.data.length > 0) {
                                                $( "#shareWith" ).autocomplete( 
"option", "autoFocus", true );
diff -Nru owncloud-7.0.4~rc1+dfsg/debian/changelog 
owncloud-7.0.4~rc2+dfsg/debian/changelog
--- owncloud-7.0.4~rc1+dfsg/debian/changelog    2014-12-01 19:11:46.000000000 
-0400
+++ owncloud-7.0.4~rc2+dfsg/debian/changelog    2014-12-06 01:54:14.000000000 
-0400
@@ -1,3 +1,20 @@
+owncloud (7.0.4~rc2+dfsg-1) experimental; urgency=medium
+
+  [ Arthur Schiwon ]
+  * add ldap-search command to occ
+  * LDAP search filter creation changes
+
+  [ Lukas Reschke ]
+  * Allow read-only configuration
+
+  [ Frank Karlitschek ]
+  * 7.0.4 RC2
+
+  [ David Prévot ]
+  * Refresh patches
+
+ -- David Prévot <taf...@debian.org>  Sat, 06 Dec 2014 01:51:30 -0400
+
 owncloud (7.0.4~rc1+dfsg-1) experimental; urgency=medium
 
   Upload RC to experimental
diff -Nru 
owncloud-7.0.4~rc1+dfsg/debian/patches/0001-Disable-the-appstore.patch 
owncloud-7.0.4~rc2+dfsg/debian/patches/0001-Disable-the-appstore.patch
--- owncloud-7.0.4~rc1+dfsg/debian/patches/0001-Disable-the-appstore.patch      
2014-12-01 18:15:22.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/debian/patches/0001-Disable-the-appstore.patch      
2014-12-06 01:31:41.000000000 -0400
@@ -23,10 +23,10 @@
  8 files changed, 14 insertions(+), 10 deletions(-)
 
 diff --git a/config/config.sample.php b/config/config.sample.php
-index c073d94..f237f9f 100644
+index 6da3a68..fa627c5 100644
 --- a/config/config.sample.php
 +++ b/config/config.sample.php
-@@ -523,8 +523,9 @@ $CONFIG = array(
+@@ -539,8 +539,9 @@ $CONFIG = array(
  /**
   * When enabled, admins may install apps from the ownCloud app store.
   * The app store is disabled by default for ownCloud Enterprise Edition
@@ -37,7 +37,7 @@
  
  /**
   * The URL of the appstore to use.
-@@ -538,12 +539,13 @@ $CONFIG = array(
+@@ -554,12 +555,13 @@ $CONFIG = array(
   * file system path to the app folder. The key ``url`` defines the HTTP web 
path
   * to that folder, starting from the ownCloud web root. The key ``writable``
   * indicates if a web server can write files to that folder.
@@ -54,7 +54,7 @@
  ),
  
 diff --git a/lib/base.php b/lib/base.php
-index 27b1233..78f4968 100644
+index e99159d..2c20932 100644
 --- a/lib/base.php
 +++ b/lib/base.php
 @@ -157,7 +157,7 @@ class OC {
@@ -93,7 +93,7 @@
                }
  
 diff --git a/lib/private/setup.php b/lib/private/setup.php
-index a18c72d..e95c613 100644
+index a958aba..216d313 100644
 --- a/lib/private/setup.php
 +++ b/lib/private/setup.php
 @@ -189,6 +189,8 @@ class OC_Setup {
diff -Nru 
owncloud-7.0.4~rc1+dfsg/debian/patches/0002-Fix-displayed-version.patch 
owncloud-7.0.4~rc2+dfsg/debian/patches/0002-Fix-displayed-version.patch
--- owncloud-7.0.4~rc1+dfsg/debian/patches/0002-Fix-displayed-version.patch     
2014-12-01 18:15:23.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/debian/patches/0002-Fix-displayed-version.patch     
2014-12-06 01:31:41.000000000 -0400
@@ -18,10 +18,10 @@
  3 files changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/config/config.sample.php b/config/config.sample.php
-index f237f9f..d07aef1 100644
+index fa627c5..7e91a2e 100644
 --- a/config/config.sample.php
 +++ b/config/config.sample.php
-@@ -407,7 +407,7 @@ $CONFIG = array(
+@@ -414,7 +414,7 @@ $CONFIG = array(
   * Check if ownCloud is up-to-date and shows a notification if a new version 
is
   * available.
   */
diff -Nru 
owncloud-7.0.4~rc1+dfsg/debian/patches/0003-Improve-logfile-handling.patch 
owncloud-7.0.4~rc2+dfsg/debian/patches/0003-Improve-logfile-handling.patch
--- owncloud-7.0.4~rc1+dfsg/debian/patches/0003-Improve-logfile-handling.patch  
2014-12-01 18:15:25.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/debian/patches/0003-Improve-logfile-handling.patch  
2014-12-06 01:31:41.000000000 -0400
@@ -14,10 +14,10 @@
  3 files changed, 4 insertions(+), 3 deletions(-)
 
 diff --git a/config/config.sample.php b/config/config.sample.php
-index d07aef1..f90313d 100644
+index 7e91a2e..2508e2e 100644
 --- a/config/config.sample.php
 +++ b/config/config.sample.php
-@@ -443,8 +443,9 @@ $CONFIG = array(
+@@ -459,8 +459,9 @@ $CONFIG = array(
  
  /**
   * Change the ownCloud logfile name from ``owncloud.log`` to something else.
@@ -29,7 +29,7 @@
  /**
   * Loglevel to start logging at. Valid values are: 0 = Debug, 1 = Info, 2 =
 diff --git a/lib/base.php b/lib/base.php
-index 78f4968..8e9686b 100644
+index 2c20932..a8060f2 100644
 --- a/lib/base.php
 +++ b/lib/base.php
 @@ -609,7 +609,7 @@ class OC {
diff -Nru 
owncloud-7.0.4~rc1+dfsg/debian/patches/path/0005-Adapt-Doctrine-Symphony-Patchwork-and-Pimple-path.patch
 
owncloud-7.0.4~rc2+dfsg/debian/patches/path/0005-Adapt-Doctrine-Symphony-Patchwork-and-Pimple-path.patch
--- 
owncloud-7.0.4~rc1+dfsg/debian/patches/path/0005-Adapt-Doctrine-Symphony-Patchwork-and-Pimple-path.patch
    2014-12-01 18:15:26.000000000 -0400
+++ 
owncloud-7.0.4~rc2+dfsg/debian/patches/path/0005-Adapt-Doctrine-Symphony-Patchwork-and-Pimple-path.patch
    2014-12-06 01:31:41.000000000 -0400
@@ -14,7 +14,7 @@
  1 file changed, 6 insertions(+), 6 deletions(-)
 
 diff --git a/lib/base.php b/lib/base.php
-index 8e9686b..c1217d5 100644
+index a8060f2..4367ea2 100644
 --- a/lib/base.php
 +++ b/lib/base.php
 @@ -431,12 +431,12 @@ class OC {
diff -Nru owncloud-7.0.4~rc1+dfsg/lib/base.php 
owncloud-7.0.4~rc2+dfsg/lib/base.php
--- owncloud-7.0.4~rc1+dfsg/lib/base.php        2014-12-01 16:31:56.000000000 
-0400
+++ owncloud-7.0.4~rc2+dfsg/lib/base.php        2014-12-05 10:46:16.000000000 
-0400
@@ -188,9 +188,9 @@
 
        public static function checkConfig() {
                $l = OC_L10N::get('lib');
-               if (file_exists(self::$configDir . "/config.php")
-                       and !is_writable(self::$configDir . "/config.php")
-               ) {
+               $configFileWritable = file_exists(self::$configDir . 
"/config.php") && is_writable(self::$configDir . "/config.php");
+               if (!$configFileWritable && 
!OC_Helper::isReadOnlyConfigEnabled()
+                       || !$configFileWritable && \OCP\Util::needUpgrade()) {
                        if (self::$CLI) {
                                echo $l->t('Cannot write into "config" 
directory!')."\n";
                                echo $l->t('This can usually be fixed by giving 
the webserver write access to the config directory')."\n";
diff -Nru owncloud-7.0.4~rc1+dfsg/lib/private/helper.php 
owncloud-7.0.4~rc2+dfsg/lib/private/helper.php
--- owncloud-7.0.4~rc1+dfsg/lib/private/helper.php      2014-12-01 
16:31:56.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/lib/private/helper.php      2014-12-05 
10:46:16.000000000 -0400
@@ -1049,4 +1049,12 @@
                return array('free' => $free, 'used' => $used, 'total' => 
$total, 'relative' => $relative);
 
        }
+
+       /**
+        * Returns whether the config file is set manually to read-only
+        * @return bool
+        */
+       public static function isReadOnlyConfigEnabled() {
+               return 
\OC::$server->getConfig()->getSystemValue('config_is_read_only', false);
+       }
 }
diff -Nru owncloud-7.0.4~rc1+dfsg/lib/private/request.php 
owncloud-7.0.4~rc2+dfsg/lib/private/request.php
--- owncloud-7.0.4~rc1+dfsg/lib/private/request.php     2014-12-01 
16:31:56.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/lib/private/request.php     2014-12-05 
10:46:16.000000000 -0400
@@ -27,23 +27,33 @@
        }
 
        /**
+        * Strips a potential port from a domain (in format domain:port)
+        * @param $host
+        * @return string $host without appended port
+        */
+       public static function getDomainWithoutPort($host) {
+               $pos = strrpos($host, ':');
+               if ($pos !== false) {
+                       $port = substr($host, $pos + 1);
+                       if (is_numeric($port)) {
+                               $host = substr($host, 0, $pos);
+                       }
+               }
+               return $host;
+       }
+
+       /**
         * Checks whether a domain is considered as trusted from the list
         * of trusted domains. If no trusted domains have been configured, 
returns
         * true.
         * This is used to prevent Host Header Poisoning.
-        * @param string $domain
+        * @param string $domainWithPort
         * @return bool true if the given domain is trusted or if no trusted 
domains
         * have been configured
         */
-       public static function isTrustedDomain($domain) {
+       public static function isTrustedDomain($domainWithPort) {
                // Extract port from domain if needed
-               $pos = strrpos($domain, ':');
-               if ($pos !== false) {
-                       $port = substr($domain, $pos + 1);
-                       if (is_numeric($port)) {
-                               $domain = substr($domain, 0, $pos);
-                       }
-               }
+               $domain = self::getDomainWithoutPort($domainWithPort);
 
                // FIXME: Empty config array defaults to true for now. - 
Deprecate this behaviour with ownCloud 8.
                $trustedList = 
\OC::$server->getConfig()->getSystemValue('trusted_domains', array());
@@ -51,6 +61,11 @@
                        return true;
                }
 
+               // FIXME: Workaround for older instances still with port 
applied. Remove for ownCloud 9.
+               if(in_array($domainWithPort, $trustedList)) {
+                       return true;
+               }
+
                // Always allow access from localhost
                if (preg_match(self::REGEX_LOCALHOST, $domain) === 1) {
                        return true;
diff -Nru owncloud-7.0.4~rc1+dfsg/lib/private/setup.php 
owncloud-7.0.4~rc2+dfsg/lib/private/setup.php
--- owncloud-7.0.4~rc1+dfsg/lib/private/setup.php       2014-12-01 
16:31:56.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/lib/private/setup.php       2014-12-05 
10:46:16.000000000 -0400
@@ -166,7 +166,7 @@
                    && is_array($options['trusted_domains'])) {
                        $trustedDomains = $options['trusted_domains'];
                } else {
-                       $trustedDomains = array(OC_Request::serverHost());
+                       $trustedDomains = 
array(\OC_Request::getDomainWithoutPort(\OC_Request::serverHost()));
                }
 
                if (OC_Util::runningOnWindows()) {
diff -Nru owncloud-7.0.4~rc1+dfsg/settings/admin.php 
owncloud-7.0.4~rc2+dfsg/settings/admin.php
--- owncloud-7.0.4~rc1+dfsg/settings/admin.php  2014-12-01 16:31:56.000000000 
-0400
+++ owncloud-7.0.4~rc2+dfsg/settings/admin.php  2014-12-05 10:46:16.000000000 
-0400
@@ -42,6 +42,7 @@
 $tmpl->assign('entries', $entries);
 $tmpl->assign('entriesremain', $entriesremain);
 $tmpl->assign('htaccessworking', $htaccessworking);
+$tmpl->assign('readOnlyConfigEnabled', OC_Helper::isReadOnlyConfigEnabled());
 $tmpl->assign('isLocaleWorking', OC_Util::isSetLocaleWorking());
 $tmpl->assign('isAnnotationsWorking', OC_Util::isAnnotationsWorking());
 $tmpl->assign('has_fileinfo', OC_Util::fileInfoLoaded());
@@ -56,6 +57,7 @@
 $excludeGroups = OC_Appconfig::getValue('core', 'shareapi_exclude_groups', 
'no') === 'yes' ? true : false;
 $tmpl->assign('shareExcludeGroups', $excludeGroups);
 $excludedGroupsList = OC_Appconfig::getValue('core', 
'shareapi_exclude_groups_list', '');
+
 $excludedGroupsList = explode(',', $excludedGroupsList); // FIXME: this should 
be JSON!
 $tmpl->assign('shareExcludedGroupsList', implode('|', $excludedGroupsList));
 
diff -Nru owncloud-7.0.4~rc1+dfsg/settings/templates/admin.php 
owncloud-7.0.4~rc2+dfsg/settings/templates/admin.php
--- owncloud-7.0.4~rc1+dfsg/settings/templates/admin.php        2014-12-01 
16:31:56.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/settings/templates/admin.php        2014-12-05 
10:46:16.000000000 -0400
@@ -62,14 +62,28 @@
 // is htaccess working ?
 if (!$_['htaccessworking']) {
        ?>
-<div class="section">
-       <h2><?php p($l->t('Security Warning'));?></h2>
+       <div class="section">
+               <h2><?php p($l->t('Security Warning')); ?></h2>
 
        <span class="securitywarning">
                <?php p($l->t('Your data directory and your files are probably 
accessible from the internet. The .htaccess file is not working. We strongly 
suggest that you configure your webserver in a way that the data directory is 
no longer accessible or you move the data directory outside the webserver 
document root.')); ?>
        </span>
 
-</div>
+       </div>
+<?php
+}
+
+// is read only config enabled
+if ($_['readOnlyConfigEnabled']) {
+?>
+<div class="section">
+       <h2><?php p($l->t('Read-Only config enabled'));?></h2>
+
+       <span class="securitywarning">
+               <?php p($l->t('The Read-Only config has been enabled. This 
prevents setting some configurations via the web-interface. Furthermore, the 
file needs to be made writable manually for every update.')); ?>
+       </span>
+
+       </div>
 <?php
 }
 
diff -Nru owncloud-7.0.4~rc1+dfsg/version.php 
owncloud-7.0.4~rc2+dfsg/version.php
--- owncloud-7.0.4~rc1+dfsg/version.php 2014-12-01 16:33:08.000000000 -0400
+++ owncloud-7.0.4~rc2+dfsg/version.php 2014-12-05 10:47:39.000000000 -0400
@@ -1,6 +1,6 @@
 <?php 
-$OC_Version = array(7,0,3,4);
-$OC_VersionString = '7.0.3';
+$OC_Version = array(7,0,4,1);
+$OC_VersionString = '7.0.4 RC2';
 $OC_Edition = '';
 $OC_Channel = 'testing';
-$OC_Build = '2014-12-01T20:33:08+00:00';
+$OC_Build = '2014-12-05T14:47:39+00:00';

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to