A module version can be NULL value. When calculating message hmac before sending it to the AN this value is serialized (within _acquia_agent_hmac()) as NULL. After going through XML-RPC the value turns from NULL into an empty string. So when the hmac is then calculated on the server side to check the message authenticity the value serialized as empty string and validation fails.
Probably a more general solution is required here. If Drupal XML-RPC API understand NULL values there would be no such problem.
| Comment | File | Size | Author |
|---|---|---|---|
| #6 | 1025720-search-version-6-D7.patch | 1.16 KB | pwolanin |
| #5 | 1025720-search-version-5.patch | 1.34 KB | pwolanin |
| #3 | 1025720-no-null-2.patch | 763 bytes | pwolanin |
| no_null_values.patch | 772 bytes | dmitry_bezer |
Comments
Comment #1
pwolanin commentedGood catch - this possibility was nagging at my mind. Probably we should use a ternary, since otherwise we may generate a notice? Or is that array key actually assigned a NULL value?
Comment #3
pwolanin commentedThis falls back to the core version - which is mostly what we care about anyhow.
Comment #4
pwolanin commentedcommitted to 7.x. We need to send the extra info in 6.x too.
Comment #5
pwolanin commentedHere's a pass at a 6.x version
Comment #6
pwolanin commentedLooking at the 7 code, we could make better use of API functions. Here's a new version.
Comment #7
pwolanin commentedcommitted #6 to 7.x
Comment #8
pwolanin commentedcommitted #5 to 6.x.