Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0041638Openbravo ERPA. Platformpublic2019-08-13 09:302024-02-01 13:56
shuehner 
cberner 
normalmajorhave not tried
closedfixed 
5
 
PR24Q1 
Core
No
0041638: Not possible to configure jdbc connection to Postgres using SSL in a usable way
In some scenarios it is wanted to use SSL encryption between the application and the database which is a feature supported by jdbc.

Currently openbravo does not allow to configure this in any usable way and relies on workarounds getting it to work only partially.

To configure it using postgres database it is requried to add ssl=true connection parameter when creating the database connection.

Openbravo currently constructs a jdbc URL String to connect to the database. In that URL connection properties come at the end of the String.

Currently people use the fact and in most connections the bbdd.sid line from Openbravo.properties (database name) is the last value used to build said URL and just change it from i.e.

bbdd.sid=openbravo
to
bbdd.sid=openbravo?ssl=true

While that makes typical things work with SSL it immediately causes some regressions and other code assuming (correctly) that bbdd.sid is the database name now needs to strip out that extra values (i.e. openbravo-backup scripts where patched to do that).

Other side-effects:
- install.source has code not using above database name as it needs to create the database initially. Meaning that code will not use SSL and when ssl is required on db side cause issues like 41296.
- Other code may connect to jdbc differently than assumed above and again miss to use SSL i.e. 41314.
Setup postgres database with SSL connection and configure pg_hba.conf to use 'hostssl' effectively requiring SSL to be used.
Add a new Openbravo.properties line i.e. bbdd.params to define any jdbc connection parameter (like ssl).

Find & fix every code creating a database connection to properly use that new parameter.
At least:
- pi code running Openbravo itself (in tomcat)
- every build.xml target working with the database

Ideally also:
- automation/pi
- automation/pi-mobile
- scripts used in CI

The last 3 are important if we ever want to add automated tests for this scenario (ssl required on jdbc level)
No tags attached.
has duplicate defect 0041296 closed Triage Platform Base [19Q3] install source not working if the DB is in a different machine and SSL connection is required 
blocks defect 0041314 closed Triage Platform Base [19Q3] [HA] Error while trying to update a HA context via the Module Console 
Issue History
2019-08-13 09:30shuehnerNew Issue
2019-08-13 09:30shuehnerAssigned To => platform
2019-08-13 09:30shuehnerModules => Core
2019-08-13 09:30shuehnerTriggers an Emergency Pack => No
2019-08-13 09:30shuehnerRelationship addedblocks 0041296
2019-08-13 09:31shuehnerRelationship addedblocks 0041314
2022-02-01 08:07alostaleAssigned Toplatform => Triage Platform Base
2023-10-18 16:43hgbotNote Added: 0156015
2023-10-19 15:02hgbotNote Added: 0156085
2023-10-19 16:16hgbotNote Added: 0156090
2023-10-20 14:44hgbotNote Added: 0156132
2023-10-23 13:58hgbotNote Added: 0156171
2023-11-15 13:33AugustoMauchAssigned ToTriage Platform Base => cberner
2023-11-15 13:33AugustoMauchStatusnew => scheduled
2023-11-16 12:35hgbotNote Added: 0157204
2023-11-16 12:35hgbotNote Added: 0157205
2023-11-16 12:35hgbotResolutionopen => fixed
2023-11-16 12:35hgbotStatusscheduled => closed
2023-11-16 12:35hgbotFixed in Version => PR24Q1
2023-11-16 12:35hgbotNote Added: 0157206
2023-11-16 12:35hgbotNote Added: 0157207
2023-11-16 12:36hgbotNote Added: 0157208
2023-11-16 12:36hgbotNote Added: 0157209
2023-11-16 12:36hgbotNote Added: 0157210
2023-11-16 12:36hgbotNote Added: 0157211
2023-11-21 11:48hgbotNote Added: 0157410
2023-11-21 11:48hgbotNote Added: 0157411
2024-01-03 12:13hgbotNote Added: 0158789
2024-01-03 12:21hgbotNote Added: 0158792
2024-01-03 12:23hgbotNote Added: 0158794
2024-01-03 12:28hgbotNote Added: 0158795
2024-01-03 12:31hgbotNote Added: 0158796
2024-01-08 17:07hgbotNote Added: 0158949
2024-01-08 17:07hgbotNote Added: 0158950
2024-01-08 17:09hgbotNote Added: 0158951
2024-01-08 17:09hgbotNote Added: 0158952
2024-01-08 17:09hgbotNote Added: 0158953
2024-01-08 17:10hgbotNote Added: 0158954
2024-01-08 17:10hgbotNote Added: 0158955
2024-01-08 17:10hgbotNote Added: 0158956
2024-01-08 17:10hgbotNote Added: 0158957
2024-01-08 17:10hgbotNote Added: 0158958
2024-02-01 13:56hgbotNote Added: 0160092
2024-02-01 13:56hgbotNote Added: 0160093
2024-03-14 16:41shuehnerRelationship replacedhas duplicate 0041296

