Blame src/conf_yacc.y

Packit Service 5e8d2a
%{ 
Packit Service 5e8d2a
Packit Service 5e8d2a
/*	
Packit Service 5e8d2a
 * Copyright (C) 1999-2006,2010-2013,2015,2016 Rami Lehti, Pablo Virolainen,
Packit Service 5e8d2a
 * Richard van den Berg, Hannes von Haugwitz
Packit Service 5e8d2a
 * $Header$
Packit Service 5e8d2a
 * This program is free software; you can redistribute it and/or
Packit Service 5e8d2a
 * modify it under the terms of the GNU General Public License as
Packit Service 5e8d2a
 * published by the Free Software Foundation; either version 2 of the
Packit Service 5e8d2a
 * License, or (at your option) any later version.
Packit Service 5e8d2a
 *
Packit Service 5e8d2a
 * This program is distributed in the hope that it will be useful, but
Packit Service 5e8d2a
 * WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 5e8d2a
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Packit Service 5e8d2a
 * General Public License for more details.
Packit Service 5e8d2a
 *
Packit Service 5e8d2a
 * You should have received a copy of the GNU General Public License
Packit Service 5e8d2a
 * along with this program; if not, write to the Free Software
Packit Service 5e8d2a
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Packit Service 5e8d2a
 */
Packit Service 5e8d2a
Packit Service 5e8d2a
#include "aide.h"
Packit Service 5e8d2a
#include <stdio.h>
Packit Service 5e8d2a
#include <stdlib.h>
Packit Service 5e8d2a
#include <ctype.h>
Packit Service 5e8d2a
#include <errno.h>
Packit Service 5e8d2a
#include <string.h>
Packit Service 5e8d2a
#include "list.h"
Packit Service 5e8d2a
#include "gen_list.h"
Packit Service 5e8d2a
#include "db.h"
Packit Service 5e8d2a
#include "db_config.h"
Packit Service 5e8d2a
#include "symboltable.h"
Packit Service 5e8d2a
#include "util.h"
Packit Service 5e8d2a
#include "commandconf.h"
Packit Service 5e8d2a
Packit Service 5e8d2a
DB_ATTR_TYPE retval=0;
Packit Service 5e8d2a
extern int conflex();
Packit Service 5e8d2a
void conferror(const char*);
Packit Service 5e8d2a
Packit Service 5e8d2a
extern char *conftext;
Packit Service 5e8d2a
extern long conf_lineno;
Packit Service 5e8d2a
Packit Service 5e8d2a
Packit Service 5e8d2a
%}
Packit Service 5e8d2a
%union {
Packit Service 5e8d2a
  char* s;
Packit Service 5e8d2a
  DB_ATTR_TYPE i;
Packit Service 5e8d2a
  RESTRICTION_TYPE r;
Packit Service 5e8d2a
}
Packit Service 5e8d2a
Packit Service 5e8d2a
Packit Service 5e8d2a
%start lines
Packit Service 5e8d2a
Packit Service 5e8d2a
Packit Service 5e8d2a
%token TDEFINE
Packit Service 5e8d2a
%token TUNDEF
Packit Service 5e8d2a
%token TIFDEF
Packit Service 5e8d2a
%token TIFNDEF
Packit Service 5e8d2a
%token TIFNHOST
Packit Service 5e8d2a
%token TIFHOST
Packit Service 5e8d2a
%token TELSE
Packit Service 5e8d2a
%token TENDIF
Packit Service 5e8d2a
%token TINCLUDE
Packit Service 5e8d2a
%token TBEGIN_CONFIG
Packit Service 5e8d2a
%token TEND_CONFIG
Packit Service 5e8d2a
%token TBEGIN_DB
Packit Service 5e8d2a
%token TEND_DB
Packit Service 5e8d2a
%token TEND_DBNOMD
Packit Service 5e8d2a
%token TID
Packit Service 5e8d2a
%token <s> TSTRING
Packit Service 5e8d2a
%token '='
Packit Service 5e8d2a
Packit Service 5e8d2a
%token TACLNOSYMLINKFOLLOW
Packit Service 5e8d2a
%token TWARNDEADSYMLINKS
Packit Service 5e8d2a
%token TGROUPED
Packit Service 5e8d2a
%token TSUMMARIZECHANGES
Packit Service 5e8d2a
%token TNEWLINE
Packit Service 5e8d2a
%token TVERBOSE
Packit Service 5e8d2a
%token TDATABASEADDMETADATA
Packit Service 5e8d2a
%token TREPORTDETAILEDINIT
Packit Service 5e8d2a
%token TREPORTBASE16
Packit Service 5e8d2a
%token TREPORTQUIET
Packit Service 5e8d2a
%token TREPORTIGNOREE2FSATTRS
Packit Service 5e8d2a
%token TCONFIG_FILE
Packit Service 5e8d2a
%token TDATABASE
Packit Service 5e8d2a
%token TDATABASE_OUT
Packit Service 5e8d2a
%token TDATABASE_NEW
Packit Service 5e8d2a
%token TDATABASE_ATTRS
Packit Service 5e8d2a
%token TREPORT_URL
Packit Service 5e8d2a
%token TGZIPDBOUT
Packit Service 5e8d2a
%token TROOT_PREFIX
Packit Service 57cbf7
%token SYSLOG_FORMAT
Packit Service 5e8d2a
%token TUMASK
Packit Service 5e8d2a
%token TTRUE
Packit Service 5e8d2a
%token TFALSE
Packit Service 5e8d2a
Packit Service 5e8d2a
%token TRECSTOP
Packit Service 5e8d2a
%token TCONFIG_VERSION
Packit Service 5e8d2a
Packit Service 5e8d2a
/* File rule */
Packit Service 5e8d2a
Packit Service 5e8d2a
%token <s> TSELRXRULE
Packit Service 5e8d2a
%token <s> TEQURXRULE
Packit Service 5e8d2a
%token <s> TNEGRXRULE
Packit Service 5e8d2a
Packit Service 5e8d2a
/* expr alkiot */
Packit Service 5e8d2a
Packit Service 5e8d2a
%token  TRIGHTS
Packit Service 5e8d2a
%token  TUSER
Packit Service 5e8d2a
%token  TGROUP
Packit Service 5e8d2a
%token  TINODE
Packit Service 5e8d2a
%token  TLINKCOUNT
Packit Service 5e8d2a
%token  TFTYPE
Packit Service 5e8d2a
%token  TSIZE
Packit Service 5e8d2a
%token  TGROWINGSIZE
Packit Service 5e8d2a
%token  TATIME
Packit Service 5e8d2a
%token  TCTIME
Packit Service 5e8d2a
%token  TMTIME
Packit Service 5e8d2a
%token  TACL
Packit Service 5e8d2a
%token  TXATTRS
Packit Service 5e8d2a
%token  TSELINUX
Packit Service 5e8d2a
%token  TE2FSATTRS
Packit Service 5e8d2a
Packit Service 5e8d2a
/* hash funktions */
Packit Service 5e8d2a
Packit Service 5e8d2a
%token  TTIGER
Packit Service 5e8d2a
%token  TSHA1
Packit Service 5e8d2a
%token  TRMD160
Packit Service 5e8d2a
%token  TMD2
Packit Service 5e8d2a
%token  TMD4
Packit Service 5e8d2a
%token  TMD5
Packit Service 5e8d2a
%token  TSHA256
Packit Service 5e8d2a
%token  TSHA512
Packit Service 5e8d2a
%token  TWHIRLPOOL
Packit Service 5e8d2a
Packit Service 5e8d2a
/* predefs */
Packit Service 5e8d2a
Packit Service 5e8d2a
%token  TL
Packit Service 5e8d2a
%token  TR
Packit Service 5e8d2a
Packit Service 5e8d2a
/* For db_lex */
Packit Service 5e8d2a
%token TGZIPHEADER
Packit Service 5e8d2a
%token TDBSPEC
Packit Service 5e8d2a
%token TUNKNOWN
Packit Service 5e8d2a
%token TNAME
Packit Service 5e8d2a
%token TERROR
Packit Service 5e8d2a
%token TEOF
Packit Service 5e8d2a
Packit Service 5e8d2a
%type  <r> restriction
Packit Service 5e8d2a
%type   expr
Packit Service 5e8d2a
%type   hash
Packit Service 5e8d2a
%type   primary other
Packit Service 5e8d2a
Packit Service 5e8d2a
%left '+' '-'
Packit Service 5e8d2a
Packit Service 5e8d2a
%%
Packit Service 5e8d2a
Packit Service 5e8d2a
lines : lines line | ;
Packit Service 5e8d2a
Packit Service 5e8d2a
line : rule | equrule | negrule | definestmt | undefstmt
Packit Service 5e8d2a
       | ifdefstmt | ifndefstmt | ifhoststmt | ifnhoststmt
