summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add a map from error codes to titles/descriptionsHanne Moa2016-09-162-2/+190
|
* Make `noop()` staticHanne Moa2016-09-152-5/+5
| | | | This makes instanciating the Translate/Template-class unnecessary.
* Deprecate the use of arrays for t($tag)Hanne Moa2016-09-151-1/+5
| | | | For #455
* Deprecate fallbackdefault argumentHanne Moa2016-09-151-4/+11
| | | | For #455
* Merge pull request #433 from thijskh/feature/deprecate-certFingerprintJaime Pérez Crespo2016-09-142-4/+4
|\ | | | | Deprecate the certFingerprint option.
| * Deprecate the certFingerprint option.Thijs Kinkhorst2016-08-052-4/+4
| | | | | | | | | | | | Issue a notice when the option is used nonetheless. Closes: #432
* | Add noop() function for marking translationsHanne Moa2016-09-072-1/+26
| |
* | Deprecate the old SimpleSAML_Error_NoPassive and ↵Jaime Pérez2016-08-312-0/+16
| | | | | | | | SimpleSAML_Error_ProxyCountExceeded exceptions.
* | Remove unused exceptions.Jaime Pérez2016-08-312-30/+0
| |
* | Removed html extension on twig filesSergio Gómez2016-08-251-2/+9
| |
* | bugfix: Do not try to apply SSP's base URL if REQUEST_URI does not match.Jaime Pérez2016-08-221-9/+26
| | | | | | | | 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.
* | Multiple enhancements and fixes to IDPList support in proxy mode.Jaime Pérez2016-08-152-0/+30
| | | | | | | | | | | | | | - Bugfix: the modules/saml/www/proxy/invalid_session.php shouldn't call directly the error handler in sspmod_saml_IdP_SAML2. Instead, it should use the SimpleSAML_Auth_State::throwException() method to let it handle the exception appropriately (in this case, it should always return back to the requester). - The standard specifies that a "urn:oasis:names:tc:SAML:2.0:status:NoSupportedIDP" or "urn:oasis:names:tc:SAML:2.0:status:NoAvailableIDP" second-level status code should be returned to the requester in case an error occurs. Add a couple of exceptions to represent both statuses, and use them to set the right status code in the response. - We shouldn't ask the user to logout in case the IDPList does not offer an IdP we recognize, or in case the proxy enforces the use of an IdP ('idp' configuration option in the auth source) and such IdP is in the IDPList. - Similarly, these two cases should also handled in case we are authenticating for the first time, not only when reauthenticating.
* | bugfix: Fix a bug in AuthMemCookie that prevented the cookie from being set.Jaime Pérez2016-08-151-2/+1
| | | | | | | | This was due to incorrect use of the SimpleSAML_SessionHandler::setCookie() method to set the cookie, instead of SimpleSAML\Utils\HTTP::setCookie().
* | Make the 'debug' configuration option more fine-grained.Jaime Pérez2016-08-102-7/+28
| | | | | | | | | | | | | | | | 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.
* | Log backtraces with the same log level as the error messages, whatever that is.Jaime Pérez2016-08-101-7/+17
| | | | | | | | It's not very useful to log backtraces always as debug, since that implies getting all the log messages, while backtraces would still help debug a particular error.
* | Typos.Jaime Pérez2016-08-101-2/+2
|/
* Use AttributeValue serializable objects instead of dumping manually the XML ↵Jaime Pérez2016-07-281-16/+6
| | | | | | contents. This way, we avoid completely any possible XXE attack, and simplify the code as we don't need to deal directly with the DOM. The entire AttributeValue will be saved to the backend as XML, and then recovered back when unserializing.
* bugfix: Allow attributes to contain raw XML as their values.Jaime Pérez2016-07-281-1/+87
| | | | | | | | A recent change in simplesamlphp/saml2#60 made the library return a DOMNodeList object when the contents of the AttributeValue element are not text. This lead to a bug, since the returned value is not serializable, and when storing it in the session it will go away as soon as we serialize the session to store it in the backend (whatever that is). This is always, as the SP will always redirect to the URL originating authentication. The result was an empty DOMNodeList object where there should be some value. This commit makes the SimpleSAML_Session to implement the Serializable interface. When obtaining the attributes during login (doLogin() method), the code will now look for DOMNodeList objects, and dump them as a string with the XML representation of their contents in the 'RawAttributes' array inside $this->authData[$authority]. This allows us to parse the XML back when unserializing, and restore the original DOMNodeList object as the value of the attribute. The issue was reported originally in the mailing list by Enrico Cavalli, affecting eduPersonTargetedID. This resolves #424.
* Stop using SimpleSAML_Configuration::getBaseURL().Jaime Pérez2016-07-261-1/+1
| | | | Use the recently added SimpleSAML_Configuration::getBasePath() instead. It guarantees the path prepended with a slash, so no need to do that every time when calling the method. As a side effect, we get rid of buggy invocations (calling getBaseUrl() instead of getBaseURL()), and also of old-style convention for the 'baseurlpath' configuration option, allowing a star at the beginning.
* Get rid of the last remaining calls to SimpleSAML_Logger.Jaime Pérez2016-07-261-2/+2
|
* Bump the version of the SAML2 library.Jaime Pérez2016-07-2610-123/+127
| | | | 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.
* Prepare to bump the version of XMLSecLibs that we are using.Jaime Pérez2016-07-261-0/+8
| | | | The 2.x branch of XMLSecLibs uses namespaces, so we need to make sure we can still load the XMLSec* classes after updating the dependency. We can do that in the autoloader, looking for the classes with namespaces, and creating class aliases.
* bugfix: Critical configuration errors should not enforce a baseurlpath.Jaime Pérez2016-07-251-1/+0
| | | | | | The code was enforcing this option even if a configuration was passed as a parameter to the constructor. If there is something wrong with a configuration and we are passing it to the constructor, we should know if at least the 'baseurlpath' is correct, and if not, fix it somehow. This bug was producing a default configuration without 'baseurlpath', when no configuration was passed. In that situation, only the default path (/simplesaml) was working correctly.
* Removed unnecessary exceptionSergio Gomez2016-07-201-2/+1
|
* bugfix: Restore the capability to get our self URL when invoked from a ↵Jaime Pérez2016-07-151-9/+25
| | | | | | | | | | third-party script. 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.
* Merge branch 'master' of github.com:simplesamlphp/simplesamlphpHanne Moa2016-07-131-10/+10
|\ | | | | | | YA Merge
| * Fix some more references to SimpleSAML_Module and SimpleSAML_Logger.Jaime Pérez2016-07-132-15/+15
| | | | | | | | Both have been migrated to use namespaces.
* | Merge branch 'twigification'Hanne Moa2016-07-132-23/+322
|\ \ | |/ |/| | | | | This allows for using twig templates, but does not include code for localizing twig templates.
| * Allow running without template cache setHanne Moa2016-07-131-3/+7
| |
| * Move method next to its deprecated kinHanne Moa2016-03-011-11/+11
| |
| * DocsHanne Moa2016-03-011-1/+6
| |
| * Slight simplificationHanne Moa2016-03-011-6/+5
| |
| * Loading templates from themes now workHanne Moa2016-03-011-4/+57
| |
| * Move the list of language localized names to the SimpleSAML\Locale\Language ↵Jaime Perez Crespo2016-02-292-46/+72
| | | | | | | | class, and make the array of languages generated by SimpleSAML_XHTML_Template::generateLanguageBar() a bit more useful.
| * Reformat SimpleSAML_XHTML_Template.Jaime Perez Crespo2016-02-291-64/+93
| |
| * Add a couple of configuration options to handle template caching.Jaime Perez Crespo2016-02-291-3/+3
| |
| * Corrected confusing example in commentHanne Moa2016-02-291-1/+1
| |
| * Handle paths in template namesHanne Moa2016-02-291-5/+19
| | | | | | | | | | Now works for: new SimpleSAML_XHTML_Template($globalConfig, 'saml:sp/wrong_authncontextclassref.tpl.php');
| * Working Twig-template loading for simple loadingHanne Moa2016-02-291-17/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That is, the following styles work: * SimpleSAML_XHTML_Template($config, 'hostnames.php'); * SimpleSAML_XHTML_Template($globalConfig, 'negotiate:disable.php'); These do not: * SimpleSAML_XHTML_Template($this->config, 'discopower:disco-tpl.php', 'disco'); * SimpleSAML_XHTML_Template($globalConfig, 'saml:sp/wrong_authncontextclassref.tpl.php'); * new SimpleSAML_XHTML_Template($config, 'metadata.php', 'admin'); * SimpleSAML_XHTML_Template($config, 'consentAdmin:consentadmin.php', 'consentAdmin:consentadmin'); Loading from themes also not in place
| * Okay... too much FridayHanne Moa2016-02-261-2/+9
| |
| * Lower priority TODOsHanne Moa2016-02-261-1/+4
| |
| * Start of TwigificationHanne Moa2016-02-261-16/+148
| |
* | Revert the change of the signature of ↵Jaime Pérez2016-07-071-17/+9
| | | | | | | | SimpleSAML_Session::useTransientSession(). Not needed after all.
* | bugfix: Make sure the PDO and Serialize metadata storage handlers return ↵Jaime Pérez2016-07-062-1/+13
| | | | | | | | | | | | metadata containing the 'entityid' key. While investigating issue #393, we noticed that these two handlers don't enforce the entity ID of each entity to be set in the 'entityid' key of the metadata array (the Flatfile and XML handlers to enforce this). Since this is the way we propagate the entity ID (code using metadata won't necessarily have access to the key of the metadata array containing the entity ID, or such a thing might not even exist), we need to make sure the entity ID is set inside the array. Otherwise, if the metadata for an entity does not contain it directly, the 'ExpectedIssuer' would be set to null, an error recorded, and authentication would fail as the entity ID of the IdP issuing an assertion would not match.
* | bugfix: Restore support for windows machines.Jaime Pérez2016-07-052-5/+9
| | | | | | | | | | | | 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.
* | bugfix: Make sure SimpleSAML_Session::getSessionFromRequest() always raises ↵Jaime Pérez2016-07-042-3/+18
| | | | | | | | | | | | | | | | | | | | an exception when a transient session is used due to a misconfiguration or a temporary failure fetching an existing session. Transient sessions are just an exceptional event, and they shouldn't be treated as regular sessions. Therefore, if we are trying to get the current session and end up with a transient one, that's because an error occurred and we should raise an exception. Since exceptions due to secure cookies trying to be set via an insecure channel are likely to be misconfigurations, we treat them like that, raising a SimpleSAML\Error\CriticalConfigurationError. Additionally, we capture exceptions in the SimpleSAML\Logger::flush() method, ensuring the error reported in #413 doesn't happen again. This resolves #356.
* | phpdoc: Add missing @throws to a couple of methods in SimpleSAML_Session.Jaime Pérez2016-07-041-0/+4
| |
* | Capture errors when setting the auth token cookie.Jaime Pérez2016-07-041-5/+17
| | | | | | | | If it fails for some reason, we clear all the authentication-related data from the session, log an error, and throw again the exception, so that the user does not continue as if anything happened when the auth token is not set.
* | Enhance redirections and make them more resilient.Jaime Pérez2016-07-041-6/+8
| | | | | | | | 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.
* | Make exception message when setting secure PHP session cookies through an ↵Jaime Pérez2016-07-041-1/+1
| | | | | | | | insecure channel coincident with the message in SimpleSAML\Utils\HTTP::setCookie().
* | phpdoc: Minor fixes in phpdoc blocks in SimpleSAML_Error_Error.Jaime Pérez2016-07-041-3/+3
| |
* | Start using the error codes in SimpleSAML\Error\CannotSetCookie.Jaime Pérez2016-07-042-6/+20
| | | | | | | | 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.
* | Add error codes to the SimpleSAML\Error\CannotSetCookie exception.Jaime Pérez2016-07-041-0/+21
| | | | | | | | This way we can discern why we couldn't set a cookie, and act accordingly.
* | bugfix: Do not set the auth token with the setCookie() method from the ↵Jaime Pérez2016-07-041-1/+1
| | | | | | | | | | | | session handler. Related to previous commits. The SimpleSAML_Session::updateSessionCookies() updates both the session cookie and the auth token. For the latter, it uses the setCookie() method from the session handler, while it should use the SimpleSAML\Utils\HTTP::setCookie() method instead.
* | Revert "Set the session name explicitly in SessionHandlerPHP, even when we ↵Jaime Pérez2016-07-031-2/+6
| | | | | | | | | | | | are using the default value." This reverts commit cd6278cc2bf0704d130aa2fe66e8b6dc1d007375.
* | metadata: Add support for SHA2 digests when signing self metadata.Jaime Pérez2016-07-021-2/+68
| | | | | | | | | | | | The hash algorithm to use to calculate signature digests for self metadata was not configurable. Add the 'metadata.sign.algorithm' configuration option to fix that. This resolves #411.
* | bugfix: Stop SimpleSAML_SessionHandler::newSessionId() from initializing the ↵Jaime Pérez2016-07-024-64/+101
| | | | | | | | | | | | | | | | | | | | | | | | session. 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 8756835bacc7057734aba7fe349b534e63261253. This resolves #413.
* | Remove superfluous code.Jaime Pérez2016-07-021-2/+2
| | | | | | | | If we just called isset() on SimpleSAML_Session::$instance, and it returned false as we continued execution, it makes no sense to get the "previous" instance since it will always be null. We can just check that $instance is not null later.
* | Set the session name explicitly in SessionHandlerPHP, even when we are using ↵Jaime Pérez2016-07-021-6/+2
| | | | | | | | the default value.
* | Add an optional parameter to SimpleSAML_Session::useTransientSession().Jaime Pérez2016-07-021-1/+14
| | | | | | | | This way we can pass an exception that made us use transient sessions, and get the method to throw that exception after getting the transient session.
* | SimpleSAML_Session should set the auth token using the ↵Jaime Pérez2016-07-021-2/+3
| | | | | | | | | | | | SimpleSAML\Utils\HTTP::setCookie(), instead of the setCookie() method provided by session handlers. The SimpleSAML_SessionHandler::setCookie() method should be used only to set the session cookie, not random cookies. If we want cookies to have the same parameters as session cookies, we can always get the session parameters calling SimpleSAML_SessionHandler::getSessionParams() and pass them to SimpleSAML\Utils\HTTP::setCookie().
* | Make the SimpleSAML\Utils\HTTP::setCookie() method throw the new ↵Jaime Pérez2016-07-021-2/+2
| | | | | | | | SimpleSAML\Error\CannotSetCookie exception.
* | Typo: s/overriden/overridden/.Jaime Pérez2016-07-021-1/+1
| |
* | Add a new SimpleSAML\Error\CannotSetCookie exception.Jaime Pérez2016-07-021-0/+15
| |
* | Silence errors when setting a cookie.Jaime Pérez2016-07-021-2/+2
| |
* | Fix indentation.Jaime Pérez2016-07-021-1/+1
| |
* | bugfix: Resolve issue with incorrect self URL when using symlinks.Jaime Pérez2016-06-271-1/+1
| | | | | | | | 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.
* | Stop using the deprecated SimpleSAML_Configuration::getBaseURL() method.Jaime Perez Crespo2016-06-084-5/+5
| |
* | Make sure the new SimpleSAML_Configuration::getBasePath() complies with its ↵Jaime Perez Crespo2016-06-081-6/+6
| | | | | | | | phpdoc, returning always at least a slash. Fix also the regex that's supposed to catch paths, as it still wants them to end with a slash.
* | Add a new SimpleSAML_Configuration::getBasePath() method as described in ↵Jaime Perez Crespo2016-06-081-4/+34
| | | | | | | | #364, deprecate getBaseURL() and make sure it generates a warning (and only one) when used.
* | Fix build. There was a bug in SimpleSAML\Utils\HTTP::parseQueryString() that ↵Jaime Perez Crespo2016-06-081-0/+4
| | | | | | | | was producing an empty parameter with an empty value when the query string was empty.
* | Change the implementation of SimpleSAML\Utils\HTTP::getSelfURL() and ↵Jaime Perez Crespo2016-06-081-26/+18
| | | | | | | | getSelfURLNoQuery() to honor the 'baseurlpath' configuration option instead of simply using the environment. They were actually broken since they were using it to build the scheme, host and port, but completely ignoring the path, rendering wrong URLs in between what was configured in 'baseurlpath' and the real information in the environment. This resolves #396, but also affects #5. The changes to getSelfURLNoQuery() in #391 are unnecessary now, since we now basically getting the full URL and remove the query afterwards.
* | Minor change to enhance code clarity.Jaime Perez Crespo2016-06-071-4/+3
| |
* | Be graceful with the 'baseurlpath' configuration option. We should not fail ↵Jaime Perez Crespo2016-06-072-4/+8
| | | | | | | | when the trailing slash is missing, just add it.
* | Reformat SimpleSAML_Auth_Simple.Jaime Perez Crespo2016-06-061-323/+335
| |
* | Fix an issue with some PHP environments (mostly related to FastCGI or ↵Jaime Perez Crespo2016-06-031-1/+9
| | | | | | | | php-fpm, common with nginx) where $_SERVER['SCRIPT_NAME'] is already populated with $_SERVER['PATH_INFO'] appended to it. In those cases, we should not blindly append PATH_INFO to SCRIPT_NAME, but check the latter first. This hopefully resolves #5 and closes #391.
* | Reformat SimpleSAML_Auth_Store and fix phpdoc comments.Jaime Perez Crespo2016-06-021-324/+343
| |
* | Use LONGTEXT instead of the TEXT data type in MySQL to avoid size ↵Jaime Perez Crespo2016-06-021-1/+6
| | | | | | | | constraints in the latter. This resolves #399.
* | Allow regular expression matching of trusted.url.domains.Jon Dufresne2016-06-011-3/+21
| | | | | | | | Fixes #379
* | Use strict comparisons.Jaime Perez Crespo2016-05-201-1/+1
| |
* | Fix an issue with the SimpleSAML\Logger class that was still trying to fetch ↵Jaime Perez Crespo2016-05-201-0/+3
| | | | | | | | the track ID from the session when running from the command line, where there's obviously no session at all.
* | In the LDAP class, the password should only be escaped if it's not null, so ↵Jaime Perez Crespo2016-04-211-1/+2
| | | | | | | | that we don't try to bind with an empty password if none was provided. This fixes #366 and closes #370.
* | The data store can be a custom class in a module. When we cannot load a ↵Jaime Perez Crespo2016-04-201-1/+11
| | | | | | | | class matching the 'store.type' configuration option we don't handle the exception, causing a fatal error. Use the new CriticalConfigurationError to fix that. This fixes #369.
* | Capture any output generated by a config file, throw it away and warn about ↵Jaime Perez Crespo2016-04-201-0/+10
| | | | | | | | it in the logs.
* | Start using the new configuration exceptions, handling error situations that ↵Jaime Perez Crespo2016-04-202-11/+52
| | | | | | | | before led to blank pages or even worse.
* | Add a couple new exceptions, both to signal configuration issues. One can be ↵Jaime Perez Crespo2016-04-192-0/+159
| | | | | | | | used to signal an error in a certain configuration, leaving to the user deciding whether it was critical or not, and what to do to deal with it. The other one indicates a configuration exception that we cannot recover from (i.e. missing files), and bootstraps a minimal configuration skeleton that we can use to go on momentarily.
* | If $_SERVER does not contain the variables we need (i.e. when running tests) ↵Jaime Perez Crespo2016-04-191-4/+7
| | | | | | | | it makes no sense at all to try to guess the root URI, since there's no such a thing, probably.
* | Add a method that tries to guess the base URI path.Jaime Perez Crespo2016-04-181-0/+30
| |
* | Typo.Jaime Perez Crespo2016-04-181-2/+2
| |
* | Reformat the SimpleSAML_Auth_State class.Jaime Perez Crespo2016-04-151-365/+386
| |
* | Fix build. It was broken due to a chicken & egg problem, with ↵Jaime Perez Crespo2016-04-131-22/+3
| | | | | | | | SimpleSAML_Configuration raising creating a new SimpleSAML_Error_Exception that tries to load the configuration.
* | Add a reasonable message for SimpleSAML_Error_AuthSource exceptions.Jaime Perez Crespo2016-04-131-0/+2
| |
* | If we are asked to load an unknown auth source, we should raise a ↵Jaime Perez Crespo2016-04-131-1/+1
| | | | | | | | SimpleSAML_Error_AuthSource exception.
* | Simplify NotFound exceptions by removing the backtrace. It doesn't really ↵Jaime Perez Crespo2016-04-131-0/+14
| | | | | | | | help much.
* | Errors displayed to the user should be anonymized.Jaime Perez Crespo2016-04-131-1/+1
| |
* | Several improvements to SimpleSAML_Error_Exception:Jaime Perez Crespo2016-04-131-28/+89
| | | | | | | | | | | | | | | | | | - Exception messages and backtraces are now decoupled, so that they can be logged independently. - Backtraces are now logged with "debug" log level, and only in case the "debug" configuration option is set. - A new log() method allows the exception itself to decide which log level to use. This can be used by exceptions overriding this method to change the log level accordingly. - Add a new parameter to the format() method so that the formatted message is anonymized, safe for display in the browser. Additionally, this resolves #281.
* | Add a proper message to the SimpleSAML_Error_NotFound exception, instead of ↵Jaime Perez Crespo2016-04-131-0/+2
| | | | | | | | printing its parameters.
* | Prevent session_start() from sending cookies if possible. If not, at least ↵Jaime Perez Crespo2016-04-121-22/+30
| | | | | | | | supress warnings.
* | Fix build. PHP versions older than 5.4 don't have session_status().Jaime Perez Crespo2016-04-071-4/+10
| |
* | Add a method to SimpleSAMLphp_SessionHandlerPHP to restore a session ↵Jaime Perez Crespo2016-04-073-1/+56
| | | | | | | | 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.