Notes
(0156015)
hgbot   
2023-10-18 16:43   
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/1024 [^]
(0156085)
hgbot   
2023-10-19 15:02   
Merge Request created: https://gitlab.com/openbravo/ci/backoffice-test/-/merge_requests/33 [^]
(0156090)
hgbot   
2023-10-19 16:16   
Merge Request created: https://gitlab.com/openbravo/ci/mobile-test/-/merge_requests/339 [^]
(0156132)
hgbot   
2023-10-20 14:44   
Merge Request created: https://gitlab.com/openbravo/product/dbsm/-/merge_requests/42 [^]
(0156171)
hgbot   
2023-10-23 13:58   
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.reporting.tools/-/merge_requests/22 [^]
(0157204)
hgbot   
2023-11-16 12:35   
Repository: https://gitlab.com/openbravo/product/dbsm [^]
Changeset: c66b97ef3b966d336c355f27e2cb47518d406445
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 16-11-2023 12:35:19
URL: https://gitlab.com/openbravo/product/dbsm/-/commit/c66b97ef3b966d336c355f27e2cb47518d406445 [^]

Related to ISSUE-41638: Support SSL connections through JDBC properties

---
M src/org/openbravo/ddlutils/task/AlterDatabaseDataAll.java
M src/org/openbravo/ddlutils/util/DBSMOBUtil.java
---
(0157205)
hgbot   
2023-11-16 12:35   
Merge request merged: https://gitlab.com/openbravo/product/dbsm/-/merge_requests/42 [^]
(0157206)
hgbot   
2023-11-16 12:35   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: c0b10f845fd759a61000426273e0c7398d2e16a7
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 16-11-2023 12:27:29
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/c0b10f845fd759a61000426273e0c7398d2e16a7 [^]

Fixes ISSUE-41638: Not possible to configure jdbc connection to Postgres using SSL in a usable way

Added a new property to Openbravo.properties:
bbdd.props

It allows adding parameters to the connection URL.

---
M build.xml
M config/Openbravo.properties.template
M modules/org.openbravo.apachejdbcconnectionpool/src/org/openbravo/apachejdbcconnectionpool/JdbcExternalConnectionPool.java
M src-core/src/org/openbravo/data/Sqlc.java
M src-core/src/org/openbravo/database/ConnectionProviderImpl.java
M src-db/database/build-create.xml
M src-db/database/build.xml
M src-db/database/lib/dbsourcemanager.jar
M src-wad/src/org/openbravo/wad/WadConnection.java
M src/org/openbravo/base/session/SessionFactoryController.java
M src/org/openbravo/service/system/SystemService.java
---
(0157207)
hgbot   
2023-11-16 12:35   
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/1024 [^]
(0157208)
hgbot   
2023-11-16 12:36   
Repository: https://gitlab.com/openbravo/ci/backoffice-test [^]
Changeset: 8539974fbd5755cdaf3a7680dafd10f8689129f7
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 16-11-2023 12:29:11
URL: https://gitlab.com/openbravo/ci/backoffice-test/-/commit/8539974fbd5755cdaf3a7680dafd10f8689129f7 [^]

