Closed (fixed)
Project:
Hostmaster (Aegir)
Version:
6.x-1.4
Component:
User interface
Priority:
Major
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
18 Apr 2011 at 18:59 UTC
Updated:
3 Jul 2013 at 22:30 UTC
I have no idea why this has happenned. When logged in as user 1, we go to node/add/platform and it gives us an access denied.
I am running the Debian packages from Koumbit. Oddly enough, with no upgrades or changes at all in between, I have lost the ability to create a platform. This happenned from one day to the next.
I really wish I had some detailed information to offer by way of an explanation. I will update if or when I do.
Comments
Comment #1
sfyn commentedI should add that I can still edit existing platforms...
Comment #2
sfyn commentedI tried this:
With no success.
Comment #3
sfyn commentednode_access is returning TRUE for node/add/platform
No idea where to go from here...
Comment #4
sfyn commentedI also tried creating a different user with the right permissions - same problem...
Comment #5
anarcat commentedIf this is reproduced, it seems like a major WTF that should be addressed ASAP.
There was some refactoring of the permission code in the later stages of the RC cycle. In particular, it may be that #1096498: Managers should have access to all sites, tasks and clients, fixed in rc3, broke this.
Can you try rc2 to see if you can reproduce?
Have you tried rebuilding the node access table (which we know doesn't affect platforms normally, but hey... ;)?
Any way we can reproduce this reliably?
Comment #6
sfyn commentedFor the sake of completeness I have attempted a rebuild of node permissions. I will try rc2 later this week.
Comment #7
omega8cc commentedUnless there are steps to reproduce, it is not a bug, rather support request related to some broken Aegir instance probably.
I have never seen that issue before on any Aegir version.
Anyway, it works for me on any server we recently upgraded to Aegir 1.0 stable, without any issues.
Comment #8
sfyn commentedYeah, definitely a support request. Still no progress resolving this.
Comment #9
sfyn commentedOK, not only can I not provide instructions to reproduce this bug, but it appears to have gone away on its own...
I suspect some kind of obscure caching issue, but I am honestly not sure...
Comment #10
praestigiare commentedI have this same issue with an install of Aegir 1.3. I have tried everything I can think of.
Comment #11
praestigiare commentedComment #12
steven jones commentedAs this thread has kind of eluded to this issue is really hard to reproduce, so we're not going to be able to say: "Hey all you need to do it tick this box on this form and get everything working again" unfortunately. You will need some PHP skills if you want to get to the bottom of your issue...
You may have a genuine issue of something very strange happening, which we'd like to get to the bottom of, but it's not going to be terribly easy. Possibly the only real way to work out exactly what is going on is to set up xdebug on you Aegir server, and step through the page request until you spot where the access denied happens. You can probably start from the node/add page callback, and go from there. There are lots of tutorials out there which take you through setting up xdebug and integrating it with and IDE.
Apologies that that's not terribly useful, but I'm not sure there's much we can do until someone who encounters this error tracks it down. Good luck!
Comment #13
anarcat commentedComment #14
jason.fisher commentedNot re-opening, but bumping the version because I am seeing this on 6.x-1.4. Will update with my resolution.
Comment #15
jason.fisher commentedIn my case, it was caused by the contrib module hosting_profile_roles. I placed this module into my hostmaster's sites/mysite/modules directory and rebuilt the menus and immediately get access_denied on node/add/platform.
This is the function I trapped the error in. For some reason, print $feature will return "hosting_profile" if the hosting_profile_roles module simply exists in that directory. It does not need to be enabled.
<?
/**
* Menu access callback for creating a node provided by a Hosting feature.
*
* @param $type
* The node type that the user wants to create.
* @param $feature
* The machine name of the host feature that should be additionally checked to
* see if it's enabled.
* @return
* TRUE if the user can access, FALSE otherwise.
*/
function hosting_menu_access($type, $feature) {
global $user;
print $feature;
return (($user->uid == 1) || user_access('create ' . $type)) && (hosting_feature($feature) != HOSTING_FEATURE_DISABLED);
}
?>
I have posted an issue to hosting_profile_roles: http://drupal.org/node/1401552
I will not have time to dig into this further as I do not need that module .. but hopefully this information helps.
Re-opening the issue for a couple of weeks to see if we can get confirmation from the ticket opener or someone else with the same symptom.
Comment #16
steven jones commentedSetting to the correct status.
Comment #17
jason.fisher commentedhosting_profile_roles released a fix that is likely related to the original issue here.
http://drupal.org/node/1401552
Comment #18
ergonlogicAs noted above, this was an issue with Hosting Profile Roles, since fixed. This was due to declaring a 'node' type in the Hosting feature.
I've tried replicating this in Aegir 2, but it doesn't seem to cause the same problems anymore. I'm marking as fixed, but feel free to re-open should this remain a problem.