Invalid security token
-
It depends on correct time. Is the client’s time being managed by an NTP server? Pay attention to the date and time on the next one that has this problem.
Also, what is rc11 version 54? Are you still on a working branch? rc11 is out, you should switch to it. Message me or @Tom-Elliott for instructions on how to do that.
-
@Wayne-Workman client time does does not affect this. This is a server issue.
-
I switched to RC11 on monday morning. Date and time is synced correctly.
On tuesday I re-run the installer (FOG Client Auto Updating Hotfix).I reset the encryption data on 37 computers around 8:30. Some of them get invalid token at around 8:50 others at 9:09 and some of them didn’t even reset the encryption data or are still working fine after reset (didn’t check all of them).
On server side, where should I check for errors?
-
I can only think of one reason the hosts are getting IST when they seem fine initially. I believe this may be due to the PingHosts Service due to how it was originally coded. This would prove quite troublesome particularly on layouts with many hosts in their environment.
Essentially, the way FOGPingHosts works, is it iterates through each host in the server. To do this, it first has to get each host in the server.
The way I handled this was simply by calling the individual objects directly. The problem with this approach is it’s possible to have the Host in one state, but altered after the fact. The host object called would then be in whatever state it was, not whatever state it currently is. (Hopefully that makes sense.)
I’ve refactored how the ping status will be updated. It uses a total of three queries now, instead of a single query, but I am no longer saving the whole of the object. I’m simply going to update the relevant field. This should help in performance back and forth to the DB and Memory as we’re only using data necessary to perform the update. It should also ensure only the relevant item to update is changed, rather than require the whole of the item to be reinserted/changed.
@mp12 if you’d like to test around with the new bit, please changeover to the working-RC-12 branch. I only ask this as I don’t want only one file to be adjusted and due to the “timing” of such events I think it’d be a good idea to start simply at what will be in the code for RC-12.
-
I switched to RC12 now.
I also recognized that I set
PINGHOSTSLEEPTIME
to 60. Set it back to 300 seconds.Will report back asap.
-
For now the IST did not reappear.
But it seems that the
FOGPingHosts
service isn’t working properly.
The last entry in thepinghost.log
is before I upgraded to RC12.root 10085 1 0 15:50 ? 00:00:00 /usr/bin/php -q /opt/fog/service/FOGPingHosts/FOGPingHosts root 10088 10085 0 15:50 ? 00:00:00 [FOGPingHosts] <defunct>
-
@mp12 I forget what os you’re running. I suspect there could be an error in code only because I can’t test before I push while I’m at work.
Anything in the apache error logs?
Anything if you try:
systemctl status -l FOGPingHosts.service
-
I found the typo, and this typo is now corrected for too.
-
Running Ubuntu 14.04
Here the apache error.log after upgrading to Version 28 this morning.
[Fri Sep 30 08:31:18.468858 2016] [:error] [pid 29186] [client x.x.x.x:58533] PHP Warning: PDO::query(): Error reading result set's header in /var/www/fog/lib/db/pdodb.class.php on line 195, referer: http://x.x.x.x/fog/management/index.php?node=home [Fri Sep 30 08:31:18.478751 2016] [:error] [pid 29212] [client x.x.x.x:58982] PHP Warning: PDO::query(): MySQL server has gone away in /var/www/fog/lib/db/pdodb.class.php on line 195, referer: http://x.x.x.x/fog/management/index.php?node=home [Fri Sep 30 08:31:18.478768 2016] [:error] [pid 29212] [client x.x.x.x:58982] PHP Warning: PDO::query(): Error reading result set's header in /var/www/fog/lib/db/pdodb.class.php on line 195, referer: http://x.x.x.x/fog/management/index.php?node=home [Fri Sep 30 08:31:24.923284 2016] [:error] [pid 29211] [client x.x.x.x:59015] PHP Warning: PDO::__construct(): MySQL server has gone away in /var/www/fog/lib/db/pdodb.class.php on line 151, referer: http://x.x.x.x/fog/management/index.php?node=service&sub=edit [Fri Sep 30 08:31:27.014932 2016] [mpm_prefork:notice] [pid 1401] AH00169: caught SIGTERM, shutting down [Fri Sep 30 08:31:49.639445 2016] [mpm_prefork:notice] [pid 15677] AH00163: Apache/2.4.18 (Ubuntu) OpenSSL/1.0.2j configured -- resuming normal operations [Fri Sep 30 08:31:49.639485 2016] [core:notice] [pid 15677] AH00094: Command line: '/usr/sbin/apache2'
Okay
FOGPingHosts
seems to work fine.The IST error is gone.
Here is what I get from the logs now (host with a fresh “reset encryption data”)
30.09.2016 10:23 Main Overriding exception handling 30.09.2016 10:23 Main Bootstrapping Zazzles 30.09.2016 10:23 Controller Initialize 30.09.2016 10:23 Zazzles Creating main thread 30.09.2016 10:23 Zazzles Service construction complete 30.09.2016 10:23 Controller Start 30.09.2016 10:23 Service Starting service 30.09.2016 10:23 Bus Became bus server 30.09.2016 10:23 Bus { "self": true, "channel": "Status", "data": "{\r\n \"action\": \"load\"\r\n}" } 30.09.2016 10:23 Bus Emmiting message on channel: Status 30.09.2016 10:23 Service Invoking early JIT compilation on needed binaries ------------------------------------------------------------------------------ --------------------------------Authentication-------------------------------- ------------------------------------------------------------------------------ 30.09.2016 10:23 Client-Info Version: 0.11.5 30.09.2016 10:23 Client-Info OS: Windows 30.09.2016 10:23 Middleware::Authentication Waiting for authentication timeout to pass 30.09.2016 10:23 Middleware::Communication Download: http://x.x.x.x/fog/management/other/ssl/srvpublic.crt 30.09.2016 10:23 Data::RSA FOG Server CA cert found 30.09.2016 10:23 Middleware::Authentication Cert OK 30.09.2016 10:23 Middleware::Communication POST URL: http://x.x.x.x/fog/management/index.php?sub=requestClientInfo&authorize&newService 30.09.2016 10:23 Middleware::Response Success 30.09.2016 10:23 Middleware::Authentication Authenticated 30.09.2016 10:23 Bus Registering ParseBus in channel Power 30.09.2016 10:23 Middleware::Communication URL: http://x.x.x.x/fog/management/index.php?sub=requestClientInfo&mac=B8:CA:3A:96:59:0C|02:00:4C:4F:4F:50|00:50:56:C0:00:01|00:50:56:C0:00:08||00:00:00:00:00:00:00:E0|00:00:00:00:00:00:00:E0|00:00:00:00:00:00:00:E0|00:00:00:00:00:00:00:E0|00:00:00:00:00:00:00:E0|00:00:00:00:00:00:00:E0&newService&json 30.09.2016 10:23 Middleware::Communication ERROR: No response recieved 30.09.2016 10:23 Middleware::Response Success 30.09.2016 10:23 Middleware::Communication URL: http://x.x.x.x/fog/service/getversion.php?clientver&newService&json 30.09.2016 10:23 Middleware::Communication URL: http://x.x.x.x/fog/service/getversion.php?newService&json 30.09.2016 10:23 Service Creating user agent cache 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. 30.09.2016 10:23 Service Initializing modules ------------------------------------------------------------------------------ ---------------------------------ClientUpdater-------------------------------- ------------------------------------------------------------------------------ 30.09.2016 10:23 Client-Info Client Version: 0.11.5 30.09.2016 10:23 Client-Info Client OS: Windows 30.09.2016 10:23 Client-Info Server Version: 28 30.09.2016 10:23 Middleware::Response Success ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ----------------------------------TaskReboot---------------------------------- ------------------------------------------------------------------------------ 30.09.2016 10:23 Client-Info Client Version: 0.11.5 30.09.2016 10:23 Client-Info Client OS: Windows 30.09.2016 10:23 Client-Info Server Version: 28 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. ------------------------------------------------------------------------------ --------------------------------HostnameChanger------------------------------- ------------------------------------------------------------------------------ 30.09.2016 10:23 Client-Info Client Version: 0.11.5 30.09.2016 10:23 Client-Info Client OS: Windows 30.09.2016 10:23 Client-Info Server Version: 28 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. ------------------------------------------------------------------------------ ---------------------------------SnapinClient--------------------------------- ------------------------------------------------------------------------------ 30.09.2016 10:23 Client-Info Client Version: 0.11.5 30.09.2016 10:23 Client-Info Client OS: Windows 30.09.2016 10:23 Client-Info Server Version: 28 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. ------------------------------------------------------------------------------ --------------------------------PrinterManager-------------------------------- ------------------------------------------------------------------------------ 30.09.2016 10:23 Client-Info Client Version: 0.11.5 30.09.2016 10:23 Client-Info Client OS: Windows 30.09.2016 10:23 Client-Info Server Version: 28 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. ------------------------------------------------------------------------------ --------------------------------PowerManagement------------------------------- ------------------------------------------------------------------------------ 30.09.2016 10:23 Client-Info Client Version: 0.11.5 30.09.2016 10:23 Client-Info Client OS: Windows 30.09.2016 10:23 Client-Info Server Version: 28 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. ------------------------------------------------------------------------------ ----------------------------------UserTracker--------------------------------- ------------------------------------------------------------------------------ 30.09.2016 10:23 Client-Info Client Version: 0.11.5 30.09.2016 10:23 Client-Info Client OS: Windows 30.09.2016 10:23 Client-Info Server Version: 28 30.09.2016 10:23 Middleware::Response ERROR: Unable to get subsection 30.09.2016 10:23 Middleware::Response ERROR: Object reference not set to an instance of an object. 30.09.2016 10:23 Middleware::Communication URL: http://x.x.x.x/fog/management/index.php?sub=requestClientInfo&configure&newService&json 30.09.2016 10:23 Middleware::Response Success 30.09.2016 10:23 Service Sleeping for 87 seconds
Thanks for the great support!
-
@mp12 Found the issues with it not returning the data. I switched back to foreach looping over array_walk/array_map, but forgot to switch the skip portions to their relevant areas.
array_walk($someArrayHere, function(&$arrayItemValue, &$arrayItemKey) { if (!$arrayItemValue) { return; } });
Needs to be, in foreach loop:
foreach ($someArrayHere as $arrayItemKey => &$arrayItemValue) { if (!$arrayItemValue) { continue; } }
I forgot to switch the “return” to “continue” originally, so it was returning the function to what called it, not simply skipping to the start of the loop again.
-
I update to version RC-12 (42) this morning. Problem solved!
Thanks a lot!