Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to v2.6.9 - TODO: Fix LDAP #203

Open
wants to merge 27 commits into
base: testing
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e7da51d
Upgrade to v2.6.9
yunohost-bot May 13, 2024
67ac61f
Update patches
Salamandar Jun 11, 2024
3d25d5a
Use ynh_add_config for parameters.yml instead of modifying the source…
Salamandar Mar 15, 2024
99c7b14
Rewrite parameters.yml from upstream sources for v2.6
Salamandar Mar 15, 2024
8dd9efb
Add foreign-keys-removal.sql for database migration
Salamandar Mar 15, 2024
3dd5368
Bump PHP vo 8.2
Salamandar Mar 15, 2024
53cb6b6
Auto-update READMEs
yunohost-bot Jun 11, 2024
15a5519
Fix ldap auth patch: specify provider
Salamandar Jun 11, 2024
bfad152
Use the new Ldap symfony component
Salamandar Jun 11, 2024
6d64ca4
Try to fix ldap config
Salamandar Jun 15, 2024
af79bc0
Add symfony/ldap
Salamandar Jun 15, 2024
43e0094
Fix patches
Salamandar Jun 17, 2024
227fe18
set composer version
Salamandar Jun 17, 2024
b910d8b
set composer version
Salamandar Jun 17, 2024
f79bba0
set composer version
Salamandar Jun 17, 2024
46f4536
dry run composer install
Salamandar Jun 17, 2024
002ad3b
fix composer require
Salamandar Jun 17, 2024
877c74d
do not composer install
Salamandar Jun 17, 2024
9415262
Merge branch 'testing' into ci-auto-update-2.6.9
ericgaspar Jul 20, 2024
1c1ad4a
Update _common.sh
ericgaspar Jul 20, 2024
ac91d4b
Merge branch 'ci-auto-update-2.6.9' of https://github.com/YunoHost-Ap…
ericgaspar Jul 20, 2024
cc97b98
Update install
ericgaspar Jul 20, 2024
dea25f0
Update upgrade
ericgaspar Jul 20, 2024
3197d05
Update _common.sh
ericgaspar Jul 20, 2024
0fac2d0
Update upgrade
ericgaspar Jul 20, 2024
9eb4c77
Merge branch 'testing' into ci-auto-update-2.6.9
ericgaspar Sep 20, 2024
8cb14eb
Auto-update READMEs
yunohost-bot Sep 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**Shipped version:** 2.6.9~ynh1

**Demo:** <https://demo.yunohost.org/wallabag/>

Expand Down
2 changes: 1 addition & 1 deletion README_es.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**Versión actual:** 2.6.9~ynh1

**Demo:** <https://demo.yunohost.org/wallabag/>

Expand Down
2 changes: 1 addition & 1 deletion README_eu.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**Paketatutako bertsioa:** 2.6.9~ynh1

**Demoa:** <https://demo.yunohost.org/wallabag/>

Expand Down
2 changes: 1 addition & 1 deletion README_fr.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**Version incluse :** 2.6.9~ynh1

**Démo :** <https://demo.yunohost.org/wallabag/>

Expand Down
2 changes: 1 addition & 1 deletion README_gl.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**Versión proporcionada:** 2.6.9~ynh1

**Demo:** <https://demo.yunohost.org/wallabag/>

Expand Down
2 changes: 1 addition & 1 deletion README_id.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**Versi terkirim:** 2.6.9~ynh1

**Demo:** <https://demo.yunohost.org/wallabag/>

Expand Down
2 changes: 1 addition & 1 deletion README_nl.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**Geleverde versie:** 2.6.9~ynh1

**Demo:** <https://demo.yunohost.org/wallabag/>

Expand Down
2 changes: 1 addition & 1 deletion README_ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**Поставляемая версия:** 2.6.9~ynh1

**Демо-версия:** <https://demo.yunohost.org/wallabag/>

Expand Down
2 changes: 1 addition & 1 deletion README_zh_Hans.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,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~ynh7
**分发版本:** 2.6.9~ynh1

**演示:** <https://demo.yunohost.org/wallabag/>

Expand Down
12 changes: 12 additions & 0 deletions conf/foreign-keys-removal.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Drop old foreign keys

ALTER TABLE `oauth2_access_tokens` DROP FOREIGN KEY IF EXISTS FK_D247A21BA76ED395;
ALTER TABLE `oauth2_access_tokens` DROP FOREIGN KEY IF EXISTS FK_D247A21B19EB6921;
ALTER TABLE `oauth2_auth_codes` DROP FOREIGN KEY IF EXISTS FK_A018A10DA76ED395;
ALTER TABLE `oauth2_clients` DROP FOREIGN KEY IF EXISTS FK_F9D02AE6A76ED395;
ALTER TABLE `oauth2_refresh_tokens` DROP FOREIGN KEY IF EXISTS FK_D394478CA76ED395;
ALTER TABLE `config` DROP FOREIGN KEY IF EXISTS FK_D48A2F7CA76ED395;
ALTER TABLE `entry` DROP FOREIGN KEY IF EXISTS FK_2B219D70A76ED395;
ALTER TABLE `oauth2_auth_codes` DROP FOREIGN KEY IF EXISTS FK_A018A10D19EB6921;
ALTER TABLE `oauth2_refresh_tokens` DROP FOREIGN KEY IF EXISTS FK_D394478C19EB6921;
ALTER TABLE `tagging_rule` DROP FOREIGN KEY IF EXISTS FK_1AF95E7824DB0683;
44 changes: 4 additions & 40 deletions conf/parameters.yml
Original file line number Diff line number Diff line change
@@ -1,74 +1,38 @@
# This file is a "template" of what your parameters.yml file should look like
# This file is auto-generated during the composer install
parameters:
# Uncomment these settings or manually update your parameters.yml
# to use docker-compose
#
# database_driver: %env.database_driver%
# database_host: %env.database_host%
# database_port: %env.database_port%
# database_name: %env.database_name%
# database_user: %env.database_user%
# database_password: %env.database_password%

