Compare commits

..

6 Commits

Author SHA1 Message Date
desrosj
641b0fea4e Tag 4.1.30
Built from https://develop.svn.wordpress.org/tags/4.1.30@47720


git-svn-id: http://core.svn.wordpress.org/tags/4.1.30@47497 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 18:54:05 +00:00
desrosj
85df5a0e71 Updating the About page for WordPress 4.1.30
Built from https://develop.svn.wordpress.org/branches/4.1@47691


git-svn-id: http://core.svn.wordpress.org/branches/4.1@47468 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 18:21:17 +00:00
desrosj
861cb3e866 WordPress 4.1.30
Built from https://develop.svn.wordpress.org/branches/4.1@47679


git-svn-id: http://core.svn.wordpress.org/branches/4.1@47456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 18:03:45 +00:00
whyisjake
f2373592da User: Invalidate user_activation_key on password update.
Query: Ensure that only a single post can be returned on date/time based queries.
Cache API: Ensure proper escaping around the stats method in the cache API.
Formatting: Expand `sanitize_file_name` to have better support for utf8 characters.

Brings the changes in [47634], [47635], [47637], and [47638] to the 4.1 branch.

Props: batmoo, ehti, nickdaugherty, peterwilsoncc, sergeybiryukov, sstoqnov, westi, whyisjake, whyisjake, xknown.

Built from https://develop.svn.wordpress.org/branches/4.1@47658


git-svn-id: http://core.svn.wordpress.org/branches/4.1@47435 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2020-04-29 16:53:18 +00:00
Sergey Biryukov
067230933e WordPress 4.1.29
Built from https://develop.svn.wordpress.org/branches/4.1@46932


git-svn-id: http://core.svn.wordpress.org/branches/4.1@46732 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-12 20:33:18 +00:00
Sergey Biryukov
d9e1193af0 Update wp_kses_bad_protocol() to recognize : on uri attributes,
`wp_kses_bad_protocol()` makes sure to validate that uri attributes don’t contain invalid/or not allowed protocols. While this works fine in most cases, there’s a risk that by using the colon html5 named entity, one is able to bypass this function.

Brings r46895 to the 4.1 branch.

Props: xknown, nickdaugherty, peterwilsoncc.
Built from https://develop.svn.wordpress.org/branches/4.1@46909


git-svn-id: http://core.svn.wordpress.org/branches/4.1@46709 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-12 18:40:17 +00:00
7 changed files with 63 additions and 10 deletions

View File

@@ -42,7 +42,47 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
</h2>
<div class="changelog point-releases">
<h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 28 ); ?></h3>
<h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 30 ); ?></h3>
<p>
<?php
printf(
/* translators: %s: WordPress version number */
__( '<strong>Version %s</strong> addressed some security issues.' ),
'4.1.30'
);
?>
<?php
printf(
/* translators: %s: HelpHub URL */
__( 'For more information, see <a href="%s">the release notes</a>.' ),
sprintf(
/* translators: %s: WordPress version */
esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
sanitize_title( '4.1.30' )
)
);
?>
</p>
<p>
<?php
printf(
/* translators: %s: WordPress version number */
__( '<strong>Version %s</strong> addressed one security issue.' ),
'4.1.29'
);
?>
<?php
printf(
/* translators: %s: HelpHub URL */
__( 'For more information, see <a href="%s">the release notes</a>.' ),
sprintf(
/* translators: %s: WordPress version */
esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
sanitize_title( '4.1.29' )
)
);
?>
</p>
<p>
<?php
printf(

View File

@@ -639,7 +639,7 @@ class WP_Object_Cache {
echo "</p>";
echo '<ul>';
foreach ($this->cache as $group => $cache) {
echo "<li><strong>Group:</strong> $group - ( " . number_format( strlen( serialize( $cache ) ) / 1024, 2 ) . 'k )</li>';
echo '<li><strong>Group:</strong> ' . esc_html( $group ) . ' - ( ' . number_format( strlen( serialize( $cache ) ) / KB_IN_BYTES, 2 ) . 'k )</li>';
}
echo '</ul>';
}

View File

@@ -1166,6 +1166,24 @@ function remove_accents($string) {
function sanitize_file_name( $filename ) {
$filename_raw = $filename;
$special_chars = array("?", "[", "]", "/", "\\", "=", "<", ">", ":", ";", ",", "'", "\"", "&", "$", "#", "*", "(", ")", "|", "~", "`", "!", "{", "}", chr(0));
// Check for support for utf8 in the installed PCRE library once and store the result in a static.
static $utf8_pcre = null;
if ( ! isset( $utf8_pcre ) ) {
// phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
$utf8_pcre = @preg_match( '/^./u', 'a' );
}
if ( ! seems_utf8( $filename ) ) {
$_ext = pathinfo( $filename, PATHINFO_EXTENSION );
$_name = pathinfo( $filename, PATHINFO_FILENAME );
$filename = sanitize_title_with_dashes( $_name ) . '.' . $_ext;
}
if ( $utf8_pcre ) {
$filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
}
/**
* Filter the list of characters to remove from a filename.
*
@@ -1175,7 +1193,6 @@ function sanitize_file_name( $filename ) {
* @param string $filename_raw Filename as it was passed into sanitize_file_name().
*/
$special_chars = apply_filters( 'sanitize_file_name_chars', $special_chars, $filename_raw );
$filename = preg_replace( "#\x{00a0}#siu", ' ', $filename );
$filename = str_replace( $special_chars, '', $filename );
$filename = str_replace( array( '%20', '+' ), '-', $filename );
$filename = preg_replace( '/[\r\n\t -]+/', '-', $filename );

View File

@@ -1374,7 +1374,7 @@ function wp_kses_html_error($string) {
*/
function wp_kses_bad_protocol_once($string, $allowed_protocols, $count = 1 ) {
$string = preg_replace( '/(&#0*58(?![;0-9])|&#x0*3a(?![;a-f0-9]))/i', '$1;', $string );
$string2 = preg_split( '/:|&#0*58;|&#x0*3a;/i', $string, 2 );
$string2 = preg_split( '/:|&#0*58;|&#x0*3a;|&colon;/i', $string, 2 );
if ( isset($string2[1]) && ! preg_match('%/\?%', $string2[0]) ) {
$string = trim( $string2[1] );
$protocol = wp_kses_bad_protocol_once2( $string2[0], $allowed_protocols );

View File

@@ -1590,10 +1590,6 @@ class WP_Query {
$this->is_single = true;
} elseif ( $qv['p'] ) {
$this->is_single = true;
} elseif ( ('' !== $qv['hour']) && ('' !== $qv['minute']) &&('' !== $qv['second']) && ('' != $qv['year']) && ('' != $qv['monthnum']) && ('' != $qv['day']) ) {
// If year, month, day, hour, minute, and second are set, a single
// post is being queried.
$this->is_single = true;
} elseif ( '' != $qv['pagename'] || !empty($qv['page_id']) ) {
$this->is_page = true;
$this->is_single = false;

View File

@@ -1885,7 +1885,7 @@ function wp_insert_user( $userdata ) {
$data = wp_unslash( $compacted );
if ( $update ) {
if ( $user_email !== $old_user_data->user_email ) {
if ( $user_email !== $old_user_data->user_email || $user_pass !== $old_user_data->user_pass ) {
$data['user_activation_key'] = '';
}
$wpdb->update( $wpdb->users, $data, compact( 'ID' ) );

View File

@@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '4.1.28';
$wp_version = '4.1.30';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.