Compare commits

..

10 commits

Author SHA1 Message Date
Fedora Release Engineering
0094b040e2 dist-git conversion 2010-07-29 15:23:58 +00:00
Bill Nottingham
ebe2b483bd Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:18:10 +00:00
Bret Richard McMillan
bf9d79fa4c new sources 2009-11-06 22:04:12 +00:00
Bret Richard McMillan
d01479c094 updating to 2.8.5.2 for security fixes 2009-11-06 21:59:52 +00:00
Bret Richard McMillan
61412ebbca update to 2.8.4a, includes security fixes 2009-08-12 17:29:14 +00:00
Bret Richard McMillan
cd0ba41c47 patch for cve-2009-2334 2009-07-10 18:39:23 +00:00
Bret Richard McMillan
047415f44a backport for cve-2009-1030 2009-04-08 16:04:35 +00:00
Bret Richard McMillan
247b6fb0da README.fedora already dealt with, removing duplicate ownership line 2008-12-08 21:33:25 +00:00
Bret Richard McMillan
c6e7da8519 uploading upstream's 2.6.5 tarball 2008-12-08 21:29:39 +00:00
Jesse Keating
cf0f37efd5 Initialize branch F-10 for wordpress-mu 2008-11-07 04:59:44 +00:00
8 changed files with 337 additions and 4 deletions

3
.gitignore vendored
View file

@ -1,2 +1 @@
wordpress-mu-2.9.1.1.tar.gz
/wordpress-mu-2.9.2.tar.gz
wordpress-mu-2.8.5.2.tar.gz

View file

@ -0,0 +1,20 @@
Alias /wordpress-mu /usr/share/wordpress-mu
<Directory /usr/share/wordpress-mu>
AllowOverride Options
RewriteEngine On
RewriteBase /wordpress-mu/
#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</Directory>

37
cve-2009-1030.patch Normal file
View file

@ -0,0 +1,37 @@
--- wp-includes/wpmu-functions.php 2009-04-07 13:37:57.000000000 -0400
+++ wp-includes/wpmu-functions.php 2009-04-07 13:42:12.000000000 -0400
@@ -1836,17 +1867,29 @@
<td>
<?php
$all_blogs = get_blogs_of_user( $current_user->ID );
+ $primary_blog = get_usermeta($current_user->ID, 'primary_blog');
if( count( $all_blogs ) > 1 ) {
- $primary_blog = get_usermeta($current_user->ID, 'primary_blog');
+ $found = false;
?>
<select name="primary_blog">
- <?php foreach( (array) $all_blogs as $blog ) { ?>
- <option value='<?php echo $blog->userblog_id ?>'<?php if( $primary_blog == $blog->userblog_id ) echo ' selected="selected"' ?>>http://<?php echo $blog->domain.$blog->path ?></option>
- <?php } ?>
+ <?php foreach( (array) $all_blogs as $blog ) {
+ if( $primary_blog == $blog->userblog_id )
+ $found = true;
+ ?><option value='<?php echo $blog->userblog_id ?>'<?php if( $primary_blog == $blog->userblog_id ) echo ' selected="selected"' ?>>http://<?php echo $blog->domain.$blog->path ?></option><?php
+ } ?>
</select>
<?php
+ if( !$found ) {
+ $blog = array_shift( $all_blogs );
+ update_usermeta( $current_user->ID, 'primary_blog', $blog->userblog_id );
+ }
+ } elseif( count( $all_blogs ) == 1 ) {
+ $blog = array_shift( $all_blogs );
+ echo $blog->domain;
+ if( $primary_blog != $blog->userblog_id ) // Set the primary blog again if it's out of sync with blog list.
+ update_usermeta( $current_user->ID, 'primary_blog', $blog->userblog_id );
} else {
- echo $_SERVER['HTTP_HOST'];
+ echo "N/A";
}
?>
</td>

113
cve-2009-2334.patch Normal file
View file

@ -0,0 +1,113 @@
diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php
index 796c4c9..1dd38ce 100644
--- a/wp-admin/includes/plugin.php
+++ b/wp-admin/includes/plugin.php
@@ -541,7 +541,7 @@ function uninstall_plugin($plugin) {
//
function add_menu_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '' ) {
- global $menu, $admin_page_hooks;
+ global $menu, $admin_page_hooks, $_registered_pages;
$file = plugin_basename( $file );
@@ -556,11 +556,13 @@ function add_menu_page( $page_title, $menu_title, $access_level, $file, $functio
$menu[] = array ( $menu_title, $access_level, $file, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url );
+ $_registered_pages[$hookname] = true;
+
return $hookname;
}
function add_object_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '') {
- global $menu, $admin_page_hooks, $_wp_last_object_menu;
+ global $menu, $admin_page_hooks, $_wp_last_object_menu, $_registered_pages;
$file = plugin_basename( $file );
@@ -577,11 +579,13 @@ function add_object_page( $page_title, $menu_title, $access_level, $file, $funct
$menu[$_wp_last_object_menu] = array ( $menu_title, $access_level, $file, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url );
+ $_registered_pages[$hookname] = true;
+
return $hookname;
}
function add_utility_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '') {
- global $menu, $admin_page_hooks, $_wp_last_utility_menu;
+ global $menu, $admin_page_hooks, $_wp_last_utility_menu, $_registered_pages;
$file = plugin_basename( $file );
@@ -598,6 +602,8 @@ function add_utility_page( $page_title, $menu_title, $access_level, $file, $func
$menu[$_wp_last_utility_menu] = array ( $menu_title, $access_level, $file, $page_title, 'menu-top ' . $hookname, $hookname, $icon_url );
+ $_registered_pages[$hookname] = true;
+
return $hookname;
}
@@ -606,6 +612,7 @@ function add_submenu_page( $parent, $page_title, $menu_title, $access_level, $fi
global $menu;
global $_wp_real_parent_file;
global $_wp_submenu_nopriv;
+ global $_registered_pages;
$file = plugin_basename( $file );
@@ -635,6 +642,8 @@ function add_submenu_page( $parent, $page_title, $menu_title, $access_level, $fi
if (!empty ( $function ) && !empty ( $hookname ))
add_action( $hookname, $function );
+ $_registered_pages[$hookname] = true;
+
return $hookname;
}
@@ -859,14 +868,21 @@ function user_can_access_admin_page() {
global $_wp_menu_nopriv;
global $_wp_submenu_nopriv;
global $plugin_page;
+ global $_registered_pages;
$parent = get_admin_page_parent();
- if ( isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
+ if ( !isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
return false;
- if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$parent][$plugin_page] ) )
- return false;
+ if ( isset( $plugin_page ) ) {
+ if ( isset( $_wp_submenu_nopriv[$parent][$plugin_page] ) )
+ return false;
+
+ $hookname = get_plugin_page_hookname($plugin_page, $parent);
+ if ( !isset($_registered_pages[$hookname]) )
+ return false;
+ }
if ( empty( $parent) ) {
if ( isset( $_wp_menu_nopriv[$pagenow] ) )
@@ -875,6 +891,8 @@ function user_can_access_admin_page() {
return false;
if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[$pagenow][$plugin_page] ) )
return false;
+ if ( isset( $plugin_page ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
+ return false;
foreach (array_keys( $_wp_submenu_nopriv ) as $key ) {
if ( isset( $_wp_submenu_nopriv[$key][$pagenow] ) )
return false;
@@ -884,6 +902,9 @@ function user_can_access_admin_page() {
return true;
}
+ if ( isset( $plugin_page ) && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[$plugin_page] ) )
+ return false;
+
if ( isset( $submenu[$parent] ) ) {
foreach ( $submenu[$parent] as $submenu_array ) {
if ( isset( $plugin_page ) && ( $submenu_array[2] == $plugin_page ) ) {

View file

@ -1,2 +0,0 @@
Deprecated by upstream as of wordpress 3.0.x. Obsoleted by wordpress
package, which now includes a README on migrating from -mu.

1
sources Normal file
View file

@ -0,0 +1 @@
7d733e276cb5983f58a39365bc97b81e wordpress-mu-2.8.5.2.tar.gz

25
wordpress-mu-httpd-conf Normal file
View file

@ -0,0 +1,25 @@
Alias /wordpress-mu /usr/share/wordpress-mu
<Directory /usr/share/wordpress-mu>
AllowOverride Options
RewriteEngine On
RewriteBase /wordpress-mu/
#uploaded files
RewriteRule ^(.*/)?files/$ index.php [L]
RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
RewriteRule ^(.*/)?files/(.*) wp-content/blogs.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteCond %{REQUEST_URI} ^.*/wp-admin$
RewriteRule ^(.+)$ $1/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</Directory>

140
wordpress-mu.spec Normal file
View file

@ -0,0 +1,140 @@
Summary: WordPress-MU multi-user blogging software
URL: http://mu.wordpress.org/latest.tar.gz
Name: wordpress-mu
Version: 2.8.5.2
Release: 1%{?dist}
Group: Applications/Publishing
License: GPLv2
Source0: %{name}-%{version}.tar.gz
Source1: wordpress-mu-httpd-conf
Source2: README.fedora.wordpress-mu
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: php >= 4.1.0, httpd, php-mysql
BuildArch: noarch
%description
WordPress-MU is a derivative of the WordPress blogging codebase, to allow
one instance to serve multiple users.
%prep
%setup -q -n wordpress-mu
# disable-wordpress-core-update, updates are always installed via rpm
#
# the sed script from wordpress.spec doesn't work due to if/else statement in upstream wordpress-mu's update.php
# sed -i -e "s,add_action,#add_action,g" wp-includes/update.php
echo "<?php // update script removed, updates via RPMs for Fedora ?>" > wp-includes/update.php
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_datadir}/wordpress-mu
mkdir -p %{buildroot}%{_sysconfdir}/wordpress-mu
install -m 0644 -D -p %{SOURCE1} %{buildroot}%{_sysconfdir}/httpd/conf.d/wordpress-mu.conf
install -m 0644 -D -p %{SOURCE2} %{buildroot}%{_docdir}/%{name}-%{version}/README.fedora
cp -pr * %{buildroot}%{_datadir}/wordpress-mu
# fix weird upstream perms...
chmod 0644 %{buildroot}%{_datadir}/wordpress-mu/wp-includes/js/tinymce/plugins/spellchecker/css/content.css
chmod 0664 %{buildroot}%{_datadir}/wordpress-mu/wp-includes/js/tinymce/plugins/spellchecker/editor_plugin.js
chmod 0664 %{buildroot}%{_datadir}/wordpress-mu/wp-includes/js/tinymce/plugins/spellchecker/config.php
# since we're using /etc/httpd/conf.d, don't do the funky .htaccess stuff
# that the installer wants
echo "# please see /etc/httpd/conf.d/wordpress-mu.conf" > %{buildroot}%{_datadir}/wordpress-mu/htaccess.dist
# Remove empty files to make rpmlint happy
find %{buildroot} -empty -exec rm -f {} \;
# These are docs, remove them from here, docify them later
rm -f %{buildroot}%{_datadir}/wordpress-mu/{license.txt,README.txt}
# remove these as well, detritus
rm -f %{buildroot}%{_datadir}/wordpress-mu/{wordpress-mu-httpd-conf,README.fedora}
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/httpd/conf.d/wordpress-mu.conf
%dir %{_datadir}/wordpress-mu
%{_datadir}/wordpress-mu/htaccess.dist
%{_datadir}/wordpress-mu/wp-admin
%{_datadir}/wordpress-mu/wp-content
%{_datadir}/wordpress-mu/wp-includes
%{_datadir}/wordpress-mu/index.php
%doc license.txt
%doc README.txt
%{_datadir}/wordpress-mu/index-install.php
%{_datadir}/wordpress-mu/wp-activate.php
%{_datadir}/wordpress-mu/wp-atom.php
%{_datadir}/wordpress-mu/wp-app.php
%{_datadir}/wordpress-mu/wp-blog-header.php
%{_datadir}/wordpress-mu/wp-comments-post.php
%{_datadir}/wordpress-mu/wp-commentsrss2.php
%{_datadir}/wordpress-mu/wp-config-sample.php
%{_datadir}/wordpress-mu/wp-cron.php
%{_datadir}/wordpress-mu/wp-feed.php
%{_datadir}/wordpress-mu/wp-load.php
%{_datadir}/wordpress-mu/wp-links-opml.php
%{_datadir}/wordpress-mu/wp-login.php
%{_datadir}/wordpress-mu/wp-mail.php
%{_datadir}/wordpress-mu/wp-pass.php
%{_datadir}/wordpress-mu/wp-rdf.php
%{_datadir}/wordpress-mu/wp-register.php
%{_datadir}/wordpress-mu/wp-rss.php
%{_datadir}/wordpress-mu/wp-rss2.php
%{_datadir}/wordpress-mu/wp-settings.php
%{_datadir}/wordpress-mu/wpmu-settings.php
%{_datadir}/wordpress-mu/wp-signup.php
%{_datadir}/wordpress-mu/wp-trackback.php
%{_datadir}/wordpress-mu/xmlrpc.php
%dir %{_sysconfdir}/wordpress-mu
%changelog
* Fri Nov 6 2009 Bret McMillan <bretm@redhat.com> - 2.8.5.2-1
- Update to version 2.8.5.2 for security fixes
* Wed Aug 12 2009 Bret McMillan <bretm@redhat.com> - 2.8.4a-1
- Update to version 2.8.4a for security fixes
* Fri Jul 10 2009 Bret McMillan <bretm@redhat.com> - 2.7-6
- Patch for CVE-2009-2334
- Update to version 2.7
- Alter source prep so I can still use upstream's tarball
- favicon.ico removed from manifest
* Tue Apr 7 2009 Bret McMillan <bretm@redhat.com> - 2.6.5-2
- Patch for CVE-2009-1030
* Mon Dec 1 2008 Bret McMillan <bretm@redhat.com> - 2.6.5-1
- Update to 2.6.5
- http://wordpress.org/development/2008/11/wordpress-265/
- http://ocaoimh.ie/2008/11/25/wordpress-mu-265/
- Fixes 1 XSS security issue, 3 bugs
* Wed Sep 3 2008 Bret McMillan <bretm@redhat.com> - 2.6.1-1
- update to 2.6.1
* Tue Jul 29 2008 Bret McMillan <bretm@redhat.com> - 2.6-7
- added build section to the spec file
* Wed Jul 29 2008 Bret McMillan <bretm@redhat.com> - 2.6-6
- rebasing to wpmu 2.6
* Fri May 30 2008 Bret McMillan <bretm@redhat.com> - 1.5.1-2
- trying to clean up how we're dealing with htaccess.dist
* Mon May 26 2008 Bret McMillan <bretm@redhat.com> - 1.5.1-1
- update to 1.5.1; getting ready for Fedora submission
* Fri Apr 25 2008 Bret McMillan <bretm@redhat.com> - 1.3.3-1
- initial version; copying heuristics from the base fedora wordpress pkg