Skip to content

Commit 7b6f072

Browse files
committed
Merge branch 'feature/PB-44504_52-Publish-production-API' into 'master'
PB-44504 Merge release into master (v5.4.0) See merge request passbolt/passbolt-ce-api!424
2 parents 8d7f8bd + 9362197 commit 7b6f072

File tree

815 files changed

+47037
-2364
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

815 files changed

+47037
-2364
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: spx
2+
repository: fullfatthings/ddev-spx
3+
version: v0.0.2
4+
install_date: "2025-07-17T12:47:58+05:30"
5+
project_files:
6+
- web-build/pre.Dockerfile.spx
7+
- web-build/enable_spx
8+
- web-build/disable_spx
9+
- commands/web/spx
10+
- php/99-spx.ini
11+
global_files: []
12+
removal_actions: []

.ddev/commands/web/spx

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/bin/bash
2+
3+
## #ddev-generated
4+
## Description: Enable or disable spx
5+
## Usage: spx on|off|enable|disable|true|false|toggle|status
6+
## Example: "ddev spx" (default is "on"), "ddev spx off", "ddev spx on", "ddev spx toggle", "ddev spx status"
7+
## ExecRaw: false
8+
## Flags: []
9+
## AutocompleteTerms: ["on","off","enable","disable","toggle","status"]
10+
11+
if [ $# -eq 0 ]; then
12+
enable_spx
13+
exit
14+
fi
15+
16+
case $1 in
17+
on | true | enable)
18+
enable_spx
19+
;;
20+
off | false | disable)
21+
disable_spx
22+
;;
23+
toggle)
24+
status=$(php -m | grep 'spx')
25+
if [ "${status}" = "spx" ]; then
26+
disable_spx
27+
else
28+
enable_spx
29+
fi
30+
;;
31+
status)
32+
status=$(php -m | grep 'spx')
33+
if [ "${status}" = "spx" ]; then
34+
result="spx is enabled"
35+
else
36+
result="spx is disabled"
37+
fi
38+
echo $result
39+
;;
40+
*)
41+
echo "Invalid argument: $1"
42+
;;
43+
esac
44+

.ddev/config.yaml

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,36 +7,45 @@ xdebug_enabled: false
77
additional_hostnames: []
88
additional_fqdns: []
99
database:
10-
type: mariadb
11-
version: "10.11"
10+
type: mariadb
11+
version: "10.11"
12+
hooks:
13+
post-start:
14+
- exec: sudo apt-get update
15+
- exec: sh -c "if [ ! -f /var/www/html/config/app.php ]; then cp /var/www/html/config/app.default.php /var/www/html/config/app.php; fi"
16+
- exec: gpg --list-keys
17+
mailpit_https_port: "9102"
18+
webimage_extra_packages: [php8.3-gnupg, php8.3-xdebug]
1219
use_dns_when_possible: true
1320
composer_version: "2"
1421
web_environment:
15-
- DEBUG=true
16-
- APP_FULL_BASE_URL=https://passbolt-pro-api.ddev.site
17-
- PASSBOLT_SELENIUM_ACTIVE=true
18-
- DATASOURCES_DEFAULT_HOST=db
19-
- DATASOURCES_DEFAULT_USERNAME=db
20-
- DATASOURCES_DEFAULT_PASSWORD=db
21-
- DATASOURCES_DEFAULT_DATABASE=passbolt
22-
- DATASOURCES_TEST_HOST=db
23-
- DATASOURCES_TEST_USERNAME=db
24-
- DATASOURCES_TEST_PASSWORD=db
25-
- DATASOURCES_TEST_DATABASE=test_passbolt
26-
- PASSBOLT_GPG_SERVER_KEY_FINGERPRINT=2FC8945833C51946E937F9FED47B0811573EE67E
27-
- PASSBOLT_GPG_SERVER_KEY_PRIVATE=/var/www/html/config/gpg/unsecure_private.key
28-
- PASSBOLT_GPG_SERVER_KEY_PUBLIC=/var/www/html/config/gpg/unsecure.key
29-
- EMAIL_TRANSPORT_DEFAULT_HOST=localhost
30-
- EMAIL_TRANSPORT_DEFAULT_PORT=1025
31-
- EMAIL_DEFAULT_FROM_NAME=Passbolt Local
32-
22+
- DEBUG=true
23+
- APP_FULL_BASE_URL=https://passbolt-pro-api.ddev.site
24+
- PASSBOLT_SELENIUM_ACTIVE=true
25+
- DATASOURCES_DEFAULT_HOST=db
26+
- DATASOURCES_DEFAULT_USERNAME=db
27+
- DATASOURCES_DEFAULT_PASSWORD=db
28+
- DATASOURCES_DEFAULT_DATABASE=passbolt
29+
- DATASOURCES_TEST_HOST=db
30+
- DATASOURCES_TEST_USERNAME=db
31+
- DATASOURCES_TEST_PASSWORD=db
32+
- DATASOURCES_TEST_DATABASE=test_passbolt
33+
- PASSBOLT_GPG_SERVER_KEY_FINGERPRINT=2FC8945833C51946E937F9FED47B0811573EE67E
34+
- PASSBOLT_GPG_SERVER_KEY_PRIVATE=/var/www/html/config/gpg/unsecure_private.key
35+
- PASSBOLT_GPG_SERVER_KEY_PUBLIC=/var/www/html/config/gpg/unsecure.key
36+
- EMAIL_TRANSPORT_DEFAULT_HOST=localhost
37+
- EMAIL_TRANSPORT_DEFAULT_PORT=1025
38+
- EMAIL_DEFAULT_FROM_NAME=Passbolt Local
39+
3340
corepack_enable: false
3441
disable_upload_dirs_warning: true
3542

