mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-25 18:19:22 +03:00
v2.35.1
This commit is contained in:
parent
275ad40346
commit
b0211424a7
8 changed files with 44 additions and 6 deletions
29
CHANGELOG.md
29
CHANGELOG.md
|
|
@ -1,3 +1,32 @@
|
||||||
|
## 2.35.1 – 2024-02-26
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- Search functionality in Admin -> Config
|
||||||
|
- Cache S/MIME passphrases when "remember" is checked
|
||||||
|
- Import S/MIME certificate popup
|
||||||
|
- pre-verify S/MIME opaque signed messages so we have a body to view
|
||||||
|
- Sort PGP keys and S/MIME certificates on email address
|
||||||
|
- Optionally use existing private key to generate S/MIME certificate
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Better handling to detect which PGP or S/MIME sign/encrypt to use
|
||||||
|
- Improved StorageType handling
|
||||||
|
- Cleanup and improved Capa handling
|
||||||
|
- OPEN_PGP should be OPENPGP as it is one word
|
||||||
|
- Use get_debug_type() instead of gettype()
|
||||||
|
- Require OpenSSL due to S/MIME
|
||||||
|
- AbstractProvider::IsActive() is now an abstract method and must be defined in child class
|
||||||
|
- Make better use of SnappyMail\SensitiveString
|
||||||
|
- Update Polish translation by @tinola
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- Verify S/MIME signatures got broken allong the way while implementing this
|
||||||
|
- Generate S/MIME self-signed certificate failed to keep existing private key
|
||||||
|
- MIME parser RegExp didn't escape boundary which caused issues
|
||||||
|
- TypeError: b64Encode(...).match(...) is null on saving compose draft
|
||||||
|
- Fix timestampToString() for future dates
|
||||||
|
|
||||||
|
|
||||||
## 2.35.0 – 2024-02-20
|
## 2.35.0 – 2024-02-20
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
This app packages SnappyMail <upstream>2.35.0</upstream>.
|
This app packages SnappyMail <upstream>2.35.1</upstream>.
|
||||||
|
|
||||||
SnappyMail is a simple, modern, lightweight & fast web-based email client.
|
SnappyMail is a simple, modern, lightweight & fast web-based email client.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ RUN mkdir -p /app/code
|
||||||
WORKDIR /app/code
|
WORKDIR /app/code
|
||||||
|
|
||||||
# If you change the extraction below, be sure to test on scaleway
|
# If you change the extraction below, be sure to test on scaleway
|
||||||
VERSION=2.35.0
|
VERSION=2.35.1
|
||||||
RUN wget https://github.com/the-djmaze/snappymail/releases/download/v${VERSION}/snappymail-${VERSION}.zip -O /tmp/snappymail.zip && \
|
RUN wget https://github.com/the-djmaze/snappymail/releases/download/v${VERSION}/snappymail-${VERSION}.zip -O /tmp/snappymail.zip && \
|
||||||
unzip /tmp/snappymail.zip -d /app/code && \
|
unzip /tmp/snappymail.zip -d /app/code && \
|
||||||
rm /tmp/snappymail.zip && \
|
rm /tmp/snappymail.zip && \
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<id>snappymail</id>
|
<id>snappymail</id>
|
||||||
<name>SnappyMail</name>
|
<name>SnappyMail</name>
|
||||||
<summary>SnappyMail Webmail</summary>
|
<summary>SnappyMail Webmail</summary>
|
||||||
<version>2.35.0</version>
|
<version>2.35.1</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author>SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli</author>
|
<author>SnappyMail, RainLoop Team, Nextgen-Networks, Tab Fitts, Nathan Kinkade, Pierre-Alain Bandinelli</author>
|
||||||
<description><![CDATA[**Simple, modern, lightweight & fast web-based email client.**
|
<description><![CDATA[**Simple, modern, lightweight & fast web-based email client.**
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ return "SnappyMail Webmail is a browser-based multilingual IMAP client with an a
|
||||||
# script_snappymail_versions()
|
# script_snappymail_versions()
|
||||||
sub script_snappymail_versions
|
sub script_snappymail_versions
|
||||||
{
|
{
|
||||||
return ( "2.35.0" );
|
return ( "2.35.1" );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub script_snappymail_version_desc
|
sub script_snappymail_version_desc
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"title": "SnappyMail",
|
"title": "SnappyMail",
|
||||||
"description": "Simple, modern & fast web-based email client",
|
"description": "Simple, modern & fast web-based email client",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.35.0",
|
"version": "2.35.1",
|
||||||
"homepage": "https://snappymail.eu",
|
"homepage": "https://snappymail.eu",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "DJ Maze",
|
"name": "DJ Maze",
|
||||||
|
|
|
||||||
|
|
@ -329,7 +329,7 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
if ('storage' === $sName || 'storage-local' === $sName) {
|
if ($this->Config()->Get('plugin', 'storage', false) && ('storage' === $sName || 'storage-local' === $sName)) {
|
||||||
require_once __DIR__ . '/storage.php';
|
require_once __DIR__ . '/storage.php';
|
||||||
$oDriver = new \NextcloudStorage(APP_PRIVATE_DATA.'storage', $sName === 'storage-local');
|
$oDriver = new \NextcloudStorage(APP_PRIVATE_DATA.'storage', $sName === 'storage-local');
|
||||||
}
|
}
|
||||||
|
|
@ -346,6 +346,11 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||||
\RainLoop\Plugins\Property::NewInstance('ignoreSystemAddressbook')->SetLabel('Ignore system addressbook')
|
\RainLoop\Plugins\Property::NewInstance('ignoreSystemAddressbook')->SetLabel('Ignore system addressbook')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
|
||||||
->SetDefaultValue(true),
|
->SetDefaultValue(true),
|
||||||
|
/*
|
||||||
|
\RainLoop\Plugins\Property::NewInstance('storage')->SetLabel('Use Nextcloud user ID in config storage path')
|
||||||
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
|
||||||
|
->SetDefaultValue(false)
|
||||||
|
*/
|
||||||
\RainLoop\Plugins\Property::NewInstance('calendar')->SetLabel('Enable "Put ICS in calendar"')
|
\RainLoop\Plugins\Property::NewInstance('calendar')->SetLabel('Enable "Put ICS in calendar"')
|
||||||
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
|
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
|
||||||
->SetDefaultValue(false)
|
->SetDefaultValue(false)
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,10 @@ class Response
|
||||||
if (\function_exists('gzinflate') && isset($this->headers['content-encoding'])
|
if (\function_exists('gzinflate') && isset($this->headers['content-encoding'])
|
||||||
&& (false !== \stripos($this->headers['content-encoding'], 'gzip'))) {
|
&& (false !== \stripos($this->headers['content-encoding'], 'gzip'))) {
|
||||||
$this->body = \gzinflate(\substr($body, 10, -4));
|
$this->body = \gzinflate(\substr($body, 10, -4));
|
||||||
|
if (false === $this->body) {
|
||||||
|
$err = \error_get_last() ?: ['message' => 'gzinflate failed'];
|
||||||
|
throw new \RuntimeException("{$err['message']} for {$request_uri}");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->body = $body;
|
$this->body = $body;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue