View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
15664 | Bug reports | Security | public | 2019-12-17 12:50 | 2024-11-19 18:14 |
Reporter | Indispirit | Assigned To | c_schmitz | ||
Priority | immediate | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Summary | 15664: OAuth support for SMTP & IMAP | ||||
Description | Implement OAuth for LS email settings Email providers are shifting to OAuth to allow app access so requesting that LS support OAuth in email settings. Example: LS currently accesses Gsuite from Google by taking the login details of a Gsuite account in LS global email settings. Gsuite classifies applications that do this as 'LSAs' - Less Secure Applications and to allow LS to access Gsuite this way currently, you have to provide an extra permission. Google plans to turn off access for LSAs and only permit access via OAuth: "
| ||||
Tags | No tags attached. | ||||
Bug heat | 294 | ||||
Complete LimeSurvey version number (& build) | dev | ||||
I will donate to the project if issue is resolved | |||||
Browser | |||||
Database type & version | |||||
Server OS (if known) | |||||
Webserver software & version (if known) | |||||
PHP Version | |||||
It's one of the reason to rewrite mail system in 4 and extend clearly PHPMailer. |
|
According to this http://www.pmail.com/newsflash.htm Google will require Oauth2 by the end of May 2022 - this month. Would it be worth having this issue bumped up the priority list? |
|
leave google … |
|
And again : it can be done in plugin |
|
"...leave Google" Lol... "...can be done in plugin": Most certainly but many of the existing features could be plugins, including all the SMTP settings. I think a more nuanced rule is used in practice ;) |
|
Did you really read the link "Every app that requests access to restricted scope Google user´s data … may see costs at a lower threshold of $4,500." I confirm : leave google. |
|
Irrelevant to this issue (relates to Android app publishing)? LimeSurvey doesn't seem to be leaving Google - see image for three Google specific settings in Global Configuration. NB Oauth2 isn't even just for Google, it's a standard (rammed through by Google) for what that's worth |
|
So according the schedule Google has deactivated LSA a long time ago. |
|
I think they planned to do it 2020 but delayed it due to the pandemic. Seems that it the switchover date for mandatory Oauth2 is now 30 May 2022: https://support.google.com/mail/thread/153515128/which-email-client-will-work-with-gmail-after-30th-may-2022?hl=en |
|
Found the actual announcement on LSAs: |
|
Please find below some comments about the analysis of the ticket About the protocolhttps://stackoverflow.com/questions/65228456/how-does-phpmailer-use-oauth/65230616#65230616 What's difficult about XOAUTH2 is obtaining that access token. To get hold of it requires that you run an HTTP service (on top of whatever other services you are running) and provide it with the correct ID and secret, which you submit and receive an access token in response, which you then use in your XOAUTH2 request. PHPMailer provides a script that helps you to do this for Google, Microsoft and Yahoo services, and others via the numerous adapters that are available for the PHPLeague's OAuth2 client package. IMHO, OAuth2's monumentally confusing structure, ambiguity, and complexity creates excessive overhead and many opportunities for error, and it's all ultimately secured by a username and password, all of which undermines the security of the whole exercise. What doesn't help is that there is no standardisation, and the procedures you must follow to obtain tokens can be completely different across providers (hence the need for different adapters), and is subject to frequent change, making it hard to document. However, since Google imposes it on everyone, you have no choice but to go along with it. AnalysisPlease find below some comments about the analysis done: LibraryFor each OAuth2 provider a specific library is needed DataIn general, I understand that to send the mail it will be needed a client_id, a client_secret, and the Refresh Token. Endpoint for getting the Refresh TokenThe Refresh Token is assigned by the provider.
UI for Refresh TokenGlobal Settings > Email Settings should be updated
We could also fetch the settings with a plugin event. Plugin eventIdeally there would be new Plugin Events added so that plugins can register new providers. When fetching the refresh tokenWe could implement the UI for refresh token as plugin settings. When sending the mail.To get the AbstractProvider instance that PHPMailer needs, additional parameters may be needed (such as the tenantId in the case of Azure), so somehow the plugin would have to indicate what additional fields should be add in Global Settings. Also, we could set the provider on a plugin event (ex: beforeEmail) |
|
Don't try to develop OAuth system, The doc is here … I really think it must be a Plugin , core plugin yes, but a plugin. |
|
Never intended to |
|
Seems need specific library for GMail
Then really better in a plugin |
|
I would suggest that as a first step you add OAUTH support for Google as described in the PHPMailer docs. |
|
You mean a PoC? If you intended the latter, I guess you are OK with the analysis and approach, right? |
|
A lot of configuration screen + a complete library A good reason to set it as Plugin ? |
|
Picking this up. As a plugin :) |
|
Hi All, Let me show you how about the progress on this story. We have developed a core plug-in that: 1- Pickups the credentials for connecting to Google services. 2 - Calls Google services to get a refresh-token, that will be used when sending emails. 3 - Intervene during the email sending process to avoid sending the emails through the regular means and send them directly through Google services. Please find below a few screenshot. Working on this proof-of-concept we have come with the following issues or observations. Https requiredGoogle requires an https URL callback when setting up the service. So HTTPs will be required for using this plugin. We will be adding a check on that as well as a warning if not having the proper schema. From AddressGoogle seems to overwrite the from address and use the one related to the account. New Email EventsRight now we only have beforeXxxEmail event, which is used generally for decorating the email (Ex. adding a header), or for sending it through a different non-standard mean. As the plug-ins don't have a synchronization mechanism, if there are two plug-ins using the same beforeXxxEmail event, is hard to know for sure which plug-in will run first and which will run later. Because of that we believe we need a specific event named beforeSendingEmail. This way we will be able to separate two different processes: A - Decorating the email (as adding a header or setting specific form addresses depending on the survey) B - Sending it (as sending it through SMTP, OAuth, or even other gateways). Global setting screenWe will need to inform the administrators that the OAuth plugin is active. If not administrator could get confused and think that the emails will be sent through regular means. Right now for this proof-of-concept we are going to be doing it through JavaScript on an event. We believe we may need something a little bit more robust as there could be many other email plug-in. We don't have a clear view on this but we picture having an email plugin coordinator, which can query the different email plug in and, for example, identify if the emails will be sent to a regular mean or through a plug-in email. The global settings screen could use this new blocking email coordinator for knowing if the SMTP credential fields should be disabled or not, and also for showing a text message that says which plug-in will be handling emails. Porting code to new pluginsLooking to the Future the current meaning for sending emails could be relocated in one or many core plug ins. |
|
beforeEmail receive whole LimeMailer (extend PHPMailer) as ->get('mailer'), then it can be used for anything that is related to mail in my opinon. You can use priority in config.xml to be sure to use this way to send email after all olther are done. It's done for this. But : we always have incompatibility issue with other plugin. Or : developer can not really be sure other plugin broke somthing : https://gitlab.com/SondagesPro/mailing/noMailToExample must happen before google here for example. |
|
POC: https://github.com/LimeSurvey/LimeSurvey/tree/feature/15664-Google-OAuth-plugin |
|
Great ! Maybe PR as draft ? Hard to compare here |
|
Just to add to this feature request, the issue also now affects those who use Microsoft services for their emails (i.e. huge numbers of public and private sector organisaitons) because basic authentication has also been dropped by Exchange online at the beginning of this year: |
|
Hi All, Picking up a bit on this.
So, you say that we should extend LimeMailer for sending emails through google, right? |
|
I don't understand ? |
|
Plugin can choose what mailer to use? |
|
Plugin get whole LimeMailer then can extend it if needed . But right : must be PHPMailer compatible. |
|
Priority is hard to coordinate among plugin developers. I don't like the priority thing a lot. I don't feel it was designed for cases like this, where you have 2 whole different processes: Sending Emails and Decorating them. Also, on the other side, if there are multiple plugins for sending emails, why all those should react to an event if we already know which one should do the work already. You already mention about incompatibility or how one plugin can mess other plugins. It is like we are talking not only about priority (sequence) but also coordination among plugins (sequence + general flow decisions like knowing which plugins should run).
Yes, but if the mailer is replaced inside the plugin, how does the process continue when the event continues on the mailer ? |
|
My bad. I was confused and mixing subjects. OAuth plugin just need to set settings on mailer. Please, for now, let's disregard the whole priority + sequence issues. Not an issue I believe. |
|
Sorry about all the back and forth, actual needs and code-reorgaization-desires got mixed. :) Thoughts? New Mail MethodThere should be a new mail method available from global settings: SMTP with OAuth. Provider Registration - new Event listSMTPOauthPluginsLimesurvey needs to know which providers are available so they are listed to the admin. Ideally there would be new Plugin Events added so that plugins can register new providers (similar to export writers). There would be a new event for that: listSMTPOAuthPlugins. After Selecting Provider: Informing Configuration Requirements - new Event afterSelectSMTPOAuthPluginThe OAuth mechanism is based on a refresh token, that the client uses to authenticate to the provider. The message would come from the plugin itself from a new event: afterSelectSMTPOAuthPlugin Specific Configuration ParametersProbably each OAuth mechanism would need some own parameters/settings to get it, and hence configuration screen. We could implement the UI for refresh token as plugin settings. Some of the common behaviour identified could be on a new BaseSMTPOauth plugin class. Configuration StageThe admin needs to follow the instructions from the plugin and configure the refresh token. Some of the common behaviour identified could be on a new BaseSMTPOauth plugin class. Sending Email Stage - new Event newSMTPOAuthConfigurationPHPMailer needs a provider (class which extends AbstractProvider) to authenticate with the provider. We would use a new event: newSMTPOAuthConfiguration From LimeMailer (https://github.com/LimeSurvey/LimeSurvey/blob/c1b544a03d05ba7302a3457c518c4722600c3c59/application/core/LimeMailer.php#L156), a new case branch would be added to trigger an event for a specific plugin (usage of target parameter when dispatching the event). |
|
It's same mailer, just partially resetted : if youupdate at start of process : it's not updated (before https://github.com/LimeSurvey/LimeSurvey/blob/c1b544a03d05ba7302a3457c518c4722600c3c59/application/core/LimeMailer.php#L233 init again)
The original idea about priority was a complete "PluginA use PluginB" "PluginA need PluginB" etc … But priority do the trick, if you have a "decorative" plugin : just remind to set priority up to 0. Yes : plugin can not be compatible with ALL plugins … only according to specific plugins … |
|
Just please disregard. That part of the conversiton got off-track. :) |
|
But this part seems totally related :) If you don't reset instance, but set to another mailer https://github.com/LimeSurvey/LimeSurvey/blob/34d67e356dd997fa30c125c4dbbde9b188866b11/vendor/phpmailer/phpmailer/src/PHPMailer.php#L215 yes : if you use POP3 , core config are not really used … |
|
I got lost. If you feel it has to be considered for the new developemtn, and only then, can you please pickup and elaborate more? |
|
I don't understand : what you done here is OK : https://github.com/LimeSurvey/LimeSurvey/pull/2868/files#diff-faf63dfcf1cb20a354eedda8d9213e6924846a8176559153c8b789f79d18b6f6R425 I just add
because we don't need to call it again And maybe time too ? We need to test if token still OK ? |
|
Agree As to get aligned... These are the next steps I am thinking for this story. Any comment about that? About the new events? |
|
I alredy add own plugin event inside my plugins, one plugin is done only for this (replace beforeEmail event) About updating Global settings : @ollehar didn't work on a new solution for plugins ? |
|
These would be new generally available plugin events called from outside the plugin.
The JS workaround we did on the PoC would go away. That was just for the PoC.
We wouldn't use that as the new screens would be inside the plugin |
|
Then you add it in core, not in core plugins ? |
|
We would be updating core to support a new email sending method: OAuth SMTP. |
|
Here : it's to add it in Global settings, right ? Maybe like export ? List export ? https://manual.limesurvey.org/Export_plugin_development#listExportOptions But still lack of the settings in global settings (we really need a global event to add input on existing form …) |
|
Yes
https://bugs.limesurvey.org/view.php?id=15664#c73911 |
|
It's the point, why not Provider Registration - new Event listEmailSendPlugins |
|
Could be, not sure if the same event can be used for all. |
|
These are a couple of core plugins to send mails through google and azure. Testing Instructions: |
|
Please find below more context on how to setup the environment for Azure.
Similar for Google: |
|
@Indispirit can you help testing maybe? |
|
Just to add to the comment above, I have tried to test this, but I am encountering issues with both Azure and Google OAuth plugin. For Azure, I can't seem to get a valid token and I get an error on sending email (no wonder if the token is not valid, but I tried anyways). Look at images image1 and image2. For Google I tried to set it up as well and got this message (image3). Not sure what is wrong here. |
|
@gabrieljenik. Will look into it. We shifted to email relays in the interim https://forums.limesurvey.org/index.php/forum/development/134875-using-google-workspace-email-relay-for-limesurvey - might work out better in the long-term. |
|
@Indispirit did you manage to look into it? |
|
Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=35600 |
|
LimeSurvey: master 1d6a6afc 2023-10-06 10:55 Gabriel Jenik Committer: c_schmitz Details Diff |
New feature 15664: Google OAuth plugin for emails (#3054) |
Affected Issues 15664 |
|
add - application/controllers/SmtpOAuthController.php | Diff File | ||
mod - application/controllers/admin/globalsettings.php | Diff File | ||
mod - application/core/LimeMailer.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/AzureOAuthSMTP.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/config.xml | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/autoload.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/ClassLoader.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/InstalledVersions.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/autoload_classmap.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/autoload_files.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/autoload_namespaces.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/autoload_psr4.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/autoload_real.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/autoload_static.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/installed.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/installed.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/composer/platform_check.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/.gitignore | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/phpcs.xml | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/phpunit.xml | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/src/Provider/Azure.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/src/Provider/AzureResourceOwner.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/greew/oauth2-azure-provider/tests/src/Provider/AzureTest.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/CHANGELOG.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/UPGRADING.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/BodySummarizer.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Client.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/ClientInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/ClientTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/HandlerStack.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/MessageFormatter.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Middleware.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Pool.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/RequestOptions.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/TransferStats.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/Utils.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/functions.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/guzzle/src/functions_include.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/CHANGELOG.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/AggregateException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/CancellationException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/Coroutine.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/Create.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/Each.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/EachPromise.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/FulfilledPromise.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/Is.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/Promise.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/PromiseInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/PromisorInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/RejectedPromise.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/RejectionException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/TaskQueue.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/TaskQueueInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/Utils.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/functions.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/promises/src/functions_include.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/CHANGELOG.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/AppendStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/BufferStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/CachingStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/DroppingStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Exception/MalformedUriException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/FnStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Header.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/HttpFactory.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/InflateStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/LazyOpenStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/LimitStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Message.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/MessageTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/MimeType.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/MultipartStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/NoSeekStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/PumpStream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Query.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Request.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Response.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Rfc7230.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/ServerRequest.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Stream.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/StreamWrapper.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/UploadedFile.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Uri.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/UriComparator.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/UriNormalizer.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/UriResolver.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/guzzlehttp/psr7/src/Utils.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Grant/AbstractGrant.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Grant/AuthorizationCode.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Grant/ClientCredentials.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Grant/Exception/InvalidGrantException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Grant/GrantFactory.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Grant/Password.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Grant/RefreshToken.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/OptionProvider/HttpBasicAuthOptionProvider.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/OptionProvider/OptionProviderInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/OptionProvider/PostAuthOptionProvider.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Provider/AbstractProvider.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Provider/Exception/IdentityProviderException.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Provider/GenericProvider.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Provider/GenericResourceOwner.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Provider/ResourceOwnerInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Token/AccessToken.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Token/AccessTokenInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Token/ResourceOwnerAccessTokenInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Tool/ArrayAccessorTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Tool/BearerAuthorizationTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Tool/GuardedPropertyTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Tool/MacAuthorizationTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Tool/ProviderRedirectTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Tool/QueryBuilderTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Tool/RequestFactory.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/league/oauth2-client/src/Tool/RequiredParameterTrait.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/build-phar.sh | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/lib/random.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/other/build_phar.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/psalm-autoload.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/paragonie/random_compat/psalm.xml | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-client/CHANGELOG.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-client/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-client/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-client/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-client/src/ClientExceptionInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-client/src/ClientInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-client/src/NetworkExceptionInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-client/src/RequestExceptionInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/.gitignore | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/src/RequestFactoryInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/src/ResponseFactoryInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/src/ServerRequestFactoryInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/src/StreamFactoryInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-factory/src/UriFactoryInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/CHANGELOG.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/docs/PSR7-Interfaces.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/docs/PSR7-Usage.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/src/MessageInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/src/RequestInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/src/ResponseInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/src/ServerRequestInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/src/StreamInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/src/UploadedFileInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/psr/http-message/src/UriInterface.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/ralouphie/getallheaders/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/ralouphie/getallheaders/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/ralouphie/getallheaders/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/ralouphie/getallheaders/src/getallheaders.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/symfony/deprecation-contracts/.gitignore | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/symfony/deprecation-contracts/CHANGELOG.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/symfony/deprecation-contracts/LICENSE | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/symfony/deprecation-contracts/README.md | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/symfony/deprecation-contracts/composer.json | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/vendor/symfony/deprecation-contracts/function.php | Diff File | ||
add - application/core/plugins/AzureOAuthSMTP/views/Help.twig | Diff File | ||
add - application/core/plugins/GoogleOAuthSMTP/GoogleOAuthSMTP.php | Diff File | ||
add - application/core/plugins/GoogleOAuthSMTP/config.xml | Diff File | ||
add - application/core/plugins/GoogleOAuthSMTP/views/Help.twig | Diff File | ||
add - application/libraries/PluginManager/EmailPluginBase.php | Diff File | ||
mod - application/libraries/PluginManager/PluginBase.php | Diff File | ||
add - application/libraries/PluginManager/SmtpOAuthPluginBase.php | Diff File | ||
mod - application/views/admin/globalsettings/_email.php | Diff File | ||
mod - application/views/admin/pluginmanager/overview.php | Diff File | ||
add - application/views/smtpOAuth/redirectToAuth.php | Diff File | ||
add - application/views/smtpOAuth/responseReceived.php | Diff File | ||
mod - assets/scripts/admin/globalsettings.js | Diff File | ||
mod - composer.json | Diff File | ||
add - composer.phar | Diff File | ||
mod - modules/admin/globalsettings/views/globalSettings_view.php | Diff File | ||
add - tests/data/plugins/EmailTestPlugin.php | Diff File | ||
add - tests/unit/plugins/EmailPluginTest.php | Diff File | ||
mod - vendor/composer/ClassLoader.php | Diff File | ||
mod - vendor/composer/autoload_psr4.php | Diff File | ||
mod - vendor/composer/autoload_static.php | Diff File | ||
mod - vendor/composer/installed.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/LICENSE | Diff File | ||
add - vendor/guzzlehttp/guzzle/composer.json | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/BodySummarizer.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Client.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/ClientInterface.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/ClientTrait.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/ClientException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/RequestException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/ServerException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Exception/TransferException.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/Proxy.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/HandlerStack.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/MessageFormatter.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Middleware.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Pool.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/RequestOptions.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/RetryMiddleware.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/TransferStats.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/Utils.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/functions.php | Diff File | ||
add - vendor/guzzlehttp/guzzle/src/functions_include.php | Diff File | ||
add - vendor/guzzlehttp/promises/LICENSE | Diff File | ||
add - vendor/guzzlehttp/promises/composer.json | Diff File | ||
add - vendor/guzzlehttp/promises/src/AggregateException.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/CancellationException.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/Coroutine.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/Create.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/Each.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/EachPromise.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/FulfilledPromise.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/Is.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/Promise.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/PromiseInterface.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/PromisorInterface.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/RejectedPromise.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/RejectionException.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/TaskQueue.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/TaskQueueInterface.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/Utils.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/functions.php | Diff File | ||
add - vendor/guzzlehttp/promises/src/functions_include.php | Diff File | ||
add - vendor/guzzlehttp/psr7/LICENSE | Diff File | ||
add - vendor/guzzlehttp/psr7/composer.json | Diff File | ||
add - vendor/guzzlehttp/psr7/src/AppendStream.php | Diff File | ||
add - vendor/guzzlehttp/psr7/src/BufferStream.php | Diff File | ||
add - vendor/guzzlehttp/psr7/src/CachingStream.php | Diff File | ||
add - vendor/guzzlehttp/psr7/src/DroppingStream.php | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-12-17 12:50 | Indispirit | New Issue | |
2019-12-18 16:00 | DenisChenu | Issue Monitored: DenisChenu | |
2019-12-18 16:01 | DenisChenu | Note Added: 55069 | |
2022-05-18 14:51 | Leithy | Note Added: 69782 | |
2022-05-18 14:51 | Leithy | Bug heat | 254 => 256 |
2022-05-18 14:52 | Leithy | Issue Monitored: Leithy | |
2022-05-18 14:52 | Leithy | Bug heat | 256 => 264 |
2022-05-18 14:56 | DenisChenu | Note Added: 69784 | |
2022-05-18 14:56 | DenisChenu | Note Added: 69785 | |
2022-05-19 13:09 | Leithy | Note Added: 69846 | |
2022-05-19 13:09 | Leithy | File Added: image.png | |
2022-05-19 14:15 | DenisChenu | Note Added: 69852 | |
2022-05-19 14:20 | Leithy | Note Added: 69853 | |
2022-05-20 09:15 | c_schmitz | Note Added: 69897 | |
2022-05-20 09:15 | c_schmitz | Bug heat | 264 => 266 |
2022-05-20 11:25 | Leithy | Note Added: 69906 | |
2022-05-20 11:42 | Leithy | Note Added: 69907 | |
2022-09-25 19:25 | netikja | Issue Monitored: netikja | |
2022-09-25 19:25 | netikja | Bug heat | 266 => 274 |
2022-10-18 17:00 | c_schmitz | Priority | none => immediate |
2022-10-18 17:00 | c_schmitz | Assigned To | => gabrieljenik |
2022-10-18 17:00 | c_schmitz | Status | new => assigned |
2022-10-18 17:01 | c_schmitz | Summary | [feature request] OAuth implementation => OAuth support for SMTP & IMAP |
2022-10-18 17:01 | c_schmitz | Project | Feature requests => Bug reports |
2022-10-20 21:49 | gabrieljenik | Note Added: 72371 | |
2022-10-20 21:49 | gabrieljenik | Bug heat | 274 => 276 |
2022-10-20 21:49 | gabrieljenik | Note Edited: 72371 | |
2022-10-21 08:45 | DenisChenu | Note Added: 72372 | |
2022-10-21 13:59 | gabrieljenik | Note Added: 72373 | |
2022-10-21 14:09 | DenisChenu | Note Added: 72374 | |
2022-10-26 10:22 | c_schmitz | Note Added: 72428 | |
2022-10-26 15:40 | gabrieljenik | Note Added: 72436 | |
2022-10-26 17:58 | DenisChenu | Note Added: 72440 | |
2023-01-03 20:50 | gabrieljenik | Note Added: 73340 | |
2023-01-09 17:54 | gabrieljenik | Note Added: 73405 | |
2023-01-09 17:54 | gabrieljenik | File Added: image-2.png | |
2023-01-09 17:54 | gabrieljenik | File Added: image-3.png | |
2023-01-09 18:02 | DenisChenu | Note Added: 73406 | |
2023-01-09 18:07 | DenisChenu | Note Edited: 73406 | |
2023-01-24 21:58 | gabrieljenik | Note Added: 73551 | |
2023-01-25 07:53 | DenisChenu | Note Added: 73554 | |
2023-01-25 13:25 | gabrieljenik | Note Added: 73556 | |
2023-02-20 12:00 | guest | Bug heat | 276 => 282 |
2023-02-20 12:05 | arpsh | Note Added: 73883 | |
2023-02-20 12:05 | arpsh | Bug heat | 282 => 284 |
2023-02-20 16:29 | gabrieljenik | Note Added: 73885 | |
2023-02-20 16:31 | DenisChenu | Note Added: 73886 | |
2023-02-20 16:39 | gabrieljenik | Note Added: 73887 | |
2023-02-20 16:42 | DenisChenu | Note Added: 73888 | |
2023-02-21 14:28 | gabrieljenik | Note Edited: 73405 | |
2023-02-21 14:30 | gabrieljenik | Note Edited: 73405 | |
2023-02-21 15:13 | gabrieljenik | Note Added: 73907 | |
2023-02-21 15:25 | gabrieljenik | Note Added: 73909 | |
2023-02-21 16:04 | gabrieljenik | Note Added: 73911 | |
2023-02-21 16:05 | gabrieljenik | Note Edited: 73911 | |
2023-02-21 16:13 | DenisChenu | Note Added: 73912 | |
2023-02-21 16:28 | gabrieljenik | Note Added: 73913 | |
2023-02-21 16:32 | DenisChenu | Note Added: 73914 | |
2023-02-21 16:37 | gabrieljenik | Note Added: 73915 | |
2023-02-21 17:23 | DenisChenu | Note Added: 73916 | |
2023-02-21 20:21 | gabrieljenik | Note Added: 73917 | |
2023-02-21 20:24 | Indispirit | Issue Monitored: Indispirit | |
2023-02-21 20:24 | Indispirit | Bug heat | 284 => 286 |
2023-02-21 20:24 | Indispirit | Issue End Monitor: Indispirit | |
2023-02-21 20:24 | Indispirit | Bug heat | 286 => 284 |
2023-02-21 20:30 | DenisChenu | Note Added: 73918 | |
2023-02-21 20:35 | gabrieljenik | Note Added: 73919 | |
2023-02-21 20:37 | DenisChenu | Note Added: 73920 | |
2023-02-21 23:56 | gabrieljenik | Note Added: 73923 | |
2023-03-03 09:57 | DenisChenu | Note Added: 74021 | |
2023-03-03 13:45 | gabrieljenik | Note Added: 74022 | |
2023-03-03 18:02 | DenisChenu | Note Added: 74027 | |
2023-03-03 18:53 | gabrieljenik | Note Added: 74028 | |
2023-04-17 20:31 | gabrieljenik | Note Edited: 73556 | |
2023-04-17 20:44 | gabrieljenik | Note Added: 74515 | |
2023-04-26 14:23 | gabrieljenik | Assigned To | gabrieljenik => tibor.pacalat |
2023-04-26 14:23 | gabrieljenik | Status | assigned => ready for testing |
2023-04-26 14:23 | gabrieljenik | Complete LimeSurvey version number (& build) | => dev |
2023-04-26 14:28 | gabrieljenik | Note Added: 74647 | |
2023-07-04 17:13 | gabrieljenik | Note Added: 75932 | |
2023-07-24 12:44 | guest | Bug heat | 284 => 290 |
2023-08-09 14:04 | gabrieljenik | Note Added: 76508 | |
2023-08-09 14:22 | tibor.pacalat | Note Added: 76513 | |
2023-08-09 14:22 | tibor.pacalat | File Added: image1.png | |
2023-08-09 14:22 | tibor.pacalat | File Added: image2.png | |
2023-08-09 14:22 | tibor.pacalat | File Added: image3.png | |
2023-08-09 14:22 | tibor.pacalat | Bug heat | 290 => 292 |
2023-08-09 14:37 | Indispirit | Note Added: 76514 | |
2023-08-09 14:37 | Indispirit | Bug heat | 292 => 294 |
2023-09-14 18:07 | tibor.pacalat | Note Added: 77058 | |
2023-10-09 16:24 | tibor.pacalat | Status | ready for testing => resolved |
2023-10-09 16:24 | tibor.pacalat | Resolution | open => fixed |
2023-10-10 10:17 | c_schmitz | Changeset attached | => LimeSurvey master 1d6a6afc |
2023-10-10 10:17 | c_schmitz | Note Added: 77598 | |
2023-10-10 10:17 | c_schmitz | Assigned To | tibor.pacalat => c_schmitz |
2024-11-19 18:14 | c_schmitz | Status | resolved => closed |