Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
12d3325
Back to 7.x-dev
webchick Jun 30, 2011
4cede69
Issue #1204648 by webchick: Fixed Tests added for SA-2011-CORE-002 br…
webchick Jun 30, 2011
8b91366
Issue #1083982 by Damien Tournoud: Fixed support for remote streamwra…
webchick Jun 30, 2011
33f6c56
Issue #634616 by effulgentsia, rfay, sun: Fixed Various problems due …
webchick Jun 30, 2011
2608c67
Issue #1130198 by pillarsdotnet, Damien Tournoud: Fixed Regression: l…
webchick Jun 30, 2011
2c01d05
Issue #1049462 by rfay: Fixed Usage of deprecated form_state['clicked…
webchick Jun 30, 2011
66d0e0e
Issue #1101678 by cwells73, jhodgdon: Fixed documentation for hook_se…
webchick Jun 30, 2011
db4bc4b
Issue #188947 by lyricnz: Fixed date_validate()(form) should be date_…
webchick Jun 30, 2011
c40fde0
Issue #1198396 by pillarsdotnet, jhodgdon: Fixed Add required docs to…
webchick Jun 30, 2011
0f9c135
Issue #813052 by lyricnz, droplet, dinknaround: Fixed Undefined index…
webchick Jun 30, 2011
41efebc
Issue #1192178 by pillarsdotnet: Changed The user_module_invoke() fun…
webchick Jun 30, 2011
214fb8d
Issue #1071846 by gbrands: Fixed conf_path() doc needs cleanup.
webchick Jun 30, 2011
a79e2f0
Issue #1203766 by sun, lyricnz: Fixed With large number of permission…
webchick Jul 3, 2011
e5e0a1c
Issue #1204844 by good_man: Fixed User module lacks a little RTL.
webchick Jul 3, 2011
6fb1e60
Issue #1205882 by Psikik, rbayliss: Fixed hook_delete() function body…
webchick Jul 3, 2011
d9e7c80
Issue #1203852 by pwolanin: Changed Increase hashing iterations for m…
webchick Jul 3, 2011
03ff538
Issue #1103590 by dcrocks: Fixed blocks being added to 'hidden' regio…
webchick Jul 3, 2011
d527a06
Issue #978028 by Dave Reid: Fixed File token fixes: [file:description…
webchick Jul 3, 2011
6923d2a
Issue #1179582 by dalin: Changed l() documentation should mention tha…
webchick Jul 3, 2011
5e4bcf7
Issue #879076 by alex_b, pillarsdotnet, ceardach: Fixed Do not set ex…
webchick Jul 3, 2011
c448440
Issue #1169564 by FreekyMage, jhodgdon: Fixed hook_file_download() - …
webchick Jul 3, 2011
1942cb4
And the .install file for the test. You'd think I wouldn't forget tha…
webchick Jul 4, 2011
1046f0f
Issue #1162022 by sun: Ensure #validate and #submit keys always exist…
webchick Jul 4, 2011
b0af449
Issue #360377 by deviantintegral, janusman: Fixed book_get_books() ca…
webchick Jul 4, 2011
7fd0fe2
Issue #1007830 follow-up by bfroehle: Better fix for nested transacti…
webchick Jul 5, 2011
3675d4f
Issue #1136130 follow-up by pillarsdotnet: Document why WATCHDOG_* co…
webchick Jul 5, 2011
3614a37
Issue #983632 by peterpoe, marcingy, catch: Fixed 'New' comment marke…
webchick Jul 5, 2011
d48016f
Issue #1190110 by oriol_e9g: Fixed hook_theme() has error in the 'fun…
webchick Jul 5, 2011
09c56b4
Issue #1007910 by lyricnz, idflood: Fixed D6->D7 update doesn't conve…
webchick Jul 5, 2011
aed55f9
Issue #1181576 by James_Stallings: Fixed node_get_recent() doc needs …
webchick Jul 6, 2011
d732bf8
Issue #1209470 by Damien Tournoud: Fixed REQUEST_TIME is a float with…
webchick Jul 6, 2011
1f00fb6
Issue #1047070 by douggreen, marcingy, yched: Fixed list_field_update…
webchick Jul 6, 2011
8da5cc2
Issue #237634 by salvis: Document that node_access_write_grants() sho…
webchick Jul 7, 2011
ab71360
Issue #1040262 by tsi: Fixed locale-rtl.css.
webchick Jul 8, 2011
261b66d
Issue #1040262 by tsi: Fixed locale-rtl.css.
webchick Jul 8, 2011
7191d06
Issue #949616 by catch, a.mikheychik, adamdicarlo, dixon_, anavarre: …
webchick Jul 8, 2011
c628ea8
- #1180100 by barbi: Fixed drupal_attributes() doc should mention the…
webchick Jul 10, 2011
f416014
Issue #1196310 by barbi, JamesK: Fixed node_feed() doc does not confo…
webchick Jul 10, 2011
4b187a1
Issue #1187906 by David_Rothstein, tstoeckler: Fixed Shortcut module …
webchick Jul 12, 2011
f2d2cf8
Issue #1010480 by catch: Optimize _menu_navigation_links_rebuild().
webchick Jul 14, 2011
c69b525
Issue #348448 follow-up by jrchamp, catch: Fix E_STRICT errors.
webchick Jul 14, 2011
8ffa608
Issue #929166 by dww, deviantintegral, yoroy: Add warning if private …
webchick Jul 14, 2011
6c410f7
Issue #771448 by Damien Tournoud, attiks: Changed Use proc_open() ins…
webchick Jul 14, 2011
5dc4ddd
Issue #1019470 by benjamin.wss, bfroehle: Ensure that file_directory_…
webchick Jul 14, 2011
a3f4ab1
Issue #931512 by ahwebd, catch, tobiasb: Fixed Node body 'description…
webchick Jul 18, 2011
dafc861
Issue #952970 by clemens.tolboom, yched: Fixed Undefined index: requi…
webchick Jul 18, 2011
e308533
Issue #348448 follow-up by jbrown: Coding standard fixes to E_STRICT …
webchick Jul 18, 2011
2a91ace
Issue #1179426 by chx, xjm: Added tests for SA-CORE-2011-001.
webchick Jul 18, 2011
116f8b6
Issue #898634 by catch, alex_b, chx: Fixed install_drupal(): call to …
webchick Jul 18, 2011
1e99f48
Issue #822054 by agentrickard: Remove site_mission() cruft in system.…
webchick Jul 19, 2011
ee8670c
Issue #1206200 by plach, chx: Add support for field meta conditions i…
webchick Jul 20, 2011
be1bb23
Issue #1164852 by plach: Default the 'translatable' bit on fields to …
webchick Jul 20, 2011
d2f75bf
Issue #1206200 follow-up by chx: Commit missing hunk from 7.x version.
webchick Jul 20, 2011
0fc439e
Issue #1164852 follow-up by plach: Fix node module update which was h…
webchick Jul 21, 2011
349ce13
Issue #634616 follow-up by sun: Documentation and bug fix for 'preven…
webchick Jul 22, 2011
1026302
- #1218954 by Mark Theunissen: Fixed Path aliases broken after upgrade.
webchick Jul 25, 2011
bdc2373
Issue #1000736 by fangel, stBorchert, adorsk: Fixed Term reference au…
webchick Jul 25, 2011
b38a806
Drupal 7.5
webchick Jul 27, 2011
eabb023
Changelog updates, increasing version number.
webchick Jul 27, 2011
1f124bf
Merge branch '7.4-security' into 7.x
webchick Jul 27, 2011
118d988
Merge commit 'tags/7.5'
elliotttf Jul 28, 2011
a94b163
Merge commit 'tags/7.6'
elliotttf Jul 28, 2011
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@

Drupal 7.5, 2011-07-27
----------------------
- Fixed security issue (Access bypass), see SA-CORE-2011-003.

Drupal 7.4, 2011-06-29
----------------------
- Rolled back patch that caused fatal errors in CTools, Feeds, and other modules using the class registry.
Expand Down
39 changes: 34 additions & 5 deletions includes/ajax.inc
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,21 @@
* - #ajax['event']: The JavaScript event to respond to. This is normally
* selected automatically for the type of form widget being used, and
* is only needed if you need to override the default behavior.
* - #ajax['prevent']: A JavaScript event to prevent when 'event' is triggered.
* Defaults to 'click' for #ajax on #type 'submit', 'button', and
* 'image_button'. Multiple events may be specified separated by spaces.
* For example, when binding #ajax behaviors to form buttons, pressing the
* ENTER key within a textfield triggers the 'click' event of the form's first
* submit button. Triggering Ajax in this situation leads to problems, like
* breaking autocomplete textfields. Because of that, Ajax behaviors are bound
* to the 'mousedown' event on form buttons by default. However, binding to
* 'mousedown' rather than 'click' means that it is possible to trigger a
* click by pressing the mouse, holding the mouse button down until the Ajax
* request is complete and the button is re-enabled, and then releasing the
* mouse button. For this case, 'prevent' can be set to 'click', so an
* additional event handler is bound to prevent such a click from triggering a
* non-Ajax form submission. This also prevents a textfield's ENTER press
* triggering a button's non-Ajax form submission behavior.
* - #ajax['method']: The jQuery method to use to place the new HTML.
* Defaults to 'replaceWith'. May be: 'replaceWith', 'append', 'prepend',
* 'before', 'after', or 'html'. See the
Expand Down Expand Up @@ -591,6 +606,7 @@ function ajax_process_form($element, &$form_state) {
* An associative array containing the properties of the element.
* Properties used:
* - #ajax['event']
* - #ajax['prevent']
* - #ajax['path']
* - #ajax['options']
* - #ajax['wrapper']
Expand Down Expand Up @@ -619,13 +635,26 @@ function ajax_pre_render_element($element) {
case 'submit':
case 'button':
case 'image_button':
// Use the mousedown instead of the click event because form
// submission via pressing the enter key triggers a click event on
// submit inputs, inappropriately triggering Ajax behaviors.
// Pressing the ENTER key within a textfield triggers the click event of
// the form's first submit button. Triggering Ajax in this situation
// leads to problems, like breaking autocomplete textfields, so we bind
// to mousedown instead of click.
// @see http://drupal.org/node/216059
$element['#ajax']['event'] = 'mousedown';
// Attach an additional event handler so that Ajax behaviors
// can be triggered still via keyboard input.
// Retain keyboard accessibility by setting 'keypress'. This causes
// ajax.js to trigger 'event' when SPACE or ENTER are pressed while the
// button has focus.
$element['#ajax']['keypress'] = TRUE;
// Binding to mousedown rather than click means that it is possible to
// trigger a click by pressing the mouse, holding the mouse button down
// until the Ajax request is complete and the button is re-enabled, and
// then releasing the mouse button. Set 'prevent' so that ajax.js binds
// an additional handler to prevent such a click from triggering a
// non-Ajax form submission. This also prevents a textfield's ENTER
// press triggering this button's non-Ajax form submission behavior.
if (!isset($element['#ajax']['prevent'])) {
$element['#ajax']['prevent'] = 'click';
}
break;

case 'password':
Expand Down
4 changes: 2 additions & 2 deletions includes/authorize.inc
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ function _authorize_filetransfer_connection_settings_set_defaults(&$element, $ke
function authorize_filetransfer_form_validate($form, &$form_state) {
// Only validate the form if we have collected all of the user input and are
// ready to proceed with updating or installing.
if ($form_state['clicked_button']['#name'] != 'process_updates') {
if ($form_state['triggering_element']['#name'] != 'process_updates') {
return;
}

Expand Down Expand Up @@ -224,7 +224,7 @@ function authorize_filetransfer_form_validate($form, &$form_state) {
*/
function authorize_filetransfer_form_submit($form, &$form_state) {
global $base_url;
switch ($form_state['clicked_button']['#name']) {
switch ($form_state['triggering_element']['#name']) {
case 'process_updates':

// Save the connection settings to the DB.
Expand Down
125 changes: 52 additions & 73 deletions includes/bootstrap.inc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
/**
* The current system version.
*/
define('VERSION', '7.4');
define('VERSION', '7.5');

/**
* Core API compatibility.
Expand Down Expand Up @@ -38,93 +38,69 @@ define('CACHE_PERMANENT', 0);
define('CACHE_TEMPORARY', -1);

/**
* Log message severity -- Emergency: system is unusable.
* @defgroup logging_severity_levels Logging severity levels
* @{
* Logging severity levels as defined in RFC 3164.
*
* The WATCHDOG_* constant definitions correspond to the logging severity levels
* defined in RFC 3164, section 4.1.1: http://www.faqs.org/rfcs/rfc3164.html
*
* defined in RFC 3164, section 4.1.1. PHP supplies predefined LOG_* constants
* for use in the syslog() function, but their values on Windows builds do not
* correspond to RFC 3164. The associated PHP bug report was closed with the
* comment, "And it's also not a bug, as Windows just have less log levels,"
* and "So the behavior you're seeing is perfectly normal."
*
* @see http://www.faqs.org/rfcs/rfc3164.html
* @see http://bugs.php.net/bug.php?id=18090
* @see http://php.net/manual/function.syslog.php
* @see http://php.net/manual/network.constants.php
* @see watchdog()
* @see watchdog_severity_levels()
*/

/**
* Log message severity -- Emergency: system is unusable.
*/
define('WATCHDOG_EMERGENCY', 0);

/**
* Log message severity -- Alert: action must be taken immediately.
*
* The WATCHDOG_* constant definitions correspond to the logging severity levels
* defined in RFC 3164, section 4.1.1: http://www.faqs.org/rfcs/rfc3164.html
*
* @see watchdog()
* @see watchdog_severity_levels()
*/
define('WATCHDOG_ALERT', 1);

/**
* Log message severity -- Critical: critical conditions.
*
* The WATCHDOG_* constant definitions correspond to the logging severity levels
* defined in RFC 3164, section 4.1.1: http://www.faqs.org/rfcs/rfc3164.html
*
* @see watchdog()
* @see watchdog_severity_levels()
*/
define('WATCHDOG_CRITICAL', 2);

/**
* Log message severity -- Error: error conditions.
*
* The WATCHDOG_* constant definitions correspond to the logging severity levels
* defined in RFC 3164, section 4.1.1: http://www.faqs.org/rfcs/rfc3164.html
*
* @see watchdog()
* @see watchdog_severity_levels()
*/
define('WATCHDOG_ERROR', 3);

/**
* Log message severity -- Warning: warning conditions.
*
* The WATCHDOG_* constant definitions correspond to the logging severity levels
* defined in RFC 3164, section 4.1.1: http://www.faqs.org/rfcs/rfc3164.html
*
* @see watchdog()
* @see watchdog_severity_levels()
*/
define('WATCHDOG_WARNING', 4);

/**
* Log message severity -- Notice: normal but significant condition.
*
* The WATCHDOG_* constant definitions correspond to the logging severity levels
* defined in RFC 3164, section 4.1.1: http://www.faqs.org/rfcs/rfc3164.html
*
* @see watchdog()
* @see watchdog_severity_levels()
*/
define('WATCHDOG_NOTICE', 5);

/**
* Log message severity -- Informational: informational messages.
*
* The WATCHDOG_* constant definitions correspond to the logging severity levels
* defined in RFC 3164, section 4.1.1: http://www.faqs.org/rfcs/rfc3164.html
*
* @see watchdog()
* @see watchdog_severity_levels()
*/
define('WATCHDOG_INFO', 6);

/**
* Log message severity -- Debug: debug-level messages.
*
* The WATCHDOG_* constant definitions correspond to the logging severity levels
* defined in RFC 3164, section 4.1.1: http://www.faqs.org/rfcs/rfc3164.html
*
* @see watchdog()
* @see watchdog_severity_levels()
*/
define('WATCHDOG_DEBUG', 7);

/**
* @} End of "defgroup logging_severity_levels".
*/

/**
* First bootstrap phase: initialize configuration.
*/
Expand Down Expand Up @@ -216,8 +192,11 @@ define('LANGUAGE_RTL', 1);

/**
* For convenience, define a short form of the request time global.
*
* REQUEST_TIME is a float with microseconds since PHP 5.4.0, but float
* timestamps confuses most of the PHP functions (including date_create()).
*/
define('REQUEST_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_TIME', (int) $_SERVER['REQUEST_TIME']);

/**
* Flag for drupal_set_title(); text is not sanitized, so run check_plain().
Expand Down Expand Up @@ -311,50 +290,49 @@ function timer_stop($name) {
}

/**
* Find the appropriate configuration directory.
* Finds the appropriate configuration directory.
*
* Try finding a matching configuration directory by stripping the website's
* Finds a matching configuration directory by stripping the website's
* hostname from left to right and pathname from right to left. The first
* configuration file found will be used; the remaining will ignored. If no
* configuration file is found, return a default value '$confdir/default'.
* configuration file found will be used and the remaining ones will be ignored.
* If no configuration file is found, return a default value '$confdir/default'.
*
* Example for a fictitious site installed at
* http://www.drupal.org:8080/mysite/test/ the 'settings.php' is searched in
* the following directories:
* With a site located at http://www.example.com:8080/mysite/test/, the file,
* settings.php, is searched for in the following directories:
*
* 1. $confdir/8080.www.drupal.org.mysite.test
* 2. $confdir/www.drupal.org.mysite.test
* 3. $confdir/drupal.org.mysite.test
* 4. $confdir/org.mysite.test
* 1. $confdir/8080.www.example.com.mysite.test
* 2. $confdir/www.example.com.mysite.test
* 3. $confdir/example.com.mysite.test
* 4. $confdir/com.mysite.test
*
* 5. $confdir/8080.www.drupal.org.mysite
* 6. $confdir/www.drupal.org.mysite
* 7. $confdir/drupal.org.mysite
* 8. $confdir/org.mysite
* 5. $confdir/8080.www.example.com.mysite
* 6. $confdir/www.example.com.mysite
* 7. $confdir/example.com.mysite
* 8. $confdir/com.mysite
*
* 9. $confdir/8080.www.drupal.org
* 10. $confdir/www.drupal.org
* 11. $confdir/drupal.org
* 12. $confdir/org
* 9. $confdir/8080.www.example.com
* 10. $confdir/www.example.com
* 11. $confdir/example.com
* 12. $confdir/com
*
* 13. $confdir/default
*
* If a file named sites.php is present in the $confdir, it will be loaded
* prior to scanning for directories. It should define an associative array
* named $sites, which maps domains to directories. It should be in the form
* of:
*
* @code
* $sites = array(
* 'The url to alias' => 'A directory within the sites directory'
* );
*
* @endcode
* For example:
*
* @code
* $sites = array(
* 'devexample.com' => 'example.com',
* 'localhost.example' => 'example.com',
* );
*
* @endcode
* The above array will cause Drupal to look for a directory named
* "example.com" in the sites directory whenever a request comes from
* "example.com", "devexample.com", or "localhost/example". That is useful
Expand All @@ -363,14 +341,15 @@ function timer_stop($name) {
* (files, system table, etc.) this will ensure the paths are correct while
* accessed on development servers.
*
* @param $require_settings
* @param bool $require_settings
* Only configuration directories with an existing settings.php file
* will be recognized. Defaults to TRUE. During initial installation,
* this is set to FALSE so that Drupal can detect a matching directory,
* then create a new settings.php file in it.
* @param reset
* @param bool $reset
* Force a full search for matching directories even if one had been
* found previously.
* found previously. Defaults to FALSE.
*
* @return
* The path of the matching directory.
*/
Expand Down
7 changes: 5 additions & 2 deletions includes/common.inc
Original file line number Diff line number Diff line change
Expand Up @@ -2255,7 +2255,7 @@ function drupal_http_header_attributes(array $attributes = array()) {
* An associative array of key-value pairs to be converted to attributes.
*
* @return
* A string ready for insertion in a tag.
* A string ready for insertion in a tag (starts with a space).
*
* @ingroup sanitization
*/
Expand Down Expand Up @@ -2291,7 +2291,9 @@ function drupal_attributes(array $attributes = array()) {
* to work in a call to drupal_attributes($options['attributes']).
* - 'html' (default FALSE): Whether $text is HTML or just plain-text. For
* example, to make an image tag into a link, this must be set to TRUE, or
* you will see the escaped HTML image tag.
* you will see the escaped HTML image tag. $text is not sanitized if
* 'html' is TRUE. The calling function must ensure that $text is already
* safe.
* - 'language': An optional language object. If the path being linked to is
* internal to the site, $options['language'] is used to determine whether
* the link is "active", or pointing to the current page (the language as
Expand Down Expand Up @@ -7047,6 +7049,7 @@ function drupal_parse_info_format($data) {
* Array of the possible severity levels for log messages.
*
* @see watchdog()
* @ingroup logging_severity_levels
*/
function watchdog_severity_levels() {
return array(
Expand Down
6 changes: 2 additions & 4 deletions includes/database/mysql/database.inc
Original file line number Diff line number Diff line change
Expand Up @@ -169,10 +169,8 @@ class DatabaseConnection_mysql extends DatabaseConnection {
// savepoints which no longer exist.
//
// To avoid exceptions when no actual error has occurred, we silently
// succeed for PDOExceptions with SQLSTATE 42000 ("Syntax error or
// access rule violation") and MySQL error code 1305 ("SAVEPOINT does
// not exist").
if ($e->getCode() == '42000' && $e->errorInfo[1] == '1305') {
// succeed for MySQL error code 1305 ("SAVEPOINT does not exist").
if ($e->errorInfo[1] == '1305') {
// If one SAVEPOINT was released automatically, then all were.
// Therefore, we keep just the topmost transaction.
$this->transactionLayers = array('drupal_transaction');
Expand Down
Loading