added config check
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
version=`head -n 1 VERSION`
|
version=`head -n 1 ../../VERSION`
|
||||||
revision=`git describe --always`
|
revision=`git describe --always`
|
||||||
echo "ebusd=${version}.${revision}" > versions.txt
|
echo "ebusd=${version},${revision}" > versions.txt
|
||||||
#TODO add calculation for config files
|
files=`find config/ -type f -or -type l`
|
||||||
|
../../src/lib/ebus/test/test_filereader $files|sed -e 's#^config/##' -e 's#^\([^ ]*\) #\1=#' -e 's# #,#g'|sort >> versions.txt
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
$agent = $_SERVER['HTTP_USER_AGENT'];
|
$agent = $_SERVER['HTTP_USER_AGENT'];
|
||||||
if (substr($agent, 0, 5)==='ebusd') {
|
if (substr($agent, 0, 5)==='ebusd') {
|
||||||
$t = time();
|
|
||||||
$a = $_SERVER["REMOTE_ADDR"];
|
|
||||||
$r = @file_get_contents('php://input');
|
$r = @file_get_contents('php://input');
|
||||||
$v = @file_get_contents('versions.txt');
|
$v = @file_get_contents('versions.txt');
|
||||||
$versions = array();
|
$versions = array();
|
||||||
@@ -20,17 +18,37 @@ if (substr($agent, 0, 5)==='ebusd') {
|
|||||||
header('Content-Type: text/plain');
|
header('Content-Type: text/plain');
|
||||||
$ret = 'unknown';
|
$ret = 'unknown';
|
||||||
$r = @json_decode($r, true);
|
$r = @json_decode($r, true);
|
||||||
if (!$r || !isset($r['v'])) {
|
if (!$r || !isset($r['v']) || !isset($r['r'])) {
|
||||||
$ret = 'invalid request';
|
$ret = 'invalid request';
|
||||||
} else {
|
} else {
|
||||||
if (isset($versions['ebusd'])) {
|
if (isset($versions['ebusd'])) {
|
||||||
if ($r['v']==$versions['ebusd'][0]) {
|
if ($r['v']==$versions['ebusd'][0] && $r['r']==$versions['ebusd'][1]) {
|
||||||
$ret = 'OK';
|
$ret = 'OK';
|
||||||
|
} else if ($r['v']==$versions['ebusd'][0]) {
|
||||||
|
$ret = 'revision '.$versions['ebusd'][1].' available';
|
||||||
} else {
|
} else {
|
||||||
$ret = 'ebusd '.$versions['ebusd'][0].' available';
|
$ret = 'version '.$versions['ebusd'][0].' available';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// TODO add check for config files
|
$configs = '';
|
||||||
|
$neweravail = 0;
|
||||||
|
$func = function($val, $k) {
|
||||||
|
global $versions, $configs, $neweravail;
|
||||||
|
$v = $versions[$k];
|
||||||
|
if ($v) {
|
||||||
|
$newer = $v[2]>$val['t'];
|
||||||
|
if ($newer || $v[0]!=$val['h'] || $v[1]!=$val['s']) {
|
||||||
|
if ($newer) $neweravail++;
|
||||||
|
$configs .= ', '.$k.': '.($newer?'newer':'different').' version available';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
array_walk($r['l'], $func);
|
||||||
|
if (strlen($configs)>100) {
|
||||||
|
$ret .= ($neweravail?$neweravail.', newer ':', different').' configuration files available';
|
||||||
|
} else {
|
||||||
|
$ret .= $configs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
echo $ret;
|
echo $ret;
|
||||||
exit;
|
exit;
|
||||||
|
|||||||
Reference in New Issue
Block a user