Loading modules/ssl/ssl_expr_parse.c +36 −34 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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); Loading Loading @@ -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) Loading modules/ssl/ssl_expr_scan.c +57 −55 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -460,6 +461,7 @@ char *yytext; * See the License for the specific language governing permissions and * limitations under the License. */ /* _ _ * _ __ ___ ___ __| | ___ ___| | * | '_ ` _ \ / _ \ / _` | / __/ __| | Loading @@ -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" Loading @@ -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. Loading Loading @@ -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]; Loading @@ -660,7 +662,7 @@ YY_DECL /* * Whitespaces */ #line 665 "lex.ssl_expr_yy.c" #line 698 "lex.ssl_expr_yy.c" if ( yy_init ) { Loading Loading @@ -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 */ } Loading @@ -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); Loading @@ -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; Loading @@ -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; Loading @@ -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) Loading @@ -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]; } Loading @@ -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; Loading @@ -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; Loading @@ -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); Loading @@ -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); Loading @@ -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); Loading @@ -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 /* Loading @@ -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 /* Loading @@ -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 /* Loading @@ -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; Loading @@ -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; Loading @@ -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): Loading Loading @@ -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) Loading Loading
modules/ssl/ssl_expr_parse.c +36 −34 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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); Loading Loading @@ -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) Loading
modules/ssl/ssl_expr_scan.c +57 −55 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -460,6 +461,7 @@ char *yytext; * See the License for the specific language governing permissions and * limitations under the License. */ /* _ _ * _ __ ___ ___ __| | ___ ___| | * | '_ ` _ \ / _ \ / _` | / __/ __| | Loading @@ -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" Loading @@ -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. Loading Loading @@ -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]; Loading @@ -660,7 +662,7 @@ YY_DECL /* * Whitespaces */ #line 665 "lex.ssl_expr_yy.c" #line 698 "lex.ssl_expr_yy.c" if ( yy_init ) { Loading Loading @@ -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 */ } Loading @@ -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); Loading @@ -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; Loading @@ -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; Loading @@ -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) Loading @@ -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]; } Loading @@ -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; Loading @@ -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; Loading @@ -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); Loading @@ -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); Loading @@ -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); Loading @@ -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 /* Loading @@ -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 /* Loading @@ -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 /* Loading @@ -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; Loading @@ -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; Loading @@ -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): Loading Loading @@ -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) Loading