fusioninventory / fusioninventory-for-glpi

FusionInventory plugin for GLPI
http://www.FusionInventory.org/
GNU Affero General Public License v3.0
361 stars 148 forks source link

Command-type action's input in deploypackage gets converted to HTML entities #1745

Open C-Duv opened 8 years ago

C-Duv commented 8 years ago

I have created a deploypackage with a file (chocofi.bat) the following command-type actions (because I'm trying to debug why my packages' files are not run: a whole other issue):

And it seems the > symbol was transformed into an HTML entities because the agent on the target computer logs (debug setting to 3) the following:

Full log:

[... 02:45:56 2016][debug] reading 6d66f42a290233d173d2c603e739916a05c9f07d0f5e6e4e8bec7d495e856f62d8648e7ace409e13726e31eae2d27b2f53799e6a33bb854554c72bab1d8f6265
[... 02:45:57 2016][debug2] 7z: 
[... 02:45:57 2016][debug2] 7z: 7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
[... 02:45:57 2016][debug2] 7z: 
[... 02:45:57 2016][debug2] 7z: Processing archive: C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1\chocofi.bat
[... 02:45:57 2016][debug2] 7z: 
[... 02:45:57 2016][debug2] 7z: Error: Can not open file as archive
[... 02:45:57 2016][debug2] 7z: 
[... 02:45:57 2016][debug2] https://glpi.example.com/plugins/fusioninventory/b/deploy/?action=setStatus&part=job&status=ok&currentStep=prepare&uuid=5691b602710a1&msg=success&machineid=target-computer-2016-01-10-01-49-23
[... 02:45:59 2016][debug] 
[... 02:45:59 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1>cd "C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1" 
[... 02:45:59 2016][debug] 
[... 02:45:59 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1>cmd /C "echo C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1 > C:\fi-run.log" 
[... 02:45:59 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1 
[... 02:45:59 2016][debug] 
[... 02:45:59 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1>exit 1 
[... 02:45:59 2016][debug] --------------------------------
[... 02:45:59 2016][debug] exit status: `1'
[... 02:45:59 2016][debug] ok, no check to evaluate.
[... 02:45:59 2016][debug] exitStatus: 1
[... 02:45:59 2016][debug2] https://glpi.example.com/plugins/fusioninventory/b/deploy/?action=setStatus&machineid=target-computer-2016-01-10-01-49-23&uuid=5691b602710a1&status=ok&currentStep=processing&msg=action%20%231%20processing%20success&actionnum=0&part=job
[... 02:46:03 2016][debug]  Le num‚ro de s‚rie du volume est E461-5EEB
[... 02:46:03 2016][debug] 
[... 02:46:03 2016][debug]  R‚pertoire de C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1
[... 02:46:03 2016][debug] 
[... 02:46:03 2016][debug] 10/01/2016  02:45    <DIR>          .
[... 02:46:03 2016][debug] 10/01/2016  02:45    <DIR>          ..
[... 02:46:03 2016][debug]                0 fichier(s)                0 octets
[... 02:46:03 2016][debug]                2 R‚p(s)  78ÿ083ÿ780ÿ608 octets libres
[... 02:46:03 2016][debug] 
[... 02:46:03 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1>exit 1 
[... 02:46:03 2016][debug] --------------------------------
[... 02:46:03 2016][debug] exit status: `1'
[... 02:46:03 2016][debug] ok, no check to evaluate.
[... 02:46:03 2016][debug] exitStatus: 1
[... 02:46:03 2016][debug2] https://glpi.example.com/plugins/fusioninventory/b/deploy/?action=setStatus&msg=action%20%232%20processing%20success&actionnum=1&part=job&machineid=target-computer-2016-01-10-01-49-23&uuid=5691b602710a1&status=ok&currentStep=processing
[... 02:46:08 2016][debug] 
[... 02:46:08 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1>cd "C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1" 
[... 02:46:08 2016][debug] 
[... 02:46:08 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1>cmd.exe /C chocofi.bat 
[... 02:46:08 2016][debug] 
[... 02:46:08 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\5691b602710a1>exit 1 
[... 02:46:08 2016][debug] --------------------------------
[... 02:46:08 2016][debug] exit status: `1'
[... 02:46:08 2016][debug] ok, no check to evaluate.
[... 02:46:08 2016][debug] exitStatus: 1
[... 02:46:08 2016][debug2] https://glpi.example.com/plugins/fusioninventory/b/deploy/?action=setStatus&msg=action%20%233%20processing%20success&actionnum=2&part=job&machineid=target-computer-2016-01-10-01-49-23&status=ok&currentStep=processing&uuid=5691b602710a1
[... 02:46:08 2016][debug2] https://glpi.example.com/plugins/fusioninventory/b/deploy/?action=setStatus&status=ok&uuid=5691b602710a1&part=job&machineid=target-computer-2016-01-10-01-49-23&msg=job%20successfully%20completed

I am running:

ddurieux commented 8 years ago

have you try with reverse-slash \>

C-Duv commented 8 years ago

I tried with package command cmd /C "dir \>\> C:\fi-run.log": same issue.

When running agent (from CLI) with fusioninventory-agent.bat --debug, I get:

'gt' n'est pas reconnu en tant que commande interne ou externe, un programme ex�cutable ou un fichier de commandes. 'gt' n'est pas reconnu en tant que commande interne ou externe, un programme ex�cutable ou un fichier de commandes.

Client logs (fusioninventory-agent.log) shows:

[... 12:36:57 2016][info] running task Deploy
[... 12:36:57 2016][debug] Free space on C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy: 27367
[... 12:36:58 2016][debug] 22/03/2016  12:21             1\FF222 ProduKey-machine.xml

[... 12:36:58 2016][debug] 07/03/2016  19:40    <REP>          Program Files

[... 12:36:58 2016][debug] 22/03/2016  08:59    <REP>          Program Files (x86)

[... 12:36:58 2016][debug] 07/03/2016  19:06    <REP>          Users

[... 12:36:58 2016][debug] 16/03/2016  15:14    <REP>          Windows

[... 12:36:58 2016][debug] 08/12/2015  18:18    <REP>          Xerox

[... 12:36:58 2016][debug]                3 fichier(s)           25\FF493 octets

[... 12:36:58 2016][debug]               10 R\82p(s)  27\FF367\FF034\FF880 octets libres

[... 12:36:58 2016][debug] 

[... 12:36:58 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\56f12ae3754f7>exit 1 

[... 12:36:58 2016][debug] --------------------------------
[... 12:36:58 2016][debug] exit status: `1'
[... 12:36:58 2016][debug] ok, no check to evaluate.
[... 12:36:58 2016][debug] exitStatus: 1
C-Duv commented 8 years ago

I also tried to escape the \ (with a double \): cmd /C "dir \\>\\> C:\fi-run.log": same issue.

When running agent (from CLI) with fusioninventory-agent.bat --debug, I get:

La syntaxe du nom de fichier, de r�pertoire ou de volume est incorrecte. 'gt' n'est pas reconnu en tant que commande interne ou externe, un programme ex�cutable ou un fichier de commandes. 'gt' n'est pas reconnu en tant que commande interne ou externe, un programme ex�cutable ou un fichier de commandes.

Client logs (fusioninventory-agent.log) shows:

[... 12:47:38 2016][info] running task Deploy
[... 12:47:39 2016][debug] Free space on C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy: 27366
[... 12:47:41 2016][debug] 

[... 12:47:41 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\56f12ea48f2f7>cd "C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\56f12ea48f2f7" 

[... 12:47:41 2016][debug] 

[... 12:47:41 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\56f12ea48f2f7>cmd /C "dir \\&gt;\\&gt; C:\fi-run.log" 

[... 12:47:41 2016][debug] 

[... 12:47:41 2016][debug] C:\Program Files\FusionInventory-Agent\var\https..__glpi.example.com_plugins_fusioninventory_\deploy\workdir\56f12ea48f2f7>exit 1 

[... 12:47:41 2016][debug] --------------------------------
[... 12:47:41 2016][debug] exit status: `1'
[... 12:47:41 2016][debug] ok, no check to evaluate.
[... 12:47:41 2016][debug] exitStatus: 1
wawax commented 7 years ago

could you try with GLPI 9.2 and the master version of the plugin ?

C-Duv commented 7 years ago

Sure: but is GLPI v9.2 really out?

wawax commented 7 years ago

in a few weeks