Your message dated Sat, 22 Nov 2014 17:24:03 +0100
with message-id <5470b8a3.9010...@thykier.net>
and subject line Re: Bug#770609: unblock: drupal7/7.32-1+deb8u1 (pre-approval)
has caused the Debian Bug report #770609,
regarding unblock: drupal7/7.32-1+deb8u1 (pre-approval)
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
770609: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770609
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package drupal7

My upload includes two important security fixes plus several minor
reliability fixes, backported respectively from versions 7.33 and
7.34.

Debdiff attached, or available via anonscm:

  
https://anonscm.debian.org/cgit/collab-maint/drupal7.git/diff/?id=debian/7.32-1%2bdeb8u1&id2=debian/7.32-1

I don't know how rigurous this "pre-approval" is, but I checked this
with jmw yesterday on IRC.

Thanks!

unblock drupal7/7.32-1+deb8u1

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru drupal7-7.32/debian/changelog drupal7-7.32/debian/changelog
--- drupal7-7.32/debian/changelog       2014-10-15 11:34:54.000000000 -0500
+++ drupal7-7.32/debian/changelog       2014-11-21 13:28:18.000000000 -0600
@@ -1,3 +1,14 @@
+drupal7 (7.32-1+deb8u1) unstable; urgency=high
+
+  * Updated the VCS URL in debian/control as git.debian.org is deprecated
+  * Debian has frozen! We will start backporting the important fixes to
+    7.32
+  * Backported from 7.34: SA-CORE-2014-006 (Session hijacking CVE-2014-
+    9015, Denial of service CVE-2014-9016)
+  * Several minor reliability fixes backported from 7.33
+
+ -- Gunnar Wolf <gw...@debian.org>  Wed, 15 Oct 2014 12:45:29 -0500
+
 drupal7 (7.32-1) unstable; urgency=critical
 
   * New upstream release
diff -Nru drupal7-7.32/debian/control drupal7-7.32/debian/control
--- drupal7-7.32/debian/control 2014-10-15 11:34:54.000000000 -0500
+++ drupal7-7.32/debian/control 2014-11-21 13:28:18.000000000 -0600
@@ -6,7 +6,7 @@
 Build-Depends: debhelper (>= 7.0.50~), yui-compressor
 Homepage: http://www.drupal.org/
 Standards-Version: 3.9.6.0
-Vcs-Git: git://git.debian.org/git/collab-maint/drupal7.git
+Vcs-Git: git://anonscm.debian.org/collab-maint/drupal7.git
 Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/drupal7.git
 
 Package: drupal7
