Statusmap.cgi resizing broken in 2.0rc2 / Fedora Core 4?


#1

I just installed 2.0rc2 on Fedora Core 4, and the statusmap.cgi image size seems to be fixing itself at 498x595. The image does not resize liek it used to in previous verions. I enabled DEBUG and recompiled and matter how I resize the browser and click on the image I get Raw Image Size: 498 x 595 pixels | Scaling Factor: 1.00 | Scaled Image Size: 498 x 595 pixels ] Canvas_x: 0 | Canvas_y: 0 | Canvas_width: 498 | Canvas_height: 595 ] at the top. Behaves the same with mozilla and IE browsers.

When I try to specify the canvas size in the GET: droidekas/nagios/cgi-bin/statusm … eight=1000

I get a weird log in apache:
10.10.12.95 - wsanders [16/Jan/2006:19:38:31 -0800] “GET /nagios/cgi-bin/statusmap.cgi?host=all%3Fcanvas_width%3D1000&createimage&canvas_x=0&canvas_y=0&canvas_width=498&canvas_height=595&max_width=0&max_height=0&layout=5&layermode=exclude HTTP/1.1” 200 48223 “http://droidekas/nagios/cgi-bin/statusmap.cgi?host=all%3Fcanvas_width=1000&canvas_height=1000” “Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.5) Gecko/20041109 Firefox/1.0”

Note the canvas width and height are somehow cached in the GET the httpd server actually receives.

I’m not enough of an http expert to know right away why this is happening. Any ideas? Thanks in advance . . .


#2

I should update is that this seems to be an issue with the way statusmap.cgi lays out the items in the image. I’ve managed to fix the canva size at 1280x1024. (Debug variables are Raw Image Size: 1280 x 1024 pixels | Scaling Factor: 1.00 | Scaled Image Size: 1280 x 1024 pixels ]

Canvas_x: 0 | Canvas_y: 0 | Canvas_width: 1280 | Canvas_height: 1024 | max_image_width: 0 | max_image_height: 0])

IIRC, the items used to be “spread out” to take up all the available space in the browser. Even with the canvas size fixed at 1280x1024, the entire map is drawn into an approx. 500x500 pixel area in the upper left of the canvas.

I’ll keep looking at this. Status maps are important when it comes to impressing management…


#3

I can fudge around this by changing some #defines in statusmap.c:

#define COORDS_WARNING_WIDTH 1280
#define COORDS_WARNING_HEIGHT 1024
#define CIRCULAR_DRAWING_RADIUS 300
[etc]

That’s good enough for me - onward and upward to V3!