committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 866 additions and 528 deletions
-
63README.md
-
15check_process
-
4conf/config_install.json
-
2conf/nextcloud.cron
-
23conf/nginx.conf
-
77conf/php-fpm.conf
-
2hooks/post_user_create
-
6manifest.json
-
5pull_request_template.md
-
157scripts/_common.sh
-
55scripts/backup
-
125scripts/change_url
-
175scripts/install
-
39scripts/remove
-
109scripts/restore
-
303scripts/upgrade
-
4scripts/upgrade.d/upgrade.last.sh
-
56sources/patches_last_version/app-00-add-logout_url-conf.patch
@ -1,9 +1,9 @@ |
|||
{ |
|||
"system": { |
|||
"datadirectory": "#DATADIR#", |
|||
"datadirectory": "__DATADIR__", |
|||
"trusted_domains": [ |
|||
"localhost", |
|||
"#DOMAIN#" |
|||
"__DOMAIN__" |
|||
] |
|||
} |
|||
} |
|||
@ -1 +1 @@ |
|||
*/15 * * * * #USER# /usr/bin/php -f #DESTDIR#/cron.php |
|||
*/15 * * * * __USER__ /usr/bin/php -f __DESTDIR__/cron.php |
|||
@ -0,0 +1,125 @@ |
|||
#!/bin/bash |
|||
|
|||
#================================================= |
|||
# GENERIC STARTING |
|||
#================================================= |
|||
# IMPORT GENERIC HELPERS |
|||
#================================================= |
|||
|
|||
source _common.sh |
|||
source /usr/share/yunohost/helpers |
|||
|
|||
#================================================= |
|||
# RETRIEVE ARGUMENTS |
|||
#================================================= |
|||
|
|||
old_domain=$YNH_APP_OLD_DOMAIN |
|||
old_path=$YNH_APP_OLD_PATH |
|||
|
|||
new_domain=$YNH_APP_NEW_DOMAIN |
|||
new_path=$YNH_APP_NEW_PATH |
|||
|
|||
app=$YNH_APP_INSTANCE_NAME |
|||
|
|||
#================================================= |
|||
# LOAD SETTINGS |
|||
#================================================= |
|||
ynh_script_progression --message="Loading installation settings..." |
|||
|
|||
# Needed for helper "ynh_add_nginx_config" |
|||
final_path=$(ynh_app_setting_get --app=$app --key=final_path) |
|||
|
|||
#================================================= |
|||
# CHECK WHICH PARTS SHOULD BE CHANGED |
|||
#================================================= |
|||
|
|||
change_domain=0 |
|||
if [ "$old_domain" != "$new_domain" ] |
|||
then |
|||
change_domain=1 |
|||
fi |
|||
|
|||
change_path=0 |
|||
if [ "$old_path" != "$new_path" ] |
|||
then |
|||
change_path=1 |
|||
fi |
|||
|
|||
#================================================= |
|||
# STANDARD MODIFICATIONS |
|||
#================================================= |
|||
# MODIFY URL IN NGINX CONF |
|||
#================================================= |
|||
ynh_script_progression --message="Updating nginx web server configuration..." --weight=2 |
|||
|
|||
nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf |
|||
|
|||
# Change the path in the nginx config file |
|||
if [ $change_path -eq 1 ] |
|||
then |
|||
# Make a backup of the original nginx config file if modified |
|||
ynh_backup_if_checksum_is_different --file="$nginx_conf_path" |
|||
# Set global variables for nginx helper |
|||
domain="$old_domain" |
|||
path_url="$new_path" |
|||
# Create a dedicated nginx config |
|||
ynh_add_nginx_config |
|||
fi |
|||
|
|||
# Change the domain for nginx |
|||
if [ $change_domain -eq 1 ] |
|||
then |
|||
# Delete file checksum for the old conf file location |
|||
ynh_delete_file_checksum --file="$nginx_conf_path" |
|||
mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf |
|||
# Store file checksum for the new config file location |
|||
ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" |
|||
fi |
|||
|
|||
#================================================= |
|||
# SPECIFIC MODIFICATIONS |
|||
#================================================= |
|||
ynh_script_progression --message="Applying Nextcloud specific modifications..." --weight=2 |
|||
|
|||
# Define a function to execute commands with `occ` |
|||
exec_occ() { |
|||
(cd "$final_path" && exec_as "$app" \ |
|||
php occ --no-interaction --no-ansi "$@") |
|||
} |
|||
|
|||
if [ $change_domain -eq 1 ] |
|||
then |
|||
# Change the trusted domain |
|||
exec_occ config:system:set trusted_domains 1 --value=$new_domain |
|||
|
|||
# Change hostname for activity notifications |
|||
ynh_replace_string --match_string="'overwrite.cli.url' => 'http://${old_domain}'," --replace_string="'overwrite.cli.url' => 'https://${new_domain}'," --target_file="${final_path}/config/config.php" |
|||
fi |
|||
|
|||
if [ $change_domain -eq 1 ] |
|||
then |
|||
# Check if .well-known is available for this domain |
|||
if is_url_handled --url="https://$domain/.well-known/caldav" || is_url_handled --url="https://$domain/.well-known/carddav" |
|||
then |
|||
ynh_print_warn --message="Another app already uses the domain $domain to serve a caldav/carddav feature. You may encounter issues when dealing with your calendar or address book." |
|||
|
|||
# Remove lines about .well-known/carddav and caldav with sed. |
|||
sed --in-place --regexp-extended '/^location = \/\.well\-known\/(caldav|carddav) \{/,/\}/d' "/etc/nginx/conf.d/$new_domain.d/$app.conf" |
|||
ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" |
|||
fi |
|||
fi |
|||
|
|||
#================================================= |
|||
# GENERIC FINALISATION |
|||
#================================================= |
|||
# RELOAD NGINX |
|||
#================================================= |
|||
ynh_script_progression --message="Reloading nginx web server..." |
|||
|
|||
ynh_systemd_action --service_name=nginx --action=reload |
|||
|
|||
#================================================= |
|||
# END OF SCRIPT |
|||
#================================================= |
|||
|
|||
ynh_script_progression --message="Change of URL completed for $app" --last |
|||
@ -1,62 +1,16 @@ |
|||
core/Controller/LoginController.php | 25 ++++++++++++++----------- |
|||
1 file changed, 14 insertions(+), 11 deletions(-) |
|||
|
|||
diff --git a/core/Controller/LoginController.php b/core/Controller/LoginController.php
|
|||
index 182d2bc106..82523e306e 100644
|
|||
index f83b03bc90..568e20dcd7 100644
|
|||
--- a/core/Controller/LoginController.php
|
|||
+++ b/core/Controller/LoginController.php
|
|||
@@ -95,13 +95,13 @@ class LoginController extends Controller {
|
|||
* @param Throttler $throttler |
|||
*/ |
|||
public function __construct($appName, |
|||
- IRequest $request,
|
|||
- IUserManager $userManager,
|
|||
- IConfig $config,
|
|||
- ISession $session,
|
|||
- IUserSession $userSession,
|
|||
- IURLGenerator $urlGenerator,
|
|||
- ILogger $logger,
|
|||
+ IRequest $request,
|
|||
+ IUserManager $userManager,
|
|||
+ IConfig $config,
|
|||
+ ISession $session,
|
|||
+ IUserSession $userSession,
|
|||
+ IURLGenerator $urlGenerator,
|
|||
+ ILogger $logger,
|
|||
Manager $twoFactorManager, |
|||
Defaults $defaults, |
|||
Throttler $throttler) { |
|||
@@ -130,7 +130,10 @@ class LoginController extends Controller {
|
|||
} |
|||
$this->userSession->logout(); |
|||
|
|||
- $response = new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm'));
|
|||
+ $redirectUrl = $this->config->getSystemValue('logout_url',
|
|||
+ $this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm')
|
|||
+ );
|
|||
+ $this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm'));
|
|||
+
|
|||
+ $response = new RedirectResponse($redirectUrl);
|
|||
$this->session->set('clearingExecutionContexts', '1'); |
|||
$this->session->close(); |
|||
$response->addHeader('Clear-Site-Data', '"cache", "storage", "executionContexts"'); |
|||
return $response; |
|||
} |
|||
@@ -303,10 +306,10 @@ class LoginController extends Controller {
|
|||
$previousUser = $user; |
|||
$user = $users[0]->getUID(); |
|||
if($user !== $previousUser) { |
|||
- $loginResult = $this->userManager->checkPassword($user, $password);
|
|||
- }
|
|||
+ $loginResult = $this->userManager->checkPassword($user, $password);
|
|||
} |
|||
} |
|||
+ }
|
|||
|
|||
if ($loginResult === false) { |
|||
$this->logger->warning('Login failed: \''. $user . |
|||
@@ -314,7 +317,7 @@ class LoginController extends Controller {
|
|||
['app' => 'core']); |
|||
return $this->createLoginFailedResponse($user, $originalUser, |
|||
$redirect_url, self::LOGIN_MSG_INVALIDPASSWORD); |
|||
- }
|
|||
+ }
|
|||
|
|||
// TODO: remove password checks from above and let the user session handle failures |
|||
// requires https://github.com/owncloud/core/pull/24616 |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue