Page MenuHomePhabricator

Private Wiki users are always taken to Special:Badtitle on successful login
Closed, ResolvedPublic

Description

Author: phil

Description:
When visiting a private wiki, users are shown the message
'You must log in to view other pages'.
Because of the recent changes in 1.17.1 that hide page titles from users who don't have permission to see them, the log in link now has a returnto of Special:BadTitle.

The net result is that when a legitimate user logs in, they are taken to the Badtitle error page, rather than to the Mainpage.


Version: 1.17.x
Severity: major

Details

Reference
bz32709

Event Timeline

bzimport raised the priority of this task from to High.Nov 22 2014, 12:04 AM
bzimport set Reference to bz32709.

I get this on https://office.wikimedia.org/ as well, so the same bug hit 1.18. :P

olivier.beaton wrote:

I am not able to reproduce this on 1.18.0 release or trunk 2011-11-29. However it occurs every single time on 1.17.1, all stock installs.

Special:BadTitle gets passed as the 'returnto' parameter for the login link that's displayed in the page body content when unable to view a page due to permissions.

The login link in the personal bar at top of the screen still has the original page title.

Almost certainly introduced in r104505. Just need to fix in a way that doesn't reintroduce bug 32276

Notes from triage:

the 'You must log in to view other pages' message comes from OutputPage::showPermissionsErrorPage().

r104505 on trunk has a tweak in that function to grab the original title from $wgRequest's 'title' parameter.

The backports to 1.17, 1.18, and 1.18wmf1 don't appear to include this part, so presumably it's still pulling from the variable that's been replaced with Special:Badtitle.

trois.singes wrote:

As for me, I *do* reproduce it on 1.18.0 release.

(In reply to comment #5)

Notes from triage:

the 'You must log in to view other pages' message comes from
OutputPage::showPermissionsErrorPage().

r104505 on trunk has a tweak in that function to grab the original title from
$wgRequest's 'title' parameter.

The backports to 1.17, 1.18, and 1.18wmf1 don't appear to include this part, so
presumably it's still pulling from the variable that's been replaced with
Special:Badtitle.

Reassigning to Antoine since I think he did those backports.

I am pretty sure we had some code to avoid returning to a badtitle and return to main_page instead. I must have skipped it while doing the backports.

Will poke this bug ASAP.

Fixed in:

  • REL1_17 with r106170
  • REL1_18 with r106171

Pending code review.

Merged in production with r106206 and deployed by Roan a few minutes after.
The issue should have disappeared from office wiki for example.

  • Bug 33130 has been marked as a duplicate of this bug. ***