There was a bug introduced into the Services module branch 6.x-3.x in commit http://drupalcode.org/project/services.git/commitdiff/23be3f5689cf704fb0.... This code change contained a logic statement that would never run (if resource is login resource AND resource is logout resource) and within that logic statement, a Drupal 7 function drupal_save_session() was being called.
Note: the related Drupal 6 version of this function is session_save_session(). Though you would think this function would never get run, I unintentionally created a scenario (overwriting the node index resource in hook_services_resources() rather than in hook_services_resources_alter()) that caused a php error and made this statement run, causing a fatal php error since the Drupal 7 function did not exist.
@TODO: we should either:
(1) remove this commit from the commit history as it is not really being taken into account at all for Drupal 6 due to a logic flaw
(2) rework this code to use the expected logic and save the session using the Drupal 6 equivalent function
(3) remove these bugs added in this commit by reverting commit back to how the module was working beforehand. This is simplest and can be done with git revert 23be3f5689cf704fb07b009e6f452d394d50bc5b
The link to this commit with problems 23be3f56
| Comment | File | Size | Author |
|---|---|---|---|
| #1 | services-revert23be3f56-1971990.patch | 2.37 KB | mark.lindsey |
Comments
Comment #1
mark.lindsey commentedUploaded a patch that reverts commit 23be3f56 .
Comment #2
mark.lindsey commentedComment #3
kylebrowning commentedHey Mark, I took a look at this issue this morning and our logic is correct.
We want to make sure we dont change any of the user information if the methods are LOGIN or LOGOUT.
Sooooo that means every single method that gets run besides those two should return FALSE for both of those strpos.
Ive committed a fix that updates the drupal 6 version to session_save_session.
PLease check dev and see if your issue is resolved.