From: Ethan G. <ega...@us...> - 2007-08-30 04:05:53
|
Update of /cvsroot/nagios/nagios/base In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv6528/base Modified Files: config.c notifications.c utils.c Log Message: Fix for notifications not going out to contactgroup members Index: notifications.c =================================================================== RCS file: /cvsroot/nagios/nagios/base/notifications.c,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** notifications.c 29 Aug 2007 14:51:53 -0000 1.58 --- notifications.c 30 Aug 2007 04:05:22 -0000 1.59 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 08-28-2007 * * License: --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 08-29-2007 * * License: *************** *** 823,826 **** --- 823,828 ---- *escalated=TRUE; + log_debug_info(DEBUGL_NOTIFICATIONS,1,"Adding contacts from service escalation(s) to notification list.\n"); + /* search all the escalation entries for valid matches */ for(temp_se=serviceescalation_list;temp_se!=NULL;temp_se=temp_se->next){ *************** *** 830,834 **** continue; ! log_debug_info(DEBUGL_NOTIFICATIONS,1,"Adding contacts from service escalation to notification list.\n"); /* add all individual contacts for this escalation entry */ --- 832,836 ---- continue; ! log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding individual contacts from service escalation(s) to notification list.\n"); /* add all individual contacts for this escalation entry */ *************** *** 839,844 **** --- 841,849 ---- } + log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding members of contact groups from service escalation(s) to notification list.\n"); + /* add all contacts that belong to contactgroups for this escalation */ for(temp_contactgroupsmember=temp_se->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding members of contact group '%s' for service escalation to notification list.\n",temp_contactgroupsmember->group_name); if((temp_contactgroup=temp_contactgroupsmember->group_ptr)==NULL) continue; *************** *** 858,861 **** --- 863,868 ---- *escalated=FALSE; + log_debug_info(DEBUGL_NOTIFICATIONS,1,"Adding normal contacts for host to notification list.\n"); + /* add all individual contacts for this service */ for(temp_contactsmember=svc->contacts;temp_contactsmember!=NULL;temp_contactsmember=temp_contactsmember->next){ *************** *** 867,870 **** --- 874,878 ---- /* add all contacts that belong to contactgroups for this service */ for(temp_contactgroupsmember=svc->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding members of contact group '%s' for service to notification list.\n",temp_contactgroupsmember->group_name); if((temp_contactgroup=temp_contactgroupsmember->group_ptr)==NULL) continue; *************** *** 1615,1618 **** --- 1623,1628 ---- *escalated=TRUE; + log_debug_info(DEBUGL_NOTIFICATIONS,1,"Adding contacts from host escalation(s) to notification list.\n"); + /* check all the host escalation entries */ for(temp_he=hostescalation_list;temp_he!=NULL;temp_he=temp_he->next){ *************** *** 1622,1626 **** continue; ! log_debug_info(DEBUGL_NOTIFICATIONS,1,"Adding contacts from host escalation to notification list.\n"); /* add all individual contacts for this escalation */ --- 1632,1636 ---- continue; ! log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding individual contacts from host escalation(s) to notification list.\n"); /* add all individual contacts for this escalation */ *************** *** 1631,1636 **** --- 1641,1649 ---- } + log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding members of contact groups from host escalation(s) to notification list.\n"); + /* add all contacts that belong to contactgroups for this escalation */ for(temp_contactgroupsmember=temp_he->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding members of contact group '%s' for host escalation to notification list.\n",temp_contactgroupsmember->group_name); if((temp_contactgroup=temp_contactgroupsmember->group_ptr)==NULL) continue; *************** *** 1650,1653 **** --- 1663,1670 ---- *escalated=FALSE; + log_debug_info(DEBUGL_NOTIFICATIONS,1,"Adding normal contacts for host to notification list.\n"); + + log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding individual contacts for host to notification list.\n"); + /* add all individual contacts for this host */ for(temp_contactsmember=hst->contacts;temp_contactsmember!=NULL;temp_contactsmember=temp_contactsmember->next){ *************** *** 1657,1662 **** --- 1674,1683 ---- } + log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding members of contact groups for host to notification list.\n"); + /* add all contacts that belong to contactgroups for this host */ for(temp_contactgroupsmember=hst->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + log_debug_info(DEBUGL_NOTIFICATIONS,2,"Adding members of contact group '%s' for host to notification list.\n",temp_contactgroupsmember->group_name); + if((temp_contactgroup=temp_contactgroupsmember->group_ptr)==NULL) continue; Index: config.c =================================================================== RCS file: /cvsroot/nagios/nagios/base/config.c,v retrieving revision 1.95 retrieving revision 1.96 diff -C2 -d -r1.95 -r1.96 *** config.c 15 Aug 2007 17:02:59 -0000 1.95 --- config.c 30 Aug 2007 04:05:22 -0000 1.96 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 08-14-2007 * * License: --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 08-29-2007 * * License: *************** *** 1815,1818 **** --- 1815,1834 ---- } + /* check all contact groupss */ + for(temp_contactgroupsmember=temp_service->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + + temp_contactgroup=find_contactgroup(temp_contactgroupsmember->group_name); + + if(temp_contactgroup==NULL){ + asprintf(&temp_buffer,"Error: Contact group '%s' specified in service '%s' for host '%s' is not defined anywhere!",temp_contactgroupsmember->group_name,temp_service->description,temp_service->host_name); + write_to_logs_and_console(temp_buffer,NSLOG_VERIFICATION_ERROR,TRUE); + my_free((void **)&temp_buffer); + errors++; + } + + /* save the contact group pointer for later */ + temp_contactgroupsmember->group_ptr=temp_contactgroup; + } + /* check to see if there is at least one contact/group */ if(temp_service->contacts==NULL && temp_service->contact_groups==NULL){ *************** *** 1997,2000 **** --- 2013,2032 ---- } + /* check all contact groups */ + for(temp_contactgroupsmember=temp_host->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + + temp_contactgroup=find_contactgroup(temp_contactgroupsmember->group_name); + + if(temp_contactgroup==NULL){ + asprintf(&temp_buffer,"Error: Contact group '%s' specified in host '%s' is not defined anywhere!",temp_contactgroupsmember->group_name,temp_host->name); + write_to_logs_and_console(temp_buffer,NSLOG_VERIFICATION_ERROR,TRUE); + my_free((void **)&temp_buffer); + errors++; + } + + /* save the contact group pointer for later */ + temp_contactgroupsmember->group_ptr=temp_contactgroup; + } + /* check to see if there is at least one contact/group */ if(temp_host->contacts==NULL && temp_host->contact_groups==NULL){ *************** *** 2367,2370 **** --- 2399,2418 ---- temp_contactsmember->contact_ptr=temp_contact; } + + /* check all contact groups */ + for(temp_contactgroupsmember=temp_se->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + + temp_contactgroup=find_contactgroup(temp_contactgroupsmember->group_name); + + if(temp_contactgroup==NULL){ + asprintf(&temp_buffer,"Error: Contact group '%s' specified in service escalation for service '%s' on host '%s' is not defined anywhere!",temp_contactgroupsmember->group_name,temp_se->description,temp_se->host_name); + write_to_logs_and_console(temp_buffer,NSLOG_VERIFICATION_ERROR,TRUE); + my_free((void **)&temp_buffer); + errors++; + } + + /* save the contact group pointer for later */ + temp_contactgroupsmember->group_ptr=temp_contactgroup; + } } *************** *** 2483,2486 **** --- 2531,2550 ---- temp_contactsmember->contact_ptr=temp_contact; } + + /* check all contact groups */ + for(temp_contactgroupsmember=temp_he->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + + temp_contactgroup=find_contactgroup(temp_contactgroupsmember->group_name); + + if(temp_contactgroup==NULL){ + asprintf(&temp_buffer,"Error: Contact group '%s' specified in host escalation for host '%s' is not defined anywhere!",temp_contactgroupsmember->group_name,temp_he->host_name); + write_to_logs_and_console(temp_buffer,NSLOG_VERIFICATION_ERROR,TRUE); + my_free((void **)&temp_buffer); + errors++; + } + + /* save the contact group pointer for later */ + temp_contactgroupsmember->group_ptr=temp_contactgroup; + } } Index: utils.c =================================================================== RCS file: /cvsroot/nagios/nagios/base/utils.c,v retrieving revision 1.189 retrieving revision 1.190 diff -C2 -d -r1.189 -r1.190 *** utils.c 29 Aug 2007 14:51:53 -0000 1.189 --- utils.c 30 Aug 2007 04:05:22 -0000 1.190 *************** *** 4,8 **** * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 08-28-2007 * * License: --- 4,8 ---- * * Copyright (c) 1999-2007 Ethan Galstad (na...@na...) ! * Last Modified: 08-29-2007 * * License: *************** *** 2905,2909 **** } ! log_debug_info(DEBUGL_COMMANDS|DEBUGL_CHECKS|DEBUGL_MACROS,2,"Output: %s\n",full_command); return OK; --- 2905,2909 ---- } ! log_debug_info(DEBUGL_COMMANDS|DEBUGL_CHECKS|DEBUGL_MACROS,2,"Output: %s\n",*full_command); return OK; |