Module: check_mk
Branch: master
Commit: 0345de6682547f2065dc9e136ecbab4003f0516c
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=0345de6682547f…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Wed May 4 13:06:53 2011 +0200
Updated bug entries
---
.bugs/264 | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 88 insertions(+), 0 deletions(-)
diff --git a/.bugs/264 b/.bugs/264
new file mode 100644
index 0000000..d2d0ee3
--- /dev/null
+++ b/.bugs/264
@@ -0,0 +1,88 @@
+Title: Windows agent: handle quotes in directory names
+Component: checks
+Benefit: 2
+State: open
+Cost: 2
+Date: 2011-05-04 13:05:20
+Class: bug
+
+The Windows agent has Problems in W2008 64 Bit since there
+are appearing nasty quotes in the directory names. Here is
+a partial solution:
+
+ //
+ // Author: Bernd Murr
+ //
+ // Change for Windows Update. If there are hyphens at the Beginning of Pathvariables
+ // remove those. Hyphens are needed when microsoft updates change the behaviour of
+ // Windows Services. These Change can not start the service anymore if the path
+ // to the service contains spaces. One has to change the Registry values and put a
+ // path around the service definition. These Hyphens have to be removed right here.
+ //
+ // Date: 27.04.2011
+ //
+
+ char l_current_directory[256];
+ char l_agent_directory[256];
+ char l_plugins_dir[256];
+ char l_local_dir[256];
+
+ //Modify Current_directory
+ if ( g_current_directory[0] == '"' )
+ {
+ strcpy(l_current_directory, (g_current_directory+1));
+ strcpy(g_current_directory, l_current_directory);
+ }
+ if ( g_agent_directory[0] == '"' )
+ {
+ strcpy(l_agent_directory, (g_agent_directory+1));
+ strcpy(g_agent_directory, l_agent_directory);
+ }
+ if ( g_plugins_dir[0] == '"' )
+ {
+ strcpy(l_plugins_dir, (g_plugins_dir+1));
+ strcpy(g_plugins_dir, l_plugins_dir);
+ }
+ if ( g_local_dir[0] == '"' )
+ {
+ strcpy(l_local_dir, (g_local_dir+1));
+ strcpy(g_local_dir, l_local_dir);
+ }
+
+ //Modify
+ //
+ // End of Change for Windows 7
+ //
+
+
+Here an Email from Thomas Klopp:
+
+ch hab nach einem aktuellen Windows Update ein Problem mit dem Check_mk_agent.exe unter
Windows gehabt.
+
+
+
+Das Problem ist, daß bei einigen Systemen (64 Bit english Windows 2k3 ) die Services
nicht mehr gestartet werden können, wenn Check_mk_agent in einem Verzeichniss mit
Leerzeichen installiert worden ist. Es kommt neuerdings ein Fehler, daß der installierter
Service keine gültige 32 Bit Anwendung ist.
+
+
+
+Der offizielle Workarround von Microsoft ist, den Service in Anführungszeichen zu
setzten, was mit dem aktuellen Agent zur Folge hat, daß die Plugins nicht mehr ausgeführt
werden. Du verwendest im Aktuellen Client den Pfad der check_mk_agent aus der Services und
setzt diese für Plugins etc um.
+
+
+
+Somit hat dann jeder Pfad ein Anführungszeichen am Anfang, allerdings keines am Ende.
+
+
+
+Ich hab heute einen unserer Programmierer darauf angesetzt, da ich selbst in C++ nicht so
firm bin.
+
+
+
+Er hat die angehängte Änderung durchgeführt, welche einfach Prüft, ob die Verzeichnisse
am Anfang ein Anführungszeichen haben und diese ignorieren. Das war die einfachste lösung.
Was jetzt jedoch ein Problem war und ist, ist das Compilieren der Exe. Die unter Linux
compilierte exe hat einen fehler in der Systemzeit und die unter windows Compilierte
stellt uns vor dll – Probleme… J
+
+
+
+Was wir nicht mehr machen konnten ist im Service Installationsbereich die
Anführungszeichen einzufügen. (Das Compilieren hat alle Zeit aufgebraucht, die ich beim
Programmierer abzwacken konnte…
+
+
+
+Ein Feature Request wäre die Übernahme der Änderungen in den nächsten Innovations build
und die Anführungszeichen automatisch beim Installieren des Services.