|
Packit |
762fc5 |
SC [\\'"netbgr\ @#]
|
|
Packit |
762fc5 |
C [a-zA-Z0-9öäüßåÖÄÜÅ_\\=$%£@&/!\^\~;:.,\?\{\}\(\)\[\]\<\>\-\+\*\|\'\`]
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
E [\ ]*"="[\ ]*
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
L [a-zA-ZöäüßåÖÄÜÅ0-9_%]
|
|
Packit |
762fc5 |
D [0-9]
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
PC \\[^\n]
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
EX [" "\t]*
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
%{
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
#define YYDEBUG 1
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
/*
|
|
Packit |
762fc5 |
* Copyright (C) 1999-2002,2004-2006,2010-2013,2015,2016 Rami Lehti, Pablo
|
|
Packit |
762fc5 |
* Virolainen, Richard van den Berg, Hannes von Haugwitz
|
|
Packit |
762fc5 |
* $Header$
|
|
Packit |
762fc5 |
* This program is free software; you can redistribute it and/or
|
|
Packit |
762fc5 |
* modify it under the terms of the GNU General Public License as
|
|
Packit |
762fc5 |
* published by the Free Software Foundation; either version 2 of the
|
|
Packit |
762fc5 |
* License, or (at your option) any later version.
|
|
Packit |
762fc5 |
*
|
|
Packit |
762fc5 |
* This program is distributed in the hope that it will be useful, but
|
|
Packit |
762fc5 |
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
762fc5 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
762fc5 |
* General Public License for more details.
|
|
Packit |
762fc5 |
*
|
|
Packit |
762fc5 |
* You should have received a copy of the GNU General Public License
|
|
Packit |
762fc5 |
* along with this program; if not, write to the Free Software
|
|
Packit |
762fc5 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
Packit |
762fc5 |
*/
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
#include "aide.h"
|
|
Packit |
762fc5 |
#include <string.h>
|
|
Packit |
762fc5 |
#include "gen_list.h"
|
|
Packit |
762fc5 |
#include "conf_yacc.h"
|
|
Packit |
762fc5 |
#include "list.h"
|
|
Packit |
762fc5 |
#include "symboltable.h"
|
|
Packit |
762fc5 |
#include "commandconf.h"
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
void includehandler(void) ;
|
|
Packit |
762fc5 |
void conf_put_token(const char*);
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
int firstnotempty(char* s);
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
typedef struct conf_buffer_type {
|
|
Packit |
762fc5 |
char* buff;
|
|
Packit |
762fc5 |
char* pos;
|
|
Packit |
762fc5 |
} conf_buffer_type;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
list* l_symt=NULL;
|
|
Packit |
762fc5 |
list* conf_buffer=NULL;
|
|
Packit |
762fc5 |
int condition=0;
|
|
Packit |
762fc5 |
int varbol=0;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
long conf_lineno=1;
|
|
Packit |
762fc5 |
int newlinelastinconfig=0;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
#define MAX_INCLUDE_DEPTH 10
|
|
Packit |
762fc5 |
YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
|
|
Packit |
762fc5 |
int include_stack_ptr = 0;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
#define YY_INPUT(buf,result,max_size) \
|
|
Packit |
762fc5 |
if( ((result=conf_input_wrapper(buf,max_size,yyin)) == 0) \
|
|
Packit |
762fc5 |
&& ferror(yyin) ) \
|
|
Packit |
762fc5 |
YY_FATAL_ERROR( "input in flex scanner failed" );
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
int var_in_conflval=0;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
%}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
%Start A EXPR DEFSTMT DEFSTMT2 IFDEFSTMT INCLUDE EXPREQUHUNT VARSUB CONFVALHUNT IFHOSTSTMT E2FSATTRS
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
%%
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
"#"[^\n]* {
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[^\n]*"\@\@\{"({L}+)"}"[^\n]* {
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
putbackvariable(conftext);
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
error(230,"%li:Variable substitution\n",conf_lineno+1);
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"=/"({C}|{PC})* {
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext+1+firstnotempty(conftext));
|
|
Packit |
762fc5 |
BEGIN(EXPR);
|
|
Packit |
762fc5 |
return (TEQURXRULE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"/"({C}|{PC})* {
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext+firstnotempty(conftext));
|
|
Packit |
762fc5 |
error(230,"%li:Selrule\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN(EXPR);
|
|
Packit |
762fc5 |
return (TSELRXRULE );
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"!/"({C}|{PC})* {
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext+1+firstnotempty(conftext));
|
|
Packit |
762fc5 |
error(230,"%li:Negrule\n",conf_lineno);
|
|
Packit |
762fc5 |
return (TNEGRXRULE );
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*({L})+ {
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext+firstnotempty(conftext));
|
|
Packit |
762fc5 |
error(230,"%li:Equrule\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN(EXPREQUHUNT);
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<EXPREQUHUNT>[\ \t]*"="[\ \t]* {
|
|
Packit |
762fc5 |
BEGIN(EXPR);
|
|
Packit |
762fc5 |
return('=');
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<EXPR>, {
|
|
Packit |
762fc5 |
return (',');
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<EXPR>[\ \t]*({L}|{D}|">")+ {
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext+firstnotempty(conftext));
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<EXPR>[\ \t]*\n {
|
|
Packit |
762fc5 |
conf_lineno++;
|
|
Packit |
762fc5 |
return (TNEWLINE);
|
|
Packit |
d0fd42 |
// BEGIN 0;
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<EXPR>\+ {
|
|
Packit |
762fc5 |
return ('+');
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<EXPR>\- {
|
|
Packit |
762fc5 |
return ('-');
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<DEFSTMT>({L})+ {
|
|
Packit |
762fc5 |
error(230," %s",conftext);
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext);
|
|
Packit |
762fc5 |
BEGIN (DEFSTMT2);
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<DEFSTMT2>({C})+ {
|
|
Packit |
762fc5 |
error(230," %s",conftext);
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext);
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<DEFSTMT2>[\ \t]*"\n" {
|
|
Packit |
762fc5 |
error(230,"\n");
|
|
Packit |
762fc5 |
conf_lineno++;
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TNEWLINE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@define" {
|
|
Packit |
762fc5 |
error(230,"%li:@@define",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN DEFSTMT;
|
|
Packit |
762fc5 |
return (TDEFINE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@undef" {
|
|
Packit |
762fc5 |
error(230,"%li:@@undef",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN IFDEFSTMT;
|
|
Packit |
762fc5 |
return (TUNDEF);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@ifndef" {
|
|
Packit |
762fc5 |
error(230,"%li:@@ifndef",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN IFDEFSTMT;
|
|
Packit |
762fc5 |
return (TIFNDEF);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@ifdef" {
|
|
Packit |
762fc5 |
error(230,"%li:@@ifdef",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN IFDEFSTMT;
|
|
Packit |
762fc5 |
return (TIFDEF);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@else" {
|
|
Packit |
762fc5 |
error(230,"%li:@@else\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TELSE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@endif" {
|
|
Packit |
762fc5 |
error(230,"%li:@@endif\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TENDIF);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^"\@\@begin_db" {
|
|
Packit |
762fc5 |
error(230,"%li:@@begin_db",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TBEGIN_DB);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<IFDEFSTMT>({L})+ {
|
|
Packit |
762fc5 |
error(230," %s\n",conftext);
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext);
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@ifhost" {
|
|
Packit |
762fc5 |
error(230,"%li:@@ifhost",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN IFHOSTSTMT;
|
|
Packit |
762fc5 |
return (TIFHOST);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@ifnhost" {
|
|
Packit |
762fc5 |
error(230,"%li:@@ifnhost",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN IFHOSTSTMT;
|
|
Packit |
762fc5 |
return (TIFNHOST);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<IFHOSTSTMT>({L}|"-")+ {
|
|
Packit |
762fc5 |
error(230," %s\n",conftext);
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext);
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@db_spec" {
|
|
Packit |
762fc5 |
conf_put_token("\n@@db_spec");
|
|
Packit |
762fc5 |
error(230,"%li:@@db_spec",conf_lineno);
|
|
Packit |
762fc5 |
return (TDBSPEC);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@begin_config" {
|
|
Packit |
762fc5 |
error(230,"%li:@@begin_config",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TBEGIN_CONFIG);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@end_config" {
|
|
Packit |
762fc5 |
return (TEND_CONFIG);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"\@\@include" {
|
|
Packit |
762fc5 |
BEGIN INCLUDE;
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<INCLUDE>[^ \t\n]+ {
|
|
Packit |
762fc5 |
includehandler();
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
error(230,"%li:@@include\n",conf_lineno);
|
|
Packit |
762fc5 |
return (TNEWLINE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<<EOF>> {
|
|
Packit |
762fc5 |
if (yy_hold_char=='\n'){
|
|
Packit |
762fc5 |
newlinelastinconfig=1;
|
|
Packit |
762fc5 |
}else {
|
|
Packit |
762fc5 |
newlinelastinconfig=0;
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
if ( --include_stack_ptr < 0 )
|
|
Packit |
762fc5 |
{
|
|
Packit |
762fc5 |
yyterminate();
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
else
|
|
Packit |
762fc5 |
{
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
if (confin != stdin ) {
|
|
Packit |
762fc5 |
fclose(confin);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
conf_delete_buffer( YY_CURRENT_BUFFER );
|
|
Packit |
762fc5 |
conf_switch_to_buffer(
|
|
Packit |
762fc5 |
include_stack[include_stack_ptr] );
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
[\t\ ]+ {}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
"\n" {
|
|
Packit |
762fc5 |
conf_lineno++;
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TNEWLINE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"database"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:database =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TDATABASE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"database_out"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:database_out =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TDATABASE_OUT);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"database_new"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:database_new =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TDATABASE_NEW);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"database_attrs"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:database_attrs =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN EXPR;
|
|
Packit |
762fc5 |
return (TDATABASE_ATTRS);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"warn_dead_symlinks"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:warn_dead_symlinks =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TWARNDEADSYMLINKS);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"grouped"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:grouped =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TGROUPED);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"summarize_changes"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:summarize_changes =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TSUMMARIZECHANGES);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"acl_no_symlink_follow"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:acl_no_symlink_follow =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TACLNOSYMLINKFOLLOW);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"verbose"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:verbose =\n",conf_lineno);
|
|
Packit |
762fc5 |
return (TVERBOSE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"database_add_metadata"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:database_add_metadata =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TDATABASEADDMETADATA);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"report_url"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:report_url =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TREPORT_URL);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"report_detailed_init"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:report_detailed_init =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TREPORTDETAILEDINIT);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"report_base16"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:report_base16 =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TREPORTBASE16);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"report_quiet"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:report_quiet =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TREPORTQUIET);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"report_ignore_e2fsattrs"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:report_ignore_e2fsattrs =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN E2FSATTRS;
|
|
Packit |
762fc5 |
return (TREPORTIGNOREE2FSATTRS);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<E2FSATTRS>([A-Za-z]+|"0") {
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext);
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"gzip_dbout"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:gzip_dbout =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TGZIPDBOUT);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\t\ ]*"root_prefix"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:root_prefix =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TROOT_PREFIX);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
d1ffb6 |
^[\t\ ]*"syslog_format"{E} {
|
|
Packit |
d1ffb6 |
error(230,"%li:syslog_format =\n",conf_lineno);
|
|
Packit |
d1ffb6 |
BEGIN CONFVALHUNT;
|
|
Packit |
d1ffb6 |
return (SYSLOG_FORMAT);
|
|
Packit |
d1ffb6 |
}
|
|
Packit |
d1ffb6 |
|
|
Packit |
762fc5 |
^[\t\ ]*"recstop"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:recstop =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TRECSTOP);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
^[\ \t]*"config_version"{E} {
|
|
Packit |
762fc5 |
error(230,"%li:config_version =\n",conf_lineno);
|
|
Packit |
762fc5 |
BEGIN CONFVALHUNT;
|
|
Packit |
762fc5 |
return (TCONFIG_VERSION);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<CONFVALHUNT>("yes"|"true") {
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TTRUE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<CONFVALHUNT>("no"|"false") {
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TFALSE);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
<CONFVALHUNT>({C})+ {
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext);
|
|
Packit |
762fc5 |
BEGIN 0;
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
({L})+ {
|
|
Packit |
762fc5 |
conflval.s=strdup(conftext);
|
|
Packit |
762fc5 |
return (TSTRING);
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
[^\n] { return(conftext[0]); }
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
%%
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
int confwrap(void){
|
|
Packit |
762fc5 |
return 1;
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
void conf_put_token(const char* s){
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
int i=0;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
for(i=strlen(s)-1;i>=0;i--){
|
|
Packit |
762fc5 |
unput(s[i]);
|
|
Packit |
762fc5 |
if(s[i]=='\n'){
|
|
Packit |
762fc5 |
conf_lineno--;
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
int firstnotempty(char* s){
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
int i=0;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
if (s==NULL) {
|
|
Packit |
762fc5 |
return i;
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
while( s[i]==' ' || s[i]=='\t') {
|
|
Packit |
762fc5 |
i++;
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
return i;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
const char* aide_key_4=CONFHMACKEY_04;
|
|
Packit |
762fc5 |
const char* db_key_4=DBHMACKEY_04;
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
void includehandler(void) {
|
|
Packit |
762fc5 |
/* got the include file name */
|
|
Packit |
762fc5 |
if ( include_stack_ptr >= MAX_INCLUDE_DEPTH )
|
|
Packit |
762fc5 |
{
|
|
Packit |
762fc5 |
error( 0, "Config includes nested too deeply\n" );
|
|
Packit |
762fc5 |
exit( 1 );
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
if (strcmp(conftext,"-")==0) {
|
|
Packit |
762fc5 |
confin = stdin;
|
|
Packit |
762fc5 |
} else {
|
|
Packit |
762fc5 |
confin = fopen( conftext, "r" );
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
if ( ! confin ) {
|
|
Packit |
762fc5 |
error(0,"Cannot open config file %s\n",conftext);
|
|
Packit |
762fc5 |
exit(IO_ERROR);
|
|
Packit |
762fc5 |
} else {
|
|
Packit |
762fc5 |
include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
|
|
Packit |
762fc5 |
conf_switch_to_buffer(conf_create_buffer( confin, YY_BUF_SIZE ) );
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|
|
Packit |
762fc5 |
}
|
|
Packit |
762fc5 |
|