zendesk_apps_support 4.29.5 → 4.29.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a106bcae90806c793735bbc559eb47fec0daaf4b
4
- data.tar.gz: 54de16ed4176064fdf01ed8b11efcdf1a91901be
3
+ metadata.gz: f7aff48dd5eff958501e5e21f78713b7e2906f9e
4
+ data.tar.gz: d267db414baabe7ced86ec3e1b196c08fb0346e2
5
5
  SHA512:
6
- metadata.gz: a591b02c1fb89fcac0ef7817a51697a186cc68643820c8e3ba68dc9284638190f8f51e7631cc00938605e06ae7fc8d78c7c8919f11bc3018a5745085b881c1de
7
- data.tar.gz: a4ddc50586ad3c6a523581b9fc23b736aa670b3ee15802d911fec5e0a3b5fc2aac1050bb0d37b9e0aea2398016561c7e0fc13c4daeb8c4b05a4a46e8a4082d01
6
+ metadata.gz: a87b22e67e6489bb6d619b24d5ba7ac670e9322a500b06aaf32014328917bdf496d779ae554c83a39258979a6583dfa5a57f2ec3ffd0c432d024d4c14430ab4b
7
+ data.tar.gz: 19b7439b1574327c9b53cac0448db136cc1d2f3be29da878d75d597d5cba7f038c8204bf270295ec6e6ba32c0980ffcd4e20737d3121ca269fa58522d4ffd908
@@ -96,6 +96,8 @@ en:
96
96
  blank_location_uri: "%{location} location does not specify a URI."
97
97
  invalid_location_uri: "%{uri} is either an invalid location URI, refers
98
98
  to a missing asset, or does not use HTTPS."
99
+ invalid_location_flexible_type: "%{flexible} is an invalid type for the
100
+ flexible location parameter."
99
101
  name_as_parameter_name: Can't call a parameter 'name'
100
102
  invalid_hidden_parameter:
101
103
  one: "%{invalid_params} is set to hidden and cannot be required."
@@ -123,6 +125,9 @@ en:
123
125
  do not match products in translations (%{translation_products})
124
126
  insecure_token_parameter_in_manifest: 'Make sure to set secure to true
125
127
  when using keys in Settings. Learn more: %{link}'
128
+ default_secure_or_hidden_parameter_in_manifest: Default values for secure
129
+ or hidden parameters are not stored securely. Be sure to review them
130
+ and confirm they do not contain sensitive data
126
131
  stylesheet_error: 'Sass error: %{sass_error}'
127
132
  invalid_type_parameter:
128
133
  one: "%{invalid_types} is an invalid parameter type."
@@ -234,6 +234,10 @@ parts:
234
234
  key: "txt.apps.admin.error.app_build.invalid_location_uri"
235
235
  title: "App builder job: invalid URI for an iframe in the manifest"
236
236
  value: "%{uri} is either an invalid location URI, refers to a missing asset, or does not use HTTPS."
237
+ - translation:
238
+ key: "txt.apps.admin.error.app_build.invalid_location_flexible_type"
239
+ title: "App builder job: invalid flexible type for an iframe in the manifest"
240
+ value: "%{flexible} is an invalid type for the flexible location parameter."
237
241
  - translation:
238
242
  key: "txt.apps.admin.error.app_build.name_as_parameter_name"
239
243
  title: "App builder job: error message when developer names a parameter 'name'"
@@ -351,6 +355,11 @@ parts:
351
355
  title: "Validation message to indicate missing secure(true) field in manifest's token parameter. Do not translate 'secure' and 'true'. Secure(true) in manifest refers to https://developer.zendesk.com/apps/docs/developer-guide/using_sdk#using-secure-settings"
352
356
  value: "Make sure to set secure to true when using keys in Settings. Learn more: %{link}"
353
357
  screenshot: "https://drive.google.com/open?id=1ss3nNN2RG29R7StjCtiH8qjuwFBlRApJ"
