From 52bb36f4b6ec9a1423deef269b00785e4d0be197 Mon Sep 17 00:00:00 2001 From: Andrzej Surdej Date: Wed, 27 Feb 2013 14:28:31 +0100 Subject: [PATCH] CSP report only support [Issue#] N/A [Problem] csp report only tag is not supported by wrt database [Cause] N/A [Solution] Added place for csp-report-only policy [Verification] Build repo. Change-Id: I61a5967964631d85d729114e544d345da74e785f --- modules/widget_dao/dao/widget_dao.cpp | 1 + modules/widget_dao/dao/widget_dao_read_only.cpp | 6 ++++++ modules/widget_dao/include/dpl/wrt-dao-ro/config_parser_data.h | 1 + modules/widget_dao/include/dpl/wrt-dao-ro/widget_dao_read_only.h | 7 +++++++ modules/widget_dao/orm/wrt_db | 1 + 5 files changed, 16 insertions(+) diff --git a/modules/widget_dao/dao/widget_dao.cpp b/modules/widget_dao/dao/widget_dao.cpp index 86819ab..a58c478 100644 --- a/modules/widget_dao/dao/widget_dao.cpp +++ b/modules/widget_dao/dao/widget_dao.cpp @@ -394,6 +394,7 @@ DbWidgetHandle WidgetDAO::registerWidgetInfo( row.Set_author_email(widgetConfigurationInfo.authorEmail); row.Set_author_href(widgetConfigurationInfo.authorHref); row.Set_csp_policy(widgetConfigurationInfo.cspPolicy); + row.Set_csp_policy_report_only(widgetConfigurationInfo.cspPolicyReportOnly); row.Set_base_folder(DPL::FromUTF8String(regInfo.baseFolder)); row.Set_webkit_plugins_required(widgetConfigurationInfo.flashNeeded); row.Set_recognized(wacSecurity.isRecognized()); diff --git a/modules/widget_dao/dao/widget_dao_read_only.cpp b/modules/widget_dao/dao/widget_dao_read_only.cpp index b11158a..b52a2b0 100644 --- a/modules/widget_dao/dao/widget_dao_read_only.cpp +++ b/modules/widget_dao/dao/widget_dao_read_only.cpp @@ -695,6 +695,12 @@ DPL::OptionalString WidgetDAOReadOnly::getCspPolicy() const return row.Get_csp_policy(); } +DPL::OptionalString WidgetDAOReadOnly::getCspPolicyReportOnly() const +{ + WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle); + return row.Get_csp_policy_report_only(); +} + bool WidgetDAOReadOnly::getWebkitPluginsRequired() const { WidgetInfoRow row = getWidgetInfoRow(m_widgetHandle); diff --git a/modules/widget_dao/include/dpl/wrt-dao-ro/config_parser_data.h b/modules/widget_dao/include/dpl/wrt-dao-ro/config_parser_data.h index 5eb7f6e..ee09d08 100644 --- a/modules/widget_dao/include/dpl/wrt-dao-ro/config_parser_data.h +++ b/modules/widget_dao/include/dpl/wrt-dao-ro/config_parser_data.h @@ -312,6 +312,7 @@ class ConfigParserData //csp polic for widget DPL::OptionalString cspPolicy; + DPL::OptionalString cspPolicyReportOnly; //Application service model list ServiceInfoList appServiceList; //It will be removed. diff --git a/modules/widget_dao/include/dpl/wrt-dao-ro/widget_dao_read_only.h b/modules/widget_dao/include/dpl/wrt-dao-ro/widget_dao_read_only.h index 8152d4d..95f0365 100644 --- a/modules/widget_dao/include/dpl/wrt-dao-ro/widget_dao_read_only.h +++ b/modules/widget_dao/include/dpl/wrt-dao-ro/widget_dao_read_only.h @@ -504,6 +504,13 @@ class WidgetDAOReadOnly DPL::OptionalString getCspPolicy() const; /** + * This method is used as a getter for report only csp policy of widget. + * It may be provided in configuration file. + * @return global csp report only policy for widget + */ + DPL::OptionalString getCspPolicyReportOnly() const; + + /** * This method returns list filed with Common Name entries from certificate. * * @return Common Name of Distribuotor End Entity certificate. diff --git a/modules/widget_dao/orm/wrt_db b/modules/widget_dao/orm/wrt_db index 2aa4cd2..4f5f136 100755 --- a/modules/widget_dao/orm/wrt_db +++ b/modules/widget_dao/orm/wrt_db @@ -32,6 +32,7 @@ CREATE_TABLE(WidgetInfo) COLUMN(webkit_plugins_required, TINYINT, DEFAULT 0) COLUMN(security_domain, INT, DEFAULT 0) COLUMN(csp_policy, TEXT, DEFAULT '') + COLUMN(csp_policy_report_only, TEXT, DEFAULT '') COLUMN(recognized, INT, DEFAULT 0) COLUMN(wac_signed, INT, DEFAULT 0) COLUMN(distributor_signed, INT, DEFAULT 0) -- 2.7.4