bug-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Links / binserver related bugs in cfengine 2.1.19


From: Jason Lander
Subject: Links / binserver related bugs in cfengine 2.1.19
Date: Thu, 2 Mar 2006 10:38:00 +0000 (GMT)


(Resent. The original didn't seem to make it to the list)

I am a long time - and largely contented - cfengine user, but have only
recently joined this list. I apologise for the rambing message - I'm
trying to type as I debug.

Some of the changes between versions 2.1.18 and 2.1.19 have broken my
cfengine configuration. The config does not use the cfengine model and
we do not define binservers and homeservers.

There are two symptoms:

* Groups defined using unqualified host names are ignored.
  Using FQDNs does work.

* Symbolic links are not created, e.g. using

     /apps/umui-2.0.1.4 -> /nfs/env-apps-01_apps06/umui-2.0.1.4

  gives a message like

     Links didn't find any file to match /apps/umui-2.0.1.4 ->
                  /nfs/env-apps-01_apps06/umui-2.0.1.4


The first symptom is partly due to what would appear to be a bug in
nameinfo.c. The code for GetNameInfo uses

  VDEFAULTBINSERVER.name = sp

rather than

  VDEFAULTBINSERVER.name = strdup(sp)

The `sp' buffer is free()d a few lines later. The value of
VDEFAULTBINSERVER.name is used in the groups checks

A patch for this is below.


The links error message would appear to be related to the fact that the
local host is no longer on the list of binservers.

The code in MakeLinks within do.c only attempts to call the appropriate
linking routine if it can iterate over the VBINSERVER list, VBINSERVER is
empty as globals.c has been modified to replace

  PROTECTED  struct Item *VBINSERVERS = &VDEFAULTBINSERVER;

with

  PROTECTED  struct Item *VBINSERVERS = NULL;

cfagent.c apparently tries to make set VDEFAULTBINSERVER to the head of
VBINSERVER list.

Explicitly adding `localhost' as a binserver seems to help, but I do not
know if this is a long term solution.

- Jason

--- cfengine-2.1.19/src/nameinfo.c-ORIG Mon Feb 27 23:08:05 2006
+++ cfengine-2.1.19/src/nameinfo.c      Mon Feb 27 23:13:22 2006
@@ -145,7 +145,7 @@
       }
    }

-VDEFAULTBINSERVER.name = sp;
+VDEFAULTBINSERVER.name = strdup(sp);

 AddClassToHeap(CanonifyName(sp));





reply via email to

[Prev in Thread] Current Thread [Next in Thread]