]> git.pld-linux.org Git - packages/nagios.git/blame - nagios-cgi-http_charset.patch
- move docs to standalone -doc package
[packages/nagios.git] / nagios-cgi-http_charset.patch
CommitLineData
f6f70ac5
ER
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
eb4b796e
ER
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
f6f70ac5
ER
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
eb4b796e
ER
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 @@
af765cf5
ER
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';
f6f70ac5
ER
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;
2b46b6f0
ER
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 @@
f6f70ac5
ER
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
66b4f57f 285@@ -47,6 +47,8 @@
f6f70ac5 286
66b4f57f
AM
287 extern char *ping_syntax;
288
289+extern char *http_charset;
f6f70ac5 290+
66b4f57f
AM
291 #define DISPLAY_HOST 0
292 #define DISPLAY_SERVICE 1
293 #define DISPLAY_HOSTGROUP 2
f6f70ac5
ER
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;
f6f70ac5
ER
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+
90efa8f5 394+#define DEFAULT_HTTP_CHARSET "utf-8"
f6f70ac5
ER
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+
90efa8f5 407+http_charset=utf-8
f6f70ac5
ER
408+
409
410 # CONTEXT-SENSITIVE HELP
411 # This option determines whether or not a context-sensitive
This page took 0.119058 seconds and 4 git commands to generate.