database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: ~
database_name: __DB_NAME__
database_user: __DB_USER__
database_password: __DB_PWD__
# For SQLite, database_path should be "%kernel.project_dir%/data/db/wallabag.sqlite"
database_path: null
database_table_prefix: null
database_socket: null
# with PostgreSQL and SQLite, you must set "utf8"
database_charset: utf8mb4

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: ~

domain_name: 'https://__DOMAIN____PATH__'
server_name: 'Your wallabag instance'
mailer_dsn: smtp://__APP__:__MAIL_PWD__@__DOMAIN__:25
locale: en

# A secret key that's used to generate certain security-related tokens
secret: __DESKEY__

# two factor stuff
twofactor_auth: true
twofactor_sender: no-reply@wallabag.org

# fosuser stuff
fosuser_registration: false
fosuser_confirmation: true

# how long the access token should live in seconds for the API
fos_oauth_server_access_token_lifetime: 3600
# how long the refresh token should life in seconds for the API
fos_oauth_server_refresh_token_lifetime: 1209600

from_email: no-reply@wallabag.org

rss_limit: 50

# RabbitMQ processing
rabbitmq_host: localhost
rabbitmq_port: 5672
rabbitmq_user: guest
rabbitmq_password: guest
rabbitmq_prefetch_count: 10

# Redis processing
redis_scheme: tcp
redis_host: localhost
redis_port: 6379
redis_path: null
redis_password: null

# sentry logging
sentry_dsn: ~
8 changes: 5 additions & 3 deletions manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ id = "wallabag2"
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~ynh7"

version = "2.6.9~ynh1"

maintainers = ["lapineige"]

Expand Down Expand Up @@ -47,13 +48,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.9/wallabag-2.6.9.tar.gz"
sha256 = "578b39ff2f5f140999f969d4c54d37532462bc48a10f565429038eab84cb10ac"

autoupdate.strategy = "latest_github_release"
autoupdate.asset = ".*\\.tar\\.gz"

[resources.system_user]
allow_email = true

[resources.install_dir]
group = "www-data:r-x"
Expand Down
2 changes: 2 additions & 0 deletions scripts/_common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
# COMMON VARIABLES AND CUSTOM HELPERS
#=================================================

YNH_COMPOSER_VERSION="2.7.7"

# Define a function to execute commands with `php_exec`
php_exec() {
(cd "$install_dir" && ynh_exec_as_app \
Expand Down
12 changes: 12 additions & 0 deletions scripts/install
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,18 @@ 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

# Some trick to actually not run composer install…
ynh_install_composer --install_args="--dry-run"
ynh_composer_exec --commands="require symfony/ldap"
# SYMFONY_ENV=prod ynh_composer_exec --commands="install --no-dev"

chown -R "$app:www-data" "$install_dir"

#=================================================
# APP INITIAL CONFIGURATION
#=================================================
Expand Down
30 changes: 30 additions & 0 deletions scripts/upgrade
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,19 @@
source _common.sh
source /usr/share/yunohost/helpers

#=================================================
# ENSURE DOWNWARD COMPATIBILITY
#=================================================
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1

if ynh_compare_current_package_version --comparison lt --version "2.4~ynh1"; then
# Migrate old (erroneous) database scheme (see: https://github.com/YunoHost-Apps/wallabag2_ynh/pull/125#issuecomment-1041426972)
ynh_script_progression --message="Migrating old (pre-2018) database scheme..." --weight=11

ynh_exec_warn_less ynh_mysql_execute_file_as_root --database="$db_name" --file="../conf/foreign-keys-removal.sql"
ynh_script_progression --message="Database migration done. Resuming normal upgrade process" --weight=11
fi

#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
Expand All @@ -24,11 +37,28 @@ 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

# Some trick to actually not run composer install…
ynh_install_composer --install_args="--dry-run"
ynh_composer_exec --commands="require symfony/ldap"
# SYMFONY_ENV=prod ynh_composer_exec --commands="install --no-dev"

chown -R "$app:www-data" "$install_dir"

#=================================================
# UPDATE A CONFIG FILE
#=================================================
ynh_script_progression "Reconfiguring $app..."

ynh_add_config --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
Expand Down
48 changes: 30 additions & 18 deletions sources/patches/main-00-ldap-auth.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
From 488b781e030637ab6feafc0da640217e1d654ead Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= <felix@piedallu.me>
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:
Expand All @@ -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

Loading