From: Ethan G. <ega...@us...> - 2003-02-24 03:44:09
|
Update of /cvsroot/nagios/nagios/xdata In directory sc8-pr-cvs1:/tmp/cvs-serv18164a/xdata Modified Files: xodtemplate.c xodtemplate.h Log Message: More work on host checks Index: xodtemplate.c =================================================================== RCS file: /cvsroot/nagios/nagios/xdata/xodtemplate.c,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -r1.40 -r1.41 *** xodtemplate.c 21 Feb 2003 05:12:47 -0000 1.40 --- xodtemplate.c 24 Feb 2003 03:44:02 -0000 1.41 *************** *** 1137,1141 **** --- 1137,1145 ---- new_hostdependency->fail_notify_on_down=FALSE; new_hostdependency->fail_notify_on_unreachable=FALSE; + new_hostdependency->fail_execute_on_up=FALSE; + new_hostdependency->fail_execute_on_down=FALSE; + new_hostdependency->fail_execute_on_unreachable=FALSE; new_hostdependency->have_notification_dependency_options=FALSE; + new_hostdependency->have_execution_dependency_options=FALSE; new_hostdependency->has_been_resolved=FALSE; new_hostdependency->register_object=TRUE; *************** *** 2626,2629 **** --- 2630,2652 ---- temp_hostdependency->have_notification_dependency_options=TRUE; } + else if(!strcmp(variable,"execution_failure_options") || !strcmp(variable,"execution_failure_criteria")){ + for(temp_ptr=strtok(value,", ");temp_ptr;temp_ptr=strtok(NULL,", ")){ + if(!strcmp(temp_ptr,"o") || !strcmp(temp_ptr,"up")) + temp_hostdependency->fail_execute_on_up=TRUE; + else if(!strcmp(temp_ptr,"d") || !strcmp(temp_ptr,"down")) + temp_hostdependency->fail_execute_on_down=TRUE; + else if(!strcmp(temp_ptr,"u") || !strcmp(temp_ptr,"unreachable")) + temp_hostdependency->fail_execute_on_unreachable=TRUE; + else{ + #ifdef NSCORE + snprintf(temp_buffer,sizeof(temp_buffer)-1,"Error: Invalid execution dependency option '%s' in hostdependency definition.\n",temp_ptr); + temp_buffer[sizeof(temp_buffer)-1]='\x0'; + write_to_logs_and_console(temp_buffer,NSLOG_CONFIG_ERROR,TRUE); + #endif + return ERROR; + } + } + temp_hostdependency->have_execution_dependency_options=TRUE; + } else if(!strcmp(variable,"register")) temp_hostdependency->register_object=(atoi(value)>0)?TRUE:FALSE; *************** *** 4084,4088 **** --- 4107,4115 ---- new_hostdependency->fail_notify_on_down=temp_hostdependency->fail_notify_on_down; new_hostdependency->fail_notify_on_unreachable=temp_hostdependency->fail_notify_on_unreachable; + new_hostdependency->fail_execute_on_up=temp_hostdependency->fail_execute_on_up; + new_hostdependency->fail_execute_on_down=temp_hostdependency->fail_execute_on_down; + new_hostdependency->fail_execute_on_unreachable=temp_hostdependency->fail_execute_on_unreachable; new_hostdependency->have_notification_dependency_options=temp_hostdependency->have_notification_dependency_options; + new_hostdependency->have_execution_dependency_options=temp_hostdependency->have_execution_dependency_options; *************** *** 6623,6627 **** return OK; ! /* add the hostdependency */ if(this_hostdependency->have_notification_dependency_options==TRUE){ --- 6650,6670 ---- return OK; ! /* add the host execution dependency */ ! if(this_hostdependency->have_execution_dependency_options==TRUE){ ! ! new_hostdependency=add_host_dependency(this_hostdependency->dependent_host_name,this_hostdependency->host_name,EXECUTION_DEPENDENCY,this_hostdependency->fail_execute_on_up,this_hostdependency->fail_execute_on_down,this_hostdependency->fail_execute_on_unreachable); ! ! /* return with an error if we couldn't add the hostdependency */ ! if(new_hostdependency==NULL){ ! #ifdef NSCORE ! snprintf(temp_buffer,sizeof(temp_buffer)-1,"Error: Could not register host execution dependency (config file '%s', line %d)\n",xodtemplate_config_file_name(this_hostdependency->_config_file),this_hostdependency->_start_line); ! temp_buffer[sizeof(temp_buffer)-1]='\x0'; ! write_to_logs_and_console(temp_buffer,NSLOG_CONFIG_ERROR,TRUE); ! #endif ! return ERROR; ! } ! } ! ! /* add the host notification dependency */ if(this_hostdependency->have_notification_dependency_options==TRUE){ *************** *** 6925,6928 **** --- 6968,6972 ---- free(this_host->hostgroups); free(this_host->check_command); + free(this_host->check_period); free(this_host->event_handler); free(this_host->contact_groups); Index: xodtemplate.h =================================================================== RCS file: /cvsroot/nagios/nagios/xdata/xodtemplate.h,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -r1.21 -r1.22 *** xodtemplate.h 21 Feb 2003 05:12:47 -0000 1.21 --- xodtemplate.h 24 Feb 2003 03:44:04 -0000 1.22 *************** *** 4,8 **** * * Copyright (c) 2001-2003 Ethan Galstad (na...@na...) ! * Last Modified: 02-20-2003 * * License: --- 4,8 ---- * * Copyright (c) 2001-2003 Ethan Galstad (na...@na...) ! * Last Modified: 02-21-2003 * * License: *************** *** 362,367 **** --- 362,371 ---- int fail_notify_on_down; int fail_notify_on_unreachable; + int fail_execute_on_up; + int fail_execute_on_down; + int fail_execute_on_unreachable; int have_notification_dependency_options; + int have_execution_dependency_options; int has_been_resolved; |