3643
# Key features of DDEV's config.yaml:
3744

3845
# name: <projectname> # Name of the project, automatically provides
3946
# http://projectname.ddev.site and https://projectname.ddev.site
47+
# If the name is omitted, the project will take the name of the enclosing directory,
48+
# which is useful if you want to have a copy of the project side by side with this one.
4049

4150
# type: <projecttype> # backdrop, cakephp, craftcms, drupal, drupal6, drupal7, drupal8, drupal9, drupal10, drupal11, generic, laravel, magento, magento2, php, shopware6, silverstripe, symfony, typo3, wordpress
4251
# See https://ddev.readthedocs.io/en/stable/users/quickstart/ for more
@@ -55,9 +64,9 @@ disable_upload_dirs_warning: true
5564
# database:
5665
# type: <dbtype> # mysql, mariadb, postgres
5766
# version: <version> # database version, like "10.11" or "8.0"
58-
# MariaDB versions can be 5.5-10.8, 10.11, and 11.4.
59-
# MySQL versions can be 5.5-8.0.
60-
# PostgreSQL versions can be 9-17.
67+
# MariaDB versions can be 5.5-10.8, 10.11, 11.4, 11.8
68+
# MySQL versions can be 5.5-8.0, 8.4
69+
# PostgreSQL versions can be 9-17
6170

6271
# router_http_port: <port> # Port to be used for http (defaults to global configuration, usually 80)
6372
# router_https_port: <port> # Port for https (defaults to global configuration, usually 443)
@@ -205,14 +214,14 @@ disable_upload_dirs_warning: true
205214
# unless explicitly specified.
206215

207216
# mailpit_http_port: "8025"
208-
mailpit_https_port: "9102"
217+
# mailpit_https_port: "8026"
209218
# The Mailpit ports can be changed from the default 8025 and 8026
210219

211220
# host_mailpit_port: "8025"
212221
# The mailpit port is not normally bound on the host at all, instead being routed
213222
# through ddev-router, but it can be bound directly to localhost if specified here.
214223

215-
webimage_extra_packages: [php8.3-gnupg, php8.3-xdebug]
224+
# webimage_extra_packages: [php7.4-tidy, php-bcmath]
216225
# Extra Debian packages that are needed in the webimage can be added here
217226

218227
# dbimage_extra_packages: [telnet,netcat]
@@ -232,7 +241,7 @@ webimage_extra_packages: [php8.3-gnupg, php8.3-xdebug]
232241

233242
# ngrok_args: --basic-auth username:pass1234
234243
# Provide extra flags to the "ngrok http" command, see
235-
# https://ngrok.com/docs/ngrok-agent/config or run "ngrok http -h"
244+
# https://ngrok.com/docs/agent/config/v3/#agent-configuration or run "ngrok http -h"
236245

