Only in nagios-2.8/base: broker.o Only in nagios-2.8/base: checks.o diff -ur nagios-2.8.org/base/config.c nagios-2.8/base/config.c --- nagios-2.8.org/base/config.c 2007-01-19 17:02:00.000000000 -0500 +++ nagios-2.8/base/config.c 2007-09-17 11:31:30.000000000 -0400 @@ -169,7 +169,7 @@ extern int external_command_buffer_slots; extern int check_result_buffer_slots; - +extern char *default_permissions; /******************************************************************/ /************** CONFIGURATION INPUT FUNCTIONS *********************/ @@ -1426,6 +1426,22 @@ #endif } + else if(!strcmp(variable,"default_permissions")){ + if(default_permissions!=NULL) + free(default_permissions); + default_permissions=(char *)strdup(value); + if(default_permissions==NULL){ + strcpy(error_message,"Could not allocate memory for default permissions string"); + error=TRUE; + break; + } + strip(default_permissions); + +#ifdef DEBUG1 + printf("\t\tdefault_permissions set to '%s'\n",default_permissions); +#endif + } + /* ignore old/external variables */ else if(!strcmp(variable,"status_file")) continue; @@ -1644,6 +1660,8 @@ int total_objects=0; int warnings=0; int errors=0; + char *temp_contactgroup_name; + char *perms; #ifdef DEBUG0 printf("pre_flight_check() start\n"); @@ -2238,10 +2256,21 @@ /* make sure each contactgroup is used in at least one host or service definition or escalation */ for(temp_host=host_list;temp_host!=NULL;temp_host=temp_host->next){ for(temp_contactgroupsmember=temp_host->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ - if(!strcmp(temp_contactgroup->group_name,temp_contactgroupsmember->group_name)){ + + /* Ignore permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) + *perms = '\0'; + + if(!strcmp(temp_contactgroup->group_name,temp_contactgroup_name)){ found=TRUE; + if (temp_contactgroup_name) + free (temp_contactgroup_name); break; } + if (temp_contactgroup_name) + free (temp_contactgroup_name); } if(found==TRUE) break; @@ -2249,10 +2278,21 @@ if(found==FALSE){ for(temp_service=service_list;temp_service!=NULL;temp_service=temp_service->next){ for(temp_contactgroupsmember=temp_service->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ - if(!strcmp(temp_contactgroup->group_name,temp_contactgroupsmember->group_name)){ + + /* Ignore permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) + *perms = '\0'; + + if(!strcmp(temp_contactgroup->group_name,temp_contactgroup_name)){ found=TRUE; + if (temp_contactgroup_name) + free (temp_contactgroup_name); break; } + if (temp_contactgroup_name) + free (temp_contactgroup_name); } if(found==TRUE) break; @@ -2261,10 +2301,20 @@ if(found==FALSE){ for(temp_se=serviceescalation_list;temp_se!=NULL;temp_se=temp_se->next){ for(temp_contactgroupsmember=temp_se->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ - if(!strcmp(temp_contactgroup->group_name,temp_contactgroupsmember->group_name)){ + /* Ignore permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) + *perms = '\0'; + + if(!strcmp(temp_contactgroup->group_name,temp_contactgroup_name)){ + if (temp_contactgroup_name) + free (temp_contactgroup_name); found=TRUE; break; } + if (temp_contactgroup_name) + free (temp_contactgroup_name); } if(found==TRUE) break; @@ -2273,10 +2323,20 @@ if(found==FALSE){ for(temp_he=hostescalation_list;temp_he!=NULL;temp_he=temp_he->next){ for(temp_contactgroupsmember=temp_he->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ - if(!strcmp(temp_contactgroup->group_name,temp_contactgroupsmember->group_name)){ + /* Ignore permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) + *perms = '\0'; + + if(!strcmp(temp_contactgroup->group_name,temp_contactgroup_name)){ found=TRUE; + if (temp_contactgroup_name) + free (temp_contactgroup_name); break; } + if (temp_contactgroup_name) + free (temp_contactgroup_name); } if(found==TRUE) break; Only in nagios-2.8/base: config.c~ Only in nagios-2.8/base: config.c.orig Only in nagios-2.8/base: config.c.rej Only in nagios-2.8/base: Makefile diff -ur nagios-2.8.org/base/nagios.c nagios-2.8/base/nagios.c --- nagios-2.8.org/base/nagios.c 2007-03-08 11:12:05.000000000 -0500 +++ nagios-2.8/base/nagios.c 2007-09-17 11:18:10.000000000 -0400 @@ -213,7 +213,7 @@ int external_command_buffer_slots=DEFAULT_EXTERNAL_COMMAND_BUFFER_SLOTS; int check_result_buffer_slots=DEFAULT_CHECK_RESULT_BUFFER_SLOTS; - +char *default_permissions; /* Following main() declaration required by older versions of Perl ut 5.00503 */ #ifdef EMBEDDEDPERL Only in nagios-2.8/base: nagios.c.orig Only in nagios-2.8/base: nebmods.o diff -ur nagios-2.8.org/base/notifications.c nagios-2.8/base/notifications.c --- nagios-2.8.org/base/notifications.c 2007-01-19 23:25:40.000000000 -0500 +++ nagios-2.8/base/notifications.c 2007-09-17 11:18:10.000000000 -0400 @@ -45,7 +45,7 @@ extern char *generic_summary; - +extern char *default_permissions; /******************************************************************/ /***************** SERVICE NOTIFICATION FUNCTIONS *****************/ @@ -832,7 +832,7 @@ /* find all contacts for this service */ for(temp_contact=contact_list;temp_contact!=NULL;temp_contact=temp_contact->next){ - if(is_contact_for_service(svc,temp_contact)==TRUE) + if(is_contact_for_service_perm(svc,temp_contact,default_permissions,'n')==TRUE) add_notification(temp_contact); } } @@ -1572,7 +1572,7 @@ /* get all contacts for this host */ for(temp_contact=contact_list;temp_contact!=NULL;temp_contact=temp_contact->next){ - if(is_contact_for_host(hst,temp_contact)==TRUE) + if(is_contact_for_host_perm(hst,temp_contact,default_permissions,'n')==TRUE) add_notification(temp_contact); } } diff -ur nagios-2.8.org/cgi/cgiauth.c nagios-2.8/cgi/cgiauth.c --- nagios-2.8.org/cgi/cgiauth.c 2005-11-16 03:49:35.000000000 -0500 +++ nagios-2.8/cgi/cgiauth.c 2007-09-17 11:18:10.000000000 -0400 @@ -43,8 +43,7 @@ extern int services_have_been_read; extern int serviceescalations_have_been_read; extern int hostescalations_have_been_read; - - +extern char *default_permissions; /* get current authentication information */ int get_authentication_information(authdata *authinfo){ @@ -218,11 +217,11 @@ temp_contact=find_contact(authinfo->username); /* see if this user is a contact for the host */ - if(is_contact_for_host(hst,temp_contact)==TRUE) + if(is_contact_for_host_perm(hst,temp_contact,default_permissions,'r')==TRUE) return TRUE; /* see if this user is an escalated contact for the host */ - if(is_escalated_contact_for_host(hst,temp_contact)==TRUE) + if(is_escalated_contact_for_host_perm(hst,temp_contact,default_permissions,'r')==TRUE) return TRUE; return FALSE; @@ -295,18 +294,18 @@ return FALSE; /* if this user is authorized for this host, they are for all services on it as well... */ - if(is_authorized_for_host(temp_host,authinfo)==TRUE) - return TRUE; + /* if(is_authorized_for_host(temp_host,authinfo)==TRUE) + return TRUE;*/ /* find the contact */ temp_contact=find_contact(authinfo->username); /* see if this user is a contact for the service */ - if(is_contact_for_service(svc,temp_contact)==TRUE) + if(is_contact_for_service_perm(svc,temp_contact,default_permissions,'r')==TRUE) return TRUE; /* see if this user is an escalated contact for the service */ - if(is_escalated_contact_for_service(svc,temp_contact)==TRUE) + if(is_escalated_contact_for_service_perm(svc,temp_contact,default_permissions,'r')==TRUE) return TRUE; return FALSE; @@ -415,20 +414,20 @@ /* find the contact */ temp_contact=find_contact(authinfo->username); - /* see if this user is a contact for the host */ - if(is_contact_for_host(temp_host,temp_contact)==TRUE) + /* see if this user is a contact for the host with permissions */ + if(is_contact_for_host_perm(temp_host,temp_contact,default_permissions,'x')==TRUE) return TRUE; /* see if this user is an escalated contact for the host */ - if(is_escalated_contact_for_host(temp_host,temp_contact)==TRUE) + if(is_escalated_contact_for_host_perm(temp_host,temp_contact,default_permissions,'x')==TRUE) return TRUE; - /* this user is a contact for the service, so they have permission... */ - if(is_contact_for_service(svc,temp_contact)==TRUE) + /* see if this user is a contact for the service with permissions */ + if(is_contact_for_service_perm(svc,temp_contact,default_permissions,'x')==TRUE) return TRUE; /* this user is an escalated contact for the service, so they have permission... */ - if(is_escalated_contact_for_service(svc,temp_contact)==TRUE) + if(is_escalated_contact_for_service_perm(svc,temp_contact,default_permissions,'x')==TRUE) return TRUE; /* this user is not a contact for the host, so they must have been given explicit permissions to all service commands */ @@ -462,11 +461,11 @@ temp_contact=find_contact(authinfo->username); /* this user is a contact for the host, so they have permission... */ - if(is_contact_for_host(hst,temp_contact)==TRUE) + if(is_contact_for_host_perm(hst,temp_contact,default_permissions,'x')==TRUE) return TRUE; /* this user is an escalated contact for the host, so they have permission... */ - if(is_escalated_contact_for_host(hst,temp_contact)==TRUE) + if(is_escalated_contact_for_host_perm(hst,temp_contact,default_permissions,'x')==TRUE) return TRUE; /* this user is not a contact for the host, so they must have been given explicit permissions to all host commands */ Only in nagios-2.8/cgi: cgiauth.c.orig diff -ur nagios-2.8.org/cgi/cgiutils.c nagios-2.8/cgi/cgiutils.c --- nagios-2.8.org/cgi/cgiutils.c 2006-11-13 13:40:34.000000000 -0500 +++ nagios-2.8/cgi/cgiutils.c 2007-09-17 11:18:10.000000000 -0400 @@ -113,6 +113,8 @@ int default_statusmap_layout_method=0; int default_statuswrl_layout_method=0; +char *default_permissions=NULL; + extern hostgroup *hostgroup_list; extern contactgroup *contactgroup_list; extern command *command_list; @@ -458,6 +460,13 @@ continue; ping_syntax=strdup(temp_buffer); } + else if(strstr(input,"default_permissions=")==input){ + temp_buffer=strtok(input,"="); + temp_buffer=strtok(NULL,"\n"); + if(temp_buffer==NULL) + continue; + default_permissions=strdup(temp_buffer); + } } Only in nagios-2.8/cgi: Makefile Only in nagios-2.8/common: Makefile diff -ur nagios-2.8.org/common/objects.c nagios-2.8/common/objects.c --- nagios-2.8.org/common/objects.c 2006-02-24 19:16:57.000000000 -0500 +++ nagios-2.8/common/objects.c 2007-09-17 11:18:10.000000000 -0400 @@ -71,7 +71,6 @@ hostescalation **hostescalation_hashlist=NULL; serviceescalation **serviceescalation_hashlist=NULL; - #ifdef NSCORE int __nagios_object_structure_version=CURRENT_OBJECT_STRUCTURE_VERSION; #endif @@ -4925,6 +4924,8 @@ /* find a contact group from the list in memory */ contactgroup * find_contactgroup(char *name){ contactgroup *temp_contactgroup; + char *temp_contactgroup_name; + char *perms; #ifdef DEBUG0 printf("find_contactgroup() start\n"); @@ -4933,11 +4934,21 @@ if(name==NULL || contactgroup_hashlist==NULL) return NULL; - for(temp_contactgroup=contactgroup_hashlist[hashfunc1(name,CONTACTGROUP_HASHSLOTS)];temp_contactgroup && compare_hashdata1(temp_contactgroup->group_name,name)<0;temp_contactgroup=temp_contactgroup->nexthash); + /* Ignore permissions */ + temp_contactgroup_name = strdup(name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) + *perms = '\0'; + + for(temp_contactgroup=contactgroup_hashlist[hashfunc1(temp_contactgroup_name,CONTACTGROUP_HASHSLOTS)];temp_contactgroup && compare_hashdata1(temp_contactgroup->group_name,temp_contactgroup_name)<0;temp_contactgroup=temp_contactgroup->nexthash); - if(temp_contactgroup && (compare_hashdata1(temp_contactgroup->group_name,name)==0)) + if(temp_contactgroup && (compare_hashdata1(temp_contactgroup->group_name,temp_contactgroup_name)==0)) return temp_contactgroup; + if(temp_contactgroup_name) + free(temp_contactgroup_name); + + #ifdef DEBUG0 printf("find_contactgroup() end\n"); #endif @@ -5426,7 +5437,9 @@ int is_contact_for_host(host *hst, contact *cntct){ contactgroupsmember *temp_contactgroupsmember; contactgroup *temp_contactgroup; - + char *temp_contactgroup_name; + char *perms; + if(hst==NULL || cntct==NULL){ return FALSE; } @@ -5434,8 +5447,16 @@ /* search all contact groups of this host */ for(temp_contactgroupsmember=hst->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + /* Ignore permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) + *perms = '\0'; + /* find the contact group */ - temp_contactgroup=find_contactgroup(temp_contactgroupsmember->group_name); + temp_contactgroup=find_contactgroup(temp_contactgroup_name); + if (temp_contactgroup_name) + free (temp_contactgroup_name); if(temp_contactgroup==NULL) continue; @@ -5446,6 +5467,56 @@ return FALSE; } +/* tests whether a contact is a contact for a particular host with execute permissions */ +int is_contact_for_host_perm(host *hst, contact *cntct, char *default_perm, char perm){ + contactgroupsmember *temp_contactgroupsmember; + contactgroup *temp_contactgroup; + char *temp_contactgroup_name; + char *perms; + + if(hst==NULL || cntct==NULL){ + return FALSE; + } + + /* search all contact groups of this host */ + for(temp_contactgroupsmember=hst->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + + /* Check for permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) { + perms = strchr(perms, perm); + if (! (perms)) { /* permission not found so deny */ + if (temp_contactgroup_name) + free(temp_contactgroup_name); + continue; + } + } + else if (default_perm) { + /* No permissions defined for host, but default permissions found */ + perms = strchr(default_perm, perm); + if (! (perms)) { /* permission not found so deny */ + if (temp_contactgroup_name) + free(temp_contactgroup_name); + continue; + } + } + + /* No permissions set so defaulting to full access, or user has permission */ + + /* find the contact group */ + temp_contactgroup=find_contactgroup(temp_contactgroup_name); + if (temp_contactgroup_name) + free(temp_contactgroup_name); + if(temp_contactgroup==NULL) + continue; + + if(is_contact_member_of_contactgroup(temp_contactgroup,cntct)==TRUE) + return TRUE; + } + + return FALSE; + } /* tests whether or not a contact is an escalated contact for a particular host */ @@ -5475,11 +5546,68 @@ return FALSE; } +/* tests whether or not a contact is an escalated contact for a particular host with execute permissions */ +int is_escalated_contact_for_host_perm(host *hst, contact *cntct, char *default_perm, char perm){ + contactgroupsmember *temp_contactgroupsmember; + contactgroup *temp_contactgroup; + hostescalation *temp_hostescalation; + char *temp_contactgroup_name; + char *perms; + + + /* search all host escalations */ + for(temp_hostescalation=get_first_hostescalation_by_host(hst->name);temp_hostescalation!=NULL;temp_hostescalation=get_next_hostescalation_by_host(hst->name,temp_hostescalation)){ + + /* search all the contact groups in this escalation... */ + for(temp_contactgroupsmember=temp_hostescalation->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + + /* Check for permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) { + perms = strchr(perms, perm); + if (! (perms)) { /* permission not found so deny */ + if (temp_contactgroup_name) + free(temp_contactgroup_name); + continue; + } + } + else if (default_perm) { + /* No permissions defined for host, but default permissions found */ + perms = strchr(default_perm, perm); + if (! (perms)) { /* permission not found so deny */ + if (temp_contactgroup_name) + free(temp_contactgroup_name); + continue; + } + } + + /* No permissions set so defaulting to full access, or user has permission */ + + /* find the contact group */ + temp_contactgroup=find_contactgroup(temp_contactgroup_name); + + if (temp_contactgroup_name) + free(temp_contactgroup_name); + + if(temp_contactgroup==NULL) + continue; + + /* see if the contact is a member of this contact group */ + if(is_contact_member_of_contactgroup(temp_contactgroup,cntct)==TRUE) + return TRUE; + } + } + + return FALSE; + } /* tests whether a contact is a contact for a particular service */ int is_contact_for_service(service *svc, contact *cntct){ contactgroupsmember *temp_contactgroupsmember; contactgroup *temp_contactgroup; + char *temp_contactgroup_name; + char *perms; if(svc==NULL || cntct==NULL) return FALSE; @@ -5487,8 +5615,16 @@ /* search all contact groups of this service */ for(temp_contactgroupsmember=svc->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + /* Ignore permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) + *perms = '\0'; + /* find the contact group */ - temp_contactgroup=find_contactgroup(temp_contactgroupsmember->group_name); + temp_contactgroup=find_contactgroup(temp_contactgroup_name); + if (temp_contactgroup_name) + free (temp_contactgroup_name); if(temp_contactgroup==NULL) continue; @@ -5499,6 +5635,56 @@ return FALSE; } +/* tests whether a contact is a contact for a particular service with execute permissions */ +int is_contact_for_service_perm(service *svc, contact *cntct, char *default_perm, char perm){ + contactgroupsmember *temp_contactgroupsmember; + contactgroup *temp_contactgroup; + char *temp_contactgroup_name; + char *perms; + + if(svc==NULL || cntct==NULL) + return FALSE; + + /* search all contact groups of this service */ + for(temp_contactgroupsmember=svc->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + + + /* Check for permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) { + perms = strchr(perms, perm); + if (! (perms)) { /* permission not found so deny */ + if (temp_contactgroup_name) + free(temp_contactgroup_name); + continue; + } + } + else if (default_perm) { + /* No permissions defined for service, but default permissions found */ + perms = strchr(default_perm, perm); + if (! (perms)) { /* permission not found so deny */ + if (temp_contactgroup_name) + free(temp_contactgroup_name); + continue; + } + } + + /* No permissions set so defaulting to full access, or user has permission */ + + /* find the contact group */ + temp_contactgroup=find_contactgroup(temp_contactgroup_name); + if (temp_contactgroup_name) + free (temp_contactgroup_name); + if(temp_contactgroup==NULL) + continue; + + if(is_contact_member_of_contactgroup(temp_contactgroup,cntct)==TRUE) + return TRUE; + } + + return FALSE; + } /* tests whether or not a contact is an escalated contact for a particular service */ @@ -5528,6 +5714,58 @@ } +/* tests whether or not a contact is an escalated contact for a particular service with execute permissions */ +int is_escalated_contact_for_service_perm(service *svc, contact *cntct, char *default_perm, char perm){ + serviceescalation *temp_serviceescalation; + contactgroupsmember *temp_contactgroupsmember; + contactgroup *temp_contactgroup; + char *temp_contactgroup_name; + char *perms; + + /* search all the service escalations */ + for(temp_serviceescalation=get_first_serviceescalation_by_service(svc->host_name,svc->description);temp_serviceescalation!=NULL;temp_serviceescalation=get_next_serviceescalation_by_service(svc->host_name,svc->description,temp_serviceescalation)){ + + /* search all the contact groups in this escalation... */ + for(temp_contactgroupsmember=temp_serviceescalation->contact_groups;temp_contactgroupsmember!=NULL;temp_contactgroupsmember=temp_contactgroupsmember->next){ + + /* Check for permissions */ + temp_contactgroup_name = strdup(temp_contactgroupsmember->group_name); + perms = strchr(temp_contactgroup_name, ':'); + if (perms) { + perms = strchr(perms, perm); + if (! (perms)) { /* permission not found so deny */ + if (temp_contactgroup_name) + free(temp_contactgroup_name); + continue; + } + } + else if (default_perm) { + /* No permissions defined for service, but default permissions found */ + perms = strchr(default_perm, perm); + if (! (perms)) { /* permission not found so deny */ + if (temp_contactgroup_name) + free(temp_contactgroup_name); + continue; + } + } + + /* No permissions set so defaulting to full access, or user has permission */ + + /* find the contact group */ + temp_contactgroup=find_contactgroup(temp_contactgroup_name); + if(temp_contactgroup==NULL) + continue; + + /* see if the contact is a member of this contact group */ + if(is_contact_member_of_contactgroup(temp_contactgroup,cntct)==TRUE) + return TRUE; + } + } + + return FALSE; + } + + #ifdef NSCORE /* checks to see if there exists a circular parent/child path for a host */ Only in nagios-2.8/common: objects.c.orig Only in nagios-2.8: config.log Only in nagios-2.8: config.status Only in nagios-2.8/contrib: Makefile Only in nagios-2.8: daemon-init Only in nagios-2.8/html: index.html Only in nagios-2.8/html: Makefile Only in nagios-2.8/html: side.html Only in nagios-2.8/include: cgiutils.h Only in nagios-2.8/include: config.h Only in nagios-2.8/include: locations.h Only in nagios-2.8/include: Makefile Only in nagios-2.8/include: nagios.h Only in nagios-2.8/include: snprintf.h Only in nagios-2.8: Makefile Only in nagios-2.8/module: Makefile Only in nagios-2.8: pkginfo Only in nagios-2.8/sample-config: cgi.cfg diff -ur nagios-2.8.org/sample-config/cgi.cfg.in nagios-2.8/sample-config/cgi.cfg.in --- nagios-2.8.org/sample-config/cgi.cfg.in 2006-11-21 21:22:41.000000000 -0500 +++ nagios-2.8/sample-config/cgi.cfg.in 2007-09-17 11:18:10.000000000 -0400 @@ -170,6 +170,16 @@ +# DEFAULT HOST/SERVICE PERMISSIONS +# This option contains a list of default permissions for hosts and +# services that will be used when permissions are not explicitly +# set on a host or service. When not defined, the default is all +# permissions (rwxn). Note: This option must be set the same in +# both cgi.cfg and nagios.cfg. + +#default_permissions=rwxn + + # STATUSMAP BACKGROUND IMAGE # This option allows you to specify an image to be used as a Only in nagios-2.8/sample-config: httpd.conf Only in nagios-2.8/sample-config: mrtg.cfg Only in nagios-2.8/sample-config: nagios.cfg diff -ur nagios-2.8.org/sample-config/nagios.cfg.in nagios-2.8/sample-config/nagios.cfg.in --- nagios-2.8.org/sample-config/nagios.cfg.in 2006-12-21 20:43:20.000000000 -0500 +++ nagios-2.8/sample-config/nagios.cfg.in 2007-09-17 11:24:58.000000000 -0400 @@ -965,3 +965,12 @@ +# DEFAULT HOST/SERVICE PERMISSIONS +# This option contains a list of default permissions for hosts and +# services that will be used when permissions are not explicitly +# set on a host or service. When not defined, the default is all +# permissions (rwxn). Note: This option must be set the same in +# both cgi.cfg and nagios.cfg. + +#default_permissions=rwxn + Only in nagios-2.8/sample-config: nagios.cfg.in~ Only in nagios-2.8/sample-config: nagios.cfg.in.orig Only in nagios-2.8/sample-config: nagios.cfg.in.rej Only in nagios-2.8/sample-config: resource.cfg Only in nagios-2.8/sample-config/template-object: commands.cfg Only in nagios-2.8/sample-config/template-object: localhost.cfg Only in nagios-2.8: subst Only in nagios-2.8/xdata: Makefile