Skip to content
Snippets Groups Projects
  1. Jul 02, 2016
    • Jaime Pérez's avatar
      bugfix: Stop SimpleSAML_SessionHandler::newSessionId() from initializing the session. · 4056af12
      Jaime Pérez authored
      Historically, SimpleSAML_SessionHandler::newSessionId() has also created the session, sending the cookies to the browser. This is problematic both because given the name of the method one would not assume such behaviour, and also because even for transient sessions the handler would then try to set cookies. When we are using a transient session, it is likely to be because we cannot set cookies or because there was a temporary error when loading the session. If we try to set the cookies even for transient sessions, we could either get an error because cookies cannot be set, or overwrite the previous session cookies with transient ones, trashing a legitimate session in case a temporary error occurs.
      
      As a side effect, this can also cause behaviours like the one described in issue #413. There's no point in trying to set the cookies when it's not possible, so we shouldn't even try, and save us the errors.
      
      To fix this, we made SimpleSAML_SessionHandler::setCookie() abstract, forcing each extending class to implement it. The former implementation is moved to SimpleSAML_SessionHandlerCookie, and the SimpleSAML_SessionHandlerPHP gets a new method that starts the session, effectively sending the cookie. SimpleSAML_Session would then be responsible to call the setCookie() method of the session handler when creating a regular session, and skip it when creating a transient one. This introduces a bug, since SimpleSAML_Session was trying to set the auth token cookie calling the same setCookie() method in the session handler. We fixed that by using SimpleSAML\Utils\HTTP::setCookie() instead, in 8756835b.
      
      This resolves #413.
      4056af12
  2. Apr 07, 2016
    • Jaime Perez Crespo's avatar
      Add a method to SimpleSAMLphp_SessionHandlerPHP to restore a session existing... · 8dc545b8
      Jaime Perez Crespo authored
      Add a method to SimpleSAMLphp_SessionHandlerPHP to restore a session existing previously to our own session. This can be used in SimpleSAML_Session to restore the PHP session status previous to calling our API, while also guaranteeing that our session is correctly saved. The documentation has been updated to reflect this and recommend how to deal with conflicting PHP sessions. This closes #244 and resolves #349.
      8dc545b8
  3. Oct 26, 2015
  4. Aug 05, 2015
  5. Aug 04, 2015
  6. Aug 03, 2015
  7. Apr 21, 2015
  8. Jul 09, 2014
  9. Sep 13, 2013
  10. Sep 05, 2013
  11. Sep 04, 2013
  12. Mar 29, 2012
  13. Jul 28, 2011
  14. Aug 09, 2010
  15. Jul 13, 2010
  16. Jul 07, 2010
  17. Dec 02, 2009
  18. Aug 17, 2009
  19. Jun 06, 2008
  20. Mar 06, 2008
  21. Mar 05, 2008
  22. Jan 30, 2008
  23. Dec 18, 2007
  24. Nov 28, 2007
Loading