237246
# disable_settings_management: false
238247
# If true, DDEV will not create CMS-specific settings files like
@@ -298,11 +307,8 @@ webimage_extra_packages: [php8.3-gnupg, php8.3-xdebug]
298307
# and you can't erase existing hooks or all environment variables.
299308
# However, with "override_config: true" in a particular config.*.yaml file,
300309
# 'use_dns_when_possible: false' can override the existing values, and
301-
hooks:
302-
post-start:
303-
- exec: "sudo apt-get update"
304-
- exec: sh -c "if [ ! -f /var/www/html/config/app.php ]; then cp /var/www/html/config/app.default.php /var/www/html/config/app.php; fi"
305-
- exec: "gpg --list-keys"
310+
# hooks:
311+
# post-start: []
306312
# or
307313
# web_environment: []
308314
# or

.ddev/php/99-spx.ini

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#ddev-generated
2+
3+
spx.http_enabled=1
4+
spx.http_key="dev"
5+
spx.http_ip_whitelist="*"

.ddev/web-build/disable_spx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
#ddev-generated
3+
4+
phpdismod -v $DDEV_PHP_VERSION spx
5+
6+
killall -USR2 php-fpm 2>/dev/null || true
7+
8+
echo "Disabled SPX"

.ddev/web-build/enable_spx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
#ddev-generated
3+
4+
phpenmod -v $DDEV_PHP_VERSION spx
5+
6+
killall -USR2 php-fpm 2>/dev/null || true
7+
8+
echo "Enabled SPX"
9+

.ddev/web-build/pre.Dockerfile.spx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#ddev-generated
2+
3+
RUN (apt-get update || true) && DEBIAN_FRONTEND=noninteractive apt-get install -y -o Dpkg::Options::="--force-confold" --no-install-recommends --no-install-suggests build-essential make autoconf libc-dev pkg-config php-pear php${DDEV_PHP_VERSION}-dev zlib1g-dev
4+
5+
RUN mkdir -p /tmp/php-spx && \
6+
cd /tmp/php-spx && \
7+
git clone -b release/latest https://github.com/NoiseByNorthwest/php-spx.git . && \
8+
phpize && \
9+
./configure && \
10+
make && \
11+
make install
12+
13+
RUN echo "extension=spx.so" > /etc/php/$DDEV_PHP_VERSION/mods-available/spx.ini
14+
15+
ADD enable_spx disable_spx /usr/local/bin/
16+