Related to ISSUE-41638: Support JDBC connections through SSL

---
M build.xml
M config/OpenbravoERPTest.properties.template
---
(0157209)
hgbot   
2023-11-16 12:36   
Merge request merged: https://gitlab.com/openbravo/ci/backoffice-test/-/merge_requests/33 [^]
(0157210)
hgbot   
2023-11-16 12:36   
Repository: https://gitlab.com/openbravo/ci/mobile-test [^]
Changeset: ae35a73d9c4e5aaab4d4f20b9521595d733087a8
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 16-11-2023 12:30:07
URL: https://gitlab.com/openbravo/ci/mobile-test/-/commit/ae35a73d9c4e5aaab4d4f20b9521595d733087a8 [^]

Related to ISSUE-41638: Support JDBC SSL connections

---
M build.xml
M config/OpenbravoERPTest.properties.template
M src-test/org/openbravo/test/mobile/core/utils/ConfigurationProperties.java
M src-test/org/openbravo/test/mobile/retail/mobilecore/database/ConnectionHelper.java
---
(0157211)
hgbot   
2023-11-16 12:36   
Merge request merged: https://gitlab.com/openbravo/ci/mobile-test/-/merge_requests/339 [^]
(0157410)
hgbot   
2023-11-21 11:48   
Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.reporting.tools [^]
Changeset: 0b993a5748282021431f9f843cc725039e0bae14
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 21-11-2023 10:48:34
URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.reporting.tools/-/commit/0b993a5748282021431f9f843cc725039e0bae14 [^]

Related to ISSUE-41638: Add support for SSL parameters to reporting database connections

---
M build.xml
M reporting.properties.template
M src/org/openbravo/reporting/tools/dataloader/ConnectionProvider.java
M src/org/openbravo/reporting/tools/task/PopulateReportingTablesInADTask.java
M src/org/openbravo/reporting/tools/task/RecreateTable.java
---
(0157411)
hgbot   
2023-11-21 11:48   
Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.reporting.tools/-/merge_requests/22 [^]
(0158789)
hgbot   
2024-01-03 12:13   
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/1090 [^]
(0158792)
hgbot   
2024-01-03 12:21   
Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.reporting.tools/-/merge_requests/24 [^]
(0158794)
hgbot   
2024-01-03 12:23   
Merge Request created: https://gitlab.com/openbravo/ci/mobile-test/-/merge_requests/354 [^]
(0158795)
hgbot   
2024-01-03 12:28   
Merge Request created: https://gitlab.com/openbravo/ci/backoffice-test/-/merge_requests/35 [^]
(0158796)
hgbot   
2024-01-03 12:31   
Merge Request created: https://gitlab.com/openbravo/product/dbsm/-/merge_requests/44 [^]
(0158949)
hgbot   
2024-01-08 17:07   
Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: bfcdd506d0e56bf9019dd12bb8d9c7e8f442a5a6
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 08-01-2024 17:06:48
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/bfcdd506d0e56bf9019dd12bb8d9c7e8f442a5a6 [^]

Related to ISSUE-41638: Do not add "${bbdd.props}" when it is not set

Also use bbdd.props in clean and structure create ant tasks

