//////////////////////////////////////////////////////////////////////////////////////////////// // // mod_csp -- Apache mod_csp module // //////////////////////////////////////////////////////////////////////////////////////////////// // for printf #include #include #include #include #include #include #include #include #include #include #ifdef __CSP__ #else #define GET __get__ #define POST __post__ #define COOKIE __cookie__ #define REQUEST __r__ #define POOL __p__ #define HEADER_IN __r__->headers_in #define HEADER_OUT __r__->headers_out #define tbl_set(a,b,c) apr_table_set(a,b,c) #define tbl_add(a,b,c) apr_table_add(a,b,c) #define tbl_clr(a) apr_table_clear(a); #define tbl_unset(a,b) apr_table_unset(a,b) #undef printf #define printf(arg,...) (arg==NULL)?NONE:ap_rprintf(__r__,arg, ##__VA_ARGS__) #define psprintf(arg,...) (arg==NULL)?NONE:apr_psprintf(__r__,arg, ##__VA_ARGS__) #define stnjoin(...) apr_pstrcat(__p__,__VA_ARGS__,NULL) #define stncat(...) apr_pstrcat(__p__,__VA_ARGS__,NULL) #define stndup(a) apr_pstrdup (__p__,a) #define unescape_url(a) ap_unescape_url(a) #define escape_uri(a) ap_escape_uri(__p__,a) #define escape_html(a) ap_escape_html(__p__,a) #define REGEXOK 0 #define REGEXNG 1 #define REGEXERROR -1 typedef apr_table_t * table; extern char * NONE; struct _sessionTable { int datasize; void * data; int keysize; void * key; }; struct _param { request_rec * r; // request_rec apr_table_t * g; // get apr_table_t * p; // post apr_table_t * c; // cookie int * session_index; struct _sessionTable * session; int timeout; int (* func)(); // test }; /////////////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////////////// extern request_rec * __r__; extern apr_pool_t * __p__; extern apr_table_t * __get__; extern apr_table_t * __post__; extern apr_table_t * __cookie__; extern int * __session_index__; extern struct _sessionTable * __session__; extern jmp_buf jbuf; extern void set_content_type(char * str); extern int regex_match(char * str,char * pattern); extern char * regex_replace(char *src, char *pattern, char *replaceStr); extern apr_table_t * tbl_make(int size); extern int tbl_size(apr_table_t * __table__); extern char * tbl_key_i(apr_table_t * __table__,int i); extern char * tbl_val_i(apr_table_t * __table__,int i); extern char * tbl_val(apr_table_t * __table__,char * args); extern char * stnreplace(char *buf, char *pre, char *aft); extern char * getGet(char * args); extern char * getPost(char * args); extern char * getCookie(char * args); extern void setCookie(char * args1,char * args2); extern void setSession(char * key,char * data); extern char * getSession(char * key); extern void setSession_ptr(char * key,void * data,int size); extern void * getSession_ptr(char * key); #endif #define __CSP__