Packit Service 5e8d2a
       | groupdef | db_in | db_out | db_new | db_attrs | verbose | report_detailed_init | config_version
Packit Service 5e8d2a
       | database_add_metadata | report | gzipdbout | root_prefix | report_base16 | report_quiet
Packit Service 57cbf7
       | report_ignore_e2fsattrs | syslogformat | recursion_stopper | warn_dead_symlinks | grouped
Packit Service 5e8d2a
       | summarize_changes | acl_no_symlink_follow | beginconfigstmt | endconfigstmt
Packit Service 5e8d2a
       | TEOF {
Packit Service 5e8d2a
            newlinelastinconfig=1;
Packit Service 5e8d2a
	    YYACCEPT;
Packit Service 5e8d2a
          }
Packit Service 5e8d2a
       | TNEWLINE 
Packit Service 5e8d2a
       | TDBSPEC {
Packit Service 5e8d2a
          error(220,"Got @@dbspec.Stopping\n");
Packit Service 5e8d2a
	  YYACCEPT;
Packit Service 5e8d2a
          }
Packit Service 5e8d2a
       | TBEGIN_DB {
Packit Service 5e8d2a
	  error(220,"Got @@begin_db. Stopping\n");
Packit Service 5e8d2a
	  YYACCEPT;
Packit Service 5e8d2a
          }
Packit Service 5e8d2a
       | TEND_DB {
Packit Service 5e8d2a
	  conferror("Error while reading configuration");
Packit Service 5e8d2a
          }
Packit Service 5e8d2a
       | error {
Packit Service 5e8d2a
	  conferror("Error while reading configuration");
Packit Service 5e8d2a
	  YYABORT;
Packit Service 5e8d2a
          } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
rule : TSELRXRULE expr newlineoreof
Packit Service 5e8d2a
{ decode_string($1); conf->selrxlst=append_rxlist($1,$2,conf->selrxlst, RESTRICTION_NULL); } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
equrule : TEQURXRULE expr newlineoreof
Packit Service 5e8d2a
{ decode_string($1); conf->equrxlst=append_rxlist($1,$2,conf->equrxlst, RESTRICTION_NULL); } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
negrule : TNEGRXRULE newlineoreof
Packit Service 5e8d2a
{ decode_string($1); conf->negrxlst=append_rxlist($1,0,conf->negrxlst, RESTRICTION_NULL); };
Packit Service 5e8d2a
Packit Service 5e8d2a
rule : TSELRXRULE restriction expr newlineoreof
Packit Service 5e8d2a
{ decode_string($1); conf->selrxlst=append_rxlist($1,$3,conf->selrxlst, $2); } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
equrule : TEQURXRULE restriction expr newlineoreof
Packit Service 5e8d2a
{ decode_string($1); conf->equrxlst=append_rxlist($1,$3,conf->equrxlst, $2); } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
negrule : TNEGRXRULE restriction newlineoreof
Packit Service 5e8d2a
{ decode_string($1); conf->negrxlst=append_rxlist($1,0,conf->negrxlst, $2); };
Packit Service 5e8d2a
Packit Service 5e8d2a
newlineoreof : TNEWLINE |
Packit Service 5e8d2a
          TEOF {
Packit Service 5e8d2a
            newlinelastinconfig=0;
Packit Service 5e8d2a
	    YYACCEPT;
Packit Service 5e8d2a
          } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
restriction : restriction ',' restriction { $$ =$1  | $3 ; }
Packit Service 5e8d2a
    | TSTRING {
Packit Service 5e8d2a
       if((retval=get_restrictionval($1)) != RESTRICTION_NULL) {
Packit Service 5e8d2a
            $$=retval;
Packit Service 5e8d2a
       } else {
Packit Service 5e8d2a
            conf_lineno++;
Packit Service 5e8d2a
            conferror("Error in restriction");
Packit Service 5e8d2a
            YYABORT;
Packit Service 5e8d2a
       }
Packit Service 5e8d2a
    };
Packit Service 5e8d2a
Packit Service 5e8d2a
expr :  expr '+' expr { $$ =$1  | $3 ; } |
Packit Service 5e8d2a
        expr '-' expr { $$ =$1  & (~$3 ); } |
Packit Service 5e8d2a
	primary { $$ =$1 ;} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
primary : hash { $$ =$1 ; } |
Packit Service 5e8d2a
	  other { $$ =$1 ; } |
Packit Service 5e8d2a
	  TSTRING { if((retval=get_groupval($1)) != DB_ATTR_UNDEF) {
Packit Service 5e8d2a
	    $$=retval;
Packit Service 5e8d2a
	  }
Packit Service 5e8d2a
	  else {
Packit Service 5e8d2a
		  conf_lineno++; // Hack
Packit Service 5e8d2a
	    conferror("Error in expression");
Packit Service 5e8d2a
	    YYABORT;
Packit Service 5e8d2a
	  }
Packit Service 5e8d2a
	  } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
other : TRIGHTS { $$ =$1 ;} | TUSER {$$ =$1 ;} 
Packit Service 5e8d2a
        | TGROUP {$$ =$1 ;} | TINODE {$$ =$1 ;}
Packit Service 5e8d2a
        | TLINKCOUNT {$$ =$1 ;} | TFTYPE {$$ =$1 ;} | TSIZE {$$ =$1 ;}
Packit Service 5e8d2a
	| TGROWINGSIZE {$$ =$1 ;} | TATIME {$$ =$1 ;} 
Packit Service 5e8d2a
        | TCTIME {$$ =$1 ;} | TMTIME {$$ =$1 ;} | TL {$$ = $1;}
Packit Service 5e8d2a
        | TR {$$ = $1;} | TACL {$$ =$1 ;} | TXATTRS {$$ =$1 ;}
Packit Service 5e8d2a
        | TSELINUX {$$ =$1 ;} | TE2FSATTRS {$$ =$1 ;};
Packit Service 5e8d2a
Packit Service 5e8d2a
hash : TTIGER { $$ =$1 ;} | TSHA1 { $$ =$1 ;} | TRMD160 { $$ =$1 ;}
Packit Service 5e8d2a
	| TMD5 {$$ =$1 ;} | TSHA256 { $$ =$1 ;} | TSHA512 { $$ =$1 ;}
Packit Service 5e8d2a
        | TWHIRLPOOL { $$ =$1 ;};
Packit Service 5e8d2a
Packit Service 5e8d2a
definestmt : TDEFINE TSTRING TSTRING { do_define($2,$3); };
Packit Service 5e8d2a
Packit Service 5e8d2a
undefstmt : TUNDEF TSTRING { do_undefine($2); } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
ifdefstmt : TIFDEF TSTRING { 
Packit Service 5e8d2a
  if(do_ifxdef(1,$2)==-1){
Packit Service 5e8d2a
    error(0,"ifdef error\n");
Packit Service 5e8d2a
    YYABORT; 
Packit Service 5e8d2a
  };
Packit Service 5e8d2a
 } ifstmtlist ;
Packit Service 5e8d2a
Packit Service 5e8d2a
ifndefstmt : TIFNDEF TSTRING { 
Packit Service 5e8d2a
  if(do_ifxdef(0,$2)==-1){
Packit Service 5e8d2a
    error(0,"ifndef error\n");
Packit Service 5e8d2a
    YYABORT; 
Packit Service 5e8d2a
  };
Packit Service 5e8d2a
 } ifstmtlist { error(220,"Ifndef statement ended\n");}  ;
Packit Service 5e8d2a
Packit Service 5e8d2a
ifhoststmt : TIFHOST TSTRING { 
Packit Service 5e8d2a
  if(do_ifxhost(1,$2)==-1){
Packit Service 5e8d2a
    error(0,"ifhost error\n");
Packit Service 5e8d2a
    YYABORT;
Packit Service 5e8d2a
  };
Packit Service 5e8d2a
 } ifstmtlist ;
Packit Service 5e8d2a
Packit Service 5e8d2a
ifnhoststmt : TIFNHOST TSTRING { 
Packit Service 5e8d2a
  if(do_ifxhost(0,$2)==-1){
Packit Service 5e8d2a
    error(0,"ifnhost error\n");
Packit Service 5e8d2a
    YYABORT; 
Packit Service 5e8d2a
  };
Packit Service 5e8d2a
 } ifstmtlist ;
Packit Service 5e8d2a
Packit Service 5e8d2a
ifstmtlist : lines TENDIF { error(220,"Endif stmt matched\n");} |
Packit Service 5e8d2a
             lines TELSE lines TENDIF {error(220,"Endifelse stmt matched\n");} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
groupdef : TSTRING '=' expr { do_groupdef($1,$3); } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
db_in : TDATABASE TSTRING { do_dbdef(DB_OLD,$2); };
Packit Service 5e8d2a
Packit Service 5e8d2a
db_out : TDATABASE_OUT TSTRING { do_dbdef(DB_WRITE,$2); };
Packit Service 5e8d2a
Packit Service 5e8d2a
db_new : TDATABASE_NEW TSTRING { do_dbdef(DB_NEW,$2); };
Packit Service 5e8d2a
Packit Service 5e8d2a
verbose : TVERBOSE TSTRING { do_verbdef($2); };
Packit Service 5e8d2a
Packit Service 5e8d2a
report : TREPORT_URL TSTRING { do_repurldef($2); } ;
Packit Service 5e8d2a
Packit Service 5e8d2a
db_attrs : TDATABASE_ATTRS expr {
Packit Service 5e8d2a
  DB_ATTR_TYPE attr;
Packit Service 5e8d2a
  if((attr = $2&(~DB_HASHES))){
Packit Service 5e8d2a
    error(0, "%li: invalid attribute(s) in database_attrs: %llx\n", conf_lineno-1, attr);
Packit Service 5e8d2a
    YYABORT;
Packit Service 5e8d2a
  }
Packit Service 5e8d2a
  conf->db_attrs=$2;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
beginconfigstmt : TBEGIN_CONFIG TSTRING {
Packit Service 5e8d2a
#ifdef WITH_MHASH
Packit Service 5e8d2a
  conf->do_configmd=1;
Packit Service 5e8d2a
  conf->old_confmdstr=strdup($2);
Packit Service 5e8d2a
#endif
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
endconfigstmt : TEND_CONFIG {
Packit Service 5e8d2a
  YYACCEPT;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
acl_no_symlink_follow : TACLNOSYMLINKFOLLOW TTRUE { 
Packit Service 5e8d2a
#ifdef WITH_ACL
Packit Service 5e8d2a
  conf->no_acl_on_symlinks=1;
Packit Service 5e8d2a
#else
Packit Service 5e8d2a
  error(0,"ACL-support not compiled in.\n");
Packit Service 5e8d2a
#endif
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
acl_no_symlink_follow : TACLNOSYMLINKFOLLOW TFALSE { 
Packit Service 5e8d2a
#ifdef WITH_ACL
Packit Service 5e8d2a
  conf->no_acl_on_symlinks=0;
Packit Service 5e8d2a
#else
Packit Service 5e8d2a
  error(0,"ACL-support not compiled in.\n");
Packit Service 5e8d2a
#endif
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
warn_dead_symlinks : TWARNDEADSYMLINKS TTRUE {
Packit Service 5e8d2a
  conf->warn_dead_symlinks=1;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
warn_dead_symlinks : TWARNDEADSYMLINKS TFALSE {
Packit Service 5e8d2a
  conf->warn_dead_symlinks=0;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
database_add_metadata : TDATABASEADDMETADATA TTRUE {
Packit Service 5e8d2a
  conf->database_add_metadata=1;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
database_add_metadata : TDATABASEADDMETADATA TFALSE {
Packit Service 5e8d2a
  conf->database_add_metadata=0;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
report_detailed_init : TREPORTDETAILEDINIT TTRUE {
Packit Service 5e8d2a
  conf->report_detailed_init=1;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
report_detailed_init : TREPORTDETAILEDINIT TFALSE {
Packit Service 5e8d2a
  conf->report_detailed_init=0;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
report_ignore_e2fsattrs : TREPORTIGNOREE2FSATTRS TSTRING {
Packit Service 5e8d2a
#ifdef WITH_E2FSATTRS
Packit Service 5e8d2a
  do_report_ignore_e2fsattrs($2);
Packit Service 5e8d2a
#else
Packit Service 5e8d2a
  error(0,"e2fsattrs-support not compiled in.\n");
Packit Service 5e8d2a
#endif
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
report_base16 : TREPORTBASE16 TTRUE {
Packit Service 5e8d2a
  conf->report_base16=1;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
report_base16 : TREPORTBASE16 TFALSE {
Packit Service 5e8d2a
  conf->report_base16=0;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
report_quiet : TREPORTQUIET TTRUE {
Packit Service 5e8d2a
  conf->report_quiet=1;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
report_quiet : TREPORTQUIET TFALSE {
Packit Service 5e8d2a
  conf->report_quiet=0;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
grouped : TGROUPED TTRUE {
Packit Service 5e8d2a
  conf->grouped=1;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
root_prefix : TROOT_PREFIX TSTRING { do_rootprefix($2); };
Packit Service 5e8d2a
Packit Service 5e8d2a
grouped : TGROUPED TFALSE {
Packit Service 5e8d2a
  conf->grouped=0;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
summarize_changes : TSUMMARIZECHANGES TTRUE {
Packit Service 5e8d2a
  conf->summarize_changes=1;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
summarize_changes : TSUMMARIZECHANGES TFALSE {
Packit Service 5e8d2a
  conf->summarize_changes=0;
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
gzipdbout : TGZIPDBOUT TTRUE { 
Packit Service 5e8d2a
#ifdef WITH_ZLIB
Packit Service 5e8d2a
conf->gzip_dbout=1; 
Packit Service 5e8d2a
#else 
Packit Service 5e8d2a
 error(0,"Gzip-support not compiled in.\n");
Packit Service 5e8d2a
#endif
Packit Service 5e8d2a
} |
Packit Service 5e8d2a
            TGZIPDBOUT TFALSE { 
Packit Service 5e8d2a
#ifdef WITH_ZLIB
Packit Service 5e8d2a
conf->gzip_dbout=0; 
Packit Service 5e8d2a
#endif
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 57cbf7
syslogformat : SYSLOG_FORMAT TTRUE {
Packit Service 57cbf7
conf->syslog_format=1;
Packit Service 57cbf7
} |
Packit Service 57cbf7
               SYSLOG_FORMAT TFALSE {
Packit Service 57cbf7
conf->syslog_format=0;
Packit Service 57cbf7
} ;
Packit Service 57cbf7
Packit Service 57cbf7
Packit Service 57cbf7
Packit Service 5e8d2a
recursion_stopper : TRECSTOP TSTRING {
Packit Service 5e8d2a
  /* FIXME implement me */  
Packit Service 5e8d2a
  
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
config_version : TCONFIG_VERSION TSTRING {
Packit Service 5e8d2a
  conf->config_version=strdup($2);
Packit Service 5e8d2a
} ;
Packit Service 5e8d2a
Packit Service 5e8d2a
%%
Packit Service 5e8d2a
Packit Service 5e8d2a
Packit Service 5e8d2a
void conferror(const char *msg){
Packit Service 5e8d2a
  error(0,"%li:%s:%s\n",conf_lineno-1,msg,conftext);
Packit Service 5e8d2a
Packit Service 5e8d2a
}
Packit Service 5e8d2a
Packit Service 5e8d2a
const char* aide_key_1=CONFHMACKEY_01;
Packit Service 5e8d2a
const char* db_key_1=DBHMACKEY_01;
Packit Service 5e8d2a