Loading Dockerfile +1 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,7 @@ RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/3rdparty/sabre/vobject/lib/ITip/Broke RUN patch -u ${BASE_DIR}/apps/theming/lib/Themes/CommonThemeTrait.php -i ${TMP_PATCH_DIR}/026-primary-color-fix.patch RUN patch -u ${BASE_DIR}/lib/private/Template/JSResourceLocator.php -i ${TMP_PATCH_DIR}/031-theme-custom-app-translations.patch RUN patch -u ${BASE_DIR}/lib/private/L10N/Factory.php -i ${TMP_PATCH_DIR}/032-select-lang-from-session.patch RUN patch -u ${BASE_DIR}/custom_apps/snappymail/lib/Util/SnappyMailHelper.php -i ${TMP_PATCH_DIR}/037-snappy-oidc-autologin.patch # UserConfigChangedEvent Ref: https://github.com/nextcloud/server/pull/42039 RUN cd ${BASE_DIR} && patch -p1 < ${TMP_PATCH_DIR}/036-user-config-change-event.patch RUN rm -rf ${TMP_PATCH_DIR} Loading patches/037-snappy-oidc-autologin.patch 0 → 100644 +28 −0 Original line number Diff line number Diff line From: Avinash <avinash.gusain.ext@murena.com> Date: Wed, 01 May 2023 17:50:00 +0530 Subject: [PATCH] Fix oidc autologin in snappymail With this patch we are actually fixing the autologin in case of oidc login --- custom_apps/snappymail/lib/Util/SnappyMailHelper.php 2024-05-01 13:13:15 +++ custom_apps/snappymail/lib/Util/SnappyMailHelper-new.php 2024-05-01 13:33:06 @@ -91,9 +91,17 @@ */ if ($doLogin && $aCredentials[1] && $aCredentials[2]) { try { - $oAccount = $oActions->LoginProcess($aCredentials[1], $aCredentials[2]); - if ($oAccount && $oConfig->Get('login', 'sign_me_auto', \RainLoop\Enumerations\SignMeType::DefaultOff) === \RainLoop\Enumerations\SignMeType::DefaultOn) { - $oActions->SetSignMeToken($oAccount); + if ($ocSession->get('is_oidc')) { + $pwd = new \SnappyMail\SensitiveString($aCredentials[1]); + $oAccount = $oActions->LoginProcess($aCredentials[1], $pwd); + if ($oAccount) { + $oActions->SetSignMeToken($oAccount); + } + } else { + $oAccount = $oActions->LoginProcess($aCredentials[1], $aCredentials[2]); + if ($oAccount && $oConfig->Get('login', 'sign_me_auto', \RainLoop\Enumerations\SignMeType::DefaultOff) === \RainLoop\Enumerations\SignMeType::DefaultOn) { + $oActions->SetSignMeToken($oAccount); + } } } catch (\Throwable $e) { // Login failure, reset password to prevent more attempts Loading
Dockerfile +1 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,7 @@ RUN cd ${BASE_DIR} && patch -u ${BASE_DIR}/3rdparty/sabre/vobject/lib/ITip/Broke RUN patch -u ${BASE_DIR}/apps/theming/lib/Themes/CommonThemeTrait.php -i ${TMP_PATCH_DIR}/026-primary-color-fix.patch RUN patch -u ${BASE_DIR}/lib/private/Template/JSResourceLocator.php -i ${TMP_PATCH_DIR}/031-theme-custom-app-translations.patch RUN patch -u ${BASE_DIR}/lib/private/L10N/Factory.php -i ${TMP_PATCH_DIR}/032-select-lang-from-session.patch RUN patch -u ${BASE_DIR}/custom_apps/snappymail/lib/Util/SnappyMailHelper.php -i ${TMP_PATCH_DIR}/037-snappy-oidc-autologin.patch # UserConfigChangedEvent Ref: https://github.com/nextcloud/server/pull/42039 RUN cd ${BASE_DIR} && patch -p1 < ${TMP_PATCH_DIR}/036-user-config-change-event.patch RUN rm -rf ${TMP_PATCH_DIR} Loading
patches/037-snappy-oidc-autologin.patch 0 → 100644 +28 −0 Original line number Diff line number Diff line From: Avinash <avinash.gusain.ext@murena.com> Date: Wed, 01 May 2023 17:50:00 +0530 Subject: [PATCH] Fix oidc autologin in snappymail With this patch we are actually fixing the autologin in case of oidc login --- custom_apps/snappymail/lib/Util/SnappyMailHelper.php 2024-05-01 13:13:15 +++ custom_apps/snappymail/lib/Util/SnappyMailHelper-new.php 2024-05-01 13:33:06 @@ -91,9 +91,17 @@ */ if ($doLogin && $aCredentials[1] && $aCredentials[2]) { try { - $oAccount = $oActions->LoginProcess($aCredentials[1], $aCredentials[2]); - if ($oAccount && $oConfig->Get('login', 'sign_me_auto', \RainLoop\Enumerations\SignMeType::DefaultOff) === \RainLoop\Enumerations\SignMeType::DefaultOn) { - $oActions->SetSignMeToken($oAccount); + if ($ocSession->get('is_oidc')) { + $pwd = new \SnappyMail\SensitiveString($aCredentials[1]); + $oAccount = $oActions->LoginProcess($aCredentials[1], $pwd); + if ($oAccount) { + $oActions->SetSignMeToken($oAccount); + } + } else { + $oAccount = $oActions->LoginProcess($aCredentials[1], $aCredentials[2]); + if ($oAccount && $oConfig->Get('login', 'sign_me_auto', \RainLoop\Enumerations\SignMeType::DefaultOff) === \RainLoop\Enumerations\SignMeType::DefaultOn) { + $oActions->SetSignMeToken($oAccount); + } } } catch (\Throwable $e) { // Login failure, reset password to prevent more attempts