ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/ota_update.ext
Revision: 1.5
Committed: Sun Nov 11 04:29:11 2012 UTC (11 years, 6 months ago) by root
Branch: MAIN
Changes since 1.4: +1 -1 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #! perl # mandatory
2
3 # over-the-air update
4
5 # TODO: same face, different hashes, face needs new number
6
7 cf::register_async_exticmd ota_update => sub {
8 my ($ns, $reply, $urlader, $exe_id, $exe_ver) = @_;
9
10 Coro::async_pool {
11 my ($face, $ver, $size, $md5, $changes);
12
13 if ($face = cf::face::find "res/ota_update/$urlader,$exe_id.pck") {
14 my $meta = cf::face::get_meta $face;
15
16 if ($meta->{exe_ver} gt $exe_ver) {
17 $size = cf::face::get_size $face;
18 $ver = $meta->{exe_ver};
19 $md5 = $meta->{md5};
20 if (my $changes_face = cf::face::find "res/ota_update/Changes") {
21 $changes = cf::face::get_data $changes_face;
22 $changes =~ s/^\(\Q$exe_ver\E\).*$//sm;
23 }
24 }
25 }
26
27 cf::info "ota update request for <$urlader, $exe_id, $exe_ver> replying <$face,$ver,$size,*>";
28
29 $reply->(1, $face, $ver, $size, $md5, $changes);
30 };
31 };
32