Commit graph

6385 commits

Author SHA1 Message Date
S-A-L13
876ed221c3
Update Fork (#2)
* Cleanup OpenPgpImportPopupView code

* update polish translation

* small fix

* Added Import S/MIME certificate popup
And much better handling of the sign and encrypt options

* bugfix: store in Passphrases

* Resolve #1448

* pre-verify S/MIME opaque signed messages so we have a body to view

* Fix timestampToString() for future dates

* Move php8.php to /app/libraries/polyfill/

* Improved Settings handling to prevent bugs in outer code

* Changed AbstractProvider::IsActive() to be abstract

* Example for #1449

* bugfix: previous IsActive() commit

* OpenSSL required due to S/MIME

* Use get_debug_type() instead of gettype()

* update polish translation

* Make all Enumerations classes abstract

* Added search functionality in Admin -> Config
And removed the unused ['capa']['quota']

* Cleanup Quota handling

* OPEN_PGP should be OPENPGP as it is one word

* Improve Capa handling

* Resolve #1451

* Bugfix TypeError: b64Encode(...).match(...) is null

* Small StorageType change

* Bugfix: mailvelope editor failed

* Bugfix: undefined getMailvelopePrivateKeyFor()

* Bugfix: MIME parser RegExp didn't escape `boundary` which caused issues

* Return detailed info on PgpImportKey

* Show GnuPG verify error

* Sort PGP keys by email and id

* Sort S/MIME certificates on emailAddress else validTo

* S/MIME import from signature use `BEGIN PKCS7`

* Optionally use existing private key to generate S/MIME certificate

* Chaned some error_log() to MailSo Logger()

* Force reload of S/MIME certificates list on import

* Make better use of SnappyMail\SensitiveString

* Fix view PGP key button

* Mask all POST data that has a key which contains `pass`

* v2.35.1

* Resolve #1455

* Improved GnuPG error handling

* Update pt/pt-PT translation

* update Polish translation

* Drop support for gnupg pecl extension as it fails with "no passphrase" issues

* Resolve #1456

* Resolve #1458

* v2.35.2

* fix changelog

* Resolve #1461

* Update pt/pt-PT translation

* compact-composer plugin v1.0.0

* Resolve #1462

* Fix decrypt error message

* `new Error()` to `Error()`

* Resolve #1463

* Show url for #1466

* Simplify SignMe/Remember me code

* Simplify language Notifications

* Bugfix: SetPassword expects \SnappyMail\SensitiveString

* https://github.com/the-djmaze/snappymail/issues/1450#issuecomment-1972147950

* improve: fire the 'squire2-toolbar' event after more props are added

* improve: add dark theme support and use 'button' element as menu trigger for consistent styling

* fix: use compact template in non-destructive way (do not replace the PopupsCompose template if a different wysiwyg is used)

* Update admin.json

* Update user.json

* CSS rainloopErrorTip location

* Improved error handling on PGP and S/MIME decrypt

* KnockoutJS remove unused `beforeRemove`

* KnockoutJS drop unused `as`

* KnockoutJS simplify renderMode because only 1 option is used

* KnoutJS cleanup templating.js a bit

* KnockoutJS drop unused `bindingRewriteValidators`

* KnockoutJS drop the twoWayBindings code

* KnockoutJS simplify virtualElements binding check

* KnockoutJS simplify applyBindingsToNodeInternal

* KnockoutJS use Array.isArray

* KnockoutJS drop alias `textinput` for `textInput`

* KnockoutJS scramble `createChildContext`

* KnockoutJS scramble `controlsDescendantBindings`

* KnockoutJS scramble `exportDependencies`

* KnockoutJS drop unused `throttleEvaluation`

* KnockoutJS drop unused `valueAllowUnset`

* KnockoutJS drop unused `templateNodes`

* KnockoutJS drop unused `optionsCaption`

* KnockoutJS drop unused `dontLimitMoves`

* KnockoutJS drop unused `uniqueName`

* KnockoutJS drop IE leftovers

* KnockoutJS drop unused `preprocess`

* KnockoutJS drop unused "disposeWhenNodeIsRemoved" and "disposeWhen"

* KnockoutJS don't scramble exportDependencies. controlsDescendantBindings, createChildContext

* KnockoutJS drop unused `$parentContext` and `$parents`

* KnockoutJS drop unused `$rawData`

* Knockoutjs built latest

* KnockoutJS drop unused template options `nodes`, `if`, `ifnot`

* KnockoutJS use more Array.isArray

* KnockoutJS cleanup code a bit

* KnockoutJS primitiveTypes can just be checked with Object()

* KnockoutJS rebuilt

* Verify S/MIME signed automatically and log Exception

* Automatically verify PGP and S/MIME signed messages

* `new Error` to `Error`

* By default throw AccountNotAllowed as confused in #1478

* GPG use pinentries for decrypt, sign and export

* Better GPG error handling

* GPG show error on view/export

* OpenPGP fix handling of importing keys

* Make "verify signatures automatically" optional, as it requires more IMAP fetching

* S/MIME don't post identity key and certificate, just fetch from server

* Show error to old browsers, instead of crashing

* Automatically verify S/MIME decrypted signed message

---------

Co-authored-by: the-djmaze <>
Co-authored-by: tinola <tinola@poczta.onet.pl>
Co-authored-by: Maarten <3752035+the-djmaze@users.noreply.github.com>
Co-authored-by: lmperfis <joint.striker@gmail.com>
Co-authored-by: Sergey Mosin <sergey@srgdev.com>
Co-authored-by: hguilbert <51283484+hguilbert@users.noreply.github.com>
2024-03-04 17:00:27 +01:00
S-A-L13
3bd073a38b Disabled php part of Nextcloud OpenID Connect
The php code was still executed and throwed the error:
"Undefined array key "snappymail-autologin-oidc" at /var/www/nextloud/nextcloud_28/apps/snappymail/templates/admin-local.php#43"
2024-03-04 16:51:43 +01:00
S-A-L13
31d9e9fd1b Changed version to 2.3 2024-02-27 14:30:57 +01:00
S-A-L13
20f6dea345 minor changes 2024-02-27 13:46:02 +01:00
S-A-L13
0763f3d1c6 Removed wrong escapes 2024-02-27 13:22:38 +01:00
S-A-L13
f4554374bd Minor changes to match coding style of original coder 2024-02-27 13:10:53 +01:00
S-A-L13
ebf7540554 Added function CleanupMailAddresses
Added function (and additional code to start it) that helps to clean up the mail addresses array. It removes the prefix (if set in config) and removes all addresses with no or a different prefix.
2024-02-27 12:04:07 +01:00
S-A-L13
12cbb9f07e Added config fields for mail prefix
Mail prefix is needed to filter mailidentities. For example suche set by Exchange in the ProxyAddresses field, which can hold different address types
2024-02-26 15:47:57 +01:00
S-A-L13
8dac28e1a2 Update index.php 2024-02-22 14:56:29 +01:00
S-A-L13
383e40636b Added StartTLS functionality
Added StartTLS in function Connect().
And also added parameters in config to activate StartTLS.
2024-02-22 14:54:55 +01:00
the-djmaze
0efc0bbe3a Translate some S/MIME text 2024-02-22 00:00:12 +01:00
the-djmaze
453e73f71a Cache S/MIME passphrases when "remember" is checked 2024-02-21 23:28:53 +01:00
the-djmaze
9941ff61f7 Bugfix: S/MIME sigPart handling 2024-02-21 01:28:36 +01:00
the-djmaze
aebed32f76 Bugfix: verify S/MIME signatures got broken allong the way while implementing this 2024-02-21 01:23:36 +01:00
the-djmaze
d5d47ffed1 Use SensitiveString at more places 2024-02-21 00:59:09 +01:00
the-djmaze
a473e5e223 Implement \Stringable 2024-02-21 00:36:31 +01:00
the-djmaze
d5a43e422d v2.35.0 2024-02-20 18:58:18 +01:00
the-djmaze
e9a63b40c5 Enable S/MIME encrypt #259 2024-02-20 18:29:35 +01:00
the-djmaze
ca12655e5f Cleanup PGP PUBLIC KEY handling 2024-02-20 18:14:32 +01:00
the-djmaze
6ce08726b4 Automaticaly import S/MIME certificates that are found in signatures #259 2024-02-20 17:42:26 +01:00
the-djmaze
3d168b4688 Cleanup DoPgpVerifyMessage action param handling 2024-02-20 16:03:47 +01:00
the-djmaze
5a2d2fd0e5 Handle S/MIME encrypt, decrypt, sign and very everywhere #259 2024-02-20 16:03:22 +01:00
the-djmaze
44a623543f set smimeKey and smimeCertificate for demo 2024-02-20 15:21:32 +01:00
the-djmaze
18d0ba4acb Get S/MIME decrypt working for #259 2024-02-20 13:04:12 +01:00
the-djmaze
1762198642 Get S/MIME encryption working #259 2024-02-20 12:38:57 +01:00
the-djmaze
196dffa8d8 Fix S/MIME certificates cache handling 2024-02-20 11:46:34 +01:00
the-djmaze
4b8a295fbe mask another passphrase in the logs for PHP < 8.2 2024-02-20 11:24:23 +01:00
the-djmaze
ec0d92bfac mask passphrases in logs for PHP < 8.2 2024-02-20 11:22:28 +01:00
the-djmaze
479452ad7b Cache S/MIME certificates info #259 2024-02-20 11:11:10 +01:00
the-djmaze
f5f3a90275 Only ask S/MIME private key passphrase when it is encrypted #259 2024-02-20 11:10:43 +01:00
Maarten
f06b6edef5
Merge pull request #1443 from tinola/master
update Polish translations
2024-02-20 10:34:09 +01:00
tinola
0063c2fc3f update Polish translations 2024-02-20 08:11:15 +01:00
the-djmaze
7ae53719c4 Rename CSS .openpgp-control to .crypto-control 2024-02-20 01:52:37 +01:00
the-djmaze
9c9adde9c8 Added some missing translations 2024-02-20 01:09:41 +01:00
the-djmaze
568caed3c7 Ask password to generate S/MIME self signed #259 2024-02-20 01:01:15 +01:00
the-djmaze
3f08051e37 Added a S/MIME certificates list to User settings #259 2024-02-19 20:16:37 +01:00
the-djmaze
a22ae5fcf4 fix name addSMimeEncrypted 2024-02-19 18:54:00 +01:00
the-djmaze
10ec90435d Show certificate icon for p12 and pfx files 2024-02-19 18:51:52 +01:00
the-djmaze
2f2079e9c1 Rename SearchPGPKey action to PgpSearchKey 2024-02-19 17:39:56 +01:00
the-djmaze
2fa3508c11 Rename MessagePgpVerify action to PgpVerifyMessage 2024-02-19 17:35:48 +01:00
the-djmaze
55e55b7bb7 Rename SMime actions 2024-02-19 17:33:24 +01:00
the-djmaze
9a5a5091a1 More S/MIME changes for #259 2024-02-19 15:35:10 +01:00
the-djmaze
a9b60a762f Also mark p7m with certificate icon 2024-02-19 15:29:25 +01:00
the-djmaze
f181863d50 No default passphrase for self-signed #259 2024-02-19 15:28:03 +01:00
the-djmaze
f53d9ed6c3 Verify S/MIME signed messages #259 2024-02-19 15:14:11 +01:00
the-djmaze
4df3766231 Fix signing messages with S/MIME #259 2024-02-19 12:51:02 +01:00
the-djmaze
128e2f6254 Added signing using S/MIME #259 2024-02-19 04:35:37 +01:00
the-djmaze
f83b60782a Improved handling to create S/MIME certificates #259 2024-02-19 01:52:12 +01:00
the-djmaze
6fa4dff23b Set S/MIME private key and certificate per identity #259 2024-02-18 17:18:47 +01:00
the-djmaze
33de51b2d5 Check for CONDSTORE or QRESYNC to get the HIGHESTMODSEQ 2024-02-18 16:47:28 +01:00