]> git.pld-linux.org Git - packages/nagios.git/blob - nagios-cgi-http_charset.patch
- set charset in http headers, configurable; defaults to iso8859-1
[packages/nagios.git] / nagios-cgi-http_charset.patch
1 --- nagios-3.0.3/base/config.c  2008-04-13 21:34:27.000000000 +0300
2 +++ nagios-3.0.3-cgi/base/config.c      2008-10-11 12:34:44.464656939 +0300
3 @@ -60,6 +60,7 @@
4  
5  extern char     *illegal_object_chars;
6  extern char     *illegal_output_chars;
7 +extern char     *http_charset;
8  
9  extern int      use_regexp_matches;
10  extern int      use_true_regexp_matching;
11 @@ -1211,6 +1212,8 @@
12                 else if(!strcmp(variable,"illegal_macro_output_chars"))
13                         illegal_output_chars=(char *)strdup(value);
14  
15 +               else if(!strcmp(variable,"http_charset"))
16 +                       http_charset=(char *)strdup(value);
17  
18                 else if(!strcmp(variable,"broker_module")){
19                         modptr=strtok(value," \n");
20 --- nagios-3.0.3/base/nagios.c  2008-06-25 21:16:30.000000000 +0300
21 +++ nagios-3.0.3-cgi/base/nagios.c      2008-10-11 12:34:44.464656939 +0300
22 @@ -82,6 +82,7 @@
23  
24  char            *illegal_object_chars=NULL;
25  char            *illegal_output_chars=NULL;
26 +char            *http_charset=NULL;
27  
28  int             use_regexp_matches=FALSE;
29  int             use_true_regexp_matching=FALSE;
30 --- nagios-3.0.3/base/utils.c   2008-06-23 23:47:41.000000000 +0300
31 +++ nagios-3.0.3-cgi/base/utils.c       2008-10-11 12:34:44.468657170 +0300
32 @@ -87,6 +87,7 @@
33  
34  extern char     *illegal_object_chars;
35  extern char     *illegal_output_chars;
36 +extern char     *http_charset;
37  
38  extern int      use_regexp_matches;
39  extern int      use_true_regexp_matching;
40 @@ -4348,6 +4349,9 @@
41         my_free(illegal_object_chars);
42         my_free(illegal_output_chars);
43  
44 +       /* free http charset variable */
45 +       my_free(http_charset);
46 +
47         /* free nagios user and group */
48         my_free(nagios_user);
49         my_free(nagios_group);
50 --- nagios-3.0.3/cgi/avail.c    2008-06-23 23:47:42.000000000 +0300
51 +++ nagios-3.0.3-cgi/cgi/avail.c        2008-10-11 12:34:44.496658785 +0300
52 @@ -37,6 +37,8 @@
53  extern char url_images_path[MAX_FILENAME_LENGTH];
54  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
55  
56 +extern char *http_charset;
57 +
58  extern host      *host_list;
59  extern hostgroup *hostgroup_list;
60  extern servicegroup *servicegroup_list;
61 @@ -1079,9 +1081,9 @@
62         printf("Expires: %s\r\n",date_time);
63  
64         if(output_format==HTML_OUTPUT)
65 -               printf("Content-type: text/html\r\n\r\n");
66 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
67         else{
68 -               printf("Content-type: text/plain\r\n\r\n");
69 +               printf("Content-type: text/plain; charset=\"%s\"\r\n\r\n", http_charset);
70                 return;
71                 }
72  
73 --- nagios-3.0.3/cgi/cgiutils.c 2008-06-23 23:47:44.000000000 +0300
74 +++ nagios-3.0.3-cgi/cgi/cgiutils.c     2008-10-11 12:34:44.472657400 +0300
75 @@ -55,6 +55,7 @@
76  char            *statuswrl_include=NULL;
77  
78  char            *illegal_output_chars=NULL;
79 +char            *http_charset=NULL;
80  
81  char            *notes_url_target=NULL;
82  char            *action_url_target=NULL;
83 @@ -188,6 +189,9 @@
84         host_unreachable_sound=NULL;
85         normal_sound=NULL;
86  
87 +       my_free(http_charset);
88 +       http_charset = strdup(DEFAULT_HTTP_CHARSET);
89 +
90         statusmap_background_image=NULL;
91         statuswrl_include=NULL;
92  
93 @@ -391,6 +395,9 @@
94                 else if(!strcmp(var,"illegal_macro_output_chars"))
95                         illegal_output_chars=strdup(val);
96  
97 +               else if(!strcmp(var,"http_charset"))
98 +                       http_charset=strdup(val);
99 +
100                 else if(!strcmp(var,"notes_url_target"))
101                         notes_url_target=strdup(val);
102  
103 --- nagios-3.0.3/cgi/cmd.c      2008-05-19 21:42:26.000000000 +0300
104 +++ nagios-3.0.3-cgi/cgi/cmd.c  2008-10-11 12:34:44.496658785 +0300
105 @@ -39,6 +39,8 @@
106  
107  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
108  
109 +extern char *http_charset;
110 +
111  extern int  nagios_process_state;
112  
113  extern int  check_external_commands;
114 @@ -235,7 +237,7 @@
115  
116         if(content_type==WML_CONTENT){
117  
118 -               printf("Content-type: text/vnd.wap.wml\r\n\r\n");
119 +               printf("Content-type: text/vnd.wap.wml; charset=\"%s\"\r\n\r\n", http_charset);
120  
121                 printf("<?xml version=\"1.0\"?>\n");
122                 printf("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n");
123 @@ -247,7 +249,7 @@
124  
125         else{
126  
127 -               printf("Content-type: text/html\r\n\r\n");
128 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
129  
130                 printf("<html>\n");
131                 printf("<head>\n");
132 --- nagios-3.0.3/cgi/config.c   2008-04-13 21:34:27.000000000 +0300
133 +++ nagios-3.0.3-cgi/cgi/config.c       2008-10-11 12:34:44.496658785 +0300
134 @@ -37,6 +37,8 @@
135  extern char   url_logo_images_path[MAX_FILENAME_LENGTH];
136  extern char   url_stylesheets_path[MAX_FILENAME_LENGTH];
137  
138 +extern char *http_charset;
139 +
140  extern host *host_list;
141  extern service *service_list;
142  extern hostgroup *hostgroup_list;
143 @@ -293,7 +295,7 @@
144         printf("Pragma: no-cache\r\n");
145         printf("Last-Modified: %s\r\n",date_time);
146         printf("Expires: %s\r\n",date_time);
147 -       printf("Content-type: text/html\r\n\r\n");
148 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
149  
150         printf("<html>\n");
151         printf("<head>\n");
152 --- nagios-3.0.3/cgi/extinfo.c  2008-01-24 04:51:30.000000000 +0200
153 +++ nagios-3.0.3-cgi/cgi/extinfo.c      2008-10-11 12:34:44.500659016 +0300
154 @@ -38,6 +38,8 @@
155  extern int              nagios_process_state;
156  extern int              refresh_rate;
157  
158 +extern char *http_charset;
159 +
160  extern time_t          program_start;
161  extern int              nagios_pid;
162  extern int              daemon_mode;
163 @@ -584,7 +586,7 @@
164         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
165         printf("Expires: %s\r\n",date_time);
166  
167 -       printf("Content-type: text/html\r\n\r\n");
168 +       printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
169  
170         if(embedded==TRUE)
171                 return;
172 --- nagios-3.0.3/cgi/histogram.c        2008-05-19 21:42:26.000000000 +0300
173 +++ nagios-3.0.3-cgi/cgi/histogram.c    2008-10-11 12:34:44.512659708 +0300
174 @@ -130,6 +130,8 @@
175  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
176  extern char physical_images_path[MAX_FILENAME_LENGTH];
177  
178 +extern char *http_charset;
179 +
180  extern int     log_rotation_method;
181  
182  extern host *host_list;
183 @@ -994,7 +996,7 @@
184                 get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
185                 printf("Expires: %s\r\n",date_time);
186  
187 -               printf("Content-type: text/html\r\n\r\n");
188 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
189  
190                 if(embedded==TRUE)
191                         return;
192 --- nagios-3.0.3/cgi/history.c  2008-06-23 23:47:44.000000000 +0300
193 +++ nagios-3.0.3-cgi/cgi/history.c      2008-10-11 12:34:44.480657862 +0300
194 @@ -315,7 +315,7 @@
195         get_time_string(&expire_time,date_time,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/notifications.c    2008-05-19 21:42:27.000000000 +0300
204 +++ nagios-3.0.3-cgi/cgi/notifications.c        2008-10-11 12:34:44.500659016 +0300
205 @@ -37,6 +37,8 @@
206  extern char url_docs_path[MAX_FILENAME_LENGTH];
207  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
208  
209 +extern char *http_charset;
210 +
211  extern int    log_rotation_method;
212  
213  
214 @@ -303,7 +305,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/outages.c  2008-01-09 19:51:23.000000000 +0200
224 +++ nagios-3.0.3-cgi/cgi/outages.c      2008-10-11 12:34:44.500659016 +0300
225 @@ -39,6 +39,8 @@
226  extern hoststatus *hoststatus_list;
227  extern servicestatus *servicestatus_list;
228  
229 +extern char *http_charset;
230 +
231  extern char main_config_file[MAX_FILENAME_LENGTH];
232  extern char url_html_path[MAX_FILENAME_LENGTH];
233  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
234 @@ -215,7 +217,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/showlog.c  2008-01-09 19:51:23.000000000 +0200
244 +++ nagios-3.0.3-cgi/cgi/showlog.c      2008-10-11 12:34:44.500659016 +0300
245 @@ -37,6 +37,8 @@
246  extern char   url_images_path[MAX_FILENAME_LENGTH];
247  extern char   url_stylesheets_path[MAX_FILENAME_LENGTH];
248  
249 +extern char *http_charset;
250 +
251  extern int    log_rotation_method;
252  
253  extern int    enable_splunk_integration;
254 @@ -188,7 +190,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/status.c   2008-06-23 23:47:46.000000000 +0300
264 +++ nagios-3.0.3-cgi/cgi/status.c       2008-10-11 12:34:44.504659246 +0300
265 @@ -44,6 +44,8 @@
266  extern char url_media_path[MAX_FILENAME_LENGTH];
267  extern char log_file[MAX_FILENAME_LENGTH];
268  
269 +extern char *http_charset;
270 +
271  extern char *service_critical_sound;
272  extern char *service_warning_sound;
273  extern char *service_unknown_sound;
274 @@ -503,7 +505,7 @@
275         get_time_string(&expire_time,date_time,(int)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/statusmap.c        2008-05-19 21:42:28.000000000 +0300
284 +++ nagios-3.0.3-cgi/cgi/statusmap.c    2008-10-11 12:34:44.508659477 +0300
285 @@ -54,6 +54,8 @@
286  extern char url_logo_images_path[MAX_FILENAME_LENGTH];
287  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
288  
289 +extern char *http_charset;
290 +
291  extern host *host_list;
292  extern hostgroup *hostgroup_list;
293  extern service *service_list;
294 @@ -320,7 +322,7 @@
295                 get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
296                 printf("Expires: %s\r\n",date_time);
297  
298 -               printf("Content-Type: text/html\r\n\r\n");
299 +               printf("Content-Type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
300  
301                 if(embedded==TRUE)
302                         return;
303 --- nagios-3.0.3/cgi/statuswml.c        2008-05-19 21:42:28.000000000 +0300
304 +++ nagios-3.0.3-cgi/cgi/statuswml.c    2008-10-11 12:34:44.504659246 +0300
305 @@ -40,6 +40,8 @@
306  extern hoststatus *hoststatus_list;
307  extern servicestatus *servicestatus_list;
308  
309 +extern char *http_charset;
310 +
311  extern int      enable_notifications;
312  extern int      execute_service_checks;
313  extern int      nagios_process_state;
314 @@ -193,7 +195,7 @@
315         get_time_string(&expire_time,date_time,(int)sizeof(date_time),HTTP_DATE_TIME);
316         printf("Expires: %s\r\n",date_time);
317  
318 -       printf("Content-type: text/vnd.wap.wml\r\n\r\n");
319 +       printf("Content-type: text/vnd.wap.wml; charset=\"%s\"\r\n\r\n", http_charset);
320  
321         printf("<?xml version=\"1.0\"?>\n");
322         printf("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n");
323 --- nagios-3.0.3/cgi/statuswrl.c        2007-07-16 19:41:46.000000000 +0300
324 +++ nagios-3.0.3-cgi/cgi/statuswrl.c    2008-10-11 12:34:44.508659477 +0300
325 @@ -41,6 +41,8 @@
326  extern char url_images_path[MAX_FILENAME_LENGTH];
327  extern char url_logo_images_path[MAX_FILENAME_LENGTH];
328  
329 +extern char *http_charset;
330 +
331  extern char *statuswrl_include;
332  
333  extern host *host_list;
334 @@ -202,7 +204,7 @@
335         get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
336         printf("Expires: %s\r\n",date_time);
337  
338 -       printf("Content-Type: x-world/x-vrml\r\n\r\n");
339 +       printf("Content-Type: x-world/x-vrml; charset=\"%s\"\r\n\r\n", http_charset);
340  
341         return;
342          }
343 --- nagios-3.0.3/cgi/summary.c  2008-01-24 04:51:30.000000000 +0200
344 +++ nagios-3.0.3-cgi/cgi/summary.c      2008-10-11 12:34:44.504659246 +0300
345 @@ -37,6 +37,8 @@
346  extern char url_images_path[MAX_FILENAME_LENGTH];
347  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
348  
349 +extern char *http_charset;
350 +
351  extern host *host_list;
352  extern hostgroup *hostgroup_list;
353  extern service *service_list;
354 @@ -698,9 +700,9 @@
355         printf("Expires: %s\r\n",date_time);
356  
357         if(output_format==HTML_OUTPUT)
358 -               printf("Content-type: text/html\r\n\r\n");
359 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
360         else{
361 -               printf("Content-type: text/plain\r\n\r\n");
362 +               printf("Content-type: text/plain; charset=\"%s\"\r\n\r\n", http_charset);
363                 return;
364                 }
365  
366 --- nagios-3.0.3/cgi/tac.c      2008-02-21 08:17:37.000000000 +0200
367 +++ nagios-3.0.3-cgi/cgi/tac.c  2008-10-11 12:34:44.508659477 +0300
368 @@ -52,6 +52,8 @@
369  extern char   url_stylesheets_path[MAX_FILENAME_LENGTH];
370  extern char   url_media_path[MAX_FILENAME_LENGTH];
371  
372 +extern char *http_charset;
373 +
374  extern int    refresh_rate;
375  
376  extern char *service_critical_sound;
377 @@ -381,7 +383,7 @@
378         get_time_string(&expire_time,date_time,(int)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/cgi/trends.c   2008-06-23 23:47:46.000000000 +0300
387 +++ nagios-3.0.3-cgi/cgi/trends.c       2008-10-11 12:34:44.512659708 +0300
388 @@ -44,6 +44,8 @@
389  extern char url_stylesheets_path[MAX_FILENAME_LENGTH];
390  extern char physical_images_path[MAX_FILENAME_LENGTH];
391  
392 +extern char *http_charset;
393 +
394  extern int     log_rotation_method;
395  
396  extern host *host_list;
397 @@ -1114,7 +1116,7 @@
398                 get_time_string(&expire_time,date_time,sizeof(date_time),HTTP_DATE_TIME);
399                 printf("Expires: %s\r\n",date_time);
400  
401 -               printf("Content-type: text/html\r\n\r\n");
402 +               printf("Content-type: text/html; charset=\"%s\"\r\n\r\n", http_charset);
403  
404                 if(embedded==TRUE)
405                         return;
406 --- nagios-3.0.3/common/macros.c        2008-06-23 23:47:47.000000000 +0300
407 +++ nagios-3.0.3-cgi/common/macros.c    2008-10-11 12:34:44.468657170 +0300
408 @@ -40,6 +40,7 @@
409  #endif
410  
411  extern char     *illegal_output_chars;
412 +extern char     *http_charset;
413  
414  extern contact         *contact_list;
415  extern contactgroup    *contactgroup_list;
416 --- nagios-3.0.3/include/cgiutils.h.in  2007-11-11 01:34:26.000000000 +0200
417 +++ nagios-3.0.3-cgi/include/cgiutils.h.in      2008-10-11 12:34:44.468657170 +0300
418 @@ -422,6 +422,9 @@
419  #define LIFO_ERROR_FILE                2
420  #define LIFO_ERROR_DATA                3
421  
422 +/************************** HTTP CHARSET ****************************/
423 +
424 +#define DEFAULT_HTTP_CHARSET "iso8859-1"
425  
426  
427  
428 --- nagios-3.0.3/sample-config/cgi.cfg.in       2007-10-07 22:42:52.000000000 +0300
429 +++ nagios-3.0.3-cgi/sample-config/cgi.cfg.in   2008-10-11 12:34:44.472657400 +0300
430 @@ -36,6 +36,11 @@
431  url_html_path=@htmurl@
432  
433  
434 +# HTTP CHARSET
435 +# This defines charset that is sent with HTTP headers.
436 +
437 +http_charset=iso8859-1
438 +
439  
440  # CONTEXT-SENSITIVE HELP
441  # This option determines whether or not a context-sensitive
This page took 0.173486 seconds and 4 git commands to generate.