1 | /***************************************
2 | $Revision:
3 |
4 | CA module: Values defined at compile time.
5 |
6 | Status: NOT REVIEWED, NOT TESTED
7 |
8 | Author(s): Ambrose Magee
9 |
10 | ******************//******************
11 | Modification History:
12 |
13 | ******************/
14 |
15 | /************************************
16 | Copyright (c) 2000,2001,2002 RIPE NCC
17 |
18 | All Rights Reserved
19 |
20 | Permission to use, copy, modify, and distribute this software and its
21 | documentation for any purpose and without fee is hereby granted,
22 | provided that the above copyright notice appear in all copies and that
23 | both that copyright notice and this permission notice appear in
24 | supporting documentation, and that the name of the author not be
25 | used in advertising or publicity pertaining to distribution of the
26 | software without specific, written prior permission.
27 |
28 | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
29 | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
30 | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
31 | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
32 | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
33 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
34 | ***************************************/
35 |
36 | #include "rip.h"
37 |
38 | /*
39 | * int bport = 43;
40 | */
41 |
42 | GSList *sourceList = NULL;
43 |
44 | GSList *dbList = NULL;
45 |
46 | GSList *nrtmList = NULL;
47 |
48 | /*
49 | * 20000609 Experiment: The GSList variable, "mySrcList", is defined in the
50 | * ca_defs.h file (with an 'extern' modifier). GSList *mySrcList = NULL;
51 | */
52 |
53 | /*
54 | * int testmode = 0;
55 | */
56 |
57 | /*
58 | * values_t globals[] = { {"43", &bport}, {"/ncc/db2/doc/HELP",
59 | * "/ncc/db2/doc/HELP"}, {"% Rights restricted by copyright. See
60 | * http://www.ripe.net/db/dbcopyright.html", "% Rights restricted by
61 | * copyright. See http://www.ripe.net/db/dbcopyright.html"}, {"SourceList",
62 | * NULL}, {"0", &testmode}, {"1Bt9RNSMWcA.Y", "1Bt9RNSMWcA.Y"},
63 | * {"/ncc/db2/doc/WHOIS-HELP", "/ncc/db2/doc/WHOIS-HELP"},
64 | * {"/ncc/db2/doc/AUTO-DBM-HELP", "/ncc/db2/doc/AUTO-DBM-HELP"},
65 | * {"/ncc/db2/etc/attr-desc.config", "/ncc/db2/etc/attr-desc.config"},
66 | * {"RIPE", "RIPE"}, {"RIPE /ncc/db2/data/ripe/ripe.db SPLIT", "RIPE
67 | * /ncc/db2/data/ripe/ripe.db SPLIT"}, {"RIPE", "RIPE"},
68 | * {"SourceList", NULL}, {"dbase", "dbase"}, {"/ncc/db2/log/qry/qrylog",
69 | * "/ncc/db2/log/qry/qrylog"}, {"/ncc/db2/log/qry/qry2log",
70 | * "/ncc/db2/log/qry/qry2log"}, {"/ncc/db2/log/err/errlog",
71 | * "/ncc/db2/log/err/errlog"}, {"/ncc/db2/log/audit/auditlog",
72 | * "/ncc/db2/log/audit/auditlog"}, {"/ncc/db2/log/upd", "/ncc/db2/log/upd"},
73 | * {"/ncc/db2/log/ack", "/ncc/db2/log/ack"}, {"/ncc/db2/locks",
74 | * "/ncc/db2/locks"}, {"whoisd.pid", "whoisd.pid"}, {"STOPUPDATES",
75 | * "STOPUPDATES"}, {"CLEANDB.LOCK", "CLEANDB.LOCK"},
76 | * {"/ncc/db2/serials/current", "/ncc/db2/serials/current"},
77 | * {"/ncc/db2/serials/old", "/ncc/db2/serials/old"},
78 | * {"/ncc/db2/serials/incoming", "/ncc/db2/serials/incoming"}, {"180",
79 | * "180"}, {"RIPE-NCC-HM-MNT ", "RIPE-NCC-HM-MNT "}, {"127.0.0.1",
80 | * "127.0.0.1"}, {"193.0.0.1[345678][0-9]", "193.0.0.1[345678][0-9]"},
81 | * {"195.88.156.1", "195.88.156.1"}, {"/ncc/db2/tmp", "/ncc/db2/tmp"},
82 | * {"/usr/local/bin/pgpv", "/usr/local/bin/pgpv"}, {"/usr/local/bin/pgpk",
83 | * "/usr/local/bin/pgpk"}, {"/ncc/db2/.pgp", "/ncc/db2/.pgp"},
84 | * {"/var/qmail/bin/qmail-inject -fripe-dbm", "/var/qmail/bin/qmail-inject
85 | * -fripe-dbm"}, {"8096", "8096"}, {"2097152", "2097152"}, {"2", "2"},
86 | * {"ripe-dbm@ripe.net", "ripe-dbm@ripe.net"}, {"ripe-dbm@ripe.net",
87 | * "ripe-dbm@ripe.net"}, {"auto-dbm@ripe.net", "auto-dbm@ripe.net"},
88 | * {"nostrict", "nostrict"}, {"% No entries found for the selected
89 | * source(s).", "% No entries found for the selected source(s)."}, {"Subject:
90 | * RIPE RR: Addition of overlapping routes", "Subject: RIPE RR: Addition of
91 | * overlapping routes"}, {"Subject: RIPE RR: Removal of overlapping routes",
92 | * "Subject: RIPE RR: Removal of overlapping routes"}, {"The addition of
93 | * your route object ... ", "The addition of your route object ... "}, {"The
94 | * deletion of your route object ... ", "The deletion of your route object
95 | * ... "}, {"created new overlaps with the following routes ...", "created
96 | * new overlaps with the following routes ..."}, {"removed the overlaps with
97 | * the following routes ...", "removed the overlaps with the following routes
98 | * ..."}, {"Subject: RIPE RR: Addition of overlapping routes", "Subject: RIPE
99 | * RR: Addition of overlapping routes"}, {"Subject: RIPE RR: Removal of
100 | * overlapping routes", "Subject: RIPE RR: Removal of overlapping routes"},
101 | * {"The addition of the route object ... ", "The addition of the route
102 | * object ... "}, {"The deletion of the route object ... ", "The deletion of
103 | * the route object ... "}, {"created new overlaps with your following routes
104 | * ...", "created new overlaps with your following routes ..."}, {"removed
105 | * the overlaps with your following routes ...", "removed the overlaps with
106 | * your following routes ..."}, {"Your e-mail:", "Your e-mail:"}, {"From:
107 | * RIPE Database Management <$HUMAILBOX>", "From: RIPE Database Management
108 | * <$HUMAILBOX>"}, {"From: RIPE Database Management <$HUMAILBOX>", "From:
109 | * RIPE Database Management <$HUMAILBOX>"}, {"Subject: SUCCEEDED: $SUBJECT",
110 | * "Subject: SUCCEEDED: $SUBJECT"}, {"Help file requested so body of message
111 | * ignored.", "Help file requested so body of message ignored."}, {"Objects
112 | * that just generated a WARNING have been updated as shown.", "Objects that
113 | * just generated a WARNING have been updated as shown."}, {"No errors were
114 | * found in your database update. Congratulations.", "No errors were found
115 | * in your database update. Congratulations."}, {"RIPE Database Maintenance
116 | * Department (Automatic Section)", "RIPE Database Maintenance Department
117 | * (Automatic Section)"}, {"This is to notify you that some object(s) in the
118 | * RIPE database", "This is to notify you that some object(s) in the RIPE
119 | * database"}, {"The update causing these changes had the following mail
120 | * headers:", "The update causing these changes had the following mail
121 | * headers:"}, {"The update causing these changes came from the following
122 | * host:", "The update causing these changes came from the following host:"},
123 | * {"From: RIPE Database Notifications <$HUMAILBOX>", "From: RIPE Database
124 | * Notifications <$HUMAILBOX>"}, {"From: RIPE Database Maintainer Forwarding
125 | * <$HUMAILBOX>", "From: RIPE Database Maintainer Forwarding <$HUMAILBOX>"},
126 | * {"This is to notify you that some objects in which you are mentioned as",
127 | * "This is to notify you that some objects in which you are mentioned as"},
128 | * {"The mail message causing these failures had the following mail
129 | * headers:", "The mail message causing these failures had the following mail
130 | * headers:"}, {"The update causing these failures came from the following
131 | * host:", "The update causing these failures came from the following
132 | * host:"}, {"From: RIPE Database Maintainer Creation <$HUMAILBOX>", "From:
133 | * RIPE Database Maintainer Creation <$HUMAILBOX>"}, {"A maintainer object is
134 | * requested by:", "A maintainer object is requested by:"}, {"* A C C E S S D
135 | * E N I E D *", "* A C C E S S D E N I E D *"}, {"The object shown below
136 | * is NOT in the RIPE database.", "The object shown below is NOT in the RIPE
137 | * database."}, {"Referred query to host $REFERHOST at port $REFERPORT",
138 | * "Referred query to host $REFERHOST at port $REFERPORT"}, {"Referral loop
139 | * detected when querying ", "Referral loop detected when querying "},
140 | * {"Referred query to host $REFERHOST at port $REFERPORT", "Referred query
141 | * to host $REFERHOST at port $REFERPORT"}, {"Result TRUNCATED. Answer lenght
142 | * exceeded limit.", "Result TRUNCATED. Answer lenght exceeded limit."},
143 | * {"%%% End of referred query result", "%%% End of referred query result"},
144 | * {"10", "10"}, {"2000", "2000"}, {"Copyright
145 | * (c)1992/1993/1994/1995/1996/1997/1998/1999 by RIPE NCC ", "Copyright
146 | * (c)1992/1993/1994/1995/1996/1997/1998/1999 by RIPE NCC "}, {"IE ie", "IE
147 | * ie"} }; values_t locals[] = { {"43", &bport}, {"/ncc/db2/doc/HELP",
148 | * "/ncc/db2/doc/HELP"}, {"% Rights restricted by copyright. See
149 | * http://www.ripe.net/db/dbcopyright.html", "% Rights restricted by
150 | * copyright. See http://www.ripe.net/db/dbcopyright.html"}, {"SourceList",
151 | * NULL}, {"0", &testmode}, {"1Bt9RNSMWcA.Y", "1Bt9RNSMWcA.Y"},
152 | * {"/ncc/db2/doc/WHOIS-HELP", "/ncc/db2/doc/WHOIS-HELP"},
153 | * {"/ncc/db2/doc/AUTO-DBM-HELP", "/ncc/db2/doc/AUTO-DBM-HELP"},
154 | * {"/ncc/db2/etc/attr-desc.config", "/ncc/db2/etc/attr-desc.config"},
155 | * {"RIPE", "RIPE"}, {"RIPE /ncc/db2/data/ripe/ripe.db SPLIT", "RIPE
156 | * /ncc/db2/data/ripe/ripe.db SPLIT"}, {"RIPE", "RIPE"},
157 | * {"SourceList", NULL}, {"dbase", "dbase"}, {"/ncc/db2/log/qry/qrylog",
158 | * "/ncc/db2/log/qry/qrylog"}, {"/ncc/db2/log/qry/qry2log",
159 | * "/ncc/db2/log/qry/qry2log"}, {"/ncc/db2/log/err/errlog",
160 | * "/ncc/db2/log/err/errlog"}, {"/ncc/db2/log/audit/auditlog",
161 | * "/ncc/db2/log/audit/auditlog"}, {"/ncc/db2/log/upd", "/ncc/db2/log/upd"},
162 | * {"/ncc/db2/log/ack", "/ncc/db2/log/ack"}, {"/ncc/db2/locks",
163 | * "/ncc/db2/locks"}, {"whoisd.pid", "whoisd.pid"}, {"STOPUPDATES",
164 | * "STOPUPDATES"}, {"CLEANDB.LOCK", "CLEANDB.LOCK"},
165 | * {"/ncc/db2/serials/current", "/ncc/db2/serials/current"},
166 | * {"/ncc/db2/serials/old", "/ncc/db2/serials/old"},
167 | * {"/ncc/db2/serials/incoming", "/ncc/db2/serials/incoming"}, {"180",
168 | * "180"}, {"RIPE-NCC-HM-MNT ", "RIPE-NCC-HM-MNT "}, {"127.0.0.1",
169 | * "127.0.0.1"}, {"193.0.0.1[345678][0-9]", "193.0.0.1[345678][0-9]"},
170 | * {"195.88.156.1", "195.88.156.1"}, {"/ncc/db2/tmp", "/ncc/db2/tmp"},
171 | * {"/usr/local/bin/pgpv", "/usr/local/bin/pgpv"}, {"/usr/local/bin/pgpk",
172 | * "/usr/local/bin/pgpk"}, {"/ncc/db2/.pgp", "/ncc/db2/.pgp"},
173 | * {"/var/qmail/bin/qmail-inject -fripe-dbm", "/var/qmail/bin/qmail-inject
174 | * -fripe-dbm"}, {"8096", "8096"}, {"2097152", "2097152"}, {"2", "2"},
175 | * {"ripe-dbm@ripe.net", "ripe-dbm@ripe.net"}, {"ripe-dbm@ripe.net",
176 | * "ripe-dbm@ripe.net"}, {"auto-dbm@ripe.net", "auto-dbm@ripe.net"},
177 | * {"nostrict", "nostrict"}, {"% No entries found for the selected
178 | * source(s).", "% No entries found for the selected source(s)."}, {"Subject:
179 | * RIPE RR: Addition of overlapping routes", "Subject: RIPE RR: Addition of
180 | * overlapping routes"}, {"Subject: RIPE RR: Removal of overlapping routes",
181 | * "Subject: RIPE RR: Removal of overlapping routes"}, {"The addition of
182 | * your route object ... ", "The addition of your route object ... "}, {"The
183 | * deletion of your route object ... ", "The deletion of your route object
184 | * ... "}, {"created new overlaps with the following routes ...", "created
185 | * new overlaps with the following routes ..."}, {"removed the overlaps with
186 | * the following routes ...", "removed the overlaps with the following routes
187 | * ..."}, {"Subject: RIPE RR: Addition of overlapping routes", "Subject: RIPE
188 | * RR: Addition of overlapping routes"}, {"Subject: RIPE RR: Removal of
189 | * overlapping routes", "Subject: RIPE RR: Removal of overlapping routes"},
190 | * {"The addition of the route object ... ", "The addition of the route
191 | * object ... "}, {"The deletion of the route object ... ", "The deletion of
192 | * the route object ... "}, {"created new overlaps with your following routes
193 | * ...", "created new overlaps with your following routes ..."}, {"removed
194 | * the overlaps with your following routes ...", "removed the overlaps with
195 | * your following routes ..."}, {"Your e-mail:", "Your e-mail:"}, {"From:
196 | * RIPE Database Management <$HUMAILBOX>", "From: RIPE Database Management
197 | * <$HUMAILBOX>"}, {"From: RIPE Database Management <$HUMAILBOX>", "From:
198 | * RIPE Database Management <$HUMAILBOX>"}, {"Subject: SUCCEEDED: $SUBJECT",
199 | * "Subject: SUCCEEDED: $SUBJECT"}, {"Help file requested so body of message
200 | * ignored.", "Help file requested so body of message ignored."}, {"Objects
201 | * that just generated a WARNING have been updated as shown.", "Objects that
202 | * just generated a WARNING have been updated as shown."}, {"No errors were
203 | * found in your database update. Congratulations.", "No errors were found
204 | * in your database update. Congratulations."}, {"RIPE Database Maintenance
205 | * Department (Automatic Section)", "RIPE Database Maintenance Department
206 | * (Automatic Section)"}, {"This is to notify you that some object(s) in the
207 | * RIPE database", "This is to notify you that some object(s) in the RIPE
208 | * database"}, {"The update causing these changes had the following mail
209 | * headers:", "The update causing these changes had the following mail
210 | * headers:"}, {"The update causing these changes came from the following
211 | * host:", "The update causing these changes came from the following host:"},
212 | * {"From: RIPE Database Notifications <$HUMAILBOX>", "From: RIPE Database
213 | * Notifications <$HUMAILBOX>"}, {"From: RIPE Database Maintainer Forwarding
214 | * <$HUMAILBOX>", "From: RIPE Database Maintainer Forwarding <$HUMAILBOX>"},
215 | * {"This is to notify you that some objects in which you are mentioned as",
216 | * "This is to notify you that some objects in which you are mentioned as"},
217 | * {"The mail message causing these failures had the following mail
218 | * headers:", "The mail message causing these failures had the following mail
219 | * headers:"}, {"The update causing these failures came from the following
220 | * host:", "The update causing these failures came from the following
221 | * host:"}, {"From: RIPE Database Maintainer Creation <$HUMAILBOX>", "From:
222 | * RIPE Database Maintainer Creation <$HUMAILBOX>"}, {"A maintainer object is
223 | * requested by:", "A maintainer object is requested by:"}, {"* A C C E S S D
224 | * E N I E D *", "* A C C E S S D E N I E D *"}, {"The object shown below
225 | * is NOT in the RIPE database.", "The object shown below is NOT in the RIPE
226 | * database."}, {"Referred query to host $REFERHOST at port $REFERPORT",
227 | * "Referred query to host $REFERHOST at port $REFERPORT"}, {"Referral loop
228 | * detected when querying ", "Referral loop detected when querying "},
229 | * {"Referred query to host $REFERHOST at port $REFERPORT", "Referred query
230 | * to host $REFERHOST at port $REFERPORT"}, {"Result TRUNCATED. Answer lenght
231 | * exceeded limit.", "Result TRUNCATED. Answer lenght exceeded limit."},
232 | * {"%%% End of referred query result", "%%% End of referred query result"},
233 | * {"10", "10"}, {"2000", "2000"}, {"Copyright
234 | * (c)1992/1993/1994/1995/1996/1997/1998/1999 by RIPE NCC ", "Copyright
235 | * (c)1992/1993/1994/1995/1996/1997/1998/1999 by RIPE NCC "}, {"IE ie", "IE
236 | * ie"} };
237 | */
238 |
239 | /*
240 | * ca_database_t ripe = { "rowan.ripe.net", "4343", "Idiot", "scramble",
241 | * "RIPE6" };
242 | *
243 | * ca_database_t arin = {
244 | *
245 | * "rowan", "2005", "dbint", "passwrd", "ARIN2" };
246 | */
247 |
248 | /*
249 | * ca_database_t radb = { "rowan", "default", "default", "default",
250 | * "RADB1" };
251 | */
252 |
253 | /*
254 | * ca_database_t radb = { ca_defHost, ca_defPort, ca_defUser, ca_defPassword,
255 | * "RADB1" };
256 | */
257 |
258 | /*
259 | * ca_database_t radb = { CA_DEFHOST, CA_DEFPORT, CA_DEFUSER, CA_DEFPASSWORD,
260 | * "RADB1" };
261 | *
262 | * ca_database_list_t ripeComponent = { "RIPE", { "rowan.ripe.net", "4343",
263 | * "Idiot", "scramble", "RIPE6" } };
264 | *
265 | * ca_database_list_t arinComponent = { "ARIN", { "rowan", "2005", "dbint",
266 | * "passwd", "ARIN2" } };
267 | */
268 |
269 | /*
270 | * char ca_defHost[64] = "rowan"; char ca_defPort[16] = "43"; char
271 | * ca_defUser[16] = "dbase"; char ca_defPassword[9] = "encrypt1"; char
272 | * ca_defdbName[16] = "default-db";
273 | */
274 |
275 | /*
276 | * ca_database_list_t radbComponent = { "RADB", { CA_DEFHOST, CA_DEFPORT,
277 | * CA_DEFUSER, CA_DEFPASSWORD, "RADB1" } };
278 | */
279 |
280 | /*
281 | * The test configuration file.
282 | */
283 | const char *testFile = "test.config";
284 | const char *tempFile = "temp.config";
285 | const char *dictFile = "dictionary.txt";
286 | const char *confFile = "rip.config";
287 |
288 | /*
289 | * const char *confFile = "./dbupdate.conf";
290 | */
291 | const char *sourcesFile = "sources.config";
292 |
293 | values_t confVars[VARS];
294 | values_t globals[VARS];
295 | values_t locals[VARS];
296 |
297 | /*
298 | * We do not need this now; the dictionary is hardcoded.
299 | * dict_t dictionary[VARS];
300 | */
301 |
302 | ca_dbSource_t *theSrc;
303 |
304 | const char *configWarningStr = "Warning: undefined configuration variable:";
305 | const char *configError_1Str = "Error: Incomplete configuration file. Was this intended ???\n";
306 | const char *configError_2Str = " configuration variables undefined.\n";
307 | const char *configVarChk_OK_Str = "..... mandatory variables check completed.\n";
308 |