details: https://code.openbravo.com/erp/devel/pi/rev/00b718f7f174 changeset: 34851:00b718f7f174 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Mon Jul 30 13:55:22 2018 +0200 summary: [csrf] Added acceptance test case.
details: https://code.openbravo.com/erp/devel/pi/rev/3c4f1950524f changeset: 34852:3c4f1950524f user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Fri Aug 03 10:57:45 2018 +0200 summary: [csrf] Implemented CSRF check for generic DataSource requests. Token is generated when logging in and it is preserved even if changing roles. This token should be used in all non-fetch operations (create, edit or delete records). If not present, a error message will be displayed. details: https://code.openbravo.com/erp/devel/pi/rev/bbbcd8fd9d6f changeset: 34853:bbbcd8fd9d6f user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Fri Aug 03 10:58:54 2018 +0200 summary: Merge with pi details: https://code.openbravo.com/erp/devel/pi/rev/471607c44feb changeset: 34854:471607c44feb user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Fri Aug 03 15:04:12 2018 +0200 summary: [csrf] Added CSRF token for Notes save request. details: https://code.openbravo.com/erp/devel/pi/rev/825b08dbfccd changeset: 34855:825b08dbfccd user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Tue Aug 07 12:48:20 2018 +0200 summary: [csrf] Improved CSRF token placement. Instead of exposing the CSRF token in the query string, it is moved to the request payload for add and update operations. Delete operations will still place the token in the query string as it has no payload. details: https://code.openbravo.com/erp/devel/pi/rev/abc6c227aad9 changeset: 34856:abc6c227aad9 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Thu Aug 09 14:13:08 2018 +0200 summary: [csrf] Code cleanup and fixing tests. CSRF Token is included in AD_Session table in order to make it POST/PUT/DELETE requests in BaseDataSourceTestDal with the proper token. details: https://code.openbravo.com/erp/devel/pi/rev/b03621b914f3 changeset: 34857:b03621b914f3 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Fri Aug 10 08:44:27 2018 +0200 summary: [csrf] Removed token in OBContext. It is no longer required to pick the token in ApplicationDynamicComponent, so this can be removed and only stored in VariableSecureApp. details: https://code.openbravo.com/erp/devel/pi/rev/479f4e43aab1 changeset: 34858:479f4e43aab1 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Fri Aug 10 09:37:04 2018 +0200 summary: Merge with pi details: https://code.openbravo.com/erp/devel/pi/rev/11277e46eb34 changeset: 34859:11277e46eb34 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Fri Aug 10 13:56:44 2018 +0200 summary: [csrf] Code cleanup and removing token in AD_Session table. The token may be extracted from the Login request response, making it unnecessary to store the token in a table only to make it accesible to test classes. details: https://code.openbravo.com/erp/devel/pi/rev/2e676504264a changeset: 34860:2e676504264a user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Mon Aug 13 14:27:49 2018 +0200 summary: [csrf] Removing token getter from VariablesSecureApp. details: https://code.openbravo.com/erp/devel/pi/rev/e6965d0e4f41 changeset: 34861:e6965d0e4f41 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Tue Aug 14 15:07:08 2018 +0200 summary: [csrf] Code review fixes. - Added a log message with session and token info when CSRF token check fails. - Replaced JSON map of request body to use a regex to extract the token in the request body. This improves performance in servlet. - Fixing typos - Code refactors, file formatting and copyright years adjusted. details: https://code.openbravo.com/erp/devel/pi/rev/329e73d19139 changeset: 34862:329e73d19139 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Wed Aug 15 15:08:07 2018 +0200 summary: [csrf] Removed unused methods details: https://code.openbravo.com/erp/devel/pi/rev/7495ba1613f2 changeset: 34863:7495ba1613f2 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Thu Aug 16 10:27:15 2018 +0200 summary: [csrfToken] Code review fixes. - Moved token generation logic to LoginUtils - Code organization - Changed token error log. Now it uses a single line. details: https://code.openbravo.com/erp/devel/pi/rev/5e54be83cc8e changeset: 34864:5e54be83cc8e user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Mon Aug 27 09:35:09 2018 +0200 summary: [csrf] Code review fixes. - Removing unused vars parameter in goToTarget details: https://code.openbravo.com/erp/devel/pi/rev/88c81f2209e5 changeset: 34865:88c81f2209e5 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Mon Aug 27 09:47:10 2018 +0200 summary: Merge with pi details: https://code.openbravo.com/erp/devel/pi/rev/49f4840915aa changeset: 34866:49f4840915aa user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Wed Aug 29 14:09:00 2018 +0200 summary: [csrf] Changed test placement and fixed test issue when changing role. details: https://code.openbravo.com/erp/devel/pi/rev/2c92652e556e changeset: 34867:2c92652e556e user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Thu Aug 30 08:44:48 2018 +0200 summary: [csrf] Removing unneeded import details: https://code.openbravo.com/erp/devel/pi/rev/6cc247e43e06 changeset: 34868:6cc247e43e06 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Fri Sep 07 15:13:01 2018 +0200 summary: [csrf] Adding self-authenticated flag to certain requests This flag is useful to bypass CSRF check in some request, i.e WebServices in the POS details: https://code.openbravo.com/erp/devel/pi/rev/667a50c5db43 changeset: 34869:667a50c5db43 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Fri Sep 07 15:14:49 2018 +0200 summary: Merge with pi details: https://code.openbravo.com/erp/devel/pi/rev/1b98a1be2480 changeset: 34870:1b98a1be2480 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Wed Sep 19 13:31:48 2018 +0200 summary: [csrf] Fixed formatting and improved string parse details: https://code.openbravo.com/erp/devel/pi/rev/869c3d29c97d changeset: 34871:869c3d29c97d user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Wed Sep 19 17:24:50 2018 +0200 summary: [csrf] Added method to mark request as self-authenticated This mark is currently used in MobileService in mobile core to determine whether a request should check the CSRF token. This check is not required for self-authenticated requests. details: https://code.openbravo.com/erp/devel/pi/rev/301bc4d2fb76 changeset: 34872:301bc4d2fb76 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Wed Sep 19 18:36:48 2018 +0200 summary: [csrf] Simplified token regex details: https://code.openbravo.com/erp/devel/pi/rev/f21bed050ac0 changeset: 34873:f21bed050ac0 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Wed Sep 19 18:37:52 2018 +0200 summary: [csrf] Improved javadoc method documentation details: https://code.openbravo.com/erp/devel/pi/rev/5e9cffa8d1f4 changeset: 34874:5e9cffa8d1f4 user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Mon Oct 15 13:31:26 2018 +0200 summary: Merge with pi details: https://code.openbravo.com/erp/devel/pi/rev/43a7e93a946d changeset: 34875:43a7e93a946d user: Javier Armendáriz <javier.armendariz <at> openbravo.com> date: Thu Oct 18 12:42:31 2018 +0200 summary: Fixed issue 39123: Adding CSRF token support diffstat: .hgsigs | 3 + .hgtags | 3 + build.xml | 39 +- legal/Sun_license_agreement.txt | 367 - legal/jta/COPYRIGHT | 51 - legal/jta/DistributionREADME | 23 - legal/jta/JavaTransactionAPI_Entitlement(20070303).txt | 35 - modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MESSAGE.xml | 12 + modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/Reconciliation.java | 5 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_DoubtfulDebtProcess.java | 13 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java | 14 +- modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.apachejdbcconnectionpool/src/org/openbravo/apachejdbcconnectionpool/JdbcExternalConnectionPool.java | 12 +- modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MENU.xml | 14 - modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 8 +- modules/org.openbravo.client.application/src-db/database/sourcedata/AD_TREENODE.xml | 11 - modules/org.openbravo.client.application/src-db/database/sourcedata/OBUIAPP_MENU_PARAMETERS.xml | 25 - modules/org.openbravo.client.application/src-db/database/sourcedata/OBUIAPP_VIEW_IMPL.xml | 11 - modules/org.openbravo.client.application/src/org/openbravo/client/application/OBBindings.java | 2 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/event/DataPoolSelectionEventHandler.java | 6 + modules/org.openbravo.client.application/src/org/openbravo/client/application/navigationbarcomponents/UserInfoWidgetActionHandler.java | 15 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/process/ResponseActionsBuilder.java | 30 +- modules/org.openbravo.client.application/src/org/openbravo/client/application/report/BaseReportActionHandler.java | 4 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/classic/ob-classic-compatibility.js | 16 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-tree.js | 9 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form-notes.js | 5 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js | 17 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-layout.js | 8 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view-datasource.js | 12 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/main/ob-standard-view.js | 6 +- modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-grid.js | 4 + modules/org.openbravo.client.application/web/org.openbravo.client.application/js/procurement/ob-procurement.js | 4 + modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/ApplicationDynamicComponent.java | 7 +- modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/templates/application-dynamic-js.ftl | 5 +- modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 10 +- modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceServlet.java | 46 +- modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/ReadOnlyDataSourceService.java | 10 +- modules/org.openbravo.service.datasource/web/org.openbravo.service.datasource/js/ob-datasource-utilities.js | 32 +- modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.service.json/src/org/openbravo/service/json/JsonConstants.java | 3 +- modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 12 +- modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js | 4 +- modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.userinterface.smartclient/web/org.openbravo.userinterface.smartclient/js/ob-smartclient.js | 18 + modules/org.openbravo.utility.cleanup.log/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.utility.cleanup.log/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 24 +- modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 22 +- referencedata/sampledata/F_B_International_Group/AD_FORM_ACCESS.xml | 140 - referencedata/sampledata/F_B_International_Group/AD_PROCESS_REQUEST.xml | 1410 +- referencedata/sampledata/F_B_International_Group/AD_SEQUENCE.xml | 62 +- referencedata/sampledata/F_B_International_Group/AD_USER.xml | 48 +- referencedata/sampledata/F_B_International_Group/AD_WINDOW_ACCESS.xml | 280 + referencedata/sampledata/F_B_International_Group/C_BPARTNER.xml | 74 +- referencedata/sampledata/F_B_International_Group/C_INVOICE.xml | 7507 +- referencedata/sampledata/F_B_International_Group/C_INVOICELINE.xml | 8952 + referencedata/sampledata/F_B_International_Group/C_INVOICELINETAX.xml | 4320 + referencedata/sampledata/F_B_International_Group/C_INVOICETAX.xml | 1020 + referencedata/sampledata/F_B_International_Group/C_ORDER.xml | 2286 + referencedata/sampledata/F_B_International_Group/C_ORDERLINE.xml | 10116 ++ referencedata/sampledata/F_B_International_Group/C_ORDERLINETAX.xml | 3672 + referencedata/sampledata/F_B_International_Group/C_ORDERTAX.xml | 576 + referencedata/sampledata/F_B_International_Group/C_ORDER_DISCOUNT.xml | 180 + referencedata/sampledata/F_B_International_Group/FACT_ACCT.xml | 47740 +++++++++- referencedata/sampledata/F_B_International_Group/FIN_BANKSTATEMENT.xml | 44 + referencedata/sampledata/F_B_International_Group/FIN_BANKSTATEMENTLINE.xml | 1260 + referencedata/sampledata/F_B_International_Group/FIN_FINACC_TRANSACTION.xml | 1794 + referencedata/sampledata/F_B_International_Group/FIN_FINANCIAL_ACCOUNT.xml | 8 +- referencedata/sampledata/F_B_International_Group/FIN_PAYMENT.xml | 2046 + referencedata/sampledata/F_B_International_Group/FIN_PAYMENT_DETAIL.xml | 928 + referencedata/sampledata/F_B_International_Group/FIN_PAYMENT_PROPOSAL.xml | 174 + referencedata/sampledata/F_B_International_Group/FIN_PAYMENT_PROP_DETAIL.xml | 600 + referencedata/sampledata/F_B_International_Group/FIN_PAYMENT_SCHEDULE.xml | 20178 ++- referencedata/sampledata/F_B_International_Group/FIN_PAYMENT_SCHEDULEDETAIL.xml | 1312 +- referencedata/sampledata/F_B_International_Group/FIN_RECONCILIATION.xml | 58 + referencedata/sampledata/F_B_International_Group/GL_JOURNAL.xml | 108 + referencedata/sampledata/F_B_International_Group/GL_JOURNALBATCH.xml | 82 +- referencedata/sampledata/F_B_International_Group/GL_JOURNALLINE.xml | 1260 + referencedata/sampledata/F_B_International_Group/M_ATTRIBUTESETINSTANCE.xml | 90 + referencedata/sampledata/F_B_International_Group/M_COSTING.xml | 2110 +- referencedata/sampledata/F_B_International_Group/M_INOUT.xml | 1602 + referencedata/sampledata/F_B_International_Group/M_INOUTLINE.xml | 4692 + referencedata/sampledata/F_B_International_Group/M_MATCHINV.xml | 1482 + referencedata/sampledata/F_B_International_Group/M_MATCHPO.xml | 2964 + referencedata/sampledata/F_B_International_Group/M_STORAGE_DETAIL.xml | 322 +- referencedata/sampledata/F_B_International_Group/M_STORAGE_PENDING.xml | 52 +- referencedata/sampledata/F_B_International_Group/M_TRANSACTION.xml | 6120 + referencedata/sampledata/F_B_International_Group/M_TRANSACTION_COST.xml | 3468 + referencedata/sampledata/F_B_International_Group/OBUIAPP_PROCESS_ACCESS.xml | 280 + referencedata/sampledata/F_B_International_Group/OBUIAPP_VIEW_ROLE_ACCESS.xml | 130 - referencedata/sampledata/QA_Testing/AD_FORM_ACCESS.xml | 42 - referencedata/sampledata/QA_Testing/AD_PINSTANCE.xml | 32 + referencedata/sampledata/QA_Testing/AD_PROCESS_REQUEST.xml | 36 + referencedata/sampledata/QA_Testing/AD_SEQUENCE.xml | 2 +- referencedata/sampledata/QA_Testing/C_BPARTNER.xml | 2 +- referencedata/sampledata/QA_Testing/C_COSTCENTER.xml | 17 + referencedata/sampledata/QA_Testing/C_ORDER.xml | 65 + referencedata/sampledata/QA_Testing/C_ORDERLINE.xml | 48 + referencedata/sampledata/QA_Testing/C_ORDERLINETAX.xml | 17 + referencedata/sampledata/QA_Testing/C_ORDERTAX.xml | 16 + referencedata/sampledata/QA_Testing/C_PROJECT.xml | 43 + referencedata/sampledata/QA_Testing/C_PROJECT_ACCT.xml | 29 + referencedata/sampledata/QA_Testing/M_PRODUCT.xml | 56 +- referencedata/sampledata/QA_Testing/M_PRODUCTPRICE.xml | 36 + referencedata/sampledata/QA_Testing/M_PRODUCT_ACCT.xml | 34 + referencedata/sampledata/QA_Testing/M_PRODUCT_BOM.xml | 48 + referencedata/sampledata/QA_Testing/M_STORAGE_PENDING.xml | 17 + referencedata/sampledata/QA_Testing/OBUIAPP_VIEW_ROLE_ACCESS.xml | 38 - referencedata/sampledata/QA_Testing/USER1.xml | 17 + referencedata/sampledata/QA_Testing/USER2.xml | 17 + src-core/src/org/openbravo/database/ExternalConnectionPool.java | 29 + src-db/database/build-create.xml | 6 - src-db/database/lib/dbsourcemanager.jar | Bin src-db/database/model/excludeFilter.xml | 7 +- src-db/database/model/functions/C_GETINVOICESTATUSFROMSHIPMENT.xml | 6 +- src-db/database/model/functions/C_ORDER_POST1.xml | 2 +- src-db/database/model/functions/M_RESERVATION_CONSUMPTION.xml | 14 +- src-db/database/model/functions/M_RESERVE_STOCK_MANUAL.xml | 2 +- src-db/database/model/postscript-Oracle.sql | 13 +- src-db/database/model/postscript-PostgreSql.sql | 36 +- src-db/database/model/prescript-PostgreSql.sql | 3 +- src-db/database/model/tables/AD_REGISTRATION_INFO.xml | 55 - src-db/database/model/tables/C_INVOICE.xml | 10 + src-db/database/model/tables/C_ORDER.xml | 3 +- src-db/database/model/tables/C_ORDERLINE.xml | 9 + src-db/database/model/tables/FACT_ACCT.xml | 10 + src-db/database/model/tables/M_INOUT.xml | 4 + src-db/database/model/triggers/AD_REGISTRATION_INFO_TRG.xml | 38 - src-db/database/model/triggers/C_BPARTNER_TRG.xml | 4 +- src-db/database/model/triggers/C_DOCTYPE_TRG.xml | 14 + src-db/database/model/triggers/C_ORDERLINE_TRG.xml | 13 + src-db/database/model/triggers/C_ORDERLINE_TRG2.xml | 5 +- src-db/database/model/triggers/C_ORDER_TRG.xml | 26 +- src-db/database/model/triggers/M_MOVEMENTLINE_TRG.xml | 2 +- src-db/database/model/views/C_INVOICE_CANDIDATE_V.xml | 2 +- src-db/database/model/views/FACT_ACCT_END_YEAR_V.xml | 4 - src-db/database/model/views/M_RM_RECEIPT_PICK_EDIT.xml | 2 +- src-db/database/sourcedata/AD_AUXILIARINPUT.xml | 11 + src-db/database/sourcedata/AD_COLUMN.xml | 3938 +- src-db/database/sourcedata/AD_DATASET_TABLE.xml | 14 - src-db/database/sourcedata/AD_ELEMENT.xml | 198 +- src-db/database/sourcedata/AD_FIELD.xml | 998 +- src-db/database/sourcedata/AD_FORM.xml | 13 - src-db/database/sourcedata/AD_MESSAGE.xml | 68 +- src-db/database/sourcedata/AD_MODEL_OBJECT.xml | 12 - src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml | 10 - src-db/database/sourcedata/AD_MODULE.xml | 2 +- src-db/database/sourcedata/AD_REFERENCE.xml | 41 + src-db/database/sourcedata/AD_REF_LIST.xml | 12 + src-db/database/sourcedata/AD_REF_TABLE.xml | 12 + src-db/database/sourcedata/AD_TAB.xml | 70 +- src-db/database/sourcedata/AD_TABLE.xml | 220 +- src-db/database/sourcedata/AD_TEXTINTERFACES.xml | 77 - src-db/database/sourcedata/AD_WINDOW.xml | 33 + src-db/database/sourcedata/OBUIAPP_PARAMETER.xml | 48 + src-db/database/sourcedata/OBUIAPP_PROCESS.xml | 41 + src-db/database/sourcedata/OBUIAPP_REF_WINDOW.xml | 18 + src-test/src/org/openbravo/test/AllAntTaskTests.java | 14 +- src-test/src/org/openbravo/test/AllQuickAntTaskTests.java | 4 +- src-test/src/org/openbravo/test/AllTests.java | 2 +- src-test/src/org/openbravo/test/AllWebserviceTests.java | 4 +- src-test/src/org/openbravo/test/AntTaskTests.java | 4 +- src-test/src/org/openbravo/test/costing/utils/TestCostingConstants.java | 2 + src-test/src/org/openbravo/test/costing/utils/TestCostingUtils.java | 1978 +- src-test/src/org/openbravo/test/createlinesfrom/CreateLinesFromTest.java | 300 + src-test/src/org/openbravo/test/createlinesfrom/data/CLFTestDataConstants.java | 55 + src-test/src/org/openbravo/test/createlinesfrom/data/CLFTestDataPO_02.java | 239 + src-test/src/org/openbravo/test/createlinesfrom/data/CLFTestDataSO_01.java | 239 + src-test/src/org/openbravo/test/createlinesfrom/data/CreateLinesFromTestData.java | 321 + src-test/src/org/openbravo/test/createlinesfrom/data/InvoiceLineData.java | 72 + src-test/src/org/openbravo/test/createlinesfrom/data/OrderLineData.java | 73 + src-test/src/org/openbravo/test/createlinesfrom/data/ShipmentInOutLineData.java | 63 + src-test/src/org/openbravo/test/datasource/BaseDataSourceTestDal.java | 65 +- src-test/src/org/openbravo/test/datasource/BaseDataSourceTestNoDal.java | 22 +- src-test/src/org/openbravo/test/datasource/DataSourceSecurity.java | 26 +- src-test/src/org/openbravo/test/datasource/DatasourceTestUtil.java | 17 +- src-test/src/org/openbravo/test/datasource/TestNoteDatasource.java | 30 +- src-test/src/org/openbravo/test/db/model/functions/ADOrgTreeTest.java | 6 +- src-test/src/org/openbravo/test/db/pool/PoolHasNoConnectionsDetection.java | 73 + src-test/src/org/openbravo/test/generalsetup/enterprise/organization/ADOrgPersistInfoUtility.java | 6 +- src-test/src/org/openbravo/test/model/DBModifiedTest.java | 97 + src-test/src/org/openbravo/test/role/inheritance/AccessPropagation.java | 20 +- src-test/src/org/openbravo/test/role/inheritance/DeletedAccessPropagation.java | 19 +- src-test/src/org/openbravo/test/role/inheritance/HorizontalInheritance.java | 23 +- src-test/src/org/openbravo/test/role/inheritance/RoleInheritanceTestUtils.java | 114 +- src-test/src/org/openbravo/test/role/inheritance/VerticalInheritance.java | 19 +- src-test/src/org/openbravo/test/security/CSRFAttackTest.java | 133 + src-test/src/org/openbravo/test/system/ErrorTextParserIntegrationTest.java | 199 + src-test/src/org/openbravo/test/system/ErrorTextParserTest.java | 195 +- src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateReturnLineInOrderLine.class | Bin src-util/modulescript/build/classes/org/openbravo/modulescript/UpdateReturnLineInOrderLineData.class | Bin src-util/modulescript/src/org/openbravo/modulescript/UpdateReturnLineInOrderLine.java | 55 + src-util/modulescript/src/org/openbravo/modulescript/UpdateReturnLineInOrderLine_data.xsql | 39 + src/build.xml | 16 + src/index.jsp | 7 - src/org/openbravo/authentication/AuthenticationManager.java | 13 + src/org/openbravo/authentication/basic/DefaultAuthenticationManager.java | 2 + src/org/openbravo/base/secureApp/AllowedCrossDomainsHandler.java | 54 +- src/org/openbravo/base/secureApp/HttpSecureAppServlet.java | 13 +- src/org/openbravo/base/secureApp/LoginHandler.java | 1 + src/org/openbravo/base/secureApp/LoginUtils.java | 5 +- src/org/openbravo/base/secureApp/VariablesSecureApp.java | 5 +- src/org/openbravo/common/actionhandler/createlinesfromprocess/CreateInvoiceLinesFromHandler.java | 81 + src/org/openbravo/common/actionhandler/createlinesfromprocess/CreateInvoiceLinesFromInOutLines.java | 31 + src/org/openbravo/common/actionhandler/createlinesfromprocess/CreateInvoiceLinesFromOrderLines.java | 31 + src/org/openbravo/common/actionhandler/createlinesfromprocess/CreateInvoiceLinesFromProcess.java | 281 + src/org/openbravo/common/actionhandler/createlinesfromprocess/CreateLinesFromProcessHook.java | 128 + src/org/openbravo/common/actionhandler/createlinesfromprocess/CreateLinesFromUtil.java | 216 + src/org/openbravo/common/actionhandler/createlinesfromprocess/InOutLineData.java | 93 + src/org/openbravo/common/actionhandler/createlinesfromprocess/InsertAcctDimensions.java | 114 + src/org/openbravo/common/actionhandler/createlinesfromprocess/UpdateAccAndDefPlanFromProduct.java | 61 + src/org/openbravo/common/actionhandler/createlinesfromprocess/UpdateInvoiceLineInformation.java | 213 + src/org/openbravo/common/actionhandler/createlinesfromprocess/UpdatePricesAndAmounts.java | 359 + src/org/openbravo/common/actionhandler/createlinesfromprocess/UpdateProductAndAttributes.java | 46 + src/org/openbravo/common/actionhandler/createlinesfromprocess/UpdateQuantitiesAndUOMs.java | 91 + src/org/openbravo/common/actionhandler/createlinesfromprocess/UpdateTax.java | 154 + src/org/openbravo/common/datasource/InOutLinePEHQLTransformer.java | 229 + src/org/openbravo/common/datasource/OrderLinePEHQLTransformer.java | 284 + src/org/openbravo/costing/AverageCostAdjustment.java | 2 +- src/org/openbravo/erpCommon/ad_actionButton/CreateFrom.java | 428 +- src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice.html | 554 - src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice.xml | 80 - src/org/openbravo/erpCommon/ad_actionButton/CreateFrom_Invoice_data.xsql | 829 - src/org/openbravo/erpCommon/ad_callouts/SL_InvAmtUpd_ProductRefDate.java | 6 +- src/org/openbravo/erpCommon/ad_callouts/SL_RequisitionLine_Product.java | 5 +- src/org/openbravo/erpCommon/ad_forms/Heartbeat.html | 14 - src/org/openbravo/erpCommon/ad_forms/Heartbeat.java | 5 - src/org/openbravo/erpCommon/ad_forms/Heartbeat.xml | 3 +- src/org/openbravo/erpCommon/ad_forms/InitialOrgSetup.java | 3 +- src/org/openbravo/erpCommon/ad_forms/InstancePurpose.java | 4 - src/org/openbravo/erpCommon/ad_forms/ModuleManagement_LocalChanges.html | 16 +- src/org/openbravo/erpCommon/ad_forms/Register_data.xsql | 44 - src/org/openbravo/erpCommon/ad_forms/Registration.html | 243 - src/org/openbravo/erpCommon/ad_forms/Registration.java | 120 - src/org/openbravo/erpCommon/ad_forms/Registration.xml | 27 - src/org/openbravo/erpCommon/ad_forms/RequisitionToOrder.java | 12 +- src/org/openbravo/erpCommon/ad_forms/RequisitionToOrder_data.xsql | 38 +- src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData.java | 33 +- src/org/openbravo/erpCommon/ad_forms/UpdateReferenceData_data.xsql | 6 +- src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java | 44 +- src/org/openbravo/erpCommon/ad_process/UpdateActuals.java | 28 +- src/org/openbravo/erpCommon/ad_reports/ReportBudgetExportExcel.java | 16 +- src/org/openbravo/erpCommon/ad_reports/ReportTrialBalanceExcel.jrxml | 20 +- src/org/openbravo/erpCommon/businessUtility/COAUtility.java | 32 +- src/org/openbravo/erpCommon/businessUtility/CancelAndReplaceUtils.java | 29 +- src/org/openbravo/erpCommon/businessUtility/InitialClientSetup.java | 23 +- src/org/openbravo/erpCommon/businessUtility/InitialOrgSetup.java | 55 +- src/org/openbravo/erpCommon/businessUtility/InitialSetupUtility.java | 67 +- src/org/openbravo/erpCommon/businessUtility/Registration_data.xsql | 30 - src/org/openbravo/erpCommon/modules/ApplyModuleTask.java | 13 +- src/org/openbravo/erpCommon/modules/ImportModule.java | 8 - src/org/openbravo/erpCommon/security/Login.html | 6 +- src/org/openbravo/erpCommon/utility/ErrorTextParserPOSTGRE.java | 26 +- src/org/openbravo/erpCommon/utility/TreeUtility.java | 65 +- src/org/openbravo/erpCommon/utility/Utility.java | 71 +- src/org/openbravo/erpCommon/utility/VerticalMenu.html | 6 +- src/org/openbravo/event/GLItemAccountsEventHandler.java | 66 + src/org/openbravo/event/PaidStatusEventHandler.java | 9 +- src/org/openbravo/financial/ResetAccounting.java | 12 +- src/org/openbravo/materialmgmt/InventoryCountProcess.java | 2 + src/org/openbravo/materialmgmt/ManageVariantsDS.java | 3 +- src/org/openbravo/service/db/DbUtility.java | 7 +- src/org/openbravo/service/importprocess/ImportEntryProcessor.java | 18 +- src/org/openbravo/service/system/ReloadContext.java | 78 - web/js/productCharacteristicsProcess.js | 2 +- 299 files changed, 142219 insertions(+), 17432 deletions(-) diffs (truncated from 216679 to 300 lines): diff -r 8b5e2d88f586 -r 43a7e93a946d .hgsigs --- a/.hgsigs Wed Jul 18 22:56:00 2018 -0400 +++ b/.hgsigs Thu Oct 18 12:42:31 2018 +0200 @@ -232,3 +232,6 @@ dc2ef98dc38f7c32c888dcf1f1adb37c6afb4d14 0 iEYEABECAAYFAlrxbisACgkQCX/oGf+2qkMMCwCdFeF47f2MY7Pq3cdsyHon64EYekwAoPYllLnhYETGsUEqtiKSxvj9Mgxb 2121d856284cf0c4f26faef336bd2aa41ada151f 0 iEYEABECAAYFAlr8AykACgkQCX/oGf+2qkPKhQCfeQ+9S16IA3wZMgnoJjRRZRvG8SUAoIgKQPopjsjObnB6Qu1DyNgCByRt faeac12b1aad3dc7fb53f8ffda3ada9e3b7deaeb 0 iEYEABECAAYFAls/boQACgkQCX/oGf+2qkNdfACfaNh5oqLf0LzgGAYLmRWa97kbFj4AoL3KPdVDG0Mf6qKcxejAl7Kl12cd +69fa322764529bb77cd3ef3b7b5dd33f6667e560 0 iEYEABECAAYFAlt1MD4ACgkQCX/oGf+2qkPU4wCgnCdQrG3eWxbDWbitjSsm6XvbQ6IAni9v1H03pkrhgPmaS97Ft9MOHVhO +bbb6e342b4af3c81bd1a49418a01e63fcb09e3c5 0 iEYEABECAAYFAltpYMEACgkQCX/oGf+2qkMblgCffRsYLqTbeixIj19Lm3dm6iMqkv0AoM3iSQaEFeV7ff9nYRd3vz227Ir6 +51e0d0e9566b3a1e0e7e08e8bd089b77ae779688 0 iEYEABECAAYFAlukneUACgkQCX/oGf+2qkP8ngCgiC3Jo4cDL8F35HXpqHL3QtD46kUAn0znm6h/Ad3r0f/rJXf6dJli+zjK diff -r 8b5e2d88f586 -r 43a7e93a946d .hgtags --- a/.hgtags Wed Jul 18 22:56:00 2018 -0400 +++ b/.hgtags Thu Oct 18 12:42:31 2018 +0200 @@ -243,3 +243,6 @@ 307b23f7635f3e92dd8fc8e7d55d09b7c914384c 3.0PR18Q2 63c5e173ffdca0828d75476e5a48e2fae42ad9e9 3.0PR18Q1.3 3f281a901fbbde5103faebca4df0c22b94ac5535 3.0PR18Q2.1 +72cf5779eb218bb25914b1aadade7fde01c67842 3.0PR18Q2.2 +5cbef591aff09f80e8a73a92202d438b792ad40f 3.0PR18Q3 +2f706d7a458e736b7b6add7ca445132c5e0b9758 3.0PR18Q3.1 diff -r 8b5e2d88f586 -r 43a7e93a946d build.xml --- a/build.xml Wed Jul 18 22:56:00 2018 -0400 +++ b/build.xml Thu Oct 18 12:42:31 2018 +0200 @@ -108,6 +108,10 @@ </or> </not> </condition> + + <condition property="jvm.arg.line" value="" else="--add-opens java.base/java.lang=ALL-UNNAMED"> + <equals arg1="${ant.java.version}" arg2="1.8"/> + </condition> <condition property="calculate.core.rev"> <istrue value="${calculate.core.revision}"/> @@ -422,11 +426,6 @@ <ant dir="${base.db}" target="setApplied" inheritAll="true" inheritRefs="true" /> <antcall target="build.deploy" /> <updatesystemstatuswhennot v="RB51" previous="RB12"/> - <!-- only restart tomcat if the restart prop was set to true --> - <condition property="dorestart"> - <istrue value="${restart}" /> - </condition> - <antcall target="if.restart.tomcat" /> </target> <target name="update.database.if.no.local" if="no.local"> @@ -455,10 +454,6 @@ <antcall target="war" /> </target> - <target name="if.restart.tomcat" if="dorestart"> - <antcall target="tomcat.restart" /> - </target> - <target name="compile" depends="init,core.lib, wad.lib, trl.lib"> <ant dir="${base.src}" target="compile" inheritAll="true" inheritRefs="true" /> </target> @@ -559,7 +554,7 @@ <include name="*/lib/test/*.jar" /> </fileset> </classpath> - <link href="http://docs.oracle.com/javase/7/docs/api/"/> + <link href="https://docs.oracle.com/javase/8/docs/api/"/> </javadoc> </target> @@ -774,6 +769,7 @@ <target name="apply.module" depends="compile.apply.module"> <java classname="org.openbravo.erpCommon.modules.ApplyModuleTask" fork="true" maxmemory="${build.maxmemory}" failonerror="true"> <arg line="'${base.src}' '${friendlyWarnings}' '${forceRefData}'" /> + <jvmarg line="${jvm.arg.line}" /> <classpath refid="apply.module.runtime.classpath" /> </java> <delete includeEmptyDirs="true" dir="${build.apply.module}" /> @@ -802,7 +798,7 @@ This task is called from the Openbravo ui, it spawns a java call which again calls the restart.tomcat.do task as a spawned task. --> - <target name="tomcat.restart" description="Restart the tomcat server process"> + <target name="tomcat.restart"> <echo message="Restarting tomcat..." /> <java classname="org.openbravo.service.system.RestartTomcat" spawn="true" fork="true" maxmemory="${build.maxmemory}"> <arg line="${base.src}" /> @@ -813,7 +809,7 @@ <!-- Is called by the org.openbravo.service.system.RestartTomcat class. --> - <target name="tomcat.restart.do" description="Restart the tomcat server process"> + <target name="tomcat.restart.do"> <echo message="Restarting Tomcat at ${env.CATALINA_HOME}" /> <java classname="org.apache.catalina.startup.Bootstrap" fork="true"> <classpath path=":${env.CATALINA_HOME}/bin/bootstrap.jar:${env.CATALINA_HOME}/bin/commons-logging-api.jar:${env.CATALINA_HOME}/bin/tomcat-juli.jar" /> @@ -839,25 +835,6 @@ </java> </target> - <!-- - This task is called from the Openbravo ui, it spawns a java call which again - calls the tomcat.reload.do task as a spawned task. - --> - <target name="tomcat.reload" description="Reload the Openbravo context"> - <echo message="Reloading webapp..." /> - <java classname="org.openbravo.service.system.ReloadContext" jvm="${env.JAVA_HOME}/bin/java" maxmemory="${build.maxmemory}" spawn="true" fork="true"> - <arg line="${base.src}" /> - <classpath refid="project.class.path" /> - </java> - </target> - - <target name="tomcat.reload.do"> - <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"> - <classpath refid="project.class.path" /> - </taskdef> - <reload url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${context.name}" /> - </target> - <target name="tomcat.list"> <taskdef name="list" classname="org.apache.catalina.ant.ListTask"> <classpath refid="project.class.path" /> diff -r 8b5e2d88f586 -r 43a7e93a946d legal/Sun_license_agreement.txt --- a/legal/Sun_license_agreement.txt Wed Jul 18 22:56:00 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,367 +0,0 @@ -Sun Microsystems, Inc. ("Sun") ENTITLEMENT for SOFTWARE - -Licensee/Company: Entity receiving Software. - -Effective Date: Date of delivery of the Software to -You. - -Software: Java(TM) Transaction API (JTA) Specification -1.1 - -License Term: Perpetual (subject to termination under -the SLA) - -Licensed Unit: Software Copy - -Licensed unit Count: Unlimited - -Permitted Uses: - -1. You may reproduce and use the Software for Your own -Individual, Commercial, or Research and Instructional -Use for the purposes of designing, developing, -testing, and running Your applets and application -("Programs"). - -2. Subject to the terms and conditions of this -Agreement and restrictions and exceptions set forth in -the Software's documentation, You may reproduce and -distribute portions of Software identified as a -redistributable in the documentation -("Redistributable"), provided that: - -(a) You distribute Redistributable complete and -unmodified and only bundled as part of Your Programs, - -(b) Your Programs add significant and primary -functionality to the Redistributable, - -(c) You distribute Redistributable for the sole -purpose of running Your Programs, - -(d) You do not distribute additional software intended -to replace any component(s) of the Redistributable, - -(e) You do not remove or alter any proprietary legends -or notices contained in or on the Redistributable. - -(f) You only distribute the Redistributable subject to -a license agreement that protects Sun's interests -consistent with the terms contained in this Agreement, -and - -(g) You agree to defend and indemnify Sun and its -licensors from and against any damages, costs, -liabilities, settlement amounts and/or expenses -(including attorneys' fees) incurred in connection -with any claim, lawsuit or action by any third party -that arises or results from the use or distribution of -any and all Programs and/or Redistributable. - -3. Java Technology Restrictions. You may not create, -modify, or change the behavior of, or authorize your -licensees to create, modify, or change the behavior -of, classes, interfaces, or subpackages that are in -any way identified as "java", "javax", "sun" or -similar convention as specified by Sun in any naming -convention designation. - -Sun Microsystems, Inc. ("Sun") -SOFTWARE LICENSE AGREEMENT - -READ THE TERMS OF THIS AGREEMENT ("AGREEMENT") -CAREFULLY BEFORE OPENING SOFTWARE MEDIA PACKAGE. BY -OPENING SOFTWARE MEDIA PACKAGE, YOU AGREE TO THE TERMS -OF THIS AGREEMENT. IF YOU ARE ACCESSING SOFTWARE -ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE -TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END OF -THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE -TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR -PLACE OF PURCHASE FOR A REFUND OR, IF SOFTWARE IS -ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" (OR -"EXIT") BUTTON AT THE END OF THIS AGREEMENT. IF YOU -HAVE SEPARATELY AGREED TO LICENSE TERMS ("MASTER -TERMS") FOR YOUR LICENSE TO THIS SOFTWARE, THEN -SECTIONS 1-5 OF THIS AGREEMENT ("SUPPLEMENTAL LICENSE -TERMS") SHALL SUPPLEMENT AND SUPERSEDE THE MASTER -TERMS IN RELATION TO THIS SOFTWARE. - -1. Definitions. - -(a) "Entitlement" means the collective set of -applicable documents authorized by Sun evidencing your -obligation to pay associated fees (if any) for the -license, associated Services, and the authorized scope -of use of Software under this Agreement. - -(b) "Licensed Unit" means the unit of measure by -which your use of Software and/or Service is licensed, -as described in your Entitlement. - -(c) "Permitted Use" means the licensed Software -use(s) authorized in this Agreement as specified in -your Entitlement. The Permitted Use for any bundled -Sun software not specified in your Entitlement will be -evaluation use as provided in Section 3. - -(d) "Service" means the service(s) that Sun or its -delegate will provide, if any, as selected in your -Entitlement and as further described in the applicable -service listings at www.sun.com/service/servicelist. - -(e) "Software" means the Sun software described in -your Entitlement. Also, certain software may be -included for evaluation use under Section 3. - -(f) "You" and "Your" means the individual or legal -entity specified in the Entitlement, or for evaluation -purposes, the entity performing the evaluation. - -2. License Grant and Entitlement. - -Subject to the terms of your Entitlement, Sun grants -you a nonexclusive, nontransferable limited license to -use Software for its Permitted Use for the license -term. Your Entitlement will specify (a) Software -licensed, (b) the Permitted Use, (c) the license term, -and (d) the Licensed Units. - -Additionally, if your Entitlement includes Services, -then it will also specify the (e) Service and (f) -service term. - -If your rights to Software or Services are limited in -duration and the date such rights begin is other than -the purchase date, your Entitlement will provide that -beginning date(s). - -The Entitlement may be delivered to you in various -ways depending on the manner in which you obtain -Software and Services, for example, the Entitlement -may be provided in your receipt, invoice or your -contract with Sun or authorized Sun reseller. It may -also be in electronic format if you download Software. - -3. Permitted Use. - -As selected in your Entitlement, one or more of the -following Permitted Uses will apply to your use of -Software. Unless you have an Entitlement that -expressly permits it, you may not use Software for any -of the other Permitted Uses. If you don't have an -Entitlement, or if your Entitlement doesn't cover -additional software delivered to you, then such -software is for your Evaluation Use. - -(a) Evaluation Use. You may evaluate Software -internally for a period of 90 days from your first -use. - -(b) Research and Instructional Use. You may use -Software internally to design, develop and test, and -also to provide instruction on such uses. - -(c) Individual Use. You may use Software internally -for personal, individual use. - -(d) Commercial Use. You may use Software internally -for your own commercial purposes. - -(e) Service Provider Use. You may make Software -functionality accessible (but not by providing -Software itself or through outsourcing services) to -your end users in an extranet deployment, but not to -your affiliated companies or to government agencies. - -4. Licensed Units. - -Your Permitted Use is limited to the number of _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits