Vault

Vault

7M Downloads

Vault presence causes PEX failures with parent permission nodes

desht opened this issue ยท 3 comments

commented

It looks like the presence of Vault causes some severe failure with PermissionsEx.

I started investigating this when some of my plugin users complained that any parent permission nodes in my ScrollingMenuSign plugin weren't being picked up by PEX. At @t3hk0d3 's suggestion, I ran the SuperPermsTest (http://dev.bukkit.org/server-mods/superpermstest/) plugin against PEX, and got a lot of failures - see https://gist.github.com/1559189

On a hunch, I re-ran the same tests against PEX without Vault loaded, and everything passed.

It appears that the presence of Vault is somehow preventing PEX from handling parent permission nodes correctly - i.e. even if a user has been given the parent node in the PEX permissions.yml, both player.hasPermission() and the native PEX has() method return false for any child nodes of the given parent node. Also worth nothing that SuperPermsTest doesn't make any calls to Vault methods; it just calls player.hasPermission() directly - so it seems the mere presence of Vault triggers the problem.

I've been through the Vault source, and there's nothing obvious that would cause this, but something's definitely up. Not clear if it's a problem with Vault or a problem with PEX, or some subtle interaction between the two plugins that triggers this behaviour.

See also https://github.com/t3hk0d3/PermissionsEx/issues/179 for the original issue I created against PEX.

commented

@Sleaker going to close this, it doesn't look Vault-related (although I'm not sure why the test originally failed when I had Vault loaded, quite possibly something I was doing). I've also updated https://github.com/t3hk0d3/PermissionsEx/issues/179 .

commented

I very highly doubt it's a Vault issue. Like you said, Vault doesn't perform any adjustments until a temporary permission is being added. Pretty odd though.

commented

Unable to reproduce this issue with Vault + PEX.