Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-60814

invalid ldap settings after upgrade to 3.4 - admin settings unavailable

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide
      Test 1
      1. Visit ‘Site administration’ > ‘Users’ > ‘Define roles’.
      2. Click to ‘Add a new role’.
      3. Click ‘Continue’ on next page.
      4. Add a role with the short name “this-role-contains-hyphens”.
      5. Check ‘System’ in the ‘Context types where this role may be assigned’ option.
      6. Click ‘Create this role’.
      7. Visit the site admin page (admin/index.php).
      8. Confirm there are no errors.
      9. Go to 'Site administration' > 'Plugins' > 'Authentication' > 'Manage authentication'.
      10. Click on 'Settings' next to 'LDAP Server'.
      11. Confirm there is a warning under 'System role mapping' warning you that you can not map that role.
      Test 2
      1. Visit ‘Site administration’ > ‘Users’ > ‘Define roles’.
      2. Click to ‘Add a new role’.
      3. Click ‘Continue’ on next page.
      4. Add a role with the short name “ashortnamewith94charslolletsseeifthisbreaksmoodleyayokwemustbenearthelimitnowloolzeryehheyehhh”.
      5. Check ‘System’ in the ‘Context types where this role may be assigned’ option.
      6. Click ‘Create this role’.
      7. Visit the site admin page (admin/index.php).
      8. Confirm there are no errors.
      9. Go to 'Site administration' > 'Plugins' > 'Authentication' > 'Manage authentication'.
      10. Click on 'Settings' next to 'LDAP Server'.
      11. Confirm there is a warning under 'System role mapping' warning you that you can not map that role.
      Show
      Test 1 Visit ‘Site administration’ > ‘Users’ > ‘Define roles’. Click to ‘Add a new role’. Click ‘Continue’ on next page. Add a role with the short name “this-role-contains-hyphens”. Check ‘System’ in the ‘Context types where this role may be assigned’ option. Click ‘Create this role’. Visit the site admin page (admin/index.php). Confirm there are no errors. Go to 'Site administration' > 'Plugins' > 'Authentication' > 'Manage authentication'. Click on 'Settings' next to 'LDAP Server'. Confirm there is a warning under 'System role mapping' warning you that you can not map that role. Test 2 Visit ‘Site administration’ > ‘Users’ > ‘Define roles’. Click to ‘Add a new role’. Click ‘Continue’ on next page. Add a role with the short name “ashortnamewith94charslolletsseeifthisbreaksmoodleyayokwemustbenearthelimitnowloolzeryehheyehhh”. Check ‘System’ in the ‘Context types where this role may be assigned’ option. Click ‘Create this role’. Visit the site admin page (admin/index.php). Confirm there are no errors. Go to 'Site administration' > 'Plugins' > 'Authentication' > 'Manage authentication'. Click on 'Settings' next to 'LDAP Server'. Confirm there is a warning under 'System role mapping' warning you that you can not map that role.
    • Affected Branches:
      MOODLE_34_STABLE, MOODLE_35_STABLE
    • Fixed Branches:
      MOODLE_34_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-60814_master

      Description

      Hello,

      after update to 3.4 we had a serious issue. Update script completed normally, but after that it was impossible to access the admin settings page at all

      The error message was: Ungültige Admin-Einstellungen (auth_ldap/nutzer-admincontext)  [translated: invalid admin settings]

      Debug output is added below.

      I am not a moodle programmer, but I think the exception is thrown while parsing the admin settings. We had no admin setting in our ldap setup (was it there before at all), so maybe it just mourned the empty string.

      A workaround was to comment out the line 1701 in lib/adminlib.php

      So far anything works - and i see the setting in the auth/ldap-settings now. But it should be allowed to be empty - and it should definitely be dealed differently with by the update script.

      Thanks, Thomas

      Debug output:

       

       Ungültige Admin-Einstellungen (auth_ldap/nutzer-admincontext)
      Debug info:
      Error code: invalidadminsettingname
      Stack trace:

          line 1701 of /lib/adminlib.php: moodle_exception thrown
          line 1567 of /lib/adminlib.php: call to admin_setting->parse_setting_name()
          line 2149 of /lib/adminlib.php: call to admin_setting->__construct()
          line 238 of /auth/ldap/settings.php: call to admin_setting_configtext->__construct()
          line 85 of /lib/classes/plugininfo/auth.php: call to include()
          line 133 of /admin/settings/plugins.php: call to core\plugininfo\auth->load_settings()
          line 8003 of /lib/adminlib.php: call to require()
          line 802 of /admin/index.php: call to admin_get_root()

      Ungültige Admin-Einstellungen (auth_ldap/nutzer-admincontext)
      Debug info:
      Error code: invalidadminsettingname
      Stack trace:

          line 1701 of /lib/adminlib.php: moodle_exception thrown
          line 1567 of /lib/adminlib.php: call to admin_setting->parse_setting_name()
          line 2149 of /lib/adminlib.php: call to admin_setting->__construct()
          line 238 of /auth/ldap/settings.php: call to admin_setting_configtext->__construct()
          line 85 of /lib/classes/plugininfo/auth.php: call to include()
          line 133 of /admin/settings/plugins.php: call to core\plugininfo\auth->load_settings()
          line 8003 of /lib/adminlib.php: call to require()
          line 4163 of /lib/navigationlib.php: call to admin_get_root()
          line 4026 of /lib/navigationlib.php: call to settings_navigation->load_administration_settings()
          line 759 of /lib/pagelib.php: call to settings_navigation->initialise()
          line 820 of /lib/pagelib.php: call to moodle_page->magic_get_settingsnav()
          line 107 of /blocks/admin_bookmarks/block_admin_bookmarks.php: call to moodle_page->__get()
          line 288 of /blocks/moodleblock.class.php: call to block_admin_bookmarks->get_content()
          line 230 of /blocks/moodleblock.class.php: call to block_base->formatted_contents()
          line 1205 of /lib/blocklib.php: call to block_base->get_content_for_output()
          line 1257 of /lib/blocklib.php: call to block_manager->create_block_contents()
          line 374 of /lib/blocklib.php: call to block_manager->ensure_content_created()
          line 3944 of /lib/outputrenderers.php: call to block_manager->region_has_content()
          line 40 of /theme/boost/layout/columns2.php: call to core_renderer->blocks()
          line 1261 of /lib/outputrenderers.php: call to include()
          line 1191 of /lib/outputrenderers.php: call to core_renderer->render_page_layout()
          line 2790 of /lib/outputrenderers.php: call to core_renderer->header()
          line 374 of /lib/setuplib.php: call to core_renderer->fatal_error()
          line ? of unknownfile: call to default_exception_handler()

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                2 Vote for this issue
                Watchers:
                11 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  19/Mar/18