Commit graph

832 commits

Author SHA1 Message Date
the-djmaze
b3edb5fb0a Versionnumber for #2064 2026-10-22 13:10:09 +02:00
Maarten
58d553b1a2
Merge pull request #2064 from FathiBenNasr/fix/ics-viewer-attachments-observable
ics-viewer: unwrap attachments and widen the calendar part match
2026-10-22 13:07:14 +02:00
Maarten
2f26779f4a
Merge pull request #2061 from FathiBenNasr/feature/avatars-contact-photo
avatars: use the PHOTO stored on a matching contact
2026-10-22 13:01:15 +02:00
the-djmaze
1be5abd122 Version number for #2024 2026-10-22 12:48:32 +02:00
Maarten
a9ca71bae1
Merge pull request #2024 from bohwaz/fix-remote-login
Fix login-remote plugin password handling
2026-10-22 12:45:17 +02:00
Fathi Ben Nasr
8a2d8e86a5 ics-viewer: unwrap attachments and widen the calendar part match
The panel never appears on a real invitation.

msg.attachments is a ko.observableArray, so msg.attachments.find() is
undefined and throws inside the message subscription - the rest of the
handler, including the JSON-LD path, dies with it. The app itself always
writes attachments().

A scheduling mail also does not necessarily carry a text/calendar
attachment. Evolution and Exchange put the scheduling part inline in
multipart/alternative as text/calendar and repeat it as an
application/ics attachment, so such a message shows two .ics files and
the current test matches neither reliably. Match text/calendar,
application/ics, text/x-vcalendar or an .ics file name - which is what
the commented-out line above was reaching for.
2026-08-14 10:12:06 +00:00
Fathi Ben Nasr
6a7cbe070c avatars: find the photo when several contacts share an address 2026-08-13 02:19:03 +00:00
Philipp Mundhenk
863f719da3 proxy-auth: remove check_proxy / proxy_ip settings
The "Check Proxy" option inspected the forwarded client IP returned
by Http::GetClientIp(true), which resolves to HTTP_X_FORWARDED_FOR
first and only falls back to REMOTE_ADDR. In any typical reverse-proxy
deployment that header carries the end-user's IP, not the proxy's, so
the option never actually validated that the request came from the
trusted proxy. It only constrained the set of end-user IPs allowed
to use SSO, which is not a meaningful guarantee on its own.

Drop the option, the paired proxy_ip subnet field, and the
ip_in_range helper. Document that access must be gated at the
network layer (firewall / docker network / bound interface) and
that the upstream proxy must strip any client-supplied value of
the configured remote-user header.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 10:44:36 +02:00
Philipp Mundhenk
68588287ef proxy-auth: document APP_SALT rotation troubleshooting
Add README note explaining that AUTHENTICATIONFAILED after a
container rebuild or data reset is typically caused by an
APP_SALT change invalidating the encrypted master credentials,
and that re-entering them in the admin UI restores access.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 09:57:22 +02:00
Philipp Mundhenk
60ee74c68a proxy-auth: fix check_proxy enforcement and persistence
The proxy IP check was never enforced: ServiceProxyAuth read config
key 'proxy_check' but the property is registered as 'check_proxy',
so the lookup always returned the default empty string and the
else-branch set $sProxyRequest = true unconditionally.