358
+ - translation:
359
+ key: "txt.apps.admin.error.app_build.translation.default_secure_or_hidden_parameter_in_manifest"
360
+ title: "Validation message to indicate that a hidden or secure manifest parameter has a default value. Do not translate 'secure' and 'hidden'. Secure(true) in manifest refers to https://developer.zendesk.com/apps/docs/developer-guide/using_sdk#using-secure-settings"
361
+ value: "Default values for secure or hidden parameters are not stored securely. Be sure to review them and confirm they do not contain sensitive data"
362
+ screenshot: "https://drive.google.com/file/d/1MI6ci6Jz6xtwOXjcbHFCfNi1FjXKOuv9/view?usp=sharing"
354
363
  - translation:
355
364
  key: "txt.apps.admin.error.app_build.stylesheet_error"
356
365
  title: "App builder job: invalid stylesheet syntax"
@@ -7,6 +7,7 @@ module ZendeskAppsSupport
7
7
  legacy: 'legacy',
8
8
  auto_load: 'autoLoad',
9
9
  auto_hide: 'autoHide',
10
+ flexible: 'flexible',
10
11
  signed: 'signed',
11
12
  url: 'url'
12
13
  }.freeze
@@ -26,9 +26,9 @@ require 'sassc'
26
26
  module SassC::Script::Functions
27
27
  module AppAssetUrl
28
28
  def app_asset_url(name)
29
- raise ArgumentError, "Expected #{name} to be a string" unless name.is_a? Sass::Script::Value::String
29
+ raise ArgumentError, "Expected #{name} to be a string" unless name.is_a? SassC::Script::Value::String
30
30
  result = %{url("#{app_asset_url_helper(name)}")}
31
- SassC::Script::String.new(result)
31
+ SassC::Script::Value::String.new(result)
32
32
  end
33
33
 
34
34
  private
@@ -271,6 +271,10 @@ module ZendeskAppsSupport
271
271
  elsif location_options.auto_load?
272
272
  errors << ValidationError.new(:blank_location_uri, location: location_options.location.name)
273
273
  end
274
+
275
+ if !([true, false].include? location_options.flexible) && !location_options.flexible.nil?
276
+ errors << invalid_location_flexible_error(location_options)
277
+ end
274
278
  end
275
279
 
276
280
  Product::PRODUCTS_AVAILABLE.each do |product|
@@ -319,6 +323,12 @@ module ZendeskAppsSupport
319
323
  validation_error
320
324
  end
321
325
 
326
+ def invalid_location_flexible_error(location_options)
327
+ flexible_flag = location_options.flexible
328
+ validation_error = ValidationError.new(:invalid_location_flexible_type, flexible: flexible_flag)
329
+ validation_error
330
+ end
331
+
322
332
  def valid_absolute_uri?(uri)
323
333
  uri.scheme == 'https' || uri.host == 'localhost'
324
334
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'mimemagic'
3
+ require 'marcel'
4
4
 
5
5
  module ZendeskAppsSupport
6
6
  module Validations
@@ -20,9 +20,8 @@ module ZendeskAppsSupport
20
20
  private
21
21
 
22
22
  def block_listed?(app_file)
23
- mime_type = MimeMagic.by_magic(app_file.read)
24
-
25
- content_subtype = mime_type.subtype if mime_type
23
+ mime_type = Marcel::MimeType.for(StringIO.new(app_file.read))
24
+ content_subtype = mime_type.split('/', 2).last if mime_type
26
25
  extension_name = app_file.extension.delete('.')
27
26
 
28
27
  ([content_subtype, extension_name] & UNSUPPORTED_MIME_TYPES).any?
@@ -11,12 +11,18 @@ module ZendeskAppsSupport
11
11
  manifest_params = package.manifest.parameters
12
12
 
13
13
  insecure_params_found = manifest_params.any? { |param| insecure_param?(param) }
14
-
15
14
  package.warnings << secure_settings_warning if insecure_params_found
15
+
16
+ secure_or_hidden_default_param_found = manifest_params.any? { |param| secure_or_hidden_default_param?(param) }
17
+ package.warnings << hidden_default_parameter_warning if secure_or_hidden_default_param_found
16
18
  end
