Update of /cvsroot/nagios/nagios/cgi In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv9053/cgi Modified Files: avail.c cgiutils.c config.c extinfo.c history.c notifications.c showlog.c status.c statusmap.c Log Message: Fixes for handling multiple check results in a single file, newline wrapping in CGIs Index: extinfo.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/extinfo.c,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -d -r1.72 -r1.73 *** extinfo.c 9 May 2007 20:44:28 -0000 1.72 --- extinfo.c 30 May 2007 21:41:09 -0000 1.73 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 04-19-2007 * * License: --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-30-2007 * * License: *************** *** 1051,1060 **** printf("<TR><TD CLASS='dataVar'>Host Status:</td><td CLASS='dataVal'><DIV CLASS='%s'> %s </DIV> (for %s)%s</td></tr>\n",bg_class,state_string,state_duration,(temp_hoststatus->problem_has_been_acknowledged==TRUE)?" (Has been acknowledged)":""); ! printf("<TR><TD CLASS='dataVar' VALIGN='top'>Status Information:</td><td CLASS='dataVal'>%s",(temp_hoststatus->plugin_output==NULL)?"":html_encode(temp_hoststatus->plugin_output)); if(temp_hoststatus->long_plugin_output!=NULL) ! printf("<BR>%s",html_encode(temp_hoststatus->long_plugin_output)); printf("</TD></TR>\n"); ! printf("<TR><TD CLASS='dataVar' VALIGN='top'>Performance Data:</td><td CLASS='dataVal'>%s</td></tr>\n",(temp_hoststatus->perf_data==NULL)?"":html_encode(temp_hoststatus->perf_data)); printf("<TR><TD CLASS='dataVar'>Current Attempt:</TD><TD CLASS='dataVal'>%d/%d",temp_hoststatus->current_attempt,temp_hoststatus->max_attempts); --- 1051,1060 ---- printf("<TR><TD CLASS='dataVar'>Host Status:</td><td CLASS='dataVal'><DIV CLASS='%s'> %s </DIV> (for %s)%s</td></tr>\n",bg_class,state_string,state_duration,(temp_hoststatus->problem_has_been_acknowledged==TRUE)?" (Has been acknowledged)":""); ! printf("<TR><TD CLASS='dataVar' VALIGN='top'>Status Information:</td><td CLASS='dataVal'>%s",(temp_hoststatus->plugin_output==NULL)?"":html_encode(temp_hoststatus->plugin_output,TRUE)); if(temp_hoststatus->long_plugin_output!=NULL) ! printf("<BR>%s",html_encode(temp_hoststatus->long_plugin_output,TRUE)); printf("</TD></TR>\n"); ! printf("<TR><TD CLASS='dataVar' VALIGN='top'>Performance Data:</td><td CLASS='dataVal'>%s</td></tr>\n",(temp_hoststatus->perf_data==NULL)?"":html_encode(temp_hoststatus->perf_data,TRUE)); printf("<TR><TD CLASS='dataVar'>Current Attempt:</TD><TD CLASS='dataVal'>%d/%d",temp_hoststatus->current_attempt,temp_hoststatus->max_attempts); *************** *** 1097,1101 **** duration_error=TRUE; else ! t=current_time-temp_hoststatus->last_check; get_time_breakdown((unsigned long)t,&days,&hours,&minutes,&seconds); if(duration_error==TRUE) --- 1097,1102 ---- duration_error=TRUE; else ! /*t=current_time-temp_hoststatus->last_check;*/ ! t=current_time-temp_hoststatus->last_update; get_time_breakdown((unsigned long)t,&days,&hours,&minutes,&seconds); if(duration_error==TRUE) *************** *** 1351,1360 **** printf("<TR><TD CLASS='dataVar'>Current Status:</TD><TD CLASS='dataVal'><DIV CLASS='%s'> %s </DIV> (for %s)%s</TD></TR>\n",bg_class,state_string,state_duration,(temp_svcstatus->problem_has_been_acknowledged==TRUE)?" (Has been acknowledged)":""); ! printf("<TR><TD CLASS='dataVar' VALIGN='top'>Status Information:</TD><TD CLASS='dataVal'>%s",(temp_svcstatus->plugin_output==NULL)?"":html_encode(temp_svcstatus->plugin_output)); if(temp_svcstatus->long_plugin_output!=NULL) ! printf("<BR>%s",html_encode(temp_svcstatus->long_plugin_output)); printf("</TD></TR>\n"); ! printf("<TR><TD CLASS='dataVar' VALIGN='top'>Performance Data:</td><td CLASS='dataVal'>%s</td></tr>\n",(temp_svcstatus->perf_data==NULL)?"":html_encode(temp_svcstatus->perf_data)); printf("<TR><TD CLASS='dataVar'>Current Attempt:</TD><TD CLASS='dataVal'>%d/%d",temp_svcstatus->current_attempt,temp_svcstatus->max_attempts); --- 1352,1361 ---- printf("<TR><TD CLASS='dataVar'>Current Status:</TD><TD CLASS='dataVal'><DIV CLASS='%s'> %s </DIV> (for %s)%s</TD></TR>\n",bg_class,state_string,state_duration,(temp_svcstatus->problem_has_been_acknowledged==TRUE)?" (Has been acknowledged)":""); ! printf("<TR><TD CLASS='dataVar' VALIGN='top'>Status Information:</TD><TD CLASS='dataVal'>%s",(temp_svcstatus->plugin_output==NULL)?"":html_encode(temp_svcstatus->plugin_output,TRUE)); if(temp_svcstatus->long_plugin_output!=NULL) ! printf("<BR>%s",html_encode(temp_svcstatus->long_plugin_output,TRUE)); printf("</TD></TR>\n"); ! printf("<TR><TD CLASS='dataVar' VALIGN='top'>Performance Data:</td><td CLASS='dataVal'>%s</td></tr>\n",(temp_svcstatus->perf_data==NULL)?"":html_encode(temp_svcstatus->perf_data,TRUE)); printf("<TR><TD CLASS='dataVar'>Current Attempt:</TD><TD CLASS='dataVal'>%d/%d",temp_svcstatus->current_attempt,temp_svcstatus->max_attempts); *************** *** 1397,1401 **** duration_error=TRUE; else ! t=current_time-temp_svcstatus->last_check; get_time_breakdown((unsigned long)t,&days,&hours,&minutes,&seconds); if(duration_error==TRUE) --- 1398,1403 ---- duration_error=TRUE; else ! /*t=current_time-temp_svcstatus->last_check;*/ ! t=current_time-temp_svcstatus->last_update; get_time_breakdown((unsigned long)t,&days,&hours,&minutes,&seconds); if(duration_error==TRUE) Index: notifications.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/notifications.c,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** notifications.c 9 May 2007 20:44:29 -0000 1.19 --- notifications.c 30 May 2007 21:41:10 -0000 1.20 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-09-2007 * * This CGI program will display the notification events for --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-30-2007 * * This CGI program will display the notification events for *************** *** 715,719 **** printf("<td CLASS='notifications%s'><a href='%s?type=contacts#%s'>%s</a></td>\n",(odd)?"Even":"Odd",CONFIG_CGI,url_encode(contact_name),contact_name); printf("<td CLASS='notifications%s'><a href='%s?type=commands#%s'>%s</a></td>\n",(odd)?"Even":"Odd",CONFIG_CGI,url_encode(method_name),method_name); ! printf("<td CLASS='notifications%s'>%s</td>\n",(odd)?"Even":"Odd",html_encode(temp_buffer)); printf("</tr>\n"); } --- 715,719 ---- printf("<td CLASS='notifications%s'><a href='%s?type=contacts#%s'>%s</a></td>\n",(odd)?"Even":"Odd",CONFIG_CGI,url_encode(contact_name),contact_name); printf("<td CLASS='notifications%s'><a href='%s?type=commands#%s'>%s</a></td>\n",(odd)?"Even":"Odd",CONFIG_CGI,url_encode(method_name),method_name); ! printf("<td CLASS='notifications%s'>%s</td>\n",(odd)?"Even":"Odd",html_encode(temp_buffer,FALSE)); printf("</tr>\n"); } Index: config.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/config.c,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** config.c 30 May 2007 18:21:23 -0000 1.37 --- config.c 30 May 2007 21:41:09 -0000 1.38 *************** *** 503,507 **** printf(" "); else ! printf("<a href='%s?type=commands#%s'>%s</a></TD>\n",CONFIG_CGI,url_encode(temp_host->host_check_command),html_encode(temp_host->host_check_command)); printf("</TD>\n"); --- 503,507 ---- printf(" "); else ! printf("<a href='%s?type=commands#%s'>%s</a></TD>\n",CONFIG_CGI,url_encode(temp_host->host_check_command),html_encode(temp_host->host_check_command,FALSE)); printf("</TD>\n"); *************** *** 1204,1208 **** command_name=strtok(command_line,"!"); ! printf("<TD CLASS='%s'><A HREF='%s?type=commands#%s'>%s</A></TD>\n",bg_class,CONFIG_CGI,url_encode(command_name),html_encode(temp_service->service_check_command)); printf("<TD CLASS='%s'>",bg_class); if(temp_service->check_period==NULL) --- 1204,1208 ---- command_name=strtok(command_line,"!"); ! printf("<TD CLASS='%s'><A HREF='%s?type=commands#%s'>%s</A></TD>\n",bg_class,CONFIG_CGI,url_encode(command_name),html_encode(temp_service->service_check_command,FALSE)); printf("<TD CLASS='%s'>",bg_class); if(temp_service->check_period==NULL) *************** *** 1633,1637 **** printf("<TD CLASS='%s'><A NAME='%s'></A>%s</TD>\n",bg_class,url_encode(temp_command->name),temp_command->name); ! printf("<TD CLASS='%s'>%s</TD>\n",bg_class,html_encode(temp_command->command_line)); printf("</TR>\n"); --- 1633,1637 ---- printf("<TD CLASS='%s'><A NAME='%s'></A>%s</TD>\n",bg_class,url_encode(temp_command->name),temp_command->name); ! printf("<TD CLASS='%s'>%s</TD>\n",bg_class,html_encode(temp_command->command_line,FALSE)); printf("</TR>\n"); Index: cgiutils.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/cgiutils.c,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** cgiutils.c 9 May 2007 20:44:27 -0000 1.58 --- cgiutils.c 30 May 2007 21:41:08 -0000 1.59 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-09-2007 * * License: --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-30-2007 * * License: *************** *** 1375,1379 **** /* escapes a string used in HTML */ ! char * html_encode(char *input){ int len,output_len; int x,y; --- 1375,1379 ---- /* escapes a string used in HTML */ ! char * html_encode(char *input, int escape_newlines){ int len,output_len; int x,y; *************** *** 1403,1411 **** /* newlines turn to <BR> tags */ ! else if((char)input[x]==(char)'\n'){ strcpy(&encoded_html_string[y],"<BR>"); y+=4; } ! else if((char)input[x]==(char)'\\' && (char)input[x+1]==(char)'n'){ strcpy(&encoded_html_string[y],"<BR>"); y+=4; --- 1403,1411 ---- /* newlines turn to <BR> tags */ ! else if(escape_newlines==TRUE && (char)input[x]==(char)'\n'){ strcpy(&encoded_html_string[y],"<BR>"); y+=4; } ! else if(escape_newlines==TRUE && (char)input[x]==(char)'\\' && (char)input[x+1]==(char)'n'){ strcpy(&encoded_html_string[y],"<BR>"); y+=4; Index: statusmap.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/statusmap.c,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** statusmap.c 21 Mar 2006 21:38:10 -0000 1.33 --- statusmap.c 30 May 2007 21:41:10 -0000 1.34 *************** *** 3,8 **** * STATUSMAP.C - Nagios Network Status Map CGI * ! * Copyright (c) 1999-2006 Ethan Galstad (na...@na...) ! * Last Modified: 03-21-2006 * * Description: --- 3,8 ---- * STATUSMAP.C - Nagios Network Status Map CGI * ! * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-30-2007 * * Description: *************** *** 1927,1935 **** printf("<tr><td><img src=%s%s border=0 width=40 height=40></td>",url_logo_images_path,(hst->icon_image==NULL)?UNKNOWN_ICON_IMAGE:hst->icon_image); ! printf("<td class=\\\"popupText\\\"><i>%s</i></td></tr>",(hst->icon_image_alt==NULL)?"":html_encode(hst->icon_image_alt)); ! printf("<tr><td class=\\\"popupText\\\">Name:</td><td class=\\\"popupText\\\"><b>%s</b></td></tr>",html_encode(hst->name)); ! printf("<tr><td class=\\\"popupText\\\">Alias:</td><td class=\\\"popupText\\\"><b>%s</b></td></tr>",html_encode(hst->alias)); ! printf("<tr><td class=\\\"popupText\\\">Address:</td><td class=\\\"popupText\\\"><b>%s</b></td></tr>",html_encode(hst->address)); printf("<tr><td class=\\\"popupText\\\">State:</td><td class=\\\"popupText\\\"><b>"); --- 1927,1935 ---- printf("<tr><td><img src=%s%s border=0 width=40 height=40></td>",url_logo_images_path,(hst->icon_image==NULL)?UNKNOWN_ICON_IMAGE:hst->icon_image); ! printf("<td class=\\\"popupText\\\"><i>%s</i></td></tr>",(hst->icon_image_alt==NULL)?"":html_encode(hst->icon_image_alt,TRUE)); ! printf("<tr><td class=\\\"popupText\\\">Name:</td><td class=\\\"popupText\\\"><b>%s</b></td></tr>",html_encode(hst->name,TRUE)); ! printf("<tr><td class=\\\"popupText\\\">Alias:</td><td class=\\\"popupText\\\"><b>%s</b></td></tr>",html_encode(hst->alias,TRUE)); ! printf("<tr><td class=\\\"popupText\\\">Address:</td><td class=\\\"popupText\\\"><b>%s</b></td></tr>",html_encode(hst->address,TRUE)); printf("<tr><td class=\\\"popupText\\\">State:</td><td class=\\\"popupText\\\"><b>"); *************** *** 1978,1982 **** else{ for(temp_hostsmember=hst->parent_hosts;temp_hostsmember!=NULL;temp_hostsmember=temp_hostsmember->next) ! printf("%s%s",(temp_hostsmember==hst->parent_hosts)?"":", ",html_encode(temp_hostsmember->host_name)); } printf("</b></td></tr>"); --- 1978,1982 ---- else{ for(temp_hostsmember=hst->parent_hosts;temp_hostsmember!=NULL;temp_hostsmember=temp_hostsmember->next) ! printf("%s%s",(temp_hostsmember==hst->parent_hosts)?"":", ",html_encode(temp_hostsmember->host_name,TRUE)); } printf("</b></td></tr>"); Index: avail.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/avail.c,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** avail.c 9 Apr 2007 02:48:40 -0000 1.41 --- avail.c 30 May 2007 21:41:08 -0000 1.42 *************** *** 4,8 **** * * Copyright (c) 2000-2007 Ethan Galstad (na...@na...) ! * Last Modified: 04-08-2007 * * License: --- 4,8 ---- * * Copyright (c) 2000-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-30-2007 * * License: *************** *** 3417,3421 **** printf("<td class='logEntries%s'>%s</td>",bgclass,duration); printf("<td class='logEntries%s'>%s%s</td>",ebgclass,entry_type,state_type); ! printf("<td class='logEntries%s'>%s</td>",bgclass,(temp_as->state_info==NULL)?"":html_encode(temp_as->state_info)); printf("</tr>\n"); } --- 3417,3421 ---- printf("<td class='logEntries%s'>%s</td>",bgclass,duration); printf("<td class='logEntries%s'>%s%s</td>",ebgclass,entry_type,state_type); ! printf("<td class='logEntries%s'>%s</td>",bgclass,(temp_as->state_info==NULL)?"":html_encode(temp_as->state_info,FALSE)); printf("</tr>\n"); } Index: history.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/history.c,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** history.c 9 May 2007 20:44:29 -0000 1.24 --- history.c 30 May 2007 21:41:10 -0000 1.25 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-09-2007 * * This CGI program will display the history for the specified host. --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-30-2007 * * This CGI program will display the history for the specified host. *************** *** 920,924 **** if(display_frills==TRUE) printf("<img align='left' src='%s%s' alt='%s' title='%s'>",url_images_path,image,image_alt,image_alt); ! printf("[%s] %s<br clear='all'>\n",date_time,html_encode(temp_buffer)); found_line=TRUE; } --- 920,924 ---- if(display_frills==TRUE) printf("<img align='left' src='%s%s' alt='%s' title='%s'>",url_images_path,image,image_alt,image_alt); ! printf("[%s] %s<br clear='all'>\n",date_time,html_encode(temp_buffer,FALSE)); found_line=TRUE; } Index: showlog.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/showlog.c,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** showlog.c 9 May 2007 20:44:30 -0000 1.17 --- showlog.c 30 May 2007 21:41:10 -0000 1.18 *************** *** 514,518 **** if(display_frills==TRUE) printf("<img align='left' src='%s%s' alt='%s' title='%s'>",url_images_path,image,image_alt,image_alt); ! printf("[%s] %s<br clear='all'>\n",date_time,(temp_buffer==NULL)?"":html_encode(temp_buffer)); } --- 514,518 ---- if(display_frills==TRUE) printf("<img align='left' src='%s%s' alt='%s' title='%s'>",url_images_path,image,image_alt,image_alt); ! printf("[%s] %s<br clear='all'>\n",date_time,(temp_buffer==NULL)?"":html_encode(temp_buffer,FALSE)); } Index: status.c =================================================================== RCS file: /cvsroot/nagios/nagios/cgi/status.c,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** status.c 9 May 2007 20:44:30 -0000 1.59 --- status.c 30 May 2007 21:41:10 -0000 1.60 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-09-2007 * * License: --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 05-30-2007 * * License: *************** *** 1719,1723 **** printf("<TD CLASS='status%s' nowrap>%s</TD>\n",status_bg_class,state_duration); printf("<TD CLASS='status%s'>%d/%d</TD>\n",status_bg_class,temp_status->current_attempt,temp_status->max_attempts); ! printf("<TD CLASS='status%s'>%s </TD>\n",status_bg_class,(temp_status->plugin_output==NULL)?"":html_encode(temp_status->plugin_output)); printf("</TR>\n"); --- 1719,1723 ---- printf("<TD CLASS='status%s' nowrap>%s</TD>\n",status_bg_class,state_duration); printf("<TD CLASS='status%s'>%d/%d</TD>\n",status_bg_class,temp_status->current_attempt,temp_status->max_attempts); ! printf("<TD CLASS='status%s'>%s </TD>\n",status_bg_class,(temp_status->plugin_output==NULL)?"":html_encode(temp_status->plugin_output,TRUE)); printf("</TR>\n"); *************** *** 2098,2102 **** printf("<TD CLASS='status%s' nowrap>%s</TD>\n",status_bg_class,date_time); printf("<TD CLASS='status%s' nowrap>%s</TD>\n",status_bg_class,state_duration); ! printf("<TD CLASS='status%s'>%s </TD>\n",status_bg_class,(temp_status->plugin_output==NULL)?"":html_encode(temp_status->plugin_output)); printf("</TR>\n"); --- 2098,2102 ---- printf("<TD CLASS='status%s' nowrap>%s</TD>\n",status_bg_class,date_time); printf("<TD CLASS='status%s' nowrap>%s</TD>\n",status_bg_class,state_duration); ! printf("<TD CLASS='status%s'>%s </TD>\n",status_bg_class,(temp_status->plugin_output==NULL)?"":html_encode(temp_status->plugin_output,TRUE)); printf("</TR>\n"); |