da_funk 3.28.0 → 3.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +10 -10
- data/RELEASE_NOTES.md +27 -0
- data/Rakefile +2 -0
- data/lib/da_funk/helper/status_bar.rb +8 -3
- data/lib/da_funk/params_dat.rb +12 -1
- data/lib/da_funk/payment_channel.rb +1 -2
- data/lib/da_funk/secure_random.rb +17 -0
- data/lib/da_funk/transaction/reversal.rb +13 -0
- data/lib/da_funk/version.rb +1 -1
- data/lib/device/display.rb +12 -3
- data/lib/device/setting.rb +3 -3
- data/test/unit/da_funk/secure_random.rb +18 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58cb59f7b97099d4e94b66bdf46f9cfc7e4f39893cf88b56b23b352476f3bb2f
|
4
|
+
data.tar.gz: 2c81b4d5a3226c0c5d3cc25176625183f5a3766bea7a120b134604bfb030dc16
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcea670e59016cb7b6a6b297239130ee3a9ff372a94acc8edd4f31a623a6db842f9a43d3cf92ff8253eb77108055ad213d82f12645f572f40548968d435ec7ec
|
7
|
+
data.tar.gz: bde518c1731e7ae15d864f87f423d518672ea856251263092f408875c8c6d8c4acc52f023015c90edbb9cc917b15243539e37c7f7f093684837718c8accac798
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
da_funk (3.
|
4
|
+
da_funk (3.30.0)
|
5
5
|
archive-zip (~> 0.5)
|
6
6
|
bundler
|
7
7
|
cloudwalk_handshake
|
@@ -18,7 +18,7 @@ GEM
|
|
18
18
|
cloudwalk (1.15.0)
|
19
19
|
bundler
|
20
20
|
rake
|
21
|
-
cloudwalk_handshake (1.
|
21
|
+
cloudwalk_handshake (1.21.3)
|
22
22
|
funky-simplehttp (~> 0.6)
|
23
23
|
funky-emv (1.4.1)
|
24
24
|
funky-tlv (~> 0.2)
|
@@ -27,25 +27,25 @@ GEM
|
|
27
27
|
funky-tlv (0.2.3)
|
28
28
|
io-like (0.3.1)
|
29
29
|
parallel (1.19.2)
|
30
|
-
parser (2.7.
|
30
|
+
parser (2.7.2.0)
|
31
31
|
ast (~> 2.4.1)
|
32
32
|
posxml_parser (2.26.0)
|
33
33
|
funky-emv (~> 1)
|
34
34
|
rainbow (3.0.0)
|
35
35
|
rake (13.0.1)
|
36
|
-
regexp_parser (1.
|
36
|
+
regexp_parser (1.8.2)
|
37
37
|
rexml (3.2.4)
|
38
|
-
rubocop (
|
38
|
+
rubocop (1.1.0)
|
39
39
|
parallel (~> 1.10)
|
40
|
-
parser (>= 2.7.1.
|
40
|
+
parser (>= 2.7.1.5)
|
41
41
|
rainbow (>= 2.2.2, < 4.0)
|
42
|
-
regexp_parser (>= 1.
|
42
|
+
regexp_parser (>= 1.8)
|
43
43
|
rexml
|
44
|
-
rubocop-ast (>= 0.
|
44
|
+
rubocop-ast (>= 1.0.1)
|
45
45
|
ruby-progressbar (~> 1.7)
|
46
46
|
unicode-display_width (>= 1.4.0, < 2.0)
|
47
|
-
rubocop-ast (
|
48
|
-
parser (>= 2.7.1.
|
47
|
+
rubocop-ast (1.1.0)
|
48
|
+
parser (>= 2.7.1.5)
|
49
49
|
ruby-progressbar (1.10.1)
|
50
50
|
unicode-display_width (1.7.0)
|
51
51
|
yard (0.9.25)
|
data/RELEASE_NOTES.md
CHANGED
@@ -1,5 +1,32 @@
|
|
1
1
|
# DaFunk
|
2
2
|
|
3
|
+
### 3.30.0 - 2020-11-16
|
4
|
+
|
5
|
+
- Replace GPRS icon to 3G;
|
6
|
+
- Added new method main_image_format on Device::Display;
|
7
|
+
- Use main_image_format method to get the image name instead adapter;
|
8
|
+
- Added new class DaFunk::Transaction::Reversal.
|
9
|
+
|
10
|
+
### 3.29.1 - 2020-11-04
|
11
|
+
|
12
|
+
- Fix battery charging status. When power supply is connected the SDK always returns 50% of battery, in this case it won't show the percentage until the SDK returns 100%.
|
13
|
+
|
14
|
+
### 3.29.0 - 2020-11-03
|
15
|
+
|
16
|
+
- Added support to Ruby SecureRandom;
|
17
|
+
- Update cloudwalk_handshake (1.21.3).
|
18
|
+
|
19
|
+
### 3.28.2 - 2020-10-07
|
20
|
+
|
21
|
+
- Added support of params.dat file restore if it was corrupted;
|
22
|
+
- Wait 3 seconds before restart after main update;
|
23
|
+
- Fixed method_missing exception;
|
24
|
+
|
25
|
+
### 3.28.1 - 2020-09-26
|
26
|
+
|
27
|
+
- Close socket in case of ssl exceptions;
|
28
|
+
- Do not assign nil to PaymentChannel#current and client on error because this is already being done on PaymentChannel#close.
|
29
|
+
|
3
30
|
### 3.28.0 - 2020-09-25
|
4
31
|
|
5
32
|
- Check if system update file is present after device restart in order to continue with system update process;
|
data/Rakefile
CHANGED
@@ -53,9 +53,11 @@ FILES = FileList[
|
|
53
53
|
"lib/da_funk/application.rb",
|
54
54
|
"lib/da_funk/transaction/iso.rb",
|
55
55
|
"lib/da_funk/transaction/download.rb",
|
56
|
+
"lib/da_funk/transaction/reversal.rb",
|
56
57
|
"lib/da_funk/notification_event.rb",
|
57
58
|
"lib/da_funk/notification_callback.rb",
|
58
59
|
"lib/da_funk/notification.rb",
|
60
|
+
"lib/da_funk/secure_random.rb",
|
59
61
|
|
60
62
|
"lib/device.rb",
|
61
63
|
"lib/device/audio.rb",
|
@@ -123,7 +123,7 @@ module DaFunk
|
|
123
123
|
self.signal = sig
|
124
124
|
|
125
125
|
if Device::Network.gprs?
|
126
|
-
Device::Display.print_status_bar(SLOT_MEDIA, "./shared/
|
126
|
+
Device::Display.print_status_bar(SLOT_MEDIA, "./shared/3G.png")
|
127
127
|
Device::Display.print_status_bar(SLOT_SIGNAL_LEVEL,
|
128
128
|
get_image_path(:gprs, self.signal))
|
129
129
|
elsif Device::Network.wifi?
|
@@ -146,8 +146,13 @@ module DaFunk
|
|
146
146
|
self.battery = bat
|
147
147
|
self.power = dock
|
148
148
|
|
149
|
-
|
150
|
-
|
149
|
+
if self.power && self.battery == 50
|
150
|
+
Device::Display.print_status_bar(SLOT_BATTERY_PERCENTUAL, nil)
|
151
|
+
else
|
152
|
+
percentual = get_image_path(:battery_percentual, self.battery)
|
153
|
+
Device::Display.print_status_bar(SLOT_BATTERY_PERCENTUAL, percentual)
|
154
|
+
end
|
155
|
+
|
151
156
|
if self.power
|
152
157
|
Device::Display.print_status_bar(
|
153
158
|
SLOT_BATTERY_LEVEL, get_image_path(:battery_charge, self.battery))
|
data/lib/da_funk/params_dat.rb
CHANGED
@@ -5,7 +5,7 @@ module DaFunk
|
|
5
5
|
include DaFunk::Helper
|
6
6
|
|
7
7
|
class << self
|
8
|
-
attr_accessor :file, :apps, :valid, :files
|
8
|
+
attr_accessor :file, :apps, :valid, :files, :checksum
|
9
9
|
end
|
10
10
|
|
11
11
|
self.apps = Array.new
|
@@ -20,9 +20,19 @@ module DaFunk
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.setup
|
23
|
+
@checksum = calculate_checksum
|
23
24
|
@file = FileDb.new(FILE_NAME)
|
24
25
|
end
|
25
26
|
|
27
|
+
def self.calculate_checksum
|
28
|
+
Device::Crypto.crc16_hex(File.read(FILE_NAME)) if exists?
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.corrupted?
|
32
|
+
return true unless exists?
|
33
|
+
@checksum != calculate_checksum
|
34
|
+
end
|
35
|
+
|
26
36
|
def self.exists?
|
27
37
|
File.exists?(FILE_NAME)
|
28
38
|
end
|
@@ -153,6 +163,7 @@ module DaFunk
|
|
153
163
|
Device::Display.clear
|
154
164
|
if File.exists?('./shared/init_reboot.bmp')
|
155
165
|
Device::Display.print_bitmap('./shared/init_reboot.bmp')
|
166
|
+
getc(3000)
|
156
167
|
else
|
157
168
|
I18n.pt(:admin_main_update_message)
|
158
169
|
3.times do |i|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module DaFunk
|
2
|
+
class SecureRandom
|
3
|
+
CHARS = [('a'..'z'), ('A'..'Z')].map(&:to_a).flatten
|
4
|
+
|
5
|
+
def self.random_bytes(n = nil)
|
6
|
+
n = n ? n.to_int : 16
|
7
|
+
(0...n).map { CHARS[rand(CHARS.length)] }.join
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.uuid
|
11
|
+
bytes = random_bytes.unpack('NnnnnN')
|
12
|
+
bytes[2] = (bytes[2] & 0x0fff) | 0x4000
|
13
|
+
bytes[3] = (bytes[3] & 0x3fff) | 0x8000
|
14
|
+
"%08x-%04x-%04x-%04x-%04x%08x" % bytes
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/da_funk/version.rb
CHANGED
data/lib/device/display.rb
CHANGED
@@ -71,13 +71,22 @@ class Device
|
|
71
71
|
end
|
72
72
|
|
73
73
|
def self.main_image
|
74
|
-
|
75
|
-
|
76
|
-
|
74
|
+
file = main_image_format
|
75
|
+
if File.exists?("./shared/#{file}")
|
76
|
+
file
|
77
77
|
else
|
78
78
|
MAIN_BMP
|
79
79
|
end
|
80
80
|
end
|
81
|
+
|
82
|
+
private
|
83
|
+
def self.main_image_format
|
84
|
+
if DaFunk::Transaction::Reversal.exists?
|
85
|
+
"main_#{Device::System.model}_reversal.bmp"
|
86
|
+
else
|
87
|
+
"main_#{Device::System.model}.bmp"
|
88
|
+
end
|
89
|
+
end
|
81
90
|
end
|
82
91
|
end
|
83
92
|
|
data/lib/device/setting.rb
CHANGED
@@ -152,16 +152,16 @@ class Device
|
|
152
152
|
|
153
153
|
# Custom Attributes
|
154
154
|
def self.tcp_recv_timeout
|
155
|
-
DaFunk::ParamsDat.file["tcp_recv_timeout"] ||
|
155
|
+
DaFunk::ParamsDat.file["tcp_recv_timeout"] || @file&.dig("tcp_recv_timeout")
|
156
156
|
end
|
157
157
|
|
158
158
|
def self.attach_gprs_timeout
|
159
|
-
value = (DaFunk::ParamsDat.file["attach_gprs_timeout"] ||
|
159
|
+
value = (DaFunk::ParamsDat.file["attach_gprs_timeout"] || @file&.dig("attach_gprs_timeout"))
|
160
160
|
value.to_s.empty? ? nil : value.to_s.to_i
|
161
161
|
end
|
162
162
|
|
163
163
|
def self.heartbeat
|
164
|
-
DaFunk::ParamsDat.file["heartbeat"] ||
|
164
|
+
DaFunk::ParamsDat.file["heartbeat"] || @file&.dig("heartbeat")
|
165
165
|
end
|
166
166
|
|
167
167
|
def self.logical_number
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class SecureRandomTest < DaFunk::Test.case
|
2
|
+
def setup
|
3
|
+
@uuid = DaFunk::SecureRandom.uuid
|
4
|
+
@random_bytes = DaFunk::SecureRandom.random_bytes
|
5
|
+
end
|
6
|
+
|
7
|
+
def test_uuid
|
8
|
+
assert_equal(36, @uuid.size)
|
9
|
+
|
10
|
+
# Check time_hi_and_version and clock_seq_hi_res bits (RFC 4122 4.4)
|
11
|
+
assert_equal('4', @uuid[14])
|
12
|
+
assert_include(%w'8 9 a b', @uuid[19])
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_random_bytes
|
16
|
+
assert_equal(16, @random_bytes.size)
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: da_funk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.30.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thiago Scalone
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -174,10 +174,12 @@ files:
|
|
174
174
|
- lib/da_funk/rake_task.rb
|
175
175
|
- lib/da_funk/screen.rb
|
176
176
|
- lib/da_funk/screen_flow.rb
|
177
|
+
- lib/da_funk/secure_random.rb
|
177
178
|
- lib/da_funk/struct.rb
|
178
179
|
- lib/da_funk/test.rb
|
179
180
|
- lib/da_funk/transaction/download.rb
|
180
181
|
- lib/da_funk/transaction/iso.rb
|
182
|
+
- lib/da_funk/transaction/reversal.rb
|
181
183
|
- lib/da_funk/version.rb
|
182
184
|
- lib/device.rb
|
183
185
|
- lib/device/audio.rb
|
@@ -220,6 +222,7 @@ files:
|
|
220
222
|
- test/resources/shared/bitmap_gp.dat
|
221
223
|
- test/test_helper.rb
|
222
224
|
- test/unit/da_funk/event_listener_test.rb
|
225
|
+
- test/unit/da_funk/secure_random.rb
|
223
226
|
- test/unit/da_funk/struct_test.rb
|
224
227
|
- test/unit/da_funk/support_test.rb
|
225
228
|
- test/unit/device/application_test.rb
|
@@ -269,6 +272,7 @@ test_files:
|
|
269
272
|
- test/resources/shared/bitmap_gp.dat
|
270
273
|
- test/test_helper.rb
|
271
274
|
- test/unit/da_funk/event_listener_test.rb
|
275
|
+
- test/unit/da_funk/secure_random.rb
|
272
276
|
- test/unit/da_funk/struct_test.rb
|
273
277
|
- test/unit/da_funk/support_test.rb
|
274
278
|
- test/unit/device/application_test.rb
|