along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: conf.c,v 1.9.4.4 2000/06/29 19:47:02 guus Exp $
+ $Id: conf.c,v 1.9.4.10 2000/09/14 14:34:38 zarq Exp $
*/
*/
static internal_config_t hazahaza[] = {
{ "AllowConnect", allowconnect, TYPE_BOOL }, /* Is not used anywhere. Remove? */
- { "ConnectTo", upstreamip, TYPE_IP },
+ { "ConnectTo", upstreamip, TYPE_NAME },
{ "ConnectPort", upstreamport, TYPE_INT },
{ "ListenPort", listenport, TYPE_INT },
{ "MyOwnVPNIP", myvpnip, TYPE_IP },
{ "VpnMask", vpnmask, TYPE_IP },
{ "Hostnames", resolve_dns, TYPE_BOOL },
{ "IndirectData", indirectdata, TYPE_BOOL },
+ { "TCPonly", tcponly, TYPE_BOOL },
+ { "Interface", interface, TYPE_NAME },
+ { "InterfaceIP", interfaceip, TYPE_IP },
+ { "Name", tincname, TYPE_NAME },
{ NULL, 0, 0 }
};
p->data.val = 0;
}
+ p->argtype = argtype;
+
if(p->data.val)
{
if(*cfg)
config = cfg;
}
cp
+ return 0;
}
/*
int
read_config_file(const char *fname)
{
+ int err;
FILE *fp;
cp
if((fp = fopen (fname, "r")) == NULL)
{
- fprintf(stderr, _("Could not open %s: %s\n"), fname, sys_errlist[errno]);
+ fprintf(stderr, _("Could not open %s: %s\n"), fname, strerror(errno));
return 1;
}
- if(readconfig(fname, fp))
- return -1;
-
+ err = readconfig(fname, fp);
fclose (fp);
cp
- return 0;
+ return err;
}
/*
{
config_t *p, *next;
cp
- for(p = config; p; p = next)
+ for(p = config; p != NULL; p = next)
{
next = p->next;
- if(p->data.ptr)
- free(p->data.ptr);
+ if(p->data.ptr && (p->argtype == TYPE_NAME))
+ {
+ free(p->data.ptr);
+ }
free(p);
}
config = NULL;