[wp-trac] [WordPress Trac] #60540: Plugin dependencies: guard against unexpected responses to the `plugin_information` API endpoint

WordPress Trac noreply at wordpress.org
Wed Feb 14 18:02:26 UTC 2024


#60540: Plugin dependencies: guard against unexpected responses to the
`plugin_information` API endpoint
--------------------------+---------------------
 Reporter:  pbiron        |       Owner:  (none)
     Type:  defect (bug)  |      Status:  new
 Priority:  normal        |   Milestone:  6.5
Component:  Plugins       |     Version:  trunk
 Severity:  normal        |  Resolution:
 Keywords:                |     Focuses:
--------------------------+---------------------
Changes (by costdev):

 * milestone:  Awaiting Review => 6.5


Old description:

> `WP_Plugin_Dependencies::get_dependency_api_data()` calls the
> `plugin_information` endpoint of the Plugins API.
>
> The existing code in 6.5 Beta 1 assumes that all responses that are not
> `WP_Error` instances are produced by the .org API.  However, extenders
> are able to filter the responses and some premium plugins do that to
> provide info about the premium plugins.  However, some of those extenders
> may return responses to that endpoint that do not contain properties that
> the Plugin Dependencies codebase relies on.
>
> Thus, rather than just checking whether the repsonse is a `WP_Error`, we
> need to check that all the properties in the response that are used are
> actually present in said response.

New description:

 `WP_Plugin_Dependencies::get_dependency_api_data()` calls the
 `plugin_information` endpoint of the Plugins API.

 The existing code in 6.5 Beta 1 assumes that all responses that are not
 `WP_Error` instances are produced by the .org API.  However, extenders are
 able to filter the responses and some premium plugins do that to provide
 info about the premium plugins.  However, some of those extenders may
 return responses to that endpoint that do not contain properties that the
 Plugin Dependencies codebase relies on.

 Thus, rather than just checking whether the response is a `WP_Error`, we
 need to check that all the properties in the response that are used are
 actually present in said response.

--

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/60540#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list