/* sys_tai.c - System tailoring routines */
static char *rcsid
= "$Header: /f/osi/quipu/RCS/sys_tai.c,v 7.3 91/02/22 09:39:53 mrose Interim $";
* $Header: /f/osi/quipu/RCS/sys_tai.c,v 7.3 91/02/22 09:39:53 mrose Interim $
* Revision 7.3 91/02/22 09:39:53 mrose
* Revision 7.2 90/10/17 11:54:46 mrose
* Revision 7.1 90/07/09 14:46:38 mrose
* Revision 7.0 89/11/23 22:18:08 mrose
* Acquisition, use, and distribution of this module and related
* materials are subject to the restrictions of a license agreement.
* Consult the Preface in the User's Manual for the full terms of
#include "quipu/policy.h"
extern char *isodelogpath
,
extern char startup_update
;
extern time_t admin_time
;
extern time_t cache_timeout
;
extern time_t retry_timeout
;
extern time_t slave_timeout
;
extern time_t conn_timeout
;
extern time_t nsap_timeout
;
extern unsigned watchdog_time
;
extern unsigned watchdog_delta
;
extern int optimized_only
;
unsigned bind_policy
= POLICY_ACCESS_ALL
;
unsigned strong_policy
= POLICY_ACCESS_ALL
;
extern unsigned str2permission();
#define WATCHDOG_DELTA 35
#define OPTIMIZED_ONLY 41
#define INDEX_SIBLINGS 43
static CMD_TABLE cmdtab
[] =
"DSPCHAINING", DSP_CHAIN
,
"LASTMODIFIED", LAST_MOD
,
"SEARCHLEVEL", SEARCH_LEVEL
,
"BINDWINDOW", BIND_WINDOW
,
"WATCHDOG_TIME", WATCHDOG_TIME
,
"WATCHDOG_DELTA", WATCHDOG_DELTA
,
"BIND_POLICY", BIND_POLICY
,
"STRONG_POLICY", STRONG_POLICY
,
"OPTIMIZE_ATTR", OPTIMIZE_ATTR
,
"OPTIMIZED_ONLY", OPTIMIZED_ONLY
,
"INDEX_SUBTREE", INDEX_SUBTREE
,
"INDEX_SIBLINGS", INDEX_SIBLINGS
,
static CMD_TABLE authtab
[] =
* do system wide initialisations
switch(cmd_srch(argv
[0], cmdtab
))
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor LOGDIR %s", arg
));
isodelogpath
= strdup (arg
);
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor STATS %s", arg
));
log_tai(log_stat
, &argv
[1], argc
-1);
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor SYSLOG %s", arg
));
log_tai(log_dsap
, &argv
[1], argc
-1);
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor OIDTable=%s", arg
));
dsaoidtable
= strdup (arg
);
load_oid_table (dsaoidtable
);
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor OIDFMT=%s", arg
));
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor Rootdir %s", arg
));
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor Myname %s", arg
));
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor DSPChaining %s", arg
));
if (lexequ (arg
,"on") == 0)
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor last modified %s", arg
));
if (lexequ (arg
,"on") == 0)
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor Update %s", arg
));
if (lexequ (arg
,"on") == 0)
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor read only", arg
));
if (lexequ (arg
,"on") == 0)
search_level
= atoi (arg
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor search level %d", search_level
));
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor admin size %d", admin_size
));
(void) sscanf (arg
, "%ld", &admin_time
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor admin time %ld", admin_time
));
(void) sscanf (arg
, "%ld", &cache_timeout
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor cache time %ld", cache_timeout
));
(void) sscanf (arg
, "%ld", &retry_timeout
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor retry time %ld", retry_timeout
));
(void) sscanf (arg
, "%ld", &slave_timeout
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor slave time %ld", slave_timeout
));
(void) sscanf (arg
, "%ld", &conn_timeout
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor conn time %ld", conn_timeout
));
(void) sscanf (arg
, "%ld", &nsap_timeout
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor nsap time %ld", nsap_timeout
));
(void) sscanf (arg
, "%d", &watchdog_time
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor watchdog time %d", watchdog_time
));
(void) sscanf (arg
, "%d", &watchdog_delta
);
DLOG (log_dsap
,LLOG_TRACE
,(" Tailor watchdog delta %d", watchdog_delta
));
bind_policy
= str2permission(arg
);
DLOG(log_dsap
,LLOG_TRACE
,("Bind policy %d", bind_policy
));
strong_policy
= str2permission(arg
);
DLOG(log_dsap
,LLOG_TRACE
,("Strong auth. policy %d", strong_policy
));
if (add_ca_key(arg
) == OK
)
DLOG (log_dsap
,LLOG_TRACE
,("Certification Authority: %s", arg
));
LLOG (log_dsap
,LLOG_EXCEPTIONS
,("CA FAILURE: Certification Authority: %s ", arg
));
if (set_secret_key(arg
) == OK
)
DLOG (log_dsap
,LLOG_TRACE
,("Secret key read from %s", arg
));
LLOG (log_dsap
,LLOG_EXCEPTIONS
,("Secret key NOT read from %s", arg
));
LLOG(log_dsap
,LLOG_EXCEPTIONS
,("Invalid bind window %s", arg
));
DLOG (log_dsap
, LLOG_TRACE
,("Bind window %d", bind_window
));
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor prefer dsa %s", arg
));
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor parent name %s, address %s", arg
,argv
[2]));
add_str_parent (arg
,argv
[2]);
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor Isode %s%s",arg
,argv
[2]));
(void) isodesetvar(arg
,strdup(argv
[2]),0);
auth_bind
= cmd_srch(arg
, authtab
);
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor authentication", arg
));
DLOG (log_dsap
,LLOG_TRACE
,( "Tailor shadow %s", arg
));
if (lexequ(arg
, "on") == 0)
DLOG(log_dsap
, LLOG_TRACE
, ("Tailor optimized only %s", arg
));
DLOG(log_dsap
, LLOG_TRACE
, (" Tailor optimize (%s)", arg
));
DLOG(log_dsap
, LLOG_TRACE
, ("Tailor index subtree %s", arg
));
DLOG(log_dsap
, LLOG_TRACE
, ("Tailor index siblings %s", arg
));