Skip to content

fix(dav): store webcal subscription credentials encrypted - #65705

Open
SebastianKrupinski wants to merge 1 commit into
masterfrom
fix/subscription-credentials
Open

SebastianKrupinski wants to merge 1 commit into
masterfrom
fix/subscription-credentials

Conversation

@SebastianKrupinski

@SebastianKrupinski SebastianKrupinski commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Resolves: Support webcal http auth & store credentials calendar#70

  • Credentials in the user info of a subscription source URL were stored in plain text and returned to clients as part of the source. They were also used without percent-decoding, so Basic auth failed for passwords containing characters such as '@', ':' or '#'.

  • On create and update, split the user info off the source, percent-decode it and store it encrypted in the new calendarsubscriptions.credentials column. Sending back an unchanged source without user info keeps the stored credentials. Existing subscriptions are migrated. Credentials are decrypted when listing a user's subscriptions and used for Basic auth when the feed is refreshed.

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
@SebastianKrupinski

Copy link
Copy Markdown
Contributor Author

/backport to stable35

@SebastianKrupinski

Copy link
Copy Markdown
Contributor Author

/backport to stable34

@SebastianKrupinski

Copy link
Copy Markdown
Contributor Author

/backport to stable33

@SebastianKrupinski

Copy link
Copy Markdown
Contributor Author

Yes there are better ways to do this then creating the crypto library with "Server::get(ICrypto::class)".

But since this is only needed for 2 operations I didn't think complicating this fix by injecting the class in the constructors was worth it, as it would require modifying event more files from the server.php to console commands

@SebastianKrupinski SebastianKrupinski mentioned this pull request Oct 19, 2026
2 of 8 tasks

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: 🏗️ In progress

Development

Successfully merging this pull request may close these issues.

Support webcal http auth & store credentials

1 participant