diff -Naur cfengine-current/src/install.c cfengine-new/src/install.c --- cfengine-current/src/install.c 2004-04-26 23:07:36.000000000 -0700 +++ cfengine-new/src/install.c 2004-04-26 23:30:01.000000000 -0700 @@ -124,6 +124,8 @@ yyerror("domain is empty"); } + strcpy(buffer,VFQNAME); + if (!StrStr(VSYSNAME.nodename,VDOMAIN)) { snprintf(VFQNAME,CF_BUFSIZE,"%s.%s",VSYSNAME.nodename,ToLowerStr(VDOMAIN)); @@ -148,9 +150,19 @@ FatalError("The fully qualified name is longer than CF_MAXVARSIZE!!"); } + if (IsItemIn(VHEAP,CanonifyName(buffer))) + { + DeleteClassFromHeap(buffer); + } + if (IsItemIn(VHEAP,CanonifyName(ToLowerStr(buffer)))) + { + DeleteClassFromHeap(ToLowerStr(buffer)); + } + strcpy(buffer,VFQNAME); AddClassToHeap(CanonifyName(buffer)); + AddClassToHeap(CanonifyName(ToLowerStr(buffer))); } break; @@ -1657,25 +1669,7 @@ switch (type) { - case simple: if (strcmp(ebuff,VDEFAULTBINSERVER.name) == 0) - { - AddClassToHeap(GROUPBUFF); - break; - } - - if (strcmp(ebuff,VFQNAME) == 0) - { - AddClassToHeap(GROUPBUFF); - break; - } - - if (IsItemIn(VHEAP,ebuff)) /* group reference */ - { - AddClassToHeap(GROUPBUFF); - break; - } - - if (IsDefinedClass(ebuff)) + case simple: if (IsDefinedClass(ebuff)) { AddClassToHeap(GROUPBUFF); break; @@ -1689,14 +1683,7 @@ while (getnetgrent(&machine,&user,&domain)) { - if (strcmp(machine,VDEFAULTBINSERVER.name) == 0) - { - Debug1("Matched %s in netgroup %s\n",machine,ebuff); - AddClassToHeap(GROUPBUFF); - break; - } - - if (strcmp(machine,VFQNAME) == 0) + if (IsDefinedClass(machine)) { Debug1("Matched %s in netgroup %s\n",machine,ebuff); AddClassToHeap(GROUPBUFF); @@ -1714,14 +1701,7 @@ while (getnetgrent(&machine,&user,&domain)) { - if (strcmp(machine,VDEFAULTBINSERVER.name) == 0) - { - Debug1("Matched delete item %s in netgroup %s\n",machine,ebuff); - DeleteItemStarting(&VHEAP,GROUPBUFF); - break; - } - - if (strcmp(machine,VFQNAME) == 0) + if (IsDefinedClass(machine)) { Debug1("Matched delete item %s in netgroup %s\n",machine,ebuff); DeleteItemStarting(&VHEAP,GROUPBUFF);