Skip to content
Snippets Groups Projects
  1. May 05, 2017
    • Matt Schwager's avatar
      Added tests for SimpleSAML\Utils\Crypto · 8e39cd49
      Matt Schwager authored
      This also required adding an additional argument to
      SimpleSAML\Utils\Crypto::loadPrivateKey to ease in testing. Without
      this additional argument, SimpleSAML_Configuration::getBaseDir eventually
      gets called to determine the private key location.  This doesn't work
      well with vfsstream. This argument shouldn't cause too much trouble, and
      seems cohesive enough with the function's purpose.
      8e39cd49
    • Jaime Pérez Crespo's avatar
      bugfix: SimpleSAML\Utils\Crypto returns true for different strings using PHP < 5.6. · 4bc62965
      Jaime Pérez Crespo authored
      The reason was the lack of conversion to integer for each character of the strings before applying the XOR operator to them. The operator returns always an empty string when applied to two characters, and applying a binary-wise OR between 0 and an empty string, yields 0. Therefore, $diff is always 0, and the function returns true for every two strings with same length, regardless of their contents.
      4bc62965
  2. Apr 26, 2017
  3. Mar 30, 2017
  4. Mar 27, 2017
  5. Mar 17, 2017
  6. Feb 22, 2017
  7. Jan 20, 2017
  8. Jan 16, 2017
  9. Jan 10, 2017
  10. Nov 09, 2016
  11. Aug 22, 2016
    • Jaime Pérez's avatar
      bugfix: Do not try to apply SSP's base URL if REQUEST_URI does not match. · 2155d1ec
      Jaime Pérez authored
      It is possible that the current script ($_SERVER['SCRIPT_FILENAME']) is inside SimpleSAMLphp's 'www' directory. However, even if that's the case, we should not enforce our base URL (as set in the 'baseurlpath' configuration option) if the request URI ($_SERVER['REQUEST_URI']) does not contain the relative path to the script. This is the case of AuthMemCookie, for example, where accessing a random URL protected by Apache, leads to the execution of a SimpleSAMLphp script, where SimpleSAML\Utils\HTTP::getSelfURL() must not try to be smart when guessing the current URL.
      2155d1ec
  12. Aug 10, 2016
    • Jaime Pérez's avatar
      Make the 'debug' configuration option more fine-grained. · 6c3d49f9
      Jaime Pérez authored
      Some things, like logging of SAML messages or backtraces, are controlled with the 'debug' configuration option. However, it might be possible that we don't want one while we want the other, but that's impossible with just one option.
      
      This commit allows us to configure debugging options independently, but groupping all of them together. This is particularly useful if we want to log backtraces to debug errors, for example, but we don't want to log SAML messages to keep the privacy of the users. This also allows us to get rid of the 'debug.validatexml' configuration option, and group it with other debug options.
      
      This changes are backwards-compatible. Old and new configurations will work at the same time.
      6c3d49f9
  13. Aug 05, 2016
  14. Jul 26, 2016
    • Jaime Pérez's avatar
      Bump the version of the SAML2 library. · b02c5432
      Jaime Pérez authored
      Now we are finally using the 2.x branch of the SAML2 library, which was also migrated to use namespaces. Even though the library provides an autoloader that allows loading the classes with the old names using class aliasing, we need to do the migration in one commit (at least for most part of it). This is due to the way SimpleSAMLphp checks data types, using inheritance to check objects agains abstract or more general classes. Even though class aliasing works, there's no way to replicate those relationships, and type checks that use the old class names will fail because the aliases are virtually new classes that don't inherit from others.
      b02c5432
  15. Jul 20, 2016
  16. Jul 15, 2016
    • Jaime Pérez's avatar
      bugfix: Restore the capability to get our self URL when invoked from a third-party script. · e8ee8c83
      Jaime Pérez authored
      Recent fixes for URL guessing and building addressed bugs in the code that were preventing the 'baseurlpath' from being used properly. However, they introduced a new issue, as the code was assuming the current URL would always point to a SimpleSAMLphp script. This is not always true, of course, as any script can invoke our API and end up trying to get its own URL (for example, when calling requireAuth()).
      
      In order to fix this, we monitor mismatches between SimpleSAMLphp's installation path and the absolute, real path to the current script. When there's a mismatch, it means we are running a third-party script outside SimpleSAMLphp, and therefore we should NOT enforce 'baseurlpath'. This introduces an additional issue, as applications behind a reverse proxy may cause trouble to guess the right URL (we will use the URL as seen by SimpleSAMLphp in the server, which is not necessarily the same as the user sees with a reverse proxy in between). For the moment, we'll leave the responsibility to sort that issue out to implementors. It might be a good idea to add a page to the wiki explaining how to do this.
      
      This resolves #418.
      e8ee8c83
  17. Jul 05, 2016
    • Jaime Pérez's avatar
      bugfix: Restore support for windows machines. · 93793d93
      Jaime Pérez authored
      Due to recent changes to fix the way we were building URLs (mixing what the 'baseurlpath' configuration option and the current URL, see #396), we introduced another bug by assuming file paths will always use slashes ('/'), which obviously is not true in Windows machines. This commit fixes SimpleSAML_Configuration::getBaseDir() and SimpleSAML\Utils\HTTP::getSelfURL() to take that into account.
      
      This closes #414.
      93793d93
  18. Jul 04, 2016
    • Jaime Pérez's avatar
      Enhance redirections and make them more resilient. · 3f2621e3
      Jaime Pérez authored
      Currently, if headers have already been sent, a redirection will fail and generate errors in the error log. The user will be presented with a page containing a link that he or she will need to click on. Checking if headers have already been sent we can avoid errors, and adding a simple javascript to the "onload" event in the body of the page, we can still redirect automatically. That way, only when headers have already been sent and the users have javascript disabled, they will get to see the page.
      3f2621e3
    • Jaime Pérez's avatar
      Start using the error codes in SimpleSAML\Error\CannotSetCookie. · f50f0297
      Jaime Pérez authored
      Both SimpleSAML_SessionHandlerPHP::setCookie() and SimpleSAML\Utils\HTTP::setCookie() throw the SimpleSAML\Error\CannotSetCookie exception. Depending on why the error was generated, set the error code in the exception accordingly.
      f50f0297
  19. Jul 02, 2016
  20. Jun 27, 2016
    • Jaime Pérez's avatar
      bugfix: Resolve issue with incorrect self URL when using symlinks. · c72b6203
      Jaime Pérez authored
      Recent commits have introduced a new way to obtain the self URL, honouring whatever is specified in 'baseurlpath'. However, this new code breaks when accessing SimpleSAMLphp through a path containing symbolic links in the file system, since the base directory refers always to the real path while the $_SERVER contents reflect what the web server sees (symlinks included). We use realpath() to convert a path with symlinks to a canonical path that we can compare.
      c72b6203
  21. Jun 08, 2016
  22. Jun 07, 2016
Loading