summaryrefslogtreecommitdiff
path: root/src/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c67
1 files changed, 34 insertions, 33 deletions
diff --git a/src/config.c b/src/config.c
index af55d58..18d7cfd 100644
--- a/src/config.c
+++ b/src/config.c
@@ -63,7 +63,7 @@ typedef enum {
TOK_VarDejunk,
TOK_VarTestmode,
TOK_VarBlockHTML,
- TOK_VarDeletelog,
+ TOK_VarVerbose,
TOK_ConstOn,
TOK_ConstOff,
TOK_ConstBlock,
@@ -85,13 +85,13 @@ static char *hostname="localhost";
static char *username="nobody";
static char *password="";
static char *log="";
-static char *deletelog="";
static int port=110;
static int timeout=60;
static int casesense=FALSE;
static int dejunk=FALSE;
static int testmode=FALSE;
static int blockhtml=FALSE;
+static int verbose=TRUE;
/* ---------------------------------------- COMMAND TABLE
@@ -123,6 +123,7 @@ static const Command cmd_table[]=
{"dejunk", TOK_VarDejunk},
{"testmode", TOK_VarTestmode},
{"blockhtml", TOK_VarBlockHTML},
+ {"verbose", TOK_VarVerbose},
/* Constants
*/
@@ -139,7 +140,7 @@ static const Command cmd_table[]=
/* ---------------------------------------- REQUIRED PROTOS
*/
-static Token GetToken(FILE *fp, DString ret);
+static Token GetToken(FILE *fp, DString *ret);
/* ---------------------------------------- COMMAND HANDLERS
@@ -167,7 +168,7 @@ static int DoSet(FILE *fp)
{TOK_VarDejunk, TYPE_ONOFF, (void *)&dejunk},
{TOK_VarTestmode, TYPE_ONOFF, (void *)&testmode},
{TOK_VarBlockHTML, TYPE_ONOFF, (void *)&blockhtml},
- {TOK_VarDeletelog, TYPE_STR, (void *)&deletelog},
+ {TOK_VarVerbose, TYPE_ONOFF, (void *)&verbose},
{TOK_EOF,0,NULL}
};
@@ -179,7 +180,7 @@ static int DoSet(FILE *fp)
ds=DSInit();
- tok=GetToken(fp,ds);
+ tok=GetToken(fp,&ds);
for(f=0;var_table[f].token!=TOK_EOF && !vt;f++)
if (var_table[f].token==tok)
@@ -194,19 +195,19 @@ static int DoSet(FILE *fp)
{
case TYPE_STR:
cp=vt->ptr;
- tok=GetToken(fp,ds);
+ tok=GetToken(fp,&ds);
*cp=CopyStr(ds->text);
break;
case TYPE_INT:
ip=vt->ptr;
- tok=GetToken(fp,ds);
+ tok=GetToken(fp,&ds);
*ip=atoi(ds->text);
break;
case TYPE_ONOFF:
ip=vt->ptr;
- tok=GetToken(fp,ds);
+ tok=GetToken(fp,&ds);
switch(tok)
{
@@ -252,7 +253,7 @@ static int DoDomain(FILE *fp)
ds=DSInit();
- tok=GetToken(fp,ds);
+ tok=GetToken(fp,&ds);
if (tok!=TOK_Expression)
{
@@ -272,7 +273,7 @@ static int DoDomain(FILE *fp)
domain=DBNewDomain(ds->text);
- tok=GetToken(fp,ds);
+ tok=GetToken(fp,&ds);
if (tok!=TOK_OpenBracket)
{
@@ -281,7 +282,7 @@ static int DoDomain(FILE *fp)
return FALSE;
}
- while((tok=GetToken(fp,ds))!=TOK_CloseBracket)
+ while((tok=GetToken(fp,&ds))!=TOK_CloseBracket)
{
if (tok==TOK_EOF)
{
@@ -293,7 +294,7 @@ static int DoDomain(FILE *fp)
switch(tok)
{
case TOK_Default:
- switch(GetToken(fp,ds))
+ switch(GetToken(fp,&ds))
{
case TOK_ConstAllow:
DBDefault(domain,FALSE);
@@ -314,12 +315,12 @@ static int DoDomain(FILE *fp)
break;
case TOK_BlockUser:
- GetToken(fp,ds);
+ GetToken(fp,&ds);
DBBlockUser(domain,ds->text);
break;
case TOK_AllowSubject:
- GetToken(fp,ds);
+ GetToken(fp,&ds);
if (RExpSearch(ds->text,"dummy")==RE_BadExpression)
{
@@ -333,7 +334,7 @@ static int DoDomain(FILE *fp)
break;
case TOK_BlockSubject:
- GetToken(fp,ds);
+ GetToken(fp,&ds);
if (RExpSearch(ds->text,"dummy")==RE_BadExpression)
{
@@ -369,7 +370,7 @@ static int DoTrustedUsers(FILE *fp)
ds=DSInit();
- tok=GetToken(fp,ds);
+ tok=GetToken(fp,&ds);
if (tok!=TOK_OpenBracket)
{
@@ -378,7 +379,7 @@ static int DoTrustedUsers(FILE *fp)
return FALSE;
}
- while((tok=GetToken(fp,ds))!=TOK_CloseBracket)
+ while((tok=GetToken(fp,&ds))!=TOK_CloseBracket)
{
if (tok==TOK_EOF)
{
@@ -404,7 +405,7 @@ static int DoTrustedDomains(FILE *fp)
ds=DSInit();
- tok=GetToken(fp,ds);
+ tok=GetToken(fp,&ds);
if (tok!=TOK_OpenBracket)
{
@@ -412,7 +413,7 @@ static int DoTrustedDomains(FILE *fp)
return FALSE;
}
- while((tok=GetToken(fp,ds))!=TOK_CloseBracket)
+ while((tok=GetToken(fp,&ds))!=TOK_CloseBracket)
{
if (tok==TOK_EOF)
{
@@ -484,24 +485,24 @@ static int IsTerm(int ch)
}
-static Token GetToken(FILE *fp, DString ret)
+static Token GetToken(FILE *fp, DString *ret)
{
int ch;
int done=FALSE;
int quote=0;
Token tok;
- ret=DSReset(ret);
+ *ret=DSReset(*ret);
if (feof(fp))
{
- DSAddCP(ret,"EOF");
+ DSAddCP(*ret,"EOF");
return TOK_EOF;
}
if (!SkipWS(fp))
{
- DSAddCP(ret,"EOF");
+ DSAddCP(*ret,"EOF");
return TOK_EOF;
}
@@ -521,11 +522,11 @@ static Token GetToken(FILE *fp, DString ret)
else if (ch==quote)
{
done=TRUE;
- tok=FindToken(ret->text);
+ tok=FindToken((*ret)->text);
}
else
{
- DSAddChar(ret,ch);
+ DSAddChar(*ret,ch);
}
}
else
@@ -534,8 +535,8 @@ static Token GetToken(FILE *fp, DString ret)
{
done=TRUE;
- if (ret->len)
- tok=FindToken(ret->text);
+ if ((*ret)->len)
+ tok=FindToken((*ret)->text);
else
tok=TOK_EOF;
}
@@ -543,7 +544,7 @@ static Token GetToken(FILE *fp, DString ret)
{
ungetc(ch,fp);
done=TRUE;
- tok=FindToken(ret->text);
+ tok=FindToken((*ret)->text);
}
else if (ch=='\'' || ch=='"')
{
@@ -551,7 +552,7 @@ static Token GetToken(FILE *fp, DString ret)
}
else
{
- DSAddChar(ret,ch);
+ DSAddChar(*ret,ch);
}
}
}
@@ -568,7 +569,7 @@ static int Parse(FILE *fp)
txt=DSInit();
- while((tok=GetToken(fp,txt))!=TOK_EOF)
+ while((tok=GetToken(fp,&txt))!=TOK_EOF)
{
int ok=TRUE;
@@ -675,9 +676,6 @@ const char *ConfigString(ConfigStringVar var)
case CONFIG_LOG:
return log;
- case CONFIG_DELETE_LOG:
- return deletelog;
-
default:
return "";
}
@@ -706,6 +704,9 @@ int ConfigInt(ConfigIntVar var)
case CONFIG_BLOCKHTML:
return blockhtml;
+ case CONFIG_VERBOSE:
+ return verbose;
+
default:
return 0;
}