17
19
 
18
20
  private
19
21
 
22
+ def secure_or_hidden_default_param?(parameter)
23
+ parameter.default? && (parameter.secure || parameter.type == 'hidden')
24
+ end
25
+
20
26
  def insecure_param?(parameter)
21
27
  parameter.name =~ SECURABLE_KEYWORDS_REGEXP && type_password_or_text?(parameter.type) && !parameter.secure
22
28
  end
@@ -25,6 +31,12 @@ module ZendeskAppsSupport
25
31
  parameter_type == 'text' || parameter_type == 'password'
26
32
  end
27
33
 
34
+ def hidden_default_parameter_warning
35
+ I18n.t(
36
+ 'txt.apps.admin.error.app_build.translation.default_secure_or_hidden_parameter_in_manifest'
37
+ )
38
+ end
39
+
28
40
  def secure_settings_warning
29
41
  I18n.t(
30
42
  'txt.apps.admin.error.app_build.translation.insecure_token_parameter_in_manifest',
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_apps_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.29.5
4
+ version: 4.29.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - James A. Rosen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-08-19 00:00:00.000000000 Z
14
+ date: 2021-08-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: i18n
@@ -31,16 +31,16 @@ dependencies:
31
31
  name: sassc
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - "~>"
34
+ - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 1.11.2
36
+ version: '0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - "~>"
41
+ - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 1.11.2
43
+ version: '0'
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: sass
46
46
  requirement: !ruby/object:Gem::Requirement
@@ -103,14 +103,14 @@ dependencies:
103
103
  requirements:
104
104
  - - "~>"
105
105
  - !ruby/object:Gem::Version
106
- version: 2.2.3
106
+ version: 2.3.1
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
110
110
  requirements:
111
111
  - - "~>"
112
112
  - !ruby/object:Gem::Version
113
- version: 2.2.3
113
+ version: 2.3.1
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: nokogiri
116
116
  requirement: !ruby/object:Gem::Requirement
@@ -146,19 +146,19 @@ dependencies:
146
146
  - !ruby/object:Gem::Version
147
147
  version: 0.9.10
148
148
  - !ruby/object:Gem::Dependency
149
- name: mimemagic
149
+ name: marcel
150
150
  requirement: !ruby/object:Gem::Requirement
151
151
  requirements:
152
- - - "~>"
152
+ - - ">="
153
153
  - !ruby/object:Gem::Version
154
- version: 0.3.3
154
+ version: '0'
155
155
  type: :runtime
156
156
  prerelease: false
157
157
  version_requirements: !ruby/object:Gem::Requirement
158
158
  requirements:
159
- - - "~>"
159
+ - - ">="
160
160
  - !ruby/object:Gem::Version
161
- version: 0.3.3
161
+ version: '0'
162
162
  - !ruby/object:Gem::Dependency
163
163
  name: ipaddress_2
164
164
  requirement: !ruby/object:Gem::Requirement
@@ -249,14 +249,28 @@ dependencies:
249
249
  requirements:
250
250
  - - '='
251
251
  - !ruby/object:Gem::Version
252
- version: 1.17.3
252
+ version: 2.2.26
253
+ type: :development
254
+ prerelease: false
255
+ version_requirements: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - '='
258
+ - !ruby/object:Gem::Version
259
+ version: 2.2.26
260
+ - !ruby/object:Gem::Dependency
261
+ name: parallel
262
+ requirement: !ruby/object:Gem::Requirement
263
+ requirements:
264
+ - - '='
265
+ - !ruby/object:Gem::Version
266
+ version: 1.12.1
253
267
  type: :development
254
268
  prerelease: false
255
269
  version_requirements: !ruby/object:Gem::Requirement
256
270
  requirements:
257
271
  - - '='
258
272
  - !ruby/object:Gem::Version
259
- version: 1.17.3
273
+ version: 1.12.1
260
274
  description: Support to help you develop Zendesk Apps.
261
275
  email:
262
276
  - dev@zendesk.com