1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-06 16:49:32 +03:00

Make the ssl expression parser thread-safe. It now requires bison instead of

yacc.

Also change the make file magic so that the real source file name is
embedded in the debug info.

The generated files have been created with flex 2.5.35/bison 2.4.1. The two
'no previous prototype' warnings are supposed to be fixed with the next flex
version.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1002824 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Stefan Fritsch
2010-09-29 19:42:03 +00:00
parent 8dd0a17fa3
commit f9ba292bfa
13 changed files with 3690 additions and 2002 deletions

View File

@@ -84,29 +84,26 @@ typedef struct {
typedef ssl_expr_node ssl_expr;
typedef struct {
apr_pool_t *pool;
char *inputbuf;
int inputlen;
char *inputptr;
ssl_expr *expr;
apr_pool_t *pool;
char *inputbuf;
int inputlen;
char *inputptr;
ssl_expr *expr;
void *scanner;
char *error;
} ssl_expr_info_type;
extern ssl_expr_info_type ssl_expr_info;
extern char *ssl_expr_error;
int ssl_expr_yyparse(ssl_expr_info_type *context);
int ssl_expr_yyerror(ssl_expr_info_type *context, char *errstring);
int ssl_expr_yylex_init(void **scanner);
int ssl_expr_yylex_destroy(void *scanner);
void ssl_expr_yyset_extra(ssl_expr_info_type *context, void *scanner);
#define yylval ssl_expr_yylval
#define yyerror ssl_expr_yyerror
#define yyinput ssl_expr_yyinput
extern int ssl_expr_yyparse(void);
extern int ssl_expr_yyerror(char *);
extern int ssl_expr_yylex(void);
extern ssl_expr *ssl_expr_comp(apr_pool_t *, char *);
extern int ssl_expr_exec(request_rec *, ssl_expr *);
extern char *ssl_expr_get_error(void);
extern ssl_expr *ssl_expr_make(ssl_expr_node_op, void *, void *);
extern BOOL ssl_expr_eval(request_rec *, ssl_expr *);
ssl_expr *ssl_expr_comp(apr_pool_t *p, char *exprstr, const char **err);
int ssl_expr_exec(request_rec *r, ssl_expr *expr, const char **err);
ssl_expr *ssl_expr_make(ssl_expr_node_op op, void *arg1, void *arg2,
ssl_expr_info_type *context);
BOOL ssl_expr_eval(request_rec *r, ssl_expr *expr, const char **err);
#endif /* __SSL_EXPR_H__ */
/** @} */