diff --git a/README.md b/README.md
index 2f6fb07..dd43860 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**Shipped version:** 2.5.4~ynh11
+**Shipped version:** 2.6.10~ynh1
**Demo:**
diff --git a/README_es.md b/README_es.md
index e03ca55..6303b93 100644
--- a/README_es.md
+++ b/README_es.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**Versión actual:** 2.5.4~ynh11
+**Versión actual:** 2.6.10~ynh1
**Demo:**
diff --git a/README_eu.md b/README_eu.md
index 5f969e7..fde8b50 100644
--- a/README_eu.md
+++ b/README_eu.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**Paketatutako bertsioa:** 2.5.4~ynh11
+**Paketatutako bertsioa:** 2.6.10~ynh1
**Demoa:**
diff --git a/README_fr.md b/README_fr.md
index 4f0d4e7..17173ba 100644
--- a/README_fr.md
+++ b/README_fr.md
@@ -24,7 +24,7 @@ Sont disponibles une interface web, des add-ons pour navigateurs (Firefox/Chrome
La mise à niveau depuis le paquet YunoHost de [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) demande une opération manuelle, c'est pourquoi un nouveau paquet est fournit. Pour le processus de migration, merci de vous référer à [la documentation officiel de Wallabag](https://doc.wallabag.org/fr/user/import/wallabagv1.html).
-**Version incluse :** 2.5.4~ynh11
+**Version incluse :** 2.6.10~ynh1
**Démo :**
diff --git a/README_gl.md b/README_gl.md
index a9771f9..dc59255 100644
--- a/README_gl.md
+++ b/README_gl.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**Versión proporcionada:** 2.5.4~ynh11
+**Versión proporcionada:** 2.6.10~ynh1
**Demo:**
diff --git a/README_id.md b/README_id.md
index 52b3e01..799386a 100644
--- a/README_id.md
+++ b/README_id.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**Versi terkirim:** 2.5.4~ynh11
+**Versi terkirim:** 2.6.10~ynh1
**Demo:**
diff --git a/README_nl.md b/README_nl.md
index f4dd05a..f3be6fd 100644
--- a/README_nl.md
+++ b/README_nl.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**Geleverde versie:** 2.5.4~ynh11
+**Geleverde versie:** 2.6.10~ynh1
**Demo:**
diff --git a/README_pl.md b/README_pl.md
index c415a20..362edcf 100644
--- a/README_pl.md
+++ b/README_pl.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**Dostarczona wersja:** 2.5.4~ynh11
+**Dostarczona wersja:** 2.6.10~ynh1
**Demo:**
diff --git a/README_ru.md b/README_ru.md
index be2bd5d..226a738 100644
--- a/README_ru.md
+++ b/README_ru.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**Поставляемая версия:** 2.5.4~ynh11
+**Поставляемая версия:** 2.6.10~ynh1
**Демо-версия:**
diff --git a/README_zh_Hans.md b/README_zh_Hans.md
index 49b57fc..f5cbe1c 100644
--- a/README_zh_Hans.md
+++ b/README_zh_Hans.md
@@ -24,7 +24,7 @@ It provides a web interface, browser (Firefox/Chrome/Opera) add-ons, mobile apps
Upgrade from the YunoHost [Wallabag v1](https://github.com/YunoHost-Apps/wallabag_ynh) app requires a manual operation. That's why it's provided as a new package. For the migration process, please refer to the [Wallabag official documentation](https://doc.wallabag.org/en/user/import/wallabagv1.html).
-**分发版本:** 2.5.4~ynh11
+**分发版本:** 2.6.10~ynh1
**演示:**
diff --git a/conf/parameters.yml b/conf/parameters.yml
index 5cc47fb..216915c 100644
--- a/conf/parameters.yml
+++ b/conf/parameters.yml
@@ -26,13 +26,7 @@ parameters:
domain_name: https://__DOMAIN____PATH__
server_name: "Your wallabag instance"
- mailer_transport: smtp
- mailer_user: ~
- mailer_password: ~
- mailer_host: 127.0.0.1
- mailer_port: false
- mailer_encryption: ~
- mailer_auth_mode: ~
+ mailer_dsn: smtp://127.0.0.1
locale: en
diff --git a/manifest.toml b/manifest.toml
index 7779a8f..48f69d5 100644
--- a/manifest.toml
+++ b/manifest.toml
@@ -7,7 +7,7 @@ name = "Wallabag"
description.en = "Save and classify articles. Read them later"
description.fr = "Enregistrez et classez les articles. Lisez-les plus tard"
-version = "2.5.4~ynh11"
+version = "2.6.10~ynh1"
maintainers = ["lapineige"]
@@ -50,13 +50,14 @@ ram.runtime = "50M"
[resources]
[resources.sources.main]
- url = "https://github.com/wallabag/wallabag/releases/download/2.5.4/wallabag-2.5.4.tar.gz"
- sha256 = "c953105e3181f18bf592541a1c46c318c6663ad00d4687052676b02a7d74c618"
+ url = "https://github.com/wallabag/wallabag/releases/download/2.6.10/wallabag-2.6.10.tar.gz"
+ sha256 = "6b48f7b45403ec97145789037075a27e875ebbc2afa079f982f55bc68f3a30fe"
autoupdate.strategy = "latest_github_release"
autoupdate.asset = ".*\\.tar\\.gz"
[resources.system_user]
+ allow_email = true
[resources.install_dir]
group = "www-data:r-x"
diff --git a/patches/main/00-ldap-auth.patch b/patches/main/00-ldap-auth.patch
index 3a36f5e..8e9a0d8 100644
--- a/patches/main/00-ldap-auth.patch
+++ b/patches/main/00-ldap-auth.patch
@@ -1,5 +1,15 @@
+From 488b781e030637ab6feafc0da640217e1d654ead Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?=
+Date: Tue, 11 Jun 2024 11:50:36 +0200
+Subject: [PATCH 1/3] Add ldap auth
+
+---
+ app/config/security.yml | 12 ++++++++++++
+ app/config/services.yml | 7 +++++++
+ 2 files changed, 19 insertions(+)
+
diff --git a/app/config/security.yml b/app/config/security.yml
-index 02afc9ea..5a3f7a34 100644
+index 9ab51621..f4ea3d47 100644
--- a/app/config/security.yml
+++ b/app/config/security.yml
@@ -13,6 +13,14 @@ security:
@@ -8,39 +18,41 @@ index 02afc9ea..5a3f7a34 100644
id: fos_user.user_provider.username_email
+ yunohost_users:
+ ldap:
-+ service: yunohost.ldap
++ service: Symfony\Component\Ldap\Ldap
+ base_dn: ou=users,dc=yunohost,dc=org
+ search_dn:
+ search_password:
+ filter: (&(uid={username})(objectClass=posixAccount))
+ default_roles: ROLE_USER
-
+
# the main part of the security, where you can set up firewalls
# for specific sections of your app
-@@ -38,6 +46,9 @@ security:
-
+@@ -39,6 +47,10 @@ security:
+
secured_area:
pattern: ^/
+ http_basic_ldap:
-+ service: yunohost.ldap
++ provider: yunohost_users
++ service: Symfony\Component\Ldap\Ldap
+ dn_string: "uid={username},ou=users,dc=yunohost,dc=org"
form_login:
provider: fos_userbundle
csrf_token_generator: security.csrf.token_manager
diff --git a/app/config/services.yml b/app/config/services.yml
-index 7b85d846..f23961c5 100644
+index 270e79d9..c67341e8 100644
--- a/app/config/services.yml
+++ b/app/config/services.yml
-@@ -43,6 +43,10 @@ services:
+@@ -394,3 +394,10 @@ services:
+ public: false
tags:
- - { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }
-
-+ yunohost.ldap:
-+ class: Symfony\Component\Ldap\LdapClient
-+ arguments: ["localhost"]
+ - { name: pagerfanta.view, alias: default_wallabag }
+
- craue_config_cache_provider:
- class: Symfony\Component\Cache\Adapter\FilesystemAdapter
- public: false
---
-2.17.1
++ Symfony\Component\Ldap\Ldap:
++ arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
++ tags: [ldap]
++ Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
++ arguments:
++ - host: localhost
+--
+2.45.1
+
diff --git a/patches/main/01-logout-success-handler.patch b/patches/main/01-logout-success-handler.patch
index d321d54..505c9f9 100644
--- a/patches/main/01-logout-success-handler.patch
+++ b/patches/main/01-logout-success-handler.patch
@@ -1,31 +1,40 @@
+From 711f4a49fa7d4c471cd905870fecaa6f83156d46 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?=
+Date: Tue, 11 Jun 2024 11:52:33 +0200
+Subject: [PATCH 2/3] Configure a custom logout success handler for yunohost
+ ldap
+
+---
+ app/config/security.yml | 2 +-
+ app/config/services.yml | 3 +++
+ .../Security/LogoutSuccessHandler.php | 27 +++++++++++++++++++
+ 3 files changed, 31 insertions(+), 1 deletion(-)
+ create mode 100644 src/Wallabag/YunoHostBundle/Security/LogoutSuccessHandler.php
+
diff --git a/app/config/security.yml b/app/config/security.yml
-index 5a3f7a34..1720e741 100644
+index f4ea3d47..de6b705b 100644
--- a/app/config/security.yml
+++ b/app/config/security.yml
-@@ -62,7 +62,7 @@ security:
-
+@@ -64,7 +64,7 @@ security:
+
logout:
path: /logout
- target: /
+ success_handler: yunohost.logout_success_handler
-
- access_control:
- - { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
+
+ two_factor:
+ provider: fos_userbundle
diff --git a/app/config/services.yml b/app/config/services.yml
-index f23961c5..f266e6d1 100644
+index c67341e8..7057ca42 100644
--- a/app/config/services.yml
+++ b/app/config/services.yml
-@@ -43,6 +43,10 @@ services:
- tags:
- - { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }
-
+@@ -401,3 +401,6 @@ services:
+ Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
+ arguments:
+ - host: localhost
++
+ yunohost.logout_success_handler:
+ class: Wallabag\YunoHostBundle\Security\LogoutSuccessHandler
-+
-+
- yunohost.ldap:
- class: Symfony\Component\Ldap\LdapClient
- arguments: ["localhost"]
diff --git a/src/Wallabag/YunoHostBundle/Security/LogoutSuccessHandler.php b/src/Wallabag/YunoHostBundle/Security/LogoutSuccessHandler.php
new file mode 100644
index 00000000..b3268243
@@ -59,5 +68,6 @@ index 00000000..b3268243
+ return new RedirectResponse($url);
+ }
+}
---
-2.17.1
+--
+2.45.1
+
diff --git a/patches/main/02-oauth-workaround.patch b/patches/main/02-oauth-workaround.patch
index 6326570..747030f 100644
--- a/patches/main/02-oauth-workaround.patch
+++ b/patches/main/02-oauth-workaround.patch
@@ -1,11 +1,25 @@
---- a/vendor/friendsofsymfony/oauth-server-bundle/Storage/OAuthStorage.php 2016-02-22 13:57:55.000000000 +0000
-+++ b/vendor/friendsofsymfony/oauth-server-bundle/Storage/OAuthStorage.php 2017-04-13 17:16:06.298501506 +0000
-@@ -170,7 +170,7 @@
- if (null !== $user) {
- $encoder = $this->encoderFactory->getEncoder($user);
+From 85c26ff4df2191bf3494491f27e2922aa6b569c8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?=
+Date: Tue, 11 Jun 2024 11:54:25 +0200
+Subject: [PATCH 3/3] OAuthStorage workaround
+
+---
+ .../oauth-server-bundle/Storage/OAuthStorage.php | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vendor/friendsofsymfony/oauth-server-bundle/Storage/OAuthStorage.php b/vendor/friendsofsymfony/oauth-server-bundle/Storage/OAuthStorage.php
+index 5ab6b7c9..7cb77913 100644
+--- a/vendor/friendsofsymfony/oauth-server-bundle/Storage/OAuthStorage.php
++++ b/vendor/friendsofsymfony/oauth-server-bundle/Storage/OAuthStorage.php
+@@ -158,7 +158,7 @@ class OAuthStorage implements IOAuth2RefreshTokens, IOAuth2GrantUser, IOAuth2Gra
+ }
+
+ $encoder = $this->encoderFactory->getEncoder($user);
+- if ($encoder->isPasswordValid($user->getPassword(), $password, $user->getSalt())) {
++ if (true) {
+ return [
+ 'data' => $user,
+ ];
+--
+2.45.1
-- if ($encoder->isPasswordValid($user->getPassword(), $password, $user->getSalt())) {
-+ if (true) {
- return array(
- 'data' => $user,
- );
diff --git a/scripts/_common.sh b/scripts/_common.sh
index 2a416c6..2f430ad 100644
--- a/scripts/_common.sh
+++ b/scripts/_common.sh
@@ -4,6 +4,8 @@
# COMMON VARIABLES AND CUSTOM HELPERS
#=================================================
+composer_version="2.7.7"
+
# Define a function to execute commands with `php_exec`
php_exec() {
(cd "$install_dir" && ynh_exec_as_app \
diff --git a/scripts/install b/scripts/install
index bd65801..85c7e64 100644
--- a/scripts/install
+++ b/scripts/install
@@ -31,6 +31,15 @@ if [ -e "$install_dir/var/cache/prod/appProdProjectContainer.php" ]; then
chmod 700 "$install_dir/var/cache/prod/appProdProjectContainer.php"
fi
+#=================================================
+# INSTALL SYMFONY LDAP
+#=================================================
+ynh_script_progression --message="Installing dependencies for LDAP..." --weight=1
+
+ynh_composer_install
+ynh_composer_exec require symfony/ldap
+# SYMFONY_ENV=prod ynh_composer_exec install --no-dev
+
#=================================================
# APP INITIAL CONFIGURATION
#=================================================
diff --git a/scripts/upgrade b/scripts/upgrade
index 58af3f7..4edab98 100644
--- a/scripts/upgrade
+++ b/scripts/upgrade
@@ -22,11 +22,25 @@ if [ -e "$install_dir/var/cache/prod/appProdProjectContainer.php" ]; then
chmod 700 "$install_dir/var/cache/prod/appProdProjectContainer.php"
fi
+#=================================================
+# INSTALL SYMFONY LDAP
+#=================================================
+ynh_script_progression --message="Installing dependencies for LDAP..." --weight=1
+
+ynh_composer_install
+ynh_composer_exec require symfony/ldap
+# SYMFONY_ENV=prod ynh_composer_exec install --no-dev
+
#=================================================
# UPDATE A CONFIG FILE
#=================================================
ynh_script_progression "Reconfiguring $app..."
+ynh_config_add --template="parameters.yml" --destination="$install_dir/app/config/parameters.yml"
+
+chmod 600 "$install_dir/app/config/parameters.yml"
+chown "$app:$app" "$install_dir/app/config/parameters.yml"
+
# Upgrade database and clear the cache
php_exec doctrine:migrations:migrate
php_exec cache:clear