---
M build.xml
M src-db/database/build-create.xml
M src-db/database/build.xml
---
(0158950)
hgbot   
2024-01-08 17:07   
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/1090 [^]
(0158951)
hgbot   
2024-01-08 17:09   
Repository: https://gitlab.com/openbravo/product/pmods/org.openbravo.reporting.tools [^]
Changeset: afe7b0c81eddef69d3903640fa558f9c6771cae3
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 03-01-2024 12:19:24
URL: https://gitlab.com/openbravo/product/pmods/org.openbravo.reporting.tools/-/commit/afe7b0c81eddef69d3903640fa558f9c6771cae3 [^]

Related to ISSUE-41638: Do not add '${bbdd.props}' if it is not provided or is empty

---
M build.xml
---
(0158952)
hgbot   
2024-01-08 17:09   
Merge request merged: https://gitlab.com/openbravo/product/pmods/org.openbravo.reporting.tools/-/merge_requests/24 [^]
(0158953)
hgbot   
2024-01-08 17:09   
Merge request merged: https://gitlab.com/openbravo/ci/mobile-test/-/merge_requests/354 [^]
(0158954)
hgbot   
2024-01-08 17:10   
Repository: https://gitlab.com/openbravo/ci/mobile-test [^]
Changeset: 8fd706918f0f61adfc56e246b788846f279ba9bb
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 04-01-2024 09:55:35
URL: https://gitlab.com/openbravo/ci/mobile-test/-/commit/8fd706918f0f61adfc56e246b788846f279ba9bb [^]

Related to ISSUE-41638: Do not add '${bbdd.props}' if it is missing or empty

---
M build.xml
---
(0158955)
hgbot   
2024-01-08 17:10   
Merge request merged: https://gitlab.com/openbravo/ci/backoffice-test/-/merge_requests/35 [^]
(0158956)
hgbot   
2024-01-08 17:10   
Repository: https://gitlab.com/openbravo/ci/backoffice-test [^]
Changeset: c98351b1eb21ba4f4097eb0b04f8e9f2974d41bc
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 03-01-2024 12:27:27
URL: https://gitlab.com/openbravo/ci/backoffice-test/-/commit/c98351b1eb21ba4f4097eb0b04f8e9f2974d41bc [^]

Related to ISSUE-41638: Do not add '${bbdd.props}' if it is missing or empty

---
M build.xml
---
(0158957)
hgbot   
2024-01-08 17:10   
Merge request merged: https://gitlab.com/openbravo/product/dbsm/-/merge_requests/44 [^]
(0158958)
hgbot   
2024-01-08 17:10   
Repository: https://gitlab.com/openbravo/product/dbsm [^]
Changeset: 3973abe814e686d51ce821e5a29ddf3e34ea75e6
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 03-01-2024 12:30:41
URL: https://gitlab.com/openbravo/product/dbsm/-/commit/3973abe814e686d51ce821e5a29ddf3e34ea75e6 [^]

Related to ISSUE-41638: Do not add '${bbdd.props}' if it is missing or empty

---
M build-test.xml
---
(0160092)
hgbot   
2024-02-01 13:56   
Repository: https://gitlab.com/openbravo/ci/backoffice-test [^]
Changeset: 8539974fbd5755cdaf3a7680dafd10f8689129f7
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 16-11-2023 12:29:11
URL: https://gitlab.com/openbravo/ci/backoffice-test/-/commit/8539974fbd5755cdaf3a7680dafd10f8689129f7 [^]

Related to ISSUE-41638: Support JDBC connections through SSL

---
M build.xml
M config/OpenbravoERPTest.properties.template
---
(0160093)
hgbot   
2024-02-01 13:56   
Repository: https://gitlab.com/openbravo/ci/backoffice-test [^]
Changeset: c98351b1eb21ba4f4097eb0b04f8e9f2974d41bc
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 03-01-2024 12:27:27
URL: https://gitlab.com/openbravo/ci/backoffice-test/-/commit/c98351b1eb21ba4f4097eb0b04f8e9f2974d41bc [^]

Related to ISSUE-41638: Do not add '${bbdd.props}' if it is missing or empty

---
M build.xml
---