summaryrefslogtreecommitdiff
path: root/src/libstrongswan/settings/settings_lexer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/settings/settings_lexer.c')
-rw-r--r--src/libstrongswan/settings/settings_lexer.c233
1 files changed, 111 insertions, 122 deletions
diff --git a/src/libstrongswan/settings/settings_lexer.c b/src/libstrongswan/settings/settings_lexer.c
index 0d71a1d01..6e64e15a6 100644
--- a/src/libstrongswan/settings/settings_lexer.c
+++ b/src/libstrongswan/settings/settings_lexer.c
@@ -456,8 +456,8 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
yyg->yy_c_buf_p = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 26
-#define YY_END_OF_BUFFER 27
+#define YY_NUM_RULES 23
+#define YY_END_OF_BUFFER 24
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -465,14 +465,13 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[52] =
+static yyconst flex_int16_t yy_accept[49] =
{ 0,
- 0, 0, 0, 0, 0, 0, 27, 9, 2, 3,
+ 0, 0, 0, 0, 0, 0, 24, 9, 2, 3,
8, 1, 6, 9, 4, 5, 14, 10, 11, 12,
- 25, 16, 15, 17, 9, 2, 1, 1, 3, 9,
- 14, 13, 25, 24, 23, 24, 21, 22, 18, 19,
- 20, 1, 9, 9, 9, 9, 9, 0, 7, 7,
- 0
+ 22, 15, 16, 9, 2, 1, 1, 3, 9, 14,
+ 13, 22, 21, 20, 21, 17, 18, 19, 1, 9,
+ 9, 9, 9, 9, 0, 7, 7, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -486,11 +485,11 @@ static yyconst flex_int32_t yy_ec[256] =
8, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 9, 1, 1, 1, 1, 1, 10, 11, 12,
+ 1, 9, 1, 1, 1, 1, 1, 1, 10, 11,
- 13, 14, 1, 1, 15, 1, 1, 16, 1, 17,
- 1, 1, 1, 18, 1, 19, 20, 1, 1, 1,
- 1, 1, 21, 1, 22, 1, 1, 1, 1, 1,
+ 12, 1, 1, 1, 13, 1, 1, 14, 1, 15,
+ 1, 1, 1, 16, 1, 17, 18, 1, 1, 1,
+ 1, 1, 19, 1, 20, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -507,92 +506,91 @@ static yyconst flex_int32_t yy_ec[256] =
1, 1, 1, 1, 1
} ;
-static yyconst flex_int32_t yy_meta[23] =
+static yyconst flex_int32_t yy_meta[21] =
{ 0,
1, 2, 3, 1, 4, 5, 4, 6, 7, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 8, 4
+ 1, 1, 1, 1, 1, 1, 1, 1, 8, 9
} ;
-static yyconst flex_int16_t yy_base[62] =
+static yyconst flex_int16_t yy_base[60] =
{ 0,
- 0, 0, 21, 42, 26, 28, 63, 0, 31, 155,
- 155, 59, 155, 44, 155, 155, 0, 155, 155, 0,
- 0, 155, 155, 62, 0, 48, 0, 57, 155, 47,
- 0, 155, 0, 155, 155, 49, 155, 155, 155, 155,
- 155, 0, 30, 21, 28, 12, 37, 52, 155, 54,
- 155, 81, 89, 97, 104, 112, 117, 122, 130, 138,
- 146
+ 0, 0, 19, 38, 21, 23, 55, 0, 47, 161,
+ 161, 50, 161, 37, 161, 161, 0, 161, 161, 0,
+ 0, 161, 56, 0, 44, 0, 47, 161, 39, 0,
+ 161, 0, 161, 161, 45, 161, 161, 161, 0, 32,
+ 24, 26, 11, 29, 31, 161, 33, 161, 73, 82,
+ 91, 97, 101, 110, 115, 124, 133, 142, 151
} ;
-static yyconst flex_int16_t yy_def[62] =
+static yyconst flex_int16_t yy_def[60] =
{ 0,
- 51, 1, 52, 52, 53, 53, 51, 54, 51, 51,
- 51, 55, 51, 54, 51, 51, 56, 51, 51, 57,
- 58, 51, 51, 59, 54, 51, 60, 55, 51, 54,
- 56, 51, 58, 51, 51, 51, 51, 51, 51, 51,
- 51, 60, 54, 54, 54, 54, 54, 61, 51, 61,
- 0, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51
+ 48, 1, 49, 49, 50, 50, 48, 51, 52, 48,
+ 48, 53, 48, 51, 48, 48, 54, 48, 48, 55,
+ 56, 48, 57, 51, 52, 58, 53, 48, 51, 54,
+ 48, 56, 48, 48, 48, 48, 48, 48, 58, 51,
+ 51, 51, 51, 51, 59, 48, 59, 0, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48
} ;
-static yyconst flex_int16_t yy_nxt[178] =
+static yyconst flex_int16_t yy_nxt[182] =
{ 0,
8, 9, 10, 8, 9, 11, 12, 13, 8, 8,
- 8, 8, 8, 8, 14, 8, 8, 8, 8, 8,
- 15, 16, 18, 18, 47, 18, 19, 18, 22, 20,
- 22, 23, 26, 23, 24, 26, 24, 27, 48, 46,
- 45, 48, 18, 18, 18, 44, 18, 19, 18, 26,
- 20, 35, 26, 50, 27, 50, 50, 43, 50, 29,
- 30, 29, 51, 18, 35, 36, 51, 51, 51, 51,
- 51, 37, 51, 51, 51, 38, 51, 51, 39, 40,
- 41, 17, 17, 17, 17, 17, 17, 17, 17, 21,
- 21, 21, 21, 21, 21, 21, 21, 25, 51, 51,
-
- 51, 51, 51, 25, 28, 28, 28, 28, 28, 28,
- 28, 28, 31, 51, 51, 51, 51, 31, 51, 31,
- 32, 32, 33, 33, 51, 33, 51, 33, 51, 33,
- 34, 34, 34, 34, 34, 34, 34, 34, 42, 42,
- 51, 42, 42, 42, 42, 42, 49, 49, 49, 49,
- 49, 51, 49, 49, 7, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51
+ 8, 8, 14, 8, 8, 8, 8, 8, 15, 16,
+ 18, 18, 44, 18, 19, 18, 22, 20, 22, 23,
+ 45, 23, 47, 45, 47, 47, 43, 47, 18, 18,
+ 18, 42, 18, 19, 18, 41, 20, 34, 40, 28,
+ 26, 29, 28, 26, 48, 48, 48, 18, 34, 35,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 36, 37, 38, 17, 17, 17, 17, 17, 17, 17,
+ 17, 17, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 24, 48, 48, 48, 48, 48, 24, 25, 48,
+
+ 25, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+ 30, 48, 48, 48, 48, 30, 48, 30, 31, 31,
+ 48, 48, 48, 31, 32, 32, 32, 32, 48, 32,
+ 48, 32, 32, 33, 33, 33, 33, 33, 33, 33,
+ 33, 33, 39, 39, 48, 39, 39, 39, 39, 39,
+ 39, 46, 46, 46, 46, 46, 48, 46, 46, 46,
+ 7, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48
} ;
-static yyconst flex_int16_t yy_chk[178] =
+static yyconst flex_int16_t yy_chk[182] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 3, 46, 3, 3, 3, 5, 3,
- 6, 5, 9, 6, 5, 9, 6, 9, 47, 45,
- 44, 47, 3, 4, 4, 43, 4, 4, 4, 26,
- 4, 36, 26, 48, 26, 50, 48, 30, 50, 28,
- 14, 12, 7, 4, 24, 24, 0, 0, 0, 0,
- 0, 24, 0, 0, 0, 24, 0, 0, 24, 24,
- 24, 52, 52, 52, 52, 52, 52, 52, 52, 53,
- 53, 53, 53, 53, 53, 53, 53, 54, 0, 0,
-
- 0, 0, 0, 54, 55, 55, 55, 55, 55, 55,
- 55, 55, 56, 0, 0, 0, 0, 56, 0, 56,
- 57, 57, 58, 58, 0, 58, 0, 58, 0, 58,
- 59, 59, 59, 59, 59, 59, 59, 59, 60, 60,
- 0, 60, 60, 60, 60, 60, 61, 61, 61, 61,
- 61, 0, 61, 61, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51
+ 3, 3, 43, 3, 3, 3, 5, 3, 6, 5,
+ 44, 6, 45, 44, 47, 45, 42, 47, 3, 4,
+ 4, 41, 4, 4, 4, 40, 4, 35, 29, 27,
+ 25, 14, 12, 9, 7, 0, 0, 4, 23, 23,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 23, 23, 23, 49, 49, 49, 49, 49, 49, 49,
+ 49, 49, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 51, 0, 0, 0, 0, 0, 51, 52, 0,
+
+ 52, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+ 54, 0, 0, 0, 0, 54, 0, 54, 55, 55,
+ 0, 0, 0, 55, 56, 56, 56, 56, 0, 56,
+ 0, 56, 56, 57, 57, 57, 57, 57, 57, 57,
+ 57, 57, 58, 58, 0, 58, 58, 58, 58, 58,
+ 58, 59, 59, 59, 59, 59, 0, 59, 59, 59,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+ 48
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[27] =
+static yyconst flex_int32_t yy_rule_can_match_eol[24] =
{ 0,
-0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0,
- 0, 0, 0, 1, 0, 0, 0, };
+0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, };
-static yyconst flex_int16_t yy_rule_linenum[26] =
+static yyconst flex_int16_t yy_rule_linenum[23] =
{ 0,
59, 60, 61, 63, 64, 65, 67, 72, 77, 85,
- 105, 108, 111, 114, 120, 122, 123, 146, 147, 148,
- 149, 150, 151, 152, 153
+ 105, 108, 111, 114, 120, 122, 141, 142, 143, 144,
+ 145, 146
} ;
/* The intent behind this definition is that it'll catch
@@ -640,7 +638,7 @@ static void include_files(parser_helper_t *ctx);
/* state used to scan quoted strings */
-#line 644 "settings/settings_lexer.c"
+#line 642 "settings/settings_lexer.c"
#define INITIAL 0
#define inc 1
@@ -952,7 +950,7 @@ YY_DECL
#line 57 "settings/settings_lexer.l"
-#line 956 "settings/settings_lexer.c"
+#line 954 "settings/settings_lexer.c"
yylval = yylval_param;
@@ -1017,13 +1015,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 52 )
+ if ( yy_current_state >= 49 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 155 );
+ while ( yy_base[yy_current_state] != 161 );
yy_find_action:
/* %% [10.0] code to find the action number goes here */
@@ -1058,13 +1056,13 @@ do_action: /* This label is used only to access EOF actions. */
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
- else if ( yy_act < 26 )
+ else if ( yy_act < 23 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], yytext );
- else if ( yy_act == 26 )
+ else if ( yy_act == 23 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
yytext );
- else if ( yy_act == 27 )
+ else if ( yy_act == 24 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
@@ -1197,21 +1195,13 @@ case 15:
case YY_STATE_EOF(str):
#line 121 "settings/settings_lexer.l"
case 16:
-/* rule 16 can match eol */
-#line 123 "settings/settings_lexer.l"
-case 17:
-/* rule 17 can match eol */
YY_RULE_SETUP
-#line 123 "settings/settings_lexer.l"
+#line 122 "settings/settings_lexer.l"
{
if (!streq(yytext, "\""))
{
- if (streq(yytext, "\n"))
- { /* put the newline back to fix the line numbers */
- unput('\n');
- yy_set_bol(0);
- }
PARSER_DBG1(yyextra, "unterminated string detected");
+ return STRING_ERROR;
}
if (yy_top_state(yyscanner) == inc)
{ /* string include */
@@ -1227,52 +1217,43 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 18:
+case 17:
YY_RULE_SETUP
-#line 146 "settings/settings_lexer.l"
+#line 141 "settings/settings_lexer.l"
yyextra->string_add(yyextra, "\n");
YY_BREAK
-case 19:
+case 18:
YY_RULE_SETUP
-#line 147 "settings/settings_lexer.l"
+#line 142 "settings/settings_lexer.l"
yyextra->string_add(yyextra, "\r");
YY_BREAK
-case 20:
+case 19:
YY_RULE_SETUP
-#line 148 "settings/settings_lexer.l"
+#line 143 "settings/settings_lexer.l"
yyextra->string_add(yyextra, "\t");
YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 149 "settings/settings_lexer.l"
-yyextra->string_add(yyextra, "\b");
- YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 150 "settings/settings_lexer.l"
-yyextra->string_add(yyextra, "\f");
- YY_BREAK
-case 23:
-/* rule 23 can match eol */
+case 20:
+/* rule 20 can match eol */
YY_RULE_SETUP
-#line 151 "settings/settings_lexer.l"
+#line 144 "settings/settings_lexer.l"
/* merge lines that end with EOL characters */
YY_BREAK
-case 24:
+case 21:
YY_RULE_SETUP
-#line 152 "settings/settings_lexer.l"
+#line 145 "settings/settings_lexer.l"
yyextra->string_add(yyextra, yytext+1);
YY_BREAK
-case 25:
+case 22:
+/* rule 22 can match eol */
YY_RULE_SETUP
-#line 153 "settings/settings_lexer.l"
+#line 146 "settings/settings_lexer.l"
{
yyextra->string_add(yyextra, yytext);
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 158 "settings/settings_lexer.l"
+#line 151 "settings/settings_lexer.l"
{
settings_parser_pop_buffer_state(yyscanner);
if (!settings_parser_open_next_file(yyextra) && !YY_CURRENT_BUFFER)
@@ -1281,12 +1262,12 @@ case YY_STATE_EOF(INITIAL):
}
}
YY_BREAK
-case 26:
+case 23:
YY_RULE_SETUP
-#line 166 "settings/settings_lexer.l"
+#line 159 "settings/settings_lexer.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 1290 "settings/settings_lexer.c"
+#line 1271 "settings/settings_lexer.c"
case YY_END_OF_BUFFER:
{
@@ -1599,7 +1580,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 52 )
+ if ( yy_current_state >= 49 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -1633,11 +1614,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 52 )
+ if ( yy_current_state >= 49 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 51);
+ yy_is_jam = (yy_current_state == 48);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -2654,7 +2635,7 @@ void settings_parser_free (void * ptr , yyscan_t yyscanner)
/* %ok-for-header */
-#line 166 "settings/settings_lexer.l"
+#line 159 "settings/settings_lexer.l"
@@ -2692,3 +2673,11 @@ static void include_files(parser_helper_t *ctx)
settings_parser_open_next_file(ctx);
}
+/**
+ * Load the given string to be parsed next
+ */
+void settings_parser_load_string(parser_helper_t *ctx, const char *content)
+{
+ settings_parser__scan_string(content, ctx->scanner);
+}
+