CHANGELOG.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,134 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to [Semantic Versioning](http://semver.org/).
44

5+
## [5.4.0] - 2025-08-12
6+
### Added
7+
- PB-43713 Translate the application in Czech
8+
- PB-44285 Add endpoint to help clients enable E2EE by default for new instances
9+
- PB-44184 As an administrator I should not be allowed to retrieve resources to migrate from v4 to v5 resource types from v4 resource types that are deleted
10+
- PB-44071 Add a cleanup tasks to soft-delete inactive users with same usernames
11+
- PB-44376 Set ECC key type as a default for new users
12+
- PB-44405 Add new healthcheck to notify administrators when there are no active metadata key if E2EE is enabled
13+
- PB-44406 Add new healthcheck to notify administrators when zero-knowledge disabled and the server does not have access to the shared metadata key
14+
- PB-44407 Add new healthcheck to notify administrators when server cannot validate its own shared metadata private key
15+
- PB-44416 Add metadata settings getting started endpoint
16+
- PB-38155 Add JSON schema definition to resource types migrations
17+
- PB-44474 Switch encrypted metadata plugin to stable
18+
- PB-43631 As an admin running a command as root, I should see the name of the command in the suggestion proposed by the CLI
19+
20+
### Fixed
21+
- PB-43187 Retrieve user last logged data from users table instead of the log to improve application performance
22+
- PB-43922 Fix notification emails about a resource update
23+
- PB-43709 Fix enabling E2EE without a key should trigger an error
24+
- PB-44093 Fix a warning message in ActionLogsUsernameQueryStrategy
25+
- PB-44177 Fix as a user I should not be allowed to create v4 resource if the resource type is deleted
26+
- PB-44179 Fix as user I should not view/index v4 resource types if the resource type is deleted
27+
- PB-43936 Fix IsValidEncryptedMetadataPrivateKey should log, then return false and not throw an exception if isMessageForRecipient fails
28+
- PB-44182 Fix as user I should not be allowed to delete a v4 resource if v4 resource type is deleted
29+
- PB-44181 Fix as user I should not be allowed to share a v4 resource if v4 resource type is deleted
30+
- PB-44252 Fix as an admin I should not be able to set the role of a user to guest
31+
- PB-44178 Fix as a user I should not be allowed to update v4 resource if the resource type is deleted
32+
- PB-44180 Fix as user I should not view/index v5 resource types if the resource type is deleted
33+
- PB-44186 Fix as an administrator I should not be able to rotate the metadata key for resources that have a deleted resource types
34+
- PB-44189 Fix command line metadata commands should be loaded in debug mode only
35+
- PB-43936 Fix isMessageForRecipient should work if encryption is done with main key
36+
- PB-41818 Fix as a user setting a date as boolean the API should not return a 500 code response
37+
38+
### Maintenance
39+
- PB-43524 Create a TestData plugin in plugins/PassboltCe
40+
- PB-44087 Remove V331 backward compatibility migration
41+
- PB-44267 Bump SeleniumApi plugin version
42+
- PB-43752 Add assertJson assertions to folders endpoints
43+
- PB-41818 Bump cakephp version to 5.2.6
44+
45+
## [5.4.0-rc.1] - 2025-08-11
46+
### Added
47+
- PB-43713 Translate the application in Czech
48+
- PB-44285 Add endpoint to help clients enable E2EE by default for new instances
49+
- PB-44184 As an administrator I should not be allowed to retrieve resources to migrate from v4 to v5 resource types from v4 resource types that are deleted
50+
- PB-44071 Add a cleanup tasks to soft-delete inactive users with same usernames
51+
- PB-44376 Set ECC key type as a default for new users
52+
- PB-44405 Add new healthcheck to notify administrators when there are no active metadata key if E2EE is enabled
53+
- PB-44406 Add new healthcheck to notify administrators when zero-knowledge disabled and the server does not have access to the shared metadata key
54+
- PB-44407 Add new healthcheck to notify administrators when server cannot validate its own shared metadata private key
55+
- PB-44416 Add metadata settings getting started endpoint
56+
- PB-38155 Add JSON schema definition to resource types migrations
57+
- PB-44474 Switch encrypted metadata plugin to stable
58+
- PB-43631 As an admin running a command as root, I should see the name of the command in the suggestion proposed by the CLI
59+
60+
### Fixed
61+
- PB-43187 Retrieve user last logged data from users table instead of the log to improve application performance
62+
- PB-43922 Fix notification emails about a resource update
63+
- PB-43709 Fix enabling E2EE without a key should trigger an error
64+
- PB-44093 Fix a warning message in ActionLogsUsernameQueryStrategy
65+
- PB-44177 Fix as a user I should not be allowed to create v4 resource if the resource type is deleted
66+
- PB-44179 Fix as user I should not view/index v4 resource types if the resource type is deleted
67+
- PB-43936 Fix IsValidEncryptedMetadataPrivateKey should log, then return false and not throw an exception if isMessageForRecipient fails
68+
- PB-44182 Fix as user I should not be allowed to delete a v4 resource if v4 resource type is deleted
69+
- PB-44181 Fix as user I should not be allowed to share a v4 resource if v4 resource type is deleted
70+
- PB-44252 Fix as an admin I should not be able to set the role of a user to guest
71+
- PB-44178 Fix as a user I should not be allowed to update v4 resource if the resource type is deleted
72+
- PB-44180 Fix as user I should not view/index v5 resource types if the resource type is deleted
73+
- PB-44186 Fix as an administrator I should not be able to rotate the metadata key for resources that have a deleted resource types
74+
- PB-44189 Fix command line metadata commands should be loaded in debug mode only
75+
- PB-43936 Fix isMessageForRecipient should work if encryption is done with main key
76+
- PB-41818 Fix as a user setting a date as boolean the API should not return a 500 code response
77+
78+
### Maintenance
79+
- PB-43524 Create a TestData plugin in plugins/PassboltCe
80+
- PB-44087 Remove V331 backward compatibility migration
81+
- PB-44267 Bump SeleniumApi plugin version
82+
- PB-43752 Add assertJson assertions to folders endpoints
83+
- PB-41818 Bump cakephp version to 5.2.6
84+
85+
## [5.4.0-test.3] - 2025-08-08
86+
### Fixed
87+
- PB-44573 Ensure standalone custom fields is resource type is updated irrespective of instance being installed for the first time with v5.3.0 or v5.3.1
88+
89+
## [5.4.0-test.2] - 2025-08-07
90+
### Fixed
91+
- PB-44578 Align metadata setup settings entry point variable name with client
92+
93+
## [5.4.0-test.1] - 2025-08-07
94+
### Added
95+
- PB-43713 Translate the application in Czech
96+
- PB-44285 Add endpoint to help clients enable E2EE by default for new instances
97+
- PB-44184 As an administrator I should not be allowed to retrieve resources to migrate from v4 to v5 resource types from v4 resource types that are deleted
98+
- PB-44071 Add a cleanup tasks to soft-delete inactive users with same usernames
99+
- PB-44376 Set ECC key type as a default for new users
100+
- PB-44405 Add new healthcheck to notify administrators when there are no active metadata key if E2EE is enabled
101+
- PB-44406 Add new healthcheck to notify administrators when zero-knowledge disabled and the server does not have access to the shared metadata key
102+
- PB-44407 Add new healthcheck to notify administrators when server cannot validate its own shared metadata private key
103+
- PB-44416 Add metadata settings getting started endpoint
104+
- PB-38155 Add JSON schema definition to resource types migrations
105+
- PB-44474 Switch encrypted metadata plugin to stable
106+
- PB-43631 As an admin running a command as root, I should see the name of the command in the suggestion proposed by the CLI
107+
108+
### Fixed
109+
- PB-43187 Retrieve user last logged data from users table instead of the log to improve application performance
110+
- PB-43922 Fix notification emails about a resource update
111+
- PB-43709 Fix enabling E2EE without a key should trigger an error
112+
- PB-44093 Fix a warning message in ActionLogsUsernameQueryStrategy
113+
- PB-44177 Fix as a user I should not be allowed to create v4 resource if the resource type is deleted
114+
- PB-44179 Fix as user I should not view/index v4 resource types if the resource type is deleted
115+
- PB-43936 Fix IsValidEncryptedMetadataPrivateKey should log, then return false and not throw an exception if isMessageForRecipient fails
116+
- PB-44182 Fix as user I should not be allowed to delete a v4 resource if v4 resource type is deleted
117+
- PB-44181 Fix as user I should not be allowed to share a v4 resource if v4 resource type is deleted
118+
- PB-44252 Fix as an admin I should not be able to set the role of a user to guest
119+
- PB-44178 Fix as a user I should not be allowed to update v4 resource if the resource type is deleted
120+
- PB-44180 Fix as user I should not view/index v5 resource types if the resource type is deleted
121+
- PB-44186 Fix as an administrator I should not be able to rotate the metadata key for resources that have a deleted resource types
122+
- PB-44189 Fix command line metadata commands should be loaded in debug mode only
123+
- PB-43936 Fix isMessageForRecipient should work if encryption is done with main key
124+
- PB-41818 Fix as a user setting a date as boolean the API should not return a 500 code response
125+
126+
### Maintenance
127+
- PB-43524 Create a TestData plugin in plugins/PassboltCe
128+
- PB-44087 Remove V331 backward compatibility migration
129+
- PB-44267 Bump SeleniumApi plugin version
130+
- PB-43752 Add assertJson assertions to folders endpoints
131+
- PB-41818 Bump cakephp version to 5.2.6
132+
5133
## [5.3.2] - 2025-07-16
6134
### Fixed
7135
- PB-43910 As an administrator installing passbolt on postgres, the default postgres schema should be public

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Passbolt is a security-first, open source password manager for teams. It helps o
4242
What makes passbolt different?
4343
- **Security:** Passbolt security model features user-owned secret keys and end-to-end encryption. It is audited multiple times annually, and [findings](https://help.passbolt.com/faq/security/code-review) are made public.
4444
- **Collaboration:** Securely share and audit credentials, with powerful and dependable policies for power users.
45-
- **Privacy:** Passbolt is headquartered in the EU,:european_union: specifically in Luxembourg. Passbolt doesn't collect personal data or telemetry, and can be deployed in an air-gapped environment.
45+
- **Privacy:** Passbolt is headquartered in the EU :european_union: specifically in Luxembourg. Passbolt doesn't collect personal data or telemetry, and can be deployed in an air-gapped environment.
4646

4747
<br>
4848

0 commit comments

Comments
 (0)