The BOOL property also had SetEncrypted(), which caused getDecrypted()
to call DecryptFromJSON() on a literal bool and fail with
"DecryptFromJSON() invalid $data", so the admin UI never reflected
the saved value. BOOLs are stored as plain bools in JSON; switch to
Get() and drop SetEncrypted() on the property.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 09:54:54 +02:00
bohwaz
a8117a9d03 Fix login-remote plugin password handling 2026-01-06 00:04:41 +01:00
Philipp Mundhenk
a9b89fd7b3
Update instructions for Dovecot 2.4 2025-06-07 13:06:23 +02:00
the-djmaze
33fbaa9598 Bump version for #1918 2025-03-10 16:35:27 +01:00
TomsProject
2741762199
Changing hashing algorithm to sha256 2025-02-22 18:32:21 +08:00
Sergey Mosin
95af4f60ea update squire to v2.3.2 and fix willPaste listener/sanitizer 2024-11-16 18:16:32 -05:00
the-djmaze
4cd5774257 ko.utils.domNodeDisposal.addDisposeCallback to ko.addDisposeCallback 2024-10-29 22:19:26 +01:00
the-djmaze
2809e75307 Preload identicon on delayed avatar lookup 2024-10-29 11:33:46 +01:00
the-djmaze
a83c3aacf8 Set identicon in cache when loading remote avatar fails 2024-10-29 01:29:52 +01:00
the-djmaze
8645b0ab1e Speedup identicons by caching them 2024-10-29 01:20:34 +01:00
the-djmaze
490d808cdb Speedup handling of identical avatars 2024-10-29 00:59:28 +01:00
Roman Pereviznyk
64f74d0511
Update zh.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:53:38 +03:00
Roman Pereviznyk
5d679b5be5
Update it.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:52:27 +03:00
Roman Pereviznyk
6bc658b5e0
Update hu.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:51:57 +03:00
Roman Pereviznyk
bc6de6c336
Update en.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:51:08 +03:00
Roman Pereviznyk
583528c448
Update cs.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:50:38 +03:00
Roman Pereviznyk
6307470ac0
Create uk.ini
Created a localization file for the Ukrainian language for the two-factor authentication application
2024-10-14 17:48:18 +03:00
Roman Pereviznyk
35914c0406
Create uk.ini
Created a localization file for the Ukrainian language for the password change application.
2024-10-14 17:32:59 +03:00
the-djmaze
ececfae31a v2.38.1 2024-10-08 23:07:58 +02:00
Sergey Mosin
e7ecf53b4a bump version to v1.0.5 2024-10-08 15:10:01 -04:00
Sergey Mosin
48b0519cb4 use 'Utils.cleanHtml' as pasteSanitizer + minor tweaks 2024-10-08 15:09:56 -04:00
Sergey Mosin
0a4cea5e4c make sure that KO bindings are re-applied 2024-10-08 15:09:51 -04:00
the-djmaze
6f2f40b983 Prepare for #1793 2024-10-08 17:49:21 +02:00
the-djmaze
28a8e3c157 Added the proper logging for #1706 2024-10-08 13:06:43 +02:00
the-djmaze
ba85eda7f0 Remove #1737 2024-10-07 00:03:35 +02:00
the-djmaze
198cc852c3 O365 option to use Azure or Personal accounts #1645 2024-09-29 11:50:00 +02:00
the-djmaze
d3ecfdc71e Changes for #1706 2024-09-21 20:15:14 +02:00
the-djmaze
a4299c5f1c Fix extensions with login.credentials hook parameters 2024-09-21 00:01:02 +02:00
the-djmaze
2341dd9f62 Added mapping for sSmtpUser 2024-09-20 23:48:49 +02:00
the-djmaze
74c7948e72 Improved ical parsing for "view-ics" extension 2024-09-18 00:13:39 +02:00
the-djmaze
32da821c17 Replaced ical.es5.min.cjs with ical.js v2.1.0 for #1745 2024-09-17 20:57:45 +02:00
the-djmaze
b5ff818ca4 Bugfix: event.organizer could be undefined #1745 2024-09-17 20:53:55 +02:00
Maarten
02ef7c8d90
Merge pull request #1745 from Murena-SAS/dev/new-view-ics-plugin
Display ICS preview using an ICS library
2024-09-17 18:15:21 +02:00
Phie
e354fcb3bf new plugin for ics view, based on ical lib 2024-09-17 17:29:40 +02:00
the-djmaze
4e3a7a6de2 PHP 8.4: Implicitly nullable parameter declarations deprecated 2024-09-17 15:58:37 +02:00
the-djmaze
bd2ffe5078 v2.38.0 2024-09-16 20:51:26 +02:00
the-djmaze
6f4f6bfd03 Improved attempt for #1746 2024-09-16 13:49:59 +02:00
the-djmaze
f8520c27a2 Bump version number 2024-09-16 10:17:26 +02:00
the-djmaze
61e7c00b62 Resolve #1746 2024-09-16 10:15:30 +02:00
the-djmaze
ed41d8e45f Implemen #1737 including an i18n fix 2024-09-15 18:56:30 +02:00
the-djmaze
9a7ff9fe27 Resolve #1715 2024-09-15 17:42:17 +02:00