-/* $Id: cache_cf.cc,v 1.52 1996/04/16 23:06:26 wessels Exp $ */
+/* $Id: cache_cf.cc,v 1.53 1996/04/17 23:46:17 wessels Exp $ */
/* DEBUG: Section 3 cache_cf: Configuration file parsing */
int positiveDnsTtl;
int readTimeout;
int lifetimeDefault;
+ int lifetimeShutdown;
int connectTimeout;
int ageMaxDefault;
int cleanRate;
wordlist *bind_addr_list;
wordlist *local_domain_list;
wordlist *inside_firewall_list;
+ wordlist *dns_testname_list;
} Config;
#define DefaultMemMaxSize (16 << 20) /* 16 MB */
#define DefaultPositiveDnsTtl (360 * 60) /* 6 hours */
#define DefaultReadTimeout (15 * 60) /* 15 min */
#define DefaultLifetimeDefault (200 * 60) /* 3+ hours */
+#define DefaultLifetimeShutdown 30 /* 30 seconds */
#define DefaultConnectTimeout (2 * 60) /* 2 min */
#define DefaultDefaultAgeMax (3600 * 24 * 30) /* 30 days */
#define DefaultCleanRate -1 /* disabled */
Config.lifetimeDefault = i * 60;
}
+static void parseShutdownLifetimeLine()
+{
+ char *token;
+ int i;
+ GetInteger(i);
+ Config.lifetimeShutdown = i;
+}
+
static void parseConnectTimeout()
{
char *token;
}
}
+static void parseDnsTestnameLine()
+{
+ char *token;
+ while ((token = strtok(NULL, w_space))) {
+ wordlistAdd(&Config.dns_testname_list, token);
+ }
+}
+
static void parseAsciiPortLine()
{
char *token;
else if (!strcmp(token, "client_lifetime"))
parseLifetimeLine();
+ /* Parse a client_lifetime line */
+ else if (!strcmp(token, "shutdown_lifetime"))
+ parseShutdownLifetimeLine();
+
/* Parse a request_size line */
else if (!strcmp(token, "request_size"))
parseRequestSizeLine();
else if (!strcmp(token, "inside_firewall"))
parseInsideFirewallLine();
+ else if (!strcmp(token, "dns_testnames"))
+ parseDnsTestnameLine();
+
else if (!strcmp(token, "single_parent_bypass"))
parseSingleParentBypassLine();
{
return Config.lifetimeDefault;
}
+int getShutdownLifetime()
+{
+ return Config.lifetimeShutdown;
+}
int getMaxRequestSize()
{
return Config.maxRequestSize;
{
return Config.inside_firewall_list;
}
+wordlist *getDnsTestnameList()
+{
+ return Config.dns_testname_list;
+}
wordlist *getBindAddrList()
{
return Config.bind_addr_list;
wordlistDestroy(&Config.bind_addr_list);
wordlistDestroy(&Config.local_domain_list);
wordlistDestroy(&Config.inside_firewall_list);
+ wordlistDestroy(&Config.dns_testname_list);
}
Config.positiveDnsTtl = DefaultPositiveDnsTtl;
Config.readTimeout = DefaultReadTimeout;
Config.lifetimeDefault = DefaultLifetimeDefault;
+ Config.lifetimeShutdown = DefaultLifetimeShutdown;
Config.maxRequestSize = DefaultMaxRequestSize;
Config.connectTimeout = DefaultConnectTimeout;
Config.ageMaxDefault = DefaultDefaultAgeMax;