|
|
1.1 root 1: /* sys_tai.c - System tailoring routines */
2:
3: #ifndef lint
4: static char *rcsid = "$Header: /f/osi/quipu/RCS/sys_tai.c,v 7.1 90/07/09 14:46:38 mrose Exp $";
5: #endif
6:
7: /*
8: * $Header: /f/osi/quipu/RCS/sys_tai.c,v 7.1 90/07/09 14:46:38 mrose Exp $
9: *
10: *
11: * $Log: sys_tai.c,v $
12: * Revision 7.1 90/07/09 14:46:38 mrose
13: * sync
14: *
15: * Revision 7.0 89/11/23 22:18:08 mrose
16: * Release 6.0
17: *
18: */
19:
20: /*
21: * NOTICE
22: *
23: * Acquisition, use, and distribution of this module and related
24: * materials are subject to the restrictions of a license agreement.
25: * Consult the Preface in the User's Manual for the full terms of
26: * this agreement.
27: *
28: */
29:
30:
31: #include "quipu/util.h"
32: #include "cmd_srch.h"
33:
34: extern char *isodelogpath,
35: *treedir,
36: *dsaoidtable,
37: *mydsaname;
38:
39: extern char startup_update;
40: extern int oidformat;
41: extern int no_dsp_chain;
42: extern int no_last_mod;
43: extern int search_level;
44: extern int read_only;
45: extern int turbo_size;
46: extern int turbo_name_size;
47: extern int admin_size;
48: extern time_t admin_time;
49: extern time_t cache_timeout;
50: extern time_t retry_timeout;
51: extern time_t slave_timeout;
52: extern time_t conn_timeout;
53: extern time_t nsap_timeout;
54: extern int bind_window;
55: extern unsigned watchdog_time;
56: extern unsigned watchdog_delta;
57: extern LLog * log_dsap;
58: #ifndef NO_STATS
59: extern LLog * log_stat;
60: #endif
61:
62: #define MLOGDIR 1
63: #define SYSLOG 2
64: #define OIDTAB 4
65: #define OIDFMT 5
66: #define ROOTDIR 8
67: #define MYDSANAME 11
68: #define PARENT 12
69: #define STATS 13
70: #define START_UPDATE 15
71: #define DSP_CHAIN 16
72: #define SEARCH_LEVEL 17
73: #define ISODE_TAILOR 18
74: #define LAST_MOD 19
75: #define ADMIN_SIZE 20
76: #define ADMIN_TIME 21
77: #define PREFER_DSA 22
78: #define CACHE_TIME 23
79: #define CONN_TIME 24
80: #define SLAVE_TIME 25
81: #define RETRY_TIME 26
82: #define CA_INFO 27
83: #define SECRET_KEY 28
84: #define NSAP_TIME 29
85: #define READ_ONLY 30
86: #define BIND_WINDOW 31
87: #define TURBO_SIZE 32
88: #define TURBO_NAME 33
89: #define WATCHDOG_TIME 34
90: #define WATCHDOG_DELTA 35
91:
92: static CMD_TABLE cmdtab[] =
93: {
94: "LOGDIR", MLOGDIR,
95: "DSAPLOG", SYSLOG,
96: "OIDTABLE", OIDTAB,
97: "OIDFORMAT", OIDFMT,
98: "TREEDIR", ROOTDIR,
99: "MYDSANAME", MYDSANAME,
100: "PARENT", PARENT,
101: "UPDATE", START_UPDATE,
102: "DSPCHAINING", DSP_CHAIN,
103: "LASTMODIFIED", LAST_MOD,
104: "SEARCHLEVEL", SEARCH_LEVEL,
105: "ISODE", ISODE_TAILOR,
106: "ADMINSIZE", ADMIN_SIZE,
107: "ADMINTIME", ADMIN_TIME,
108: "CACHETIME", CACHE_TIME,
109: "SLAVETIME", SLAVE_TIME,
110: "RETRYTIME", RETRY_TIME,
111: "CONNTIME", CONN_TIME,
112: "NSAPTIME", NSAP_TIME,
113: "CAINFO", CA_INFO,
114: "SECRETKEY", SECRET_KEY,
115: "PREFERDSA", PREFER_DSA,
116: "READONLY", READ_ONLY,
117: "BINDWINDOW", BIND_WINDOW,
118: "TURBO_SIZE", TURBO_SIZE,
119: "TURBO_NAME_SIZE", TURBO_NAME,
120: "WATCHDOG_TIME", WATCHDOG_TIME,
121: "WATCHDOG_DELTA", WATCHDOG_DELTA,
122: #ifndef NO_STATS
123: "STATS", STATS,
124: #endif
125: 0, -1,
126: };
127:
128:
129: /*
130: * do system wide initialisations
131: */
132:
133: dsa_sys_tai (argc, argv)
134: char **argv;
135: {
136: char *arg;
137:
138: if(argc < 2)
139: return(NOTOK);
140: arg = argv[1];
141:
142: switch(cmd_srch(argv[0], cmdtab))
143: {
144: case MLOGDIR:
145: DLOG (log_dsap,LLOG_TRACE,( "Tailor LOGDIR %s", arg));
146: isodelogpath = strdup (arg);
147: break;
148: #ifndef NO_STATS
149: case STATS:
150: DLOG (log_dsap,LLOG_TRACE,( "Tailor STATS %s", arg));
151: log_tai(log_stat, &argv[1], argc-1);
152: break;
153: #endif
154: case SYSLOG:
155: DLOG (log_dsap,LLOG_TRACE,( "Tailor SYSLOG %s", arg));
156: log_tai(log_dsap, &argv[1], argc-1);
157: break;
158: case OIDTAB:
159: DLOG (log_dsap,LLOG_TRACE,( "Tailor OIDTable=%s", arg));
160: dsaoidtable = strdup (arg);
161: load_oid_table (dsaoidtable);
162: break;
163: case OIDFMT:
164: DLOG (log_dsap,LLOG_TRACE,( "Tailor OIDFMT=%s", arg));
165: oidformat = atoi (arg);
166: break;
167: case ROOTDIR:
168: DLOG (log_dsap,LLOG_TRACE,( "Tailor Rootdir %s", arg));
169: treedir = strdup(arg);
170: break;
171: case MYDSANAME:
172: DLOG (log_dsap,LLOG_TRACE,( "Tailor Myname %s", arg));
173: mydsaname = strdup(arg);
174: break;
175: case DSP_CHAIN:
176: DLOG (log_dsap,LLOG_TRACE,( "Tailor DSPChaining %s", arg));
177: if (lexequ (arg,"on") == 0)
178: no_dsp_chain = FALSE;
179: else
180: no_dsp_chain = TRUE;
181: break;
182: case LAST_MOD:
183: DLOG (log_dsap,LLOG_TRACE,( "Tailor last modified %s", arg));
184: if (lexequ (arg,"on") == 0)
185: no_last_mod = FALSE;
186: else
187: no_last_mod = TRUE;
188: break;
189: case START_UPDATE:
190: DLOG (log_dsap,LLOG_TRACE,( "Tailor Update %s", arg));
191: if (lexequ (arg,"on") == 0)
192: startup_update = TRUE;
193: else
194: startup_update = FALSE;
195: break;
196: case READ_ONLY:
197: DLOG (log_dsap,LLOG_TRACE,( "Tailor read only", arg));
198: if (lexequ (arg,"on") == 0)
199: read_only = TRUE;
200: else
201: read_only = FALSE;
202: break;
203: case SEARCH_LEVEL:
204: search_level = atoi (arg);
205: DLOG (log_dsap,LLOG_TRACE,(" Tailor search level %d", search_level));
206: break;
207: case ADMIN_SIZE:
208: admin_size = atoi (arg);
209: DLOG (log_dsap,LLOG_TRACE,(" Tailor admin size %d", admin_size));
210: break;
211: case TURBO_SIZE:
212: turbo_size = atoi (arg);
213: DLOG (log_dsap,LLOG_TRACE,(" Tailor turbo size %d", turbo_size));
214: break;
215: case TURBO_NAME:
216: turbo_name_size = atoi (arg);
217: DLOG (log_dsap,LLOG_TRACE,(" Tailor turbo_name size %d", turbo_name_size));
218: break;
219: case ADMIN_TIME:
220: (void) sscanf (arg, "%ld", &admin_time);
221: DLOG (log_dsap,LLOG_TRACE,(" Tailor admin time %ld", admin_time));
222: break;
223: case CACHE_TIME:
224: (void) sscanf (arg, "%ld", &cache_timeout);
225: DLOG (log_dsap,LLOG_TRACE,(" Tailor cache time %ld", cache_timeout));
226: break;
227: case RETRY_TIME:
228: (void) sscanf (arg, "%ld", &retry_timeout);
229: DLOG (log_dsap,LLOG_TRACE,(" Tailor retry time %ld", retry_timeout));
230: break;
231: case SLAVE_TIME:
232: (void) sscanf (arg, "%ld", &slave_timeout);
233: DLOG (log_dsap,LLOG_TRACE,(" Tailor slave time %ld", slave_timeout));
234: break;
235: case CONN_TIME:
236: (void) sscanf (arg, "%ld", &conn_timeout);
237: DLOG (log_dsap,LLOG_TRACE,(" Tailor conn time %ld", conn_timeout));
238: break;
239: case NSAP_TIME:
240: (void) sscanf (arg, "%ld", &nsap_timeout);
241: DLOG (log_dsap,LLOG_TRACE,(" Tailor nsap time %ld", nsap_timeout));
242: break;
243: case WATCHDOG_TIME:
244: (void) sscanf (arg, "%d", &watchdog_time);
245: DLOG (log_dsap,LLOG_TRACE,(" Tailor watchdog time %d", watchdog_time));
246: break;
247: case WATCHDOG_DELTA:
248: (void) sscanf (arg, "%d", &watchdog_delta);
249: DLOG (log_dsap,LLOG_TRACE,(" Tailor watchdog delta %d", watchdog_delta));
250: break;
251: case CA_INFO:
252: if (add_ca_key(arg) == OK)
253: DLOG (log_dsap,LLOG_TRACE,("Certification Authority: %s", arg));
254: else
255: LLOG (log_dsap,LLOG_EXCEPTIONS,("CA FAILURE: Certification Authority: %s ", arg));
256: break;
257: case SECRET_KEY:
258: if (set_secret_key(arg) == OK)
259: DLOG (log_dsap,LLOG_TRACE,("Secret key read from %s", arg));
260: else
261: LLOG (log_dsap,LLOG_EXCEPTIONS,("Secret key NOT read from %s", arg));
262: break;
263: case BIND_WINDOW:
264: bind_window = atoi(arg);
265: if (bind_window <= 0)
266: LLOG(log_dsap,LLOG_EXCEPTIONS,("Invalid bind window %s", arg));
267: else
268: DLOG (log_dsap, LLOG_TRACE,("Bind window %d", bind_window));
269: break;
270: case PREFER_DSA:
271: DLOG (log_dsap,LLOG_TRACE,( "Tailor prefer dsa %s", arg));
272: prefer_dsa (arg);
273: break;
274: case PARENT:
275: DLOG (log_dsap,LLOG_TRACE,( "Tailor parent name %s, address %s", arg,argv[2]));
276: add_str_parent (arg,argv[2]);
277: break;
278: case ISODE_TAILOR:
279: DLOG (log_dsap,LLOG_TRACE,( "Tailor Isode %s%s",arg,argv[2]));
280: (void) isodesetvar(arg,strdup(argv[2]),0);
281: break;
282: }
283: return (OK);
284: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.