diff -Nru drupal7-7.32/debian/patches/ajax_throbber_align 
drupal7-7.32/debian/patches/ajax_throbber_align
--- drupal7-7.32/debian/patches/ajax_throbber_align     1969-12-31 
18:00:00.000000000 -0600
+++ drupal7-7.32/debian/patches/ajax_throbber_align     2014-11-21 
13:28:18.000000000 -0600
@@ -0,0 +1,112 @@
+Origin: vendor
+Forwarded: not-needed
+From: Gunnar Wolf <gw...@debian.org>
+Last-Update: 2014-11-21
+Description: Fixes alignment issue in the Ajax progress throbber
+ Fixed a bug which caused the Ajax progress throbber to appear misaligned in
+ many situatons (minor styling change).
+ .
+ Fixes Drupal issue #1069152
+ .
+ Backported from 7.33.
+Index: drupal7/modules/system/system.base-rtl.css
+===================================================================
+--- drupal7.orig/modules/system/system.base-rtl.css
++++ drupal7/modules/system/system.base-rtl.css
+@@ -9,10 +9,10 @@
+  */
+ /* Animated throbber */
+ html.js input.form-autocomplete {
+-  background-position: 0% 2px;
++  background-position: 0% center;
+ }
+ html.js input.throbbing {
+-  background-position: 0% -18px;
++  background-position: 0% center;
+ }
+ 
+ /**
+Index: drupal7/modules/system/system.base.css
+===================================================================
+--- drupal7.orig/modules/system/system.base.css
++++ drupal7/modules/system/system.base.css
+@@ -31,12 +31,13 @@
+ }
+ /* Animated throbber */
+ html.js input.form-autocomplete {
+-  background-image: url(../../misc/throbber.gif);
+-  background-position: 100% 2px; /* LTR */
++  background-image: url(../../misc/throbber-inactive.png);
++  background-position: 100% center; /* LTR */
+   background-repeat: no-repeat;
+ }
+ html.js input.throbbing {
+-  background-position: 100% -18px; /* LTR */
++  background-image: url(../../misc/throbber-active.gif);
++  background-position: 100% center; /* LTR */
+ }
+ 
+ /**
+@@ -164,7 +165,7 @@ table.sticky-header {
+   display: inline-block;
+ }
+ .ajax-progress .throbber {
+-  background: transparent url(../../misc/throbber.gif) no-repeat 0px -18px;
++  background: transparent url(../../misc/throbber-active.gif) no-repeat 0px 
center;
+   float: left; /* LTR */
+   height: 15px;
+   margin: 2px;
+Index: drupal7/themes/bartik/css/style.css
+===================================================================
+--- drupal7.orig/themes/bartik/css/style.css
++++ drupal7/themes/bartik/css/style.css
+@@ -1326,14 +1326,6 @@ input.form-button-disabled:active,
+   color: #717171;
+ }
+ 
+-/* Animated throbber */
+-html.js input.form-autocomplete {
+-  background-position: 100% 4px; /* LTR */
+-}
+-html.js input.throbbing {
+-  background-position: 100% -16px; /* LTR */
+-}
+-
+ /* Comment form */
+ .comment-form label {
+   float: left; /* LTR */
+Index: drupal7/themes/seven/style.css
+===================================================================
+--- drupal7.orig/themes/seven/style.css
++++ drupal7/themes/seven/style.css
+@@ -709,12 +709,7 @@ select.form-select:focus {
+   color: #000;
+   border-color: #ace;
+ }
+-html.js input.form-autocomplete {
+-  background-position: 100% 4px;
+-}
+-html.js input.throbbing {
+-  background-position: 100% -16px;
+-}
++
+ ul.action-links {
+   margin: 1em 0;
+   padding: 0 20px 0 20px; /* LTR */
+Index: drupal7/themes/bartik/css/style-rtl.css
+===================================================================
+--- drupal7.orig/themes/bartik/css/style-rtl.css
++++ drupal7/themes/bartik/css/style-rtl.css
+@@ -225,10 +225,10 @@ ul.action-links li a {
+ 
+ /* Animated throbber */
+ html.js input.form-autocomplete {
+-  background-position: 1% 4px;
++  background-position: 1% center;
+ }
+ html.js input.throbbing {
+-  background-position: 1% -16px;
++  background-position: 1% center;
+ }
+ 
+ /* Comment form */
diff -Nru drupal7-7.32/debian/patches/db_sanitize_orderby 
drupal7-7.32/debian/patches/db_sanitize_orderby
--- drupal7-7.32/debian/patches/db_sanitize_orderby     1969-12-31 
18:00:00.000000000 -0600
+++ drupal7-7.32/debian/patches/db_sanitize_orderby     2014-11-21 
13:28:18.000000000 -0600
@@ -0,0 +1,71 @@
+Origin: vendor
+Forwarded: not-needed
+From: Gunnar Wolf <gw...@debian.org>
+Last-Update: 2014-11-21
+Description: Fixes Drupal issue #829464
+ Security improvement: Made the database API's orderBy() method sanitize the
+ sort direction ("ASC" or "DESC") for queries built with db_select(), so that
+ calling code does not have to.
+ .
+ Backported from 7.33.
+Index: drupal7/includes/database/select.inc
+===================================================================
+--- drupal7.orig/includes/database/select.inc
++++ drupal7/includes/database/select.inc
+@@ -377,7 +377,8 @@ interface SelectQueryInterface extends Q
+    * @param $field
+    *   The field on which to order.
+    * @param $direction
+-   *   The direction to sort. Legal values are "ASC" and "DESC".
++   *   The direction to sort. Legal values are "ASC" and "DESC". Any other 
value
++   *   will be converted to "ASC".
+    * @return SelectQueryInterface
+    *   The called object.
+    */
+@@ -1384,6 +1385,8 @@ class SelectQuery extends Query implemen
+   }
+ 
+   public function orderBy($field, $direction = 'ASC') {
++    // Only allow ASC and DESC, default to ASC.
++    $direction = strtoupper($direction) == 'DESC' ? 'DESC' : 'ASC';
+     $this->order[$field] = $direction;
+     return $this;
+   }
+Index: drupal7/includes/tablesort.inc
+===================================================================
+--- drupal7.orig/includes/tablesort.inc
++++ drupal7/includes/tablesort.inc
+@@ -46,10 +46,9 @@ class TableSort extends SelectQueryExten
+       // Based on code from db_escape_table(), but this can also contain a 
dot.
+       $field = preg_replace('/[^A-Za-z0-9_.]+/', '', $ts['sql']);
+ 
+-      // Sort order can only be ASC or DESC.
+-      $sort = drupal_strtoupper($ts['sort']);
+-      $sort = in_array($sort, array('ASC', 'DESC')) ? $sort : '';
+-      $this->orderBy($field, $sort);
++      // orderBy() will ensure that only ASC/DESC values are accepted, so we
++      // don't need to sanitize that here.
++      $this->orderBy($field, $ts['sort']);
+     }
+     return $this;
+   }
+Index: drupal7/modules/simpletest/tests/database_test.test
+===================================================================
+--- drupal7.orig/modules/simpletest/tests/database_test.test
++++ drupal7/modules/simpletest/tests/database_test.test
+@@ -1947,6 +1947,15 @@ class DatabaseSelectOrderedTestCase exte
+ 
+     $this->assertEqual($num_records, 4, 'Returned the correct number of 
rows.');
+   }
++
++  /**
++   * Tests that the sort direction is sanitized properly.
++   */
++  function testOrderByEscaping() {
++    $query = db_select('test')->orderBy('name', 'invalid direction');
++    $order_bys = $query->getOrderBy();
++    $this->assertEqual($order_bys['name'], 'ASC', 'Invalid order by direction 
is converted to ASC.');
++  }
+ }
+ 
+ /**
diff -Nru drupal7-7.32/debian/patches/dont_lose_user_pictures 
drupal7-7.32/debian/patches/dont_lose_user_pictures
--- drupal7-7.32/debian/patches/dont_lose_user_pictures 1969-12-31 
18:00:00.000000000 -0600
+++ drupal7-7.32/debian/patches/dont_lose_user_pictures 2014-11-21 
13:28:18.000000000 -0600
@@ -0,0 +1,56 @@
+Origin: vendor
+Forwarded: not-needed
+From: Gunnar Wolf <gw...@debian.org>
+Last-Update: 2014-11-21
+Description: Avoid losing user pictures when re-saving
+ Fixed a bug which caused user pictures to be removed from the user object
+ after saving, and resulted in data loss if the user account was subsequently
+ re-saved.
+ .
+ Fixes Drupal issue #935592
+ .
+ Backported from 7.33.
+Index: drupal7/modules/user/user.module
+===================================================================
+--- drupal7.orig/modules/user/user.module
++++ drupal7/modules/user/user.module
+@@ -501,12 +501,17 @@ function user_save($account, $edit = arr
+         file_usage_delete($account->original->picture, 'user', 'user', 
$account->uid);
+         file_delete($account->original->picture);
+       }
++      // Save the picture object, if it is set. drupal_write_record() expects
++      // $account->picture to be a FID.
++      $picture = empty($account->picture) ? NULL : $account->picture;
+       $account->picture = empty($account->picture->fid) ? 0 : 
$account->picture->fid;
+ 
+       // Do not allow 'uid' to be changed.
+       $account->uid = $account->original->uid;
+       // Save changes to the user table.
+       $success = drupal_write_record('users', $account, 'uid');
++      // Restore the picture object.
++      $account->picture = $picture;
+       if ($success === FALSE) {
+         // The query failed - better to abort the save than risk further
+         // data loss.
+Index: drupal7/modules/user/user.test
+===================================================================
+--- drupal7.orig/modules/user/user.test
++++ drupal7/modules/user/user.test
+@@ -1127,6 +1127,17 @@ class UserPictureTestCase extends Drupal
+ 
+       $pic_path2 = $this->saveUserPicture($image);
+       $this->assertNotEqual($pic_path, $pic_path2, 'Filename of second 
picture is different.');
++
++      // Check if user picture has a valid file ID after saving the user.
++      $account = user_load($this->user->uid, TRUE);
++      $this->assertTrue(is_object($account->picture), 'User picture object is 
valid after user load.');
++      $this->assertNotNull($account->picture->fid, 'User picture object has a 
FID after user load.');
++      $this->assertTrue(is_file($account->picture->uri), 'File is located in 
proper directory after user load.');
++      user_save($account);
++      // Verify that the user save does not destroy the user picture object.
++      $this->assertTrue(is_object($account->picture), 'User picture object is 
valid after user save.');
++      $this->assertNotNull($account->picture->fid, 'User picture object has a 
FID after user save.');
++      $this->assertTrue(is_file($account->picture->uri), 'File is located in 
proper directory after user save.');
+     }
+   }
+ 
diff -Nru drupal7-7.32/debian/patches/fix_bootstrap_phase 
drupal7-7.32/debian/patches/fix_bootstrap_phase
--- drupal7-7.32/debian/patches/fix_bootstrap_phase     1969-12-31 
18:00:00.000000000 -0600
+++ drupal7-7.32/debian/patches/fix_bootstrap_phase     2014-11-21 
13:28:18.000000000 -0600
@@ -0,0 +1,65 @@
+Origin: vendor
+Forwarded: not-needed
+From: Gunnar Wolf <gw...@debian.org>
+Last-Update: 2014-11-21
+Description: Fixes Drupal issue #667098
+ Fixed a bug which caused drupal_get_bootstrap_phase() to abort the bootstrap
+ when called early in the page request.
+ .
+ Backported from 7.33.
+
+Index: drupal7/includes/bootstrap.inc
+===================================================================
+--- drupal7.orig/includes/bootstrap.inc
++++ drupal7/includes/bootstrap.inc
+@@ -2176,7 +2176,7 @@ function drupal_anonymous_user() {
+  *   drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
+  * @endcode
+  *
+- * @param $phase
++ * @param int $phase
+  *   A constant telling which phase to bootstrap to. When you bootstrap to a
+  *   particular phase, all earlier phases are run automatically. Possible
+  *   values:
+@@ -2189,11 +2189,11 @@ function drupal_anonymous_user() {
+  *   - DRUPAL_BOOTSTRAP_LANGUAGE: Finds out the language of the page.
+  *   - DRUPAL_BOOTSTRAP_FULL: Fully loads Drupal. Validates and fixes input
+  *     data.
+- * @param $new_phase
++ * @param boolean $new_phase
+  *   A boolean, set to FALSE if calling drupal_bootstrap from inside a
+  *   function called from drupal_bootstrap (recursion).
+  *
+- * @return
++ * @return int
+  *   The most recently completed phase.
+  */
+ function drupal_bootstrap($phase = NULL, $new_phase = TRUE) {
+@@ -2215,12 +2215,13 @@ function drupal_bootstrap($phase = NULL,
+   // bootstrap state.
+   static $stored_phase = -1;
+ 
+-  // When not recursing, store the phase name so it's not forgotten while
+-  // recursing.
+-  if ($new_phase) {
+-    $final_phase = $phase;
+-  }
+   if (isset($phase)) {
++    // When not recursing, store the phase name so it's not forgotten while
++    // recursing but take care of not going backwards.
++    if ($new_phase && $phase >= $stored_phase) {
++      $final_phase = $phase;
++    }
++
+     // Call a phase if it has not been called before and is below the 
requested
+     // phase.
+     while ($phases && $phase > $stored_phase && $final_phase > $stored_phase) 
{
+@@ -2508,7 +2509,7 @@ function _drupal_bootstrap_page_header()
+  * @see drupal_bootstrap()
+  */
+ function drupal_get_bootstrap_phase() {
+-  return drupal_bootstrap();
++  return drupal_bootstrap(NULL, FALSE);
+ }
+ 
+ /**
diff -Nru drupal7-7.32/debian/patches/fix_field_has_data_return 
drupal7-7.32/debian/patches/fix_field_has_data_return
--- drupal7-7.32/debian/patches/fix_field_has_data_return       1969-12-31 
18:00:00.000000000 -0600
+++ drupal7-7.32/debian/patches/fix_field_has_data_return       2014-11-21 
13:28:18.000000000 -0600
@@ -0,0 +1,108 @@
+Origin: vendor
+Forwarded: not-needed
+From: Gunnar Wolf <gw...@debian.org>
+Last-Update: 2014-11-21
+Description: Avoid data loss on entities with revisions due to wrong return 
code
+ Fixed a bug in which field_has_data() did not return TRUE for fields that
+ only had data in older entity revisions, leading to loss of the field's data
+ when the field configuration was edited.
+ .
+ Fixes Drupal issue #2278583
+ .
+ Backported from 7.33.
+Index: drupal7/modules/field/field.module
+===================================================================
+--- drupal7.orig/modules/field/field.module
++++ drupal7/modules/field/field.module
+@@ -947,14 +947,17 @@ function field_get_items($entity_type, $
+  */
+ function field_has_data($field) {
+   $query = new EntityFieldQuery();
+-  return (bool) $query
+-    ->fieldCondition($field)
++  $query = $query->fieldCondition($field)
+     ->range(0, 1)
+     ->count()
+     // Neutralize the 'entity_field_access' query tag added by
+     // field_sql_storage_field_storage_query(). The result cannot depend on 
the
+     // access grants of the current user.
+-    ->addTag('DANGEROUS_ACCESS_CHECK_OPT_OUT')
++    ->addTag('DANGEROUS_ACCESS_CHECK_OPT_OUT');
++
++  return (bool) $query
++    ->execute() || (bool) $query
++    ->age(FIELD_LOAD_REVISION)
+     ->execute();
+ }
+ 
+Index: drupal7/modules/field/tests/field.test
+===================================================================
+--- drupal7.orig/modules/field/tests/field.test
++++ drupal7/modules/field/tests/field.test
+@@ -485,6 +485,66 @@ class FieldAttachStorageTestCase extends
+   }
+ 
+   /**
++   * Test field_has_data().
++   */
++  function testFieldHasData() {
++    $entity_type = 'test_entity';
++    $langcode = LANGUAGE_NONE;
++
++    $field_name = 'field_1';
++    $field = array('field_name' => $field_name, 'type' => 'test_field');
++    $field = field_create_field($field);
++
++    $this->assertFalse(field_has_data($field), "No data should be detected.");
++
++    $instance = array(
++      'field_name' => $field_name,
++      'entity_type' => 'test_entity',
++      'bundle' => 'test_bundle'
++    );
++    $instance = field_create_instance($instance);
++    $table = _field_sql_storage_tablename($field);
++    $revision_table = _field_sql_storage_revision_tablename($field);
++
++    $columns = array('entity_type', 'entity_id', 'revision_id', 'delta', 
'language', $field_name . '_value');
++
++    $eid = 0;
++
++    // Insert values into the field revision table.
++    $query = db_insert($revision_table)->fields($columns);
++    $query->values(array($entity_type, $eid, 0, 0, $langcode, 1));
++    $query->execute();
++
++    $this->assertTrue(field_has_data($field), "Revision data only should be 
detected.");
++
++    $field_name = 'field_2';
++    $field = array('field_name' => $field_name, 'type' => 'test_field');
++    $field = field_create_field($field);
++
++    $this->assertFalse(field_has_data($field), "No data should be detected.");
++
++    $instance = array(
++      'field_name' => $field_name,
++      'entity_type' => 'test_entity',
++      'bundle' => 'test_bundle'
++    );
++    $instance = field_create_instance($instance);
++    $table = _field_sql_storage_tablename($field);
++    $revision_table = _field_sql_storage_revision_tablename($field);
++
++    $columns = array('entity_type', 'entity_id', 'revision_id', 'delta', 
'language', $field_name . '_value');
++
++    $eid = 1;
++
++    // Insert values into the field table.
++    $query = db_insert($table)->fields($columns);
++    $query->values(array($entity_type, $eid, 0, 0, $langcode, 1));
++    $query->execute();
++
++    $this->assertTrue(field_has_data($field), "Values only in field table 
should be detected.");
++  }
++
++  /**
+    * Test field_attach_delete().
+    */
+   function testFieldAttachDelete() {
diff -Nru drupal7-7.32/debian/patches/SA-CORE-2014-006 
drupal7-7.32/debian/patches/SA-CORE-2014-006
--- drupal7-7.32/debian/patches/SA-CORE-2014-006        1969-12-31 
18:00:00.000000000 -0600
+++ drupal7-7.32/debian/patches/SA-CORE-2014-006        2014-11-21 
13:28:18.000000000 -0600
@@ -0,0 +1,79 @@
+Origin: vendor
+Forwarded: not-needed
+From: Gunnar Wolf <gw...@debian.org>
+Last-Update: 2014-11-21
+Description: Fixes SA-CORE-2014-006 (Session hijacking, Denial of service)
+ Backporting the diff between versions 7.33 and 7.34, applying it to
+ the currently frozen version (7.32). For further details, the
+ advisory is in:
+ .
+ http://drupal.org/SA-CORE-2014-006
+ This fix coves CVE-2014-9015 and CVE-2014-9016.
+
+Index: drupal7/includes/password.inc
+===================================================================
+--- drupal7.orig/includes/password.inc
++++ drupal7/includes/password.inc
+@@ -140,7 +140,7 @@ function _password_enforce_log2_boundari
+  * @param $algo
+  *   The string name of a hashing algorithm usable by hash(), like 'sha256'.
+  * @param $password
+- *   The plain-text password to hash.
++ *   Plain-text password up to 512 bytes (128 to 512 UTF-8 characters) to 
hash.
+  * @param $setting
+  *   An existing hash or the output of _password_generate_salt().  Must be
+  *   at least 12 characters (the settings and salt).
+@@ -150,6 +150,10 @@ function _password_enforce_log2_boundari
+  *   The return string will be truncated at DRUPAL_HASH_LENGTH characters max.
+  */
+ function _password_crypt($algo, $password, $setting) {
++  // Prevent DoS attacks by refusing to hash large passwords.
++  if (strlen($password) > 512) {
++    return FALSE;
++  }
+   // The first 12 characters of an existing hash are its setting string.
+   $setting = substr($setting, 0, 12);
+ 
+Index: drupal7/includes/session.inc
+===================================================================
+--- drupal7.orig/includes/session.inc
++++ drupal7/includes/session.inc
+@@ -79,7 +79,7 @@ function _drupal_session_read($sid) {
+   // Handle the case of first time visitors and clients that don't store
+   // cookies (eg. web crawlers).
+   $insecure_session_name = substr(session_name(), 1);
+-  if (!isset($_COOKIE[session_name()]) && 
!isset($_COOKIE[$insecure_session_name])) {
++  if (empty($sid) || (!isset($_COOKIE[session_name()]) && 
!isset($_COOKIE[$insecure_session_name]))) {
+     $user = drupal_anonymous_user();
+     return '';
+   }
+Index: drupal7/modules/simpletest/tests/password.test
+===================================================================
+--- drupal7.orig/modules/simpletest/tests/password.test
++++ drupal7/modules/simpletest/tests/password.test
+@@ -57,4 +57,25 @@ class PasswordHashingTest extends Drupal
+     $this->assertFalse(user_needs_new_hash($account), 'Re-hashed password 
does not need a new hash.');
+     $this->assertTrue(user_check_password($password, $account), 'Password 
check succeeds with re-hashed password.');
+   }
++
++  /**
++   * Verifies that passwords longer than 512 bytes are not hashed.
++   */
++  public function testLongPassword() {
++    $password = str_repeat('x', 512);
++    $result = user_hash_password($password);
++    $this->assertFalse(empty($result), '512 byte long password is allowed.');
++    $password = str_repeat('x', 513);
++    $result = user_hash_password($password);
++    $this->assertFalse($result, '513 byte long password is not allowed.');
++    // Check a string of 3-byte UTF-8 characters.
++    $password = str_repeat('€', 170);
++    $result = user_hash_password($password);
++    $this->assertFalse(empty($result), '510 byte long password is allowed.');
++    $password .= 'xx';
++    $this->assertFalse(empty($result), '512 byte long password is allowed.');
++    $password = str_repeat('€', 171);
++    $result = user_hash_password($password);
++    $this->assertFalse($result, '513 byte long password is not allowed.');
++  }
+ }
diff -Nru drupal7-7.32/debian/patches/series drupal7-7.32/debian/patches/series
--- drupal7-7.32/debian/patches/series  2014-10-15 11:34:54.000000000 -0500
+++ drupal7-7.32/debian/patches/series  2014-11-21 13:28:18.000000000 -0600
@@ -1,2 +1,9 @@
 cronjob.patch
 debian_security_warning
+SA-CORE-2014-006
+fix_bootstrap_phase
+unicode_for_php_5.6
+db_sanitize_orderby
+ajax_throbber_align
+fix_field_has_data_return
+dont_lose_user_pictures
diff -Nru drupal7-7.32/debian/patches/unicode_for_php_5.6 
drupal7-7.32/debian/patches/unicode_for_php_5.6
--- drupal7-7.32/debian/patches/unicode_for_php_5.6     1969-12-31 
18:00:00.000000000 -0600
+++ drupal7-7.32/debian/patches/unicode_for_php_5.6     2014-11-21 
13:28:18.000000000 -0600
@@ -0,0 +1,34 @@
+Origin: vendor
+Forwarded: not-needed
+From: Gunnar Wolf <gw...@debian.org>
+Last-Update: 2014-11-21
+Description: Fixes Drupal issue #2332295
+ Fixed a bug in the Unicode requirements check which prevented installing 
Drupal on PHP 5.6.
+ .
+ Backported from 7.33.
+
+Index: drupal7/includes/unicode.inc
+===================================================================
+--- drupal7.orig/includes/unicode.inc
++++ drupal7/includes/unicode.inc
+@@ -116,11 +116,15 @@ function _unicode_check() {
+   if (ini_get('mbstring.encoding_translation') != 0) {
+     return array(UNICODE_ERROR, $t('Multibyte string input conversion in PHP 
is active and must be disabled. Check the php.ini 
<em>mbstring.encoding_translation</em> setting. Please refer to the <a 
href="@url">PHP mbstring documentation</a> for more information.', array('@url' 
=> 'http://www.php.net/mbstring')));
+   }
+-  if (ini_get('mbstring.http_input') != 'pass') {
+-    return array(UNICODE_ERROR, $t('Multibyte string input conversion in PHP 
is active and must be disabled. Check the php.ini <em>mbstring.http_input</em> 
setting. Please refer to the <a href="@url">PHP mbstring documentation</a> for 
more information.', array('@url' => 'http://www.php.net/mbstring')));
+-  }
+-  if (ini_get('mbstring.http_output') != 'pass') {
+-    return array(UNICODE_ERROR, $t('Multibyte string output conversion in PHP 
is active and must be disabled. Check the php.ini <em>mbstring.http_output</em> 
setting. Please refer to the <a href="@url">PHP mbstring documentation</a> for 
more information.', array('@url' => 'http://www.php.net/mbstring')));
++  // mbstring.http_input and mbstring.http_output are deprecated and empty by
++  // default in PHP 5.6.
++  if (version_compare(PHP_VERSION, '5.6.0') == -1) {
++    if (ini_get('mbstring.http_input') != 'pass') {
++      return array(UNICODE_ERROR, $t('Multibyte string input conversion in 
PHP is active and must be disabled. Check the php.ini 
<em>mbstring.http_input</em> setting. Please refer to the <a href="@url">PHP 
mbstring documentation</a> for more information.', array('@url' => 
'http://www.php.net/mbstring')));
++    }
++    if (ini_get('mbstring.http_output') != 'pass') {
++      return array(UNICODE_ERROR, $t('Multibyte string output conversion in 
PHP is active and must be disabled. Check the php.ini 
<em>mbstring.http_output</em> setting. Please refer to the <a href="@url">PHP 
mbstring documentation</a> for more information.', array('@url' => 
'http://www.php.net/mbstring')));
++    }
+   }
+ 
+   // Set appropriate configuration

--- End Message ---
--- Begin Message ---
On 2014-11-22 17:16, Gunnar Wolf wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian....@packages.debian.org
> Usertags: unblock
> 
> Please unblock package drupal7
> 
> My upload includes two important security fixes plus several minor
> reliability fixes, backported respectively from versions 7.33 and
> 7.34.
> 
> Debdiff attached, or available via anonscm:
> 
>   
> https://anonscm.debian.org/cgit/collab-maint/drupal7.git/diff/?id=debian/7.32-1%2bdeb8u1&id2=debian/7.32-1
> 
> I don't know how rigurous this "pre-approval" is, but I checked this
> with jmw yesterday on IRC.
> 
> Thanks!
> 
> unblock drupal7/7.32-1+deb8u1
> 
>[...]

Hi,

Given you have already uploaded this, I would not call it a
pre-approval.  :)

Anyhow, unblocked, thanks.

~Niels

--- End Message ---

Reply via email to