… | |
… | |
5 | # TODO: same face, different hashes, face needs new number |
5 | # TODO: same face, different hashes, face needs new number |
6 | |
6 | |
7 | cf::register_exticmd ota_update => sub { |
7 | cf::register_exticmd ota_update => sub { |
8 | my ($ns, $urlader, $exe_id, $exe_ver) = @_; |
8 | my ($ns, $urlader, $exe_id, $exe_ver) = @_; |
9 | |
9 | |
10 | my ($face, $ver, $size, $changes); |
10 | my ($face, $ver, $size, $md5, $changes); |
11 | |
11 | |
12 | if ($face = cf::face::find "res/ota_update/$urlader,$exe_id.pck") { |
12 | if ($face = cf::face::find "res/ota_update/$urlader,$exe_id.pck") { |
13 | my $meta = cf::face::get_meta $face; |
13 | my $meta = cf::face::get_meta $face; |
14 | |
14 | |
15 | if ($meta->{exe_ver} gt $exe_ver) { |
15 | if ($meta->{exe_ver} gt $exe_ver) { |
16 | $size = cf::face::get_data_size $face; |
16 | $size = cf::face::get_data_size $face; |
17 | $ver = $meta->{exe_ver}; |
17 | $ver = $meta->{exe_ver}; |
|
|
18 | $md5 = $meta->{md5}; |
18 | if (my $changes_face = cf::face::find "res/ota_update/Changes") { |
19 | if (my $changes_face = cf::face::find "res/ota_update/Changes") { |
19 | $changes = cf::face::get_data $changes_face; |
20 | $changes = cf::face::get_data $changes_face; |
20 | $changes =~ s/^\($exe_ver\).*$//sm; |
21 | $changes =~ s/^\($exe_ver\).*$//sm; |
21 | } |
22 | } |
22 | } |
23 | } |
23 | } |
24 | } |
24 | |
25 | |
25 | cf::info "ota update request for <$urlader, $exe_id, $exe_ver> replying <$face,$ver,$size,*>"; |
26 | cf::info "ota update request for <$urlader, $exe_id, $exe_ver> replying <$face,$ver,$size,*>"; |
26 | |
27 | |
27 | (1, $face, $ver, $size, $changes) |
28 | (1, $face, $ver, $size, $md5, $changes) |
28 | }; |
29 | }; |
29 | |
30 | |