diff options
Diffstat (limited to 'src/config.c')
-rw-r--r-- | src/config.c | 67 |
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; } |