-
Type:
Bug
-
Status: Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: OpenDNSSEC 1.4.7
-
Fix Version/s: None
-
Component/s: Enforcer
-
Labels:None
-
Environment:
opendnssec 1.4/devel
ods-ksmutil doesn't keep track of the configuration file passed with -c. In enforcer/utils/ksmutil.c the following code is used:
static int restart_enforcerd() { /* ToDo: This should really be rewritten so that it will read OPENDNSSEC_ENFORCER_PIDFILE and send a SIGHUP itself */ return system(ODS_EN_NOTIFY); }
Here ODS_EN_NOTIFY is defined in common/config.h as
#define ODS_EN_NOTIFY "/usr/sbin/ods-control enforcer notify"
That shell script then goes and sets
configfile="/etc/opendnssec/conf.xml
from which it retrieves PID filename etc. by querying the XML.
Be that as it may, an ods-ksmutil -c my.conf will, when it is time to HUP the enforcer, HUP the wrong process.
If ksm-util at the very least exported the path to the file specified with -c, ods-control could be made to work:
setenv("ODS_CONFIGFILE", "my.conf", TRUE);
then in ods-control:
configfile=${ODS_CONFIGFILE:="/etc/opendnssec/conf.xml"}