diff options
Diffstat (limited to 'modules/ssl')
-rw-r--r-- | modules/ssl/ssl_expr_parse.c | 70 | ||||
-rw-r--r-- | modules/ssl/ssl_expr_scan.c | 112 |
2 files changed, 93 insertions, 89 deletions
diff --git a/modules/ssl/ssl_expr_parse.c b/modules/ssl/ssl_expr_parse.c index 517ca035d3..6f3f990e63 100644 --- a/modules/ssl/ssl_expr_parse.c +++ b/modules/ssl/ssl_expr_parse.c @@ -25,11 +25,11 @@ #define T_OP_AND 275 #define T_OP_NOT 276 -#line 35 "ssl_expr_parse.y" +#line 68 "ssl_expr_parse.y" #include "mod_ssl.h" -#line 39 "ssl_expr_parse.y" +#line 72 "ssl_expr_parse.y" typedef union { char *cpVal; ssl_expr *exVal; @@ -104,9 +104,9 @@ static const short ssl_expr_yyrhs[] = { 30, #if YYDEBUG != 0 static const short ssl_expr_yyrline[] = { 0, - 82, 85, 86, 87, 88, 89, 90, 91, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 105, 106, 109, - 110, 111, 112, 115, 124, 135 + 115, 118, 119, 120, 121, 122, 123, 124, 127, 128, + 129, 130, 131, 132, 133, 134, 135, 138, 139, 142, + 143, 144, 145, 148, 158, 170 }; #endif @@ -237,7 +237,7 @@ static const short ssl_expr_yycheck[] = { 19, /* I don't know what this was needed for, but it pollutes the namespace. So I turned it off. rms, 2 May 1997. */ /* #include <malloc.h> */ - #pragma alloca +#pragma alloca #define YYSTACK_USE_ALLOCA #else /* not MSDOS, or __TURBOC__, or _AIX */ #if 0 @@ -350,7 +350,7 @@ int ssl_expr_yydebug; /* nonzero means print parse trace */ #ifndef YYMAXDEPTH #define YYMAXDEPTH 10000 #endif - + /* Define __ssl_expr_yy_memcpy. Note that the size argument should be passed with type unsigned int, because that is what the non-GCC definitions require. With GCC, __builtin_memcpy takes an arg @@ -724,123 +724,125 @@ ssl_expr_yyreduce: switch (ssl_expr_yyn) { case 1: -#line 82 "ssl_expr_parse.y" +#line 115 "ssl_expr_parse.y" { ssl_expr_info.expr = ssl_expr_yyvsp[0].exVal; ; break;} case 2: -#line 85 "ssl_expr_parse.y" +#line 118 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_True, NULL, NULL); ; break;} case 3: -#line 86 "ssl_expr_parse.y" +#line 119 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_False, NULL, NULL); ; break;} case 4: -#line 87 "ssl_expr_parse.y" +#line 120 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_Not, ssl_expr_yyvsp[0].exVal, NULL); ; break;} case 5: -#line 88 "ssl_expr_parse.y" +#line 121 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_Or, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 6: -#line 89 "ssl_expr_parse.y" +#line 122 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_And, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 7: -#line 90 "ssl_expr_parse.y" +#line 123 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_Comp, ssl_expr_yyvsp[0].exVal, NULL); ; break;} case 8: -#line 91 "ssl_expr_parse.y" +#line 124 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_yyvsp[-1].exVal; ; break;} case 9: -#line 94 "ssl_expr_parse.y" +#line 127 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_EQ, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 10: -#line 95 "ssl_expr_parse.y" +#line 128 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_NE, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 11: -#line 96 "ssl_expr_parse.y" +#line 129 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_LT, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 12: -#line 97 "ssl_expr_parse.y" +#line 130 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_LE, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 13: -#line 98 "ssl_expr_parse.y" +#line 131 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_GT, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 14: -#line 99 "ssl_expr_parse.y" +#line 132 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_GE, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 15: -#line 100 "ssl_expr_parse.y" +#line 133 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_IN, ssl_expr_yyvsp[-4].exVal, ssl_expr_yyvsp[-1].exVal); ; break;} case 16: -#line 101 "ssl_expr_parse.y" +#line 134 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_REG, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 17: -#line 102 "ssl_expr_parse.y" +#line 135 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_NRE, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); ; break;} case 18: -#line 105 "ssl_expr_parse.y" +#line 138 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_ListElement, ssl_expr_yyvsp[0].exVal, NULL); ; break;} case 19: -#line 106 "ssl_expr_parse.y" +#line 139 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_ListElement, ssl_expr_yyvsp[0].exVal, ssl_expr_yyvsp[-2].exVal); ; break;} case 20: -#line 109 "ssl_expr_parse.y" +#line 142 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_Digit, ssl_expr_yyvsp[0].cpVal, NULL); ; break;} case 21: -#line 110 "ssl_expr_parse.y" +#line 143 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_String, ssl_expr_yyvsp[0].cpVal, NULL); ; break;} case 22: -#line 111 "ssl_expr_parse.y" +#line 144 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_make(op_Var, ssl_expr_yyvsp[-1].cpVal, NULL); ; break;} case 23: -#line 112 "ssl_expr_parse.y" +#line 145 "ssl_expr_parse.y" { ssl_expr_yyval.exVal = ssl_expr_yyvsp[0].exVal; ; break;} case 24: -#line 115 "ssl_expr_parse.y" +#line 148 "ssl_expr_parse.y" { regex_t *regex; if ((regex = ap_pregcomp(ssl_expr_info.pool, ssl_expr_yyvsp[0].cpVal, REG_EXTENDED|REG_NOSUB)) == NULL) { ssl_expr_error = "Failed to compile regular expression"; YYERROR; + regex = NULL; } ssl_expr_yyval.exVal = ssl_expr_make(op_Regex, regex, NULL); ; break;} case 25: -#line 124 "ssl_expr_parse.y" +#line 158 "ssl_expr_parse.y" { regex_t *regex; if ((regex = ap_pregcomp(ssl_expr_info.pool, ssl_expr_yyvsp[0].cpVal, REG_EXTENDED|REG_NOSUB|REG_ICASE)) == NULL) { ssl_expr_error = "Failed to compile regular expression"; YYERROR; + regex = NULL; } ssl_expr_yyval.exVal = ssl_expr_make(op_Regex, regex, NULL); ; break;} case 26: -#line 135 "ssl_expr_parse.y" +#line 170 "ssl_expr_parse.y" { ssl_expr *args = ssl_expr_make(op_ListElement, ssl_expr_yyvsp[-1].cpVal, NULL); ssl_expr_yyval.exVal = ssl_expr_make(op_Func, "file", args); @@ -1068,7 +1070,7 @@ ssl_expr_yyerrhandle: } return 1; } -#line 141 "ssl_expr_parse.y" +#line 176 "ssl_expr_parse.y" int ssl_expr_yyerror(char *s) diff --git a/modules/ssl/ssl_expr_scan.c b/modules/ssl/ssl_expr_scan.c index 6c45bbc238..12977a3e00 100644 --- a/modules/ssl/ssl_expr_scan.c +++ b/modules/ssl/ssl_expr_scan.c @@ -18,6 +18,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: + * $Header: /home/striker/cvs2svn/dumps/httpd-2.0/../../httpd-2.0/modules/ssl/ssl_expr_scan.c,v 1.12.2.4 2004/02/09 20:53:20 nd Exp $ */ #define FLEX_SCANNER @@ -57,8 +58,8 @@ #endif /* ! __cplusplus */ #ifdef __TURBOC__ - #pragma warn -rch - #pragma warn -use +#pragma warn -rch +#pragma warn -use #include <io.h> #include <stdlib.h> #define YY_USE_CONST @@ -460,6 +461,7 @@ char *yytext; * See the License for the specific language governing permissions and * limitations under the License. */ + /* _ _ * _ __ ___ ___ __| | ___ ___| | * | '_ ` _ \ / _ \ / _` | / __/ __| | @@ -477,7 +479,7 @@ like fucking for virginity.'' ** Expression Scanner ** _________________________________________________________________ */ -#line 37 "ssl_expr_scan.l" +#line 38 "ssl_expr_scan.l" #include "mod_ssl.h" #include "ssl_expr_parse.h" @@ -497,7 +499,7 @@ int yyinput(char *buf, int max_size); #define regex 2 #define regex_flags 3 -#line 502 "lex.ssl_expr_yy.c" +#line 535 "lex.ssl_expr_yy.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -648,7 +650,7 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; -#line 58 "ssl_expr_scan.l" +#line 91 "ssl_expr_scan.l" char caStr[MAX_STR_LEN]; @@ -660,7 +662,7 @@ YY_DECL /* * Whitespaces */ -#line 665 "lex.ssl_expr_yy.c" +#line 698 "lex.ssl_expr_yy.c" if ( yy_init ) { @@ -741,7 +743,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 69 "ssl_expr_scan.l" +#line 102 "ssl_expr_scan.l" { /* NOP */ } @@ -751,7 +753,7 @@ YY_RULE_SETUP */ case 2: YY_RULE_SETUP -#line 76 "ssl_expr_scan.l" +#line 109 "ssl_expr_scan.l" { cpStr = caStr; BEGIN(str); @@ -759,7 +761,7 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 80 "ssl_expr_scan.l" +#line 113 "ssl_expr_scan.l" { BEGIN(INITIAL); *cpStr = NUL; @@ -769,14 +771,14 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 86 "ssl_expr_scan.l" +#line 119 "ssl_expr_scan.l" { yyerror("Unterminated string"); } YY_BREAK case 5: YY_RULE_SETUP -#line 89 "ssl_expr_scan.l" +#line 122 "ssl_expr_scan.l" { int result; @@ -789,46 +791,46 @@ YY_RULE_SETUP YY_BREAK case 6: YY_RULE_SETUP -#line 98 "ssl_expr_scan.l" +#line 131 "ssl_expr_scan.l" { yyerror("Bad escape sequence"); } YY_BREAK case 7: YY_RULE_SETUP -#line 101 "ssl_expr_scan.l" +#line 134 "ssl_expr_scan.l" { *cpStr++ = '\n'; } YY_BREAK case 8: YY_RULE_SETUP -#line 102 "ssl_expr_scan.l" +#line 135 "ssl_expr_scan.l" { *cpStr++ = '\r'; } YY_BREAK case 9: YY_RULE_SETUP -#line 103 "ssl_expr_scan.l" +#line 136 "ssl_expr_scan.l" { *cpStr++ = '\t'; } YY_BREAK case 10: YY_RULE_SETUP -#line 104 "ssl_expr_scan.l" +#line 137 "ssl_expr_scan.l" { *cpStr++ = '\b'; } YY_BREAK case 11: YY_RULE_SETUP -#line 105 "ssl_expr_scan.l" +#line 138 "ssl_expr_scan.l" { *cpStr++ = '\f'; } YY_BREAK case 12: YY_RULE_SETUP -#line 106 "ssl_expr_scan.l" +#line 139 "ssl_expr_scan.l" { *cpStr++ = yytext[1]; } YY_BREAK case 13: YY_RULE_SETUP -#line 109 "ssl_expr_scan.l" +#line 142 "ssl_expr_scan.l" { char *cp = yytext; while (*cp != NUL) @@ -837,7 +839,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 114 "ssl_expr_scan.l" +#line 147 "ssl_expr_scan.l" { *cpStr++ = yytext[1]; } @@ -847,7 +849,7 @@ YY_RULE_SETUP */ case 15: YY_RULE_SETUP -#line 121 "ssl_expr_scan.l" +#line 154 "ssl_expr_scan.l" { cRegexDel = yytext[1]; cpRegex = caRegex; @@ -856,7 +858,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 126 "ssl_expr_scan.l" +#line 159 "ssl_expr_scan.l" { if (yytext[0] == cRegexDel) { *cpRegex = NUL; @@ -869,7 +871,7 @@ YY_RULE_SETUP YY_BREAK case 17: YY_RULE_SETUP -#line 135 "ssl_expr_scan.l" +#line 168 "ssl_expr_scan.l" { yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, caRegex); BEGIN(INITIAL); @@ -878,7 +880,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 140 "ssl_expr_scan.l" +#line 173 "ssl_expr_scan.l" { yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, caRegex); yyless(0); @@ -887,7 +889,7 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(regex_flags): -#line 146 "ssl_expr_scan.l" +#line 179 "ssl_expr_scan.l" { yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, caRegex); BEGIN(INITIAL); @@ -899,107 +901,107 @@ case YY_STATE_EOF(regex_flags): */ case 19: YY_RULE_SETUP -#line 155 "ssl_expr_scan.l" +#line 188 "ssl_expr_scan.l" { return T_OP_EQ; } YY_BREAK case 20: YY_RULE_SETUP -#line 156 "ssl_expr_scan.l" +#line 189 "ssl_expr_scan.l" { return T_OP_EQ; } YY_BREAK case 21: YY_RULE_SETUP -#line 157 "ssl_expr_scan.l" +#line 190 "ssl_expr_scan.l" { return T_OP_NE; } YY_BREAK case 22: YY_RULE_SETUP -#line 158 "ssl_expr_scan.l" +#line 191 "ssl_expr_scan.l" { return T_OP_NE; } YY_BREAK case 23: YY_RULE_SETUP -#line 159 "ssl_expr_scan.l" +#line 192 "ssl_expr_scan.l" { return T_OP_LT; } YY_BREAK case 24: YY_RULE_SETUP -#line 160 "ssl_expr_scan.l" +#line 193 "ssl_expr_scan.l" { return T_OP_LT; } YY_BREAK case 25: YY_RULE_SETUP -#line 161 "ssl_expr_scan.l" +#line 194 "ssl_expr_scan.l" { return T_OP_LE; } YY_BREAK case 26: YY_RULE_SETUP -#line 162 "ssl_expr_scan.l" +#line 195 "ssl_expr_scan.l" { return T_OP_LE; } YY_BREAK case 27: YY_RULE_SETUP -#line 163 "ssl_expr_scan.l" +#line 196 "ssl_expr_scan.l" { return T_OP_GT; } YY_BREAK case 28: YY_RULE_SETUP -#line 164 "ssl_expr_scan.l" +#line 197 "ssl_expr_scan.l" { return T_OP_GT; } YY_BREAK case 29: YY_RULE_SETUP -#line 165 "ssl_expr_scan.l" +#line 198 "ssl_expr_scan.l" { return T_OP_GE; } YY_BREAK case 30: YY_RULE_SETUP -#line 166 "ssl_expr_scan.l" +#line 199 "ssl_expr_scan.l" { return T_OP_GE; } YY_BREAK case 31: YY_RULE_SETUP -#line 167 "ssl_expr_scan.l" +#line 200 "ssl_expr_scan.l" { return T_OP_REG; } YY_BREAK case 32: YY_RULE_SETUP -#line 168 "ssl_expr_scan.l" +#line 201 "ssl_expr_scan.l" { return T_OP_NRE; } YY_BREAK case 33: YY_RULE_SETUP -#line 169 "ssl_expr_scan.l" +#line 202 "ssl_expr_scan.l" { return T_OP_AND; } YY_BREAK case 34: YY_RULE_SETUP -#line 170 "ssl_expr_scan.l" +#line 203 "ssl_expr_scan.l" { return T_OP_AND; } YY_BREAK case 35: YY_RULE_SETUP -#line 171 "ssl_expr_scan.l" +#line 204 "ssl_expr_scan.l" { return T_OP_OR; } YY_BREAK case 36: YY_RULE_SETUP -#line 172 "ssl_expr_scan.l" +#line 205 "ssl_expr_scan.l" { return T_OP_OR; } YY_BREAK case 37: YY_RULE_SETUP -#line 173 "ssl_expr_scan.l" +#line 206 "ssl_expr_scan.l" { return T_OP_NOT; } YY_BREAK case 38: YY_RULE_SETUP -#line 174 "ssl_expr_scan.l" +#line 207 "ssl_expr_scan.l" { return T_OP_NOT; } YY_BREAK case 39: YY_RULE_SETUP -#line 175 "ssl_expr_scan.l" +#line 208 "ssl_expr_scan.l" { return T_OP_IN; } YY_BREAK /* @@ -1007,7 +1009,7 @@ YY_RULE_SETUP */ case 40: YY_RULE_SETUP -#line 180 "ssl_expr_scan.l" +#line 213 "ssl_expr_scan.l" { return T_FUNC_FILE; } YY_BREAK /* @@ -1015,12 +1017,12 @@ YY_RULE_SETUP */ case 41: YY_RULE_SETUP -#line 185 "ssl_expr_scan.l" +#line 218 "ssl_expr_scan.l" { return T_TRUE; } YY_BREAK case 42: YY_RULE_SETUP -#line 186 "ssl_expr_scan.l" +#line 219 "ssl_expr_scan.l" { return T_FALSE; } YY_BREAK /* @@ -1028,7 +1030,7 @@ YY_RULE_SETUP */ case 43: YY_RULE_SETUP -#line 191 "ssl_expr_scan.l" +#line 224 "ssl_expr_scan.l" { yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, yytext); return T_DIGIT; @@ -1039,7 +1041,7 @@ YY_RULE_SETUP */ case 44: YY_RULE_SETUP -#line 199 "ssl_expr_scan.l" +#line 232 "ssl_expr_scan.l" { yylval.cpVal = apr_pstrdup(ssl_expr_info.pool, yytext); return T_ID; @@ -1050,17 +1052,17 @@ YY_RULE_SETUP */ case 45: YY_RULE_SETUP -#line 207 "ssl_expr_scan.l" +#line 240 "ssl_expr_scan.l" { return yytext[0]; } YY_BREAK case 46: YY_RULE_SETUP -#line 211 "ssl_expr_scan.l" +#line 244 "ssl_expr_scan.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 1065 "lex.ssl_expr_yy.c" +#line 1098 "lex.ssl_expr_yy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(str): case YY_STATE_EOF(regex): @@ -1949,7 +1951,7 @@ int main() return 0; } #endif -#line 211 "ssl_expr_scan.l" +#line 244 "ssl_expr_scan.l" int yyinput(char *buf, int max_size) |