From c172c7771182377f5482a043f5e41f58ec95aa45 Mon Sep 17 00:00:00 2001 From: Louis Chemineau Date: Tue, 24 Sep 2024 16:20:04 +0200 Subject: [PATCH 1/2] fix: Use hashed password in files_external settings Signed-off-by: Louis Chemineau --- apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php b/apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php index dff5bf8662533..99fb03007ea86 100644 --- a/apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php +++ b/apps/files_external/lib/Lib/Auth/Password/GlobalAuth.php @@ -37,6 +37,7 @@ */ class GlobalAuth extends AuthMechanism { public const CREDENTIALS_IDENTIFIER = 'password::global'; + private const PWD_PLACEHOLDER = '************************'; /** @var ICredentialsManager */ protected $credentialsManager; @@ -59,11 +60,18 @@ public function getAuth($uid) { 'password' => '' ]; } else { + $auth['password'] = self::PWD_PLACEHOLDER; return $auth; } } public function saveAuth($uid, $user, $password) { + // Use old password if it has not changed. + if ($password === self::PWD_PLACEHOLDER) { + $auth = $this->credentialsManager->retrieve($uid, self::CREDENTIALS_IDENTIFIER); + $password = $auth['password']; + } + $this->credentialsManager->store($uid, self::CREDENTIALS_IDENTIFIER, [ 'user' => $user, 'password' => $password From 400d4fa1675bfab7cdea2b26ffbdecee3410b741 Mon Sep 17 00:00:00 2001 From: Louis Chemineau Date: Mon, 30 Sep 2024 18:40:52 +0200 Subject: [PATCH 2/2] chore: Update smb-kerberos workflow Signed-off-by: Louis Chemineau --- .github/workflows/smb-kerberos.yml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/.github/workflows/smb-kerberos.yml b/.github/workflows/smb-kerberos.yml index 51e5fe30c104c..88b280ccfc518 100644 --- a/.github/workflows/smb-kerberos.yml +++ b/.github/workflows/smb-kerberos.yml @@ -1,20 +1,17 @@ name: Samba Kerberos SSO on: - push: - branches: - - master - - stable* - paths: - - 'apps/files_external/**' - - '.github/workflows/smb-kerberos.yml' pull_request: paths: - 'apps/files_external/**' - '.github/workflows/smb-kerberos.yml' +concurrency: + group: smb-kerberos-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + jobs: smb-kerberos-tests: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 if: ${{ github.repository_owner != 'nextcloud-gmbh' }} @@ -22,11 +19,11 @@ jobs: steps: - name: Checkout server - uses: actions/checkout@v3 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: submodules: true - name: Checkout user_saml - uses: actions/checkout@v3 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: repository: nextcloud/user_saml path: apps/user_saml @@ -42,6 +39,7 @@ jobs: - name: Setup AD-DC run: | DC_IP=$(apps/files_external/tests/sso-setup/start-dc.sh) + sleep 1 apps/files_external/tests/sso-setup/start-apache.sh $DC_IP $PWD echo "DC_IP=$DC_IP" >> $GITHUB_ENV - name: Set up Nextcloud