Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-8886

CRM_Core_Extensions::grabRemoteKeyList() throws fatal error if it can't make HTTP access to extdir.civicrm.org

    Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Trivial
    • Resolution: Fixed/Completed
    • Affects Version/s: 3.4.5
    • Fix Version/s: 4.1.0
    • Component/s: None
    • Labels:
      None

      Description

      CRM_Core_Extensions::grabRemoteKeyList() throws fatal errors in two places -

      1. If it is unable to retrieve http://extdir.civicrm.org it throws a fatal error with message "Public directory down or too slow - please contact CiviCRM team on forums."
      2. If the returned list of extensions is empty, it throws a fatal error with message "Malformed extensions list on public directory - please contact CiviCRM team on forums."

      If those two fatal errors are commented out or replaced with simple warnings and HTTP access is still disabled, then there's a third error (warning only this time):

      "warning: Invalid argument supplied for foreach() in /path/to/civicrm/CRM/Core/Extensions.php on line 266."

      The current situation means that CiviCRM Extensions functionality is completely disabled in the admin UI if there is a local server configuration preventing HTTP requests, a network issue which prevents outage, downtime at CivICRM.org, etc etc.

      IMO a more robust approach would be to simply warn of missing functionality if http://extdir.civicrm.org is not accessible, but retain the ability to manually install, list and enable extensions.

        Attachments

          Activity

            People

            • Assignee:
              mover Michał Mach
              Reporter:
              xurizaemon Chris Burgess
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: