Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some ACLs are ignored when adding lots of ACLs #50

Open
mgiacomoli opened this issue Apr 7, 2016 · 6 comments
Open

Some ACLs are ignored when adding lots of ACLs #50

mgiacomoli opened this issue Apr 7, 2016 · 6 comments

Comments

@mgiacomoli
Copy link

Hello

Mediawiki: 1.23.13
IntraACL: 2.1.9.1 (9116dcb)

I added lots of ACLs to pages belonging to a custom Namespace (NS1). Then I set
$haclgOpenWikiAccess = false;
and added an ACL to Special:Search

{{#access: assigned to = # | actions = *}}
{{#manage rights: assigned to = User:Test}}

Result:
When trying to open page Special:Search, with few ACLs (NS1 related) it works, but with lots of ACLs it redirects me to Permission Denied page.
Here are the hacllogs:
hacllog-few-ok.txt
hacllog-lot-ko.txt

Best regards

@vitalif
Copy link
Member

vitalif commented Apr 11, 2016

Hi! Yes, it seems like a continuation of #49. Try to remove && $seenGeneral from if() condition on line 525 of Definition.php and check if it helps?

@mgiacomoli
Copy link
Author

Hi! Thank you for your response, if condition now is if (count($rules) >= $iaclPreloadLimit && $userID), but still no luck. The hacllogs are the same.

@vitalif
Copy link
Member

vitalif commented Apr 11, 2016

Hm... strange. And what if you set $iaclPreloadLimit to 20000 in LocalSettings.php? Does it fix the issue? (it should because it will basically make IntraACL preload everything...)

@mgiacomoli
Copy link
Author

Yes, setting $iaclPreloadLimit to 20000 fixes the issue

@mgiacomoli
Copy link
Author

Hi @vitalif !
Any new regarding this bug?

Best regards

@vitalif
Copy link
Member

vitalif commented May 24, 2016

I don't know what's the cause of this issue... Only a debug session may help us :) I'd do the following:

  • check if there is a row with child_type=6 and child_id=0 and pe_type=5 and pe_id=(select id from halo_acl_special_pages where name='Search') in intraacl_rules table
  • check that in the end of if() {} block at line 554 selected $rules does not contain that row (var_dump($rules)) when accessing Special:Search (or maybe that if{} is not executed at all? or maybe $where is incorrect at that point?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants