]> git.pld-linux.org Git - packages/nagios.git/blob - nagios-cgi-http_charset.patch
- google map in statusmap support; rel 7
[packages/nagios.git] / nagios-cgi-http_charset.patch
1 --- nagios-3.0.3/cgi/avail.c    2008-06-23 23:47:42.000000000 +0300
2 +++ nagios-3.0.3-cgi/cgi/avail.c        2008-10-11 12:34:44.496658785 +0300
3 @@ -37,6 +37,8 @@
4  extern char url_images_path[MAX_FILENAME_LENGTH];
5  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
6  
7 +extern char *http_charset;
8 +
9  extern host      *host_list;
10  extern hostgroup *hostgroup_list;
11  extern servicegroup *servicegroup_list;
12 @@ -1079,9 +1081,9 @@
13         printf("Expires: %s\r\n",date_time);
14  
15         if(output_format==HTML_OUTPUT)
16 -               printf("Content-type: text/html\r\n\r\n");
17 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
18         else{
19 -               printf("Content-type: text/plain\r\n\r\n");
20 +               printf("Content-type: text/plain; charset=\"%s\"\r\n\r\n", http_charset);
21                 return;
22                 }
23  
24 --- nagios-3.2.0/cgi/cgiutils.c 2009-09-11 16:14:43.130251761 +0300
25 +++ nagios-3.2.0/cgi/cgiutils.c 2009-09-15 14:46:13.332409409 +0300
26 @@ -55,6 +55,7 @@
27  char            *statuswrl_include=NULL;
28  
29  char            *illegal_output_chars=NULL;
30 +char            *http_charset=NULL;
31  
32  char            *notes_url_target=NULL;
33  char            *action_url_target=NULL;
34 @@ -188,6 +189,9 @@
35         host_unreachable_sound=NULL;
36         normal_sound=NULL;
37  
38 +       my_free(http_charset);
39 +       http_charset = strdup(DEFAULT_HTTP_CHARSET);
40 +
41         statusmap_background_image=NULL;
42         statuswrl_include=NULL;
43  
44 @@ -391,6 +395,9 @@
45                 else if(!strcmp(var,"illegal_macro_output_chars"))
46                         illegal_output_chars=strdup(val);
47  
48 +               else if(!strcmp(var,"http_charset"))
49 +                       http_charset=strdup(val);
50 +
51                 else if(!strcmp(var,"notes_url_target"))
52                         notes_url_target=strdup(val);
53  
54 @@ -1478,6 +1485,9 @@
55                                 }
56                         }
57  
58 +               /* high bit chars don't get encoded, so we won't be breaking utf8 characters */
59 +               else if ((unsigned char)input[x] >= 0x7f)
60 +                       encoded_html_string[y++]=input[x];
61                 /* for simplicity, all other chars represented by their numeric value */
62                 else{
63                         if(escape_html_tags==FALSE)
64 @@ -1553,6 +1563,9 @@
65                 else if(((char)input[x]==(char)' ') || ((char)input[x]==(char)'-') || ((char)input[x]==(char)'.') || ((char)input[x]==(char)'_') || ((char)input[x]==(char)':'))
66                         encoded_html_string[y++]=input[x];
67  
68 +               /* high bit chars don't get encoded, so we won't be breaking utf8 characters */
69 +               else if ((unsigned char)input[x] >= 0x7f)
70 +                       encoded_html_string[y++]=input[x];
71                 /* for simplicity, all other chars represented by their numeric value */
72                 else{
73                         encoded_html_string[y]='\x0';
74 --- nagios-3.0.3/cgi/cmd.c      2008-05-19 21:42:26.000000000 +0300
75 +++ nagios-3.0.3-cgi/cgi/cmd.c  2008-10-11 12:34:44.496658785 +0300
76 @@ -39,6 +39,8 @@
77  
78  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
79  
80 +extern char *http_charset;
81 +
82  extern int  nagios_process_state;
83  
84  extern int  check_external_commands;
85 @@ -235,7 +237,7 @@
86  
87         if(content_type==WML_CONTENT){
88  
89 -               printf("Content-type: text/vnd.wap.wml\r\n\r\n");
90 +               printf("Content-type: text/vnd.wap.wml; charset=\"%s\"\r\n\r\n", http_charset);
91  
92                 printf("<?xml version=\"1.0\"?>\n");
93                 printf("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n");
94 @@ -247,7 +249,7 @@
95  
96         else{
97  
98 -               printf("Content-type: text/html\r\n\r\n");
99 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
100  
101                 printf("<html>\n");
102                 printf("<head>\n");
103 --- nagios-3.0.3/cgi/config.c   2008-04-13 21:34:27.000000000 +0300
104 +++ nagios-3.0.3-cgi/cgi/config.c       2008-10-11 12:34:44.496658785 +0300
105 @@ -37,6 +37,8 @@
106  extern char   url_logo_images_path[MAX_FILENAME_LENGTH];
107  extern char   url_stylesheets_path[MAX_FILENAME_LENGTH];
108  
109 +extern char *http_charset;
110 +
111  extern host *host_list;
112  extern service *service_list;
113  extern hostgroup *hostgroup_list;
114 @@ -293,7 +295,7 @@
115         printf("Pragma: no-cache\r\n");
116         printf("Last-Modified: %s\r\n",date_time);
117         printf("Expires: %s\r\n",date_time);
118 -       printf("Content-type: text/html\r\n\r\n");
119 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
120  
121         printf("<html>\n");
122         printf("<head>\n");
123 --- nagios-3.0.3/cgi/extinfo.c  2008-01-24 04:51:30.000000000 +0200
124 +++ nagios-3.0.3-cgi/cgi/extinfo.c      2008-10-11 12:34:44.500659016 +0300
125 @@ -38,6 +38,8 @@
126  extern int              nagios_process_state;
127  extern int              refresh_rate;
128  
129 +extern char *http_charset;
130 +
131  extern time_t          program_start;
132  extern int              nagios_pid;
133  extern int              daemon_mode;
134 @@ -584,7 +586,7 @@
135         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
136         printf("Expires: %s\r\n",date_time);
137  
138 -       printf("Content-type: text/html\r\n\r\n");
139 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
140  
141         if(embedded==TRUE)
142                 return;
143 --- nagios-3.0.3/cgi/histogram.c        2008-05-19 21:42:26.000000000 +0300
144 +++ nagios-3.0.3-cgi/cgi/histogram.c    2008-10-11 12:34:44.512659708 +0300
145 @@ -130,6 +130,8 @@
146  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
147  extern char physical_images_path[MAX_FILENAME_LENGTH];
148  
149 +extern char *http_charset;
150 +
151  extern int     log_rotation_method;
152  
153  extern host *host_list;
154 @@ -994,7 +996,7 @@
155                 get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
156                 printf("Expires: %s\r\n",date_time);
157  
158 -               printf("Content-type: text/html\r\n\r\n");
159 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
160  
161                 if(embedded==TRUE)
162                         return;
163 --- nagios-3.0.3-cgi/cgi/history.c      2008-10-11 12:34:44.480657862 +0300
164 +++ nagios-3.0.3/cgi/history.c  2008-10-11 12:38:12.164637148 +0300
165 @@ -57,6 +57,8 @@
166  extern char url_images_path[MAX_FILENAME_LENGTH];
167  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
168  
169 +extern char *http_charset;
170 +
171  extern int log_rotation_method;
172  
173  extern int enable_splunk_integration;
174 @@ -315,7 +317,7 @@
175         get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
176         printf("Expires: %s\r\n",date_time);
177  
178 -       printf("Content-type: text/html\r\n\r\n");
179 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
180  
181         if(embedded==TRUE)
182                 return;
183 --- nagios-3.0.3/cgi/notifications.c    2008-05-19 21:42:27.000000000 +0300
184 +++ nagios-3.0.3-cgi/cgi/notifications.c        2008-10-11 12:34:44.500659016 +0300
185 @@ -37,6 +37,8 @@
186  extern char url_docs_path[MAX_FILENAME_LENGTH];
187  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
188  
189 +extern char *http_charset;
190 +
191  extern int    log_rotation_method;
192  
193  
194 @@ -303,7 +305,7 @@
195         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
196         printf("Expires: %s\r\n",date_time);
197  
198 -       printf("Content-type: text/html\r\n\r\n");
199 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
200  
201         if(embedded==TRUE)
202                 return;
203 --- nagios-3.0.3/cgi/outages.c  2008-01-09 19:51:23.000000000 +0200
204 +++ nagios-3.0.3-cgi/cgi/outages.c      2008-10-11 12:34:44.500659016 +0300
205 @@ -39,6 +39,8 @@
206  extern hoststatus *hoststatus_list;
207  extern servicestatus *servicestatus_list;
208  
209 +extern char *http_charset;
210 +
211  extern char main_config_file[MAX_FILENAME_LENGTH];
212  extern char url_html_path[MAX_FILENAME_LENGTH];
213  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
214 @@ -215,7 +217,7 @@
215         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
216         printf("Expires: %s\r\n",date_time);
217  
218 -       printf("Content-type: text/html\r\n\r\n");
219 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
220  
221         if(embedded==TRUE)
222                 return;
223 --- nagios-3.0.3/cgi/showlog.c  2008-01-09 19:51:23.000000000 +0200
224 +++ nagios-3.0.3-cgi/cgi/showlog.c      2008-10-11 12:34:44.500659016 +0300
225 @@ -37,6 +37,8 @@
226  extern char   url_images_path[MAX_FILENAME_LENGTH];
227  extern char   url_stylesheets_path[MAX_FILENAME_LENGTH];
228  
229 +extern char *http_charset;
230 +
231  extern int    log_rotation_method;
232  
233  extern int    enable_splunk_integration;
234 @@ -188,7 +190,7 @@
235         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
236         printf("Expires: %s\r\n",date_time);
237  
238 -       printf("Content-type: text/html\r\n\r\n");
239 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
240  
241         if(embedded==TRUE)
242                 return;
243 --- nagios-3.0.3/cgi/status.c   2008-06-23 23:47:46.000000000 +0300
244 +++ nagios-3.0.3-cgi/cgi/status.c       2008-10-11 12:34:44.504659246 +0300
245 @@ -44,6 +44,8 @@
246  extern char url_media_path[MAX_FILENAME_LENGTH];
247  extern char log_file[MAX_FILENAME_LENGTH];
248  
249 +extern char *http_charset;
250 +
251  extern char *service_critical_sound;
252  extern char *service_warning_sound;
253  extern char *service_unknown_sound;
254 @@ -503,7 +505,7 @@
255         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
256         printf("Expires: %s\r\n",date_time);
257  
258 -       printf("Content-type: text/html\r\n\r\n");
259 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
260  
261         if(embedded==TRUE)
262                 return;
263 --- nagios-3.0.3/cgi/statusmap.c        2008-05-19 21:42:28.000000000 +0300
264 +++ nagios-3.0.3-cgi/cgi/statusmap.c    2008-10-11 12:34:44.508659477 +0300
265 @@ -54,6 +54,8 @@
266  extern char url_logo_images_path[MAX_FILENAME_LENGTH];
267  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
268  
269 +extern char *http_charset;
270 +
271  extern host *host_list;
272  extern hostgroup *hostgroup_list;
273  extern service *service_list;
274 @@ -320,7 +322,7 @@
275                 get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
276                 printf("Expires: %s\r\n",date_time);
277  
278 -               printf("Content-Type: text/html\r\n\r\n");
279 +               printf("Content-Type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
280  
281                 if(embedded==TRUE)
282                         return;
283 --- nagios-3.0.3/cgi/statuswml.c        2008-05-19 21:42:28.000000000 +0300
284 +++ nagios-3.0.3-cgi/cgi/statuswml.c    2008-10-11 12:34:44.504659246 +0300
285 @@ -47,6 +47,8 @@
286  
287  extern char     *ping_syntax;
288  
289 +extern char    *http_charset;
290 +
291  #define DISPLAY_HOST                   0
292  #define DISPLAY_SERVICE                 1
293  #define DISPLAY_HOSTGROUP               2
294 @@ -193,7 +195,7 @@
295         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
296         printf("Expires: %s\r\n",date_time);
297  
298 -       printf("Content-type: text/vnd.wap.wml\r\n\r\n");
299 +       printf("Content-type: text/vnd.wap.wml; charset=\"%s\"\r\n\r\n", http_charset);
300  
301         printf("<?xml version=\"1.0\"?>\n");
302         printf("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n");
303 --- nagios-3.0.3/cgi/statuswrl.c        2007-07-16 19:41:46.000000000 +0300
304 +++ nagios-3.0.3-cgi/cgi/statuswrl.c    2008-10-11 12:34:44.508659477 +0300
305 @@ -41,6 +41,8 @@
306  extern char url_images_path[MAX_FILENAME_LENGTH];
307  extern char url_logo_images_path[MAX_FILENAME_LENGTH];
308  
309 +extern char *http_charset;
310 +
311  extern char *statuswrl_include;
312  
313  extern host *host_list;
314 @@ -202,7 +204,7 @@
315         get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
316         printf("Expires: %s\r\n",date_time);
317  
318 -       printf("Content-Type: x-world/x-vrml\r\n\r\n");
319 +       printf("Content-Type: x-world/x-vrml; charset=\"%s\"\r\n\r\n", http_charset);
320  
321         return;
322          }
323 --- nagios-3.0.3/cgi/summary.c  2008-01-24 04:51:30.000000000 +0200
324 +++ nagios-3.0.3-cgi/cgi/summary.c      2008-10-11 12:34:44.504659246 +0300
325 @@ -37,6 +37,8 @@
326  extern char url_images_path[MAX_FILENAME_LENGTH];
327  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
328  
329 +extern char *http_charset;
330 +
331  extern host *host_list;
332  extern hostgroup *hostgroup_list;
333  extern service *service_list;
334 @@ -698,9 +700,9 @@
335         printf("Expires: %s\r\n",date_time);
336  
337         if(output_format==HTML_OUTPUT)
338 -               printf("Content-type: text/html\r\n\r\n");
339 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
340         else{
341 -               printf("Content-type: text/plain\r\n\r\n");
342 +               printf("Content-type: text/plain; charset=\"%s\"\r\n\r\n", http_charset);
343                 return;
344                 }
345  
346 --- nagios-3.0.3/cgi/tac.c      2008-02-21 08:17:37.000000000 +0200
347 +++ nagios-3.0.3-cgi/cgi/tac.c  2008-10-11 12:34:44.508659477 +0300
348 @@ -52,6 +52,8 @@
349  extern char   url_stylesheets_path[MAX_FILENAME_LENGTH];
350  extern char   url_media_path[MAX_FILENAME_LENGTH];
351  
352 +extern char *http_charset;
353 +
354  extern int    refresh_rate;
355  
356  extern char *service_critical_sound;
357 @@ -381,7 +383,7 @@
358         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
359         printf("Expires: %s\r\n",date_time);
360  
361 -       printf("Content-type: text/html\r\n\r\n");
362 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
363  
364         if(embedded==TRUE)
365                 return;
366 --- nagios-3.0.3/cgi/trends.c   2008-06-23 23:47:46.000000000 +0300
367 +++ nagios-3.0.3-cgi/cgi/trends.c       2008-10-11 12:34:44.512659708 +0300
368 @@ -44,6 +44,8 @@
369  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
370  extern char physical_images_path[MAX_FILENAME_LENGTH];
371  
372 +extern char *http_charset;
373 +
374  extern int     log_rotation_method;
375  
376  extern host *host_list;
377 @@ -1114,7 +1116,7 @@
378                 get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
379                 printf("Expires: %s\r\n",date_time);
380  
381 -               printf("Content-type: text/html\r\n\r\n");
382 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
383  
384                 if(embedded==TRUE)
385                         return;
386 --- nagios-3.0.3/include/cgiutils.h.in  2007-11-11 01:34:26.000000000 +0200
387 +++ nagios-3.0.3-cgi/include/cgiutils.h.in      2008-10-11 12:34:44.468657170 +0300
388 @@ -422,6 +422,9 @@
389  #define LIFO_ERROR_FILE                2
390  #define LIFO_ERROR_DATA                3
391  
392 +/************************** HTTP CHARSET ****************************/
393 +
394 +#define DEFAULT_HTTP_CHARSET "utf-8"
395  
396  
397  
398 --- nagios-3.0.3/sample-config/cgi.cfg.in       2007-10-07 22:42:52.000000000 +0300
399 +++ nagios-3.0.3-cgi/sample-config/cgi.cfg.in   2008-10-11 12:34:44.472657400 +0300
400 @@ -36,6 +36,11 @@
401  url_html_path=@htmurl@
402  
403  
404 +# HTTP CHARSET
405 +# This defines charset that is sent with HTTP headers.
406 +
407 +http_charset=utf-8
408 +
409  
410  # CONTEXT-SENSITIVE HELP
411  # This option determines whether or not a context-sensitive
This page took 0.103707 seconds and 3 git commands to generate.