I've had a site running for about 4 months with no problem other than the duplicate login issue. I didn't think it was a probem, so I didn't address it. I now cannot login, and after looking at the problem and investigating on Drupal, there seems to be a patch, user.patch.txt, available to try and repair the issue.

I loaded the patch to the correct directory, and executed my first ever command line command. I recieved the following error (quotes added)

"$ patch < user.patch.txt
patching file user.module
Hunk #1 FAILED at 931.
1 out of 1 hunk FAILED -- saving rejects to file user.module.rej"

The file created, user.module.rej, shows this:

***************
*** 931,936 ****
user_module_invoke('login', $form_values, $user);

$old_session_id = session_id();
session_regenerate_id();
db_query("UPDATE {sessions} SET sid = '%s' WHERE sid = '%s'", session_id(), $old_session_id);

--- 931,940 ----
user_module_invoke('login', $form_values, $user);

$old_session_id = session_id();
+ // destroy the cookie on the client to prevent the existence of two domain cookies
+ if (isset($_COOKIE[session_name()])) {
+ setcookie(session_name(), '', time()-42000, '/');
+ }
session_regenerate_id();
db_query("UPDATE {sessions} SET sid = '%s' WHERE sid = '%s'", session_id(), $old_session_id);

Does anyone have any idea what the failure is, and what I could do to fix it? I am using version 4.7.3.

Thanks,

Ed

Comments

ereed’s picture

I must have run out of space (I didn't put the callout for code). The error is


$ patch < user.patch.txt
patching file user.module
Hunk #1 FAILED at 931.
1 out of 1 hunk FAILED -- saving rejects to file user.module.rej"

The file user.module.rej is listed below


***************
*** 931,936 ****
     user_module_invoke('login', $form_values, $user);
 
      $old_session_id = session_id();
    session_regenerate_id();
      db_query("UPDATE {sessions} SET sid = '%s' WHERE sid = '%s'", session_id(), $old_session_id);
  
--- 931,940 ----
      user_module_invoke('login', $form_values, $user);
  
      $old_session_id = session_id();
+     // destroy the cookie on the client to prevent the existence of two domain cookies
+     if (isset($_COOKIE[session_name()])) {
+       setcookie(session_name(), '', time()-42000, '/');
+     }
      session_regenerate_id();
      db_query("UPDATE {sessions} SET sid = '%s' WHERE sid = '%s'", session_id(), $old_session_id);

Any ideas?