1
0
mirror of https://github.com/apache/httpd.git synced 2025-08-07 04:02:58 +03:00

Allow Netware awk script which handles proxy

symbol import/export to differentiate between
hooks which call APR_HOOK_LINK() in the C
files and those who don't by marking them
in the header file.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1728656 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Rainer Jung
2016-02-05 12:31:33 +00:00
parent 04da55f0b7
commit ba1ab80876
2 changed files with 40 additions and 14 deletions

View File

@@ -60,6 +60,17 @@ function add_symbol(sym_name) {
next next
} }
/^[ \t]*PROXY_HOOK_NON_LINKED[ \t]*AP[RU]?_DECLARE_EXTERNAL_HOOK[^(]*[(][^)]*/ {
split($0, args, ",")
prefix = args[1]
sub("^.*[(]", "", prefix)
symbol = args[4]
sub("^[ \t]+", "", symbol)
sub("[ \t]+$", "", symbol)
add_symbol(prefix "_run_" symbol)
next
}
/^[ \t]*APR_POOL_DECLARE_ACCESSOR[^(]*[(][^)]*[)]/ { /^[ \t]*APR_POOL_DECLARE_ACCESSOR[^(]*[(][^)]*[)]/ {
sub("[ \t]*APR_POOL_DECLARE_ACCESSOR[^(]*[(]", "", $0) sub("[ \t]*APR_POOL_DECLARE_ACCESSOR[^(]*[(]", "", $0)
sub("[)].*$", "", $0) sub("[)].*$", "", $0)

View File

@@ -558,6 +558,11 @@ struct proxy_balancer_method {
#define PROXY_DECLARE_DATA __declspec(dllimport) #define PROXY_DECLARE_DATA __declspec(dllimport)
#endif #endif
/* A non-functional marker tag to inform build/make_nw_export.awk
* that this hook is not linked in the module.
*/
#define PROXY_HOOK_NON_LINKED
/* These 2 are in mod_proxy.c */ /* These 2 are in mod_proxy.c */
PROXY_DECLARE_DATA extern proxy_hcmethods_t proxy_hcmethods[]; PROXY_DECLARE_DATA extern proxy_hcmethods_t proxy_hcmethods[];
@@ -572,11 +577,16 @@ APR_DECLARE_OPTIONAL_FN(const char *, set_worker_hc_param,
const char *, const char *, void *)); const char *, const char *, void *));
APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, scheme_handler, (request_rec *r, PROXY_HOOK_NON_LINKED APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, scheme_handler,
proxy_worker *worker, proxy_server_conf *conf, char *url, (request_rec *r,
const char *proxyhost, apr_port_t proxyport)) proxy_worker *worker,
APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, canon_handler, (request_rec *r, proxy_server_conf *conf,
char *url)) char *url,
const char *proxyhost,
apr_port_t proxyport))
PROXY_HOOK_NON_LINKED APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, canon_handler,
(request_rec *r,
char *url))
APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, create_req, (request_rec *r, request_rec *pr)) APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, create_req, (request_rec *r, request_rec *pr))
APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, fixups, (request_rec *r)) APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, fixups, (request_rec *r))
@@ -598,25 +608,30 @@ APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, detach_backend, (request_rec *r,
* and then the scheme_handler is called. * and then the scheme_handler is called.
* *
*/ */
APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, pre_request, (proxy_worker **worker, PROXY_HOOK_NON_LINKED APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, pre_request,
proxy_balancer **balancer, (proxy_worker **worker,
request_rec *r, proxy_balancer **balancer,
proxy_server_conf *conf, char **url)) request_rec *r,
proxy_server_conf *conf,
char **url))
/** /**
* post request hook. * post request hook.
* It is called after request for updating runtime balancer status. * It is called after request for updating runtime balancer status.
*/ */
APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, post_request, (proxy_worker *worker, PROXY_HOOK_NON_LINKED APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, post_request,
proxy_balancer *balancer, request_rec *r, (proxy_worker *worker,
proxy_server_conf *conf)) proxy_balancer *balancer,
request_rec *r,
proxy_server_conf *conf))
/** /**
* request status hook * request status hook
* It is called after all proxy processing has been done. This gives other * It is called after all proxy processing has been done. This gives other
* modules a chance to create default content on failure, for example * modules a chance to create default content on failure, for example
*/ */
APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, request_status, PROXY_HOOK_NON_LINKED APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, request_status,
(int *status, request_rec *r)) (int *status,
request_rec *r))
/* proxy_util.c */ /* proxy_util.c */