Loading patches/002-login-without-domain.patch +17 −31 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ diff --git ./core/Controller/LoginController.php ./core/Controller/LoginControll $data = new LoginData( $this->request, trim($user), --- ./core/Controller/WebAuthnController.php 2022-08-18 09:41:40.030199100 +0530 --- ./core/Controller/WebAuthnController.php 2022-08-18 09:54:41.180199100 +0530 +++ ./core/Controller/WebAuthnController-new.php 2022-08-18 09:29:53.340199100 +0530 @@ -37,6 +37,7 @@ use OCP\ISession; Loading @@ -47,40 +47,26 @@ diff --git ./core/Controller/LoginController.php ./core/Controller/LoginControll class WebAuthnController extends Controller { private const WEBAUTHN_LOGIN = 'webauthn_login'; @@ -73,6 +74,26 @@ $this->logger->debug('Converting login name to UID'); @@ -75,9 +76,9 @@ $uid = $loginName; + $uid = trim($uid); + $uid = mb_strtolower($uid, 'UTF-8'); $uid = trim($uid); $uid = mb_strtolower($uid, 'UTF-8'); - $domain = $this->config->getSystemValue('mail_domain', ''); + $domain = \OC::$server->getConfig()->getSystemValue('mail_domain', ''); + $domain_suffix = !empty($domain) ? '@' . $domain : ''; $domain_suffix = !empty($domain) ? '@' . $domain : ''; - $alt_domain = $this->config->getSystemValue('alt_mail_domain', ''); + $alt_domain = \OC::$server->getConfig()->getSystemValue('alt_mail_domain', ''); + $alt_domain_suffix = !empty($alt_domain) ? '@' . $alt_domain : ''; + $admin_username = $_ENV["NEXTCLOUD_ADMIN_USER"]; + $is_admin = strcmp($uid, $admin_username) === 0; + + if(!$is_admin && stristr($uid, $domain_suffix) !== FALSE) { + $uid = str_replace($domain_suffix, '', $uid); + } + if (!$is_admin && stristr($uid, $alt_domain_suffix) !== FALSE) { + $uid = str_replace($alt_domain_suffix, '', $uid); + } + + if(!\OC::$server->get(IUserManager::class)->userExists($uid)) { + $uid = $uid . $domain_suffix; + } + Util::emitHook( '\OCA\Files_Sharing\API\Server2Server', 'preLoginNameUsedAsUserName', @@ -115,4 +136,4 @@ $alt_domain_suffix = !empty($alt_domain) ? '@' . $alt_domain : ''; $admin_username = $_ENV["NEXTCLOUD_ADMIN_USER"]; $is_admin = strcmp($uid, $admin_username) === 0; @@ -89,7 +90,7 @@ $uid = str_replace($alt_domain_suffix, '', $uid); } return new JSONResponse([]); - if(!$this->userManager->userExists($uid)) { + if(!\OC::$server->get(IUserManager::class)->userExists($uid)) { $uid = $uid . $domain_suffix; } -} \ No newline at end of file +} --- ./lib/private/User/Session.php 2022-08-10 15:39:33.131890282 +0530 +++ ./lib/private/User/Session-new.php 2022-08-10 15:48:23.236165783 +0530 Loading Loading
patches/002-login-without-domain.patch +17 −31 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ diff --git ./core/Controller/LoginController.php ./core/Controller/LoginControll $data = new LoginData( $this->request, trim($user), --- ./core/Controller/WebAuthnController.php 2022-08-18 09:41:40.030199100 +0530 --- ./core/Controller/WebAuthnController.php 2022-08-18 09:54:41.180199100 +0530 +++ ./core/Controller/WebAuthnController-new.php 2022-08-18 09:29:53.340199100 +0530 @@ -37,6 +37,7 @@ use OCP\ISession; Loading @@ -47,40 +47,26 @@ diff --git ./core/Controller/LoginController.php ./core/Controller/LoginControll class WebAuthnController extends Controller { private const WEBAUTHN_LOGIN = 'webauthn_login'; @@ -73,6 +74,26 @@ $this->logger->debug('Converting login name to UID'); @@ -75,9 +76,9 @@ $uid = $loginName; + $uid = trim($uid); + $uid = mb_strtolower($uid, 'UTF-8'); $uid = trim($uid); $uid = mb_strtolower($uid, 'UTF-8'); - $domain = $this->config->getSystemValue('mail_domain', ''); + $domain = \OC::$server->getConfig()->getSystemValue('mail_domain', ''); + $domain_suffix = !empty($domain) ? '@' . $domain : ''; $domain_suffix = !empty($domain) ? '@' . $domain : ''; - $alt_domain = $this->config->getSystemValue('alt_mail_domain', ''); + $alt_domain = \OC::$server->getConfig()->getSystemValue('alt_mail_domain', ''); + $alt_domain_suffix = !empty($alt_domain) ? '@' . $alt_domain : ''; + $admin_username = $_ENV["NEXTCLOUD_ADMIN_USER"]; + $is_admin = strcmp($uid, $admin_username) === 0; + + if(!$is_admin && stristr($uid, $domain_suffix) !== FALSE) { + $uid = str_replace($domain_suffix, '', $uid); + } + if (!$is_admin && stristr($uid, $alt_domain_suffix) !== FALSE) { + $uid = str_replace($alt_domain_suffix, '', $uid); + } + + if(!\OC::$server->get(IUserManager::class)->userExists($uid)) { + $uid = $uid . $domain_suffix; + } + Util::emitHook( '\OCA\Files_Sharing\API\Server2Server', 'preLoginNameUsedAsUserName', @@ -115,4 +136,4 @@ $alt_domain_suffix = !empty($alt_domain) ? '@' . $alt_domain : ''; $admin_username = $_ENV["NEXTCLOUD_ADMIN_USER"]; $is_admin = strcmp($uid, $admin_username) === 0; @@ -89,7 +90,7 @@ $uid = str_replace($alt_domain_suffix, '', $uid); } return new JSONResponse([]); - if(!$this->userManager->userExists($uid)) { + if(!\OC::$server->get(IUserManager::class)->userExists($uid)) { $uid = $uid . $domain_suffix; } -} \ No newline at end of file +} --- ./lib/private/User/Session.php 2022-08-10 15:39:33.131890282 +0530 +++ ./lib/private/User/Session-new.php 2022-08-10 15:48:23.236165783 +0530 Loading