Opened 4 years ago
Closed 4 years ago
#10513 closed defect (bug) (fixed)
Custom XML-RPC methods can't reuse functions in WordPress' XML-RPC server object
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | 2.9 |
| Component: | XML-RPC | Version: | 2.8.3 |
| Severity: | normal | Keywords: | extending xmlrpc has-patch needs-testing |
| Cc: | joseph@… |
Description
When extending XML-RPC with custom methods you cannot reuse the functions of the main WordPress wp_xmlrpc_server object. The object does all it's work within the constructor function and by the time any other code could use the global variable $wp_xmlrpc_server everything has finished.
This issue was discovered during the recent WordCampUK WordHack session and meant we couldn't reuse the built-in login function of wp_xmlrpc_server to authenticate a user.
The code just needs to finish assigning the object to $wp_xmlrpc_server on line 3405 then have a separate function that calls the base IXR_Server function on line 204.
I have a patch that adds this extra step but it can be adjusted if needed.
Attachments (2)
Change History (4)
comment:1
josephscott
— 4 years ago
- Cc joseph@… added
- Milestone changed from Unassigned to 2.9
- Version changed from 2.9 to 2.8.3
This sounds fine. I did have a problem with seg faulting with your patch though. Seems it didn't like having a class method called serve. I've created a new patch changing this to serve_request and it stopped seg faulting.