pitbulk / dokuwiki-saml

GNU General Public License v2.0
2 stars 10 forks source link

DokuWiki Setup Error Something unforseen has happened: Maximum action transitions reached #9

Open daschu117 opened 5 years ago

daschu117 commented 5 years ago

On a fresh install of 2018-04-22b "Greebo" running on up-to-date Ubuntu 18.04, I get the following when I enable authtype=authsaml:

DokuWiki Setup Error Something unforseen has happened: Maximum action transitions reached

The wiki becomes completely inaccessible at this point. Reverting to authplain and the wiki comes back. No errors to be seen in the debug or apache logs.

PHP version is 7.2.10-0ubuntu0.18.04.1

Any ideas?

vprusa commented 5 years ago

Hello, I am facing same issue here.

Related code is https://github.com/splitbrain/dokuwiki/blob/master/inc/ActionRouter.php#L135

To me it seems that cause of this issue lies in messes up default permissions because when condition is met the start page (or any other) is denied. https://github.com/splitbrain/dokuwiki/blob/master/inc/ActionRouter.php#L216 And because it is denied repeatedly it ends up with "Maximum action transitions reached" message. This happens when I enable both configuration values

$conf['useacl'] = 1;
$conf['authtype'] = 'authsaml';

When using just ACL I have it set so that permission for @ALL is set to READ so for anonymous user $INFO['perm'] = 1; But authsaml plugin somehow rewrites $INFO['perm'] = 0; It seems to me that not using ACL disables using authtype value at all. Trying to hardcode $INFO['perm'] to be at least 1 just to test what will happen.

if(isset($INFO)) {
     if($INFO['perm'] === 0){
          $INFO['perm'] =1;
     }
     $perm = $INFO['perm'];
} else {
     $perm = auth_quickaclcheck($ID);
}

shows page as if ACL was disabled with:

image

So far my conclusion is that Maximum action transitions reached just hides issue mentioned in picture.

Although I may have just something wrong with wiki or authsaml plugin configuration this error message seems quite misleading.

I am going to look further for solution.

vprusa commented 5 years ago

For me it turned out that the issues were: Wrong dir structure from plugin installed from zip, wrong values in plugin config.php and local simplesamlphp config.php (idk which, I load backup and changed it from scratch).

thijskh commented 5 years ago

Can you detail what values are needed exactly in the new situation?

Stopi commented 5 years ago

Today I had the same problem. The plugin was installed using dokuwiki's "Extension Manager", which create this:

# ls -lah lib/plugins/authsaml
total 45K
drwxr-xr-x  3 apache apache  224 Sep 20 10:52 .
drwxrwx--- 18 apache apache  696 Sep 20 10:52 ..
-rw-r--r--  1 apache apache   70 May 18  2018 CHANGELOG.md
-rw-r--r--  1 apache apache  18K May 18  2018 LICENSE
-rw-r--r--  1 apache apache 9.6K May 18  2018 README.md
drwxr-xr-x  4 apache apache  232 Sep 20 11:22 authsaml
-rw-r--r--  1 apache apache  179 May 18  2018 install.txt
-rw-r--r--  1 apache apache  150 Sep 20 10:53 manager.dat

As you can see, the wanted folder authsaml is inside a folder autsaml. If you get rid of the first level and use the inside folder directly in ./lib/plugins then it works.

daschu117 commented 5 years ago

Today I had the same problem. The plugin was installed using dokuwiki's "Extension Manager", which create this:

# ls -lah lib/plugins/authsaml
total 45K
drwxr-xr-x  3 apache apache  224 Sep 20 10:52 .
drwxrwx--- 18 apache apache  696 Sep 20 10:52 ..
-rw-r--r--  1 apache apache   70 May 18  2018 CHANGELOG.md
-rw-r--r--  1 apache apache  18K May 18  2018 LICENSE
-rw-r--r--  1 apache apache 9.6K May 18  2018 README.md
drwxr-xr-x  4 apache apache  232 Sep 20 11:22 authsaml
-rw-r--r--  1 apache apache  179 May 18  2018 install.txt
-rw-r--r--  1 apache apache  150 Sep 20 10:53 manager.dat

As you can see, the wanted folder authsaml is inside a folder autsaml. If you get rid of the first level and use the inside folder directly in ./lib/plugins then it works.

This was exactly it. Was finally able to massage the config and SimpleSAMLphp to have Dokuwiki know who I am and log me in. I think if I can just figure out group mappings, this will finally be usable. Only been exactly 8 months...