Hopefully I’m on the right track and not way off base doing completely unneeded things, but I’m having trouble with the Client Updater and here’s what I’ve encountered so far.
After uploading a module through the web interface, I’m able to query [SIZE=3][url]http://fogserver/fog/service/updates.php?action=list[/url][/SIZE] and return the base64-encoded name of the module, in this case R3JlZW5Gb2cuZGxs (GreenFog.dll).
On the client computers, the FOG program then passes this encoded name back to the server for the md5, so if I make another query using this to [url]http://fogserver/fog/service/updates.php?action=ask&file=R3JlZW5Gb2cuZGxs[/url], it returns nothing.
Looking at updates.php, it doesn’t decode the filename before checking the database. So if I add that to line 9 like this (and on line 14 for the action=get request):
[CODE]foreach($FOGCore->getClass(‘ClientUpdaterManager’)->find(array(‘name’ => base64_decode($_REQUEST[‘file’]))) AS $ClientUpdate)[/CODE]
I’m able to retrieve the md5 successfully.
However, I don’t think the file is being uploaded correctly in the first place. In my database in the row for the update file, ‘cuFile’ is ‘phpFuqebn’, what I’m guessing is the temporary file upload name? Is that where the file data is supposed to be? Because if I query [url]http://fogserver/fog/service/updates.php?action=get&file=R3JlZW5Gb2cuZGxs[/url], it comes back as a 6 byte base64_decoded file (per line 20 in updates.php). If I encode it back, I get ‘phpFuqebn’, as expected.