1    | /************************************
2    | Copyright (c) 2001,2002                         RIPE NCC
3    | 
4    | All Rights Reserved
5    | 
6    | Permission to use, copy, modify, and distribute this software and its
7    | documentation for any purpose and without fee is hereby granted,
8    | provided that the above copyright notice appear in all copies and that
9    | both that copyright notice and this permission notice appear in
10   | supporting documentation, and that the name of the author not be
11   | used in advertising or publicity pertaining to distribution of the
12   | software without specific, written prior permission.
13   | 
14   | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15   | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
16   | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
17   | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
18   | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
19   | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20   | ***************************************/
21   | 
22   | 
23   | #include "rip.h"
24   | 
25   | #include <stdio.h>
26   | #include <stdlib.h>
27   | 
28   | 
29   | int ca_sanityCheck(values_t confVars[])
30   | /*
31   | 	- does a simple sanity check
32   |  - Parameters
33   | 		- confVars - the array of configuration variables
34   |  - Returns 
35   | 		- an integer: -1 or 0
36   |  */
37   | {
38   | int symbol;	/* A counting variable */
39   | int status = 0;	/* Assume that the Configuration File is complete. */
40   | int undefVars = 0; /* Number of undefined variables. */
41   | const char *configWarningStr = "Warning: undefined configuration variable:";
42   | const char *configError_1Str = "Error: Incomplete configuration file.  Please check if this was intended.\n";
43   | const char *configError_2Str = " configuration variables undefined.\n";
44   | 
45   | /*
46   | 	* We use CA_NUMBEROFSYMBOLS instead of VARS .....
47   |  */
48   | 
49   | for(symbol = 0; symbol < CA_NUMBEROFSYMBOLS; symbol++)
50   | 	{
51   | 	if (!confVars[symbol].strPtr)
52   | 		{
53   | 		++undefVars;
54   | 		fprintf(stderr, "%s %s\n", configWarningStr, dictionary[symbol].varName);
55   | 		}
56   | 	}
57   | 
58   | if (undefVars)
59   | 	{
60   | 	status = INCOMPLETE;
61   | 	}
62   | 
63   | 	fprintf(stderr, "\n%s\n", configError_1Str);
64   |  fprintf(stderr, "%d%s\n", undefVars, configError_2Str);
65   |  return(status);
66   | }
67   | 
68   | int ca_conifigCheck(void)
69   | /*
70   | 	* A wrapper for the ca_sanityCheck() function.A
71   |  *
72   |  * Parameters
73   | 	*	- none
74   |  *
75   |  * Returns
76   | 	* -nothing
77   |  */
78   | {
79   | return(ca_sanityCheck(confVars));
80   | }