From: William A. Rowe Jr Date: Fri, 24 Aug 2007 00:08:55 +0000 (+0000) Subject: You can't borrow AP_ namespace for imports/exports. X-Git-Tag: 2.3.0~1555 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d25549d0ec16ac36db14230f43f9bf3e457fd2e;p=apache You can't borrow AP_ namespace for imports/exports. They are specific to one loadable module. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@569192 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/aaa/mod_authz_dbd.c b/modules/aaa/mod_authz_dbd.c index 5b9940043c..09991787ea 100644 --- a/modules/aaa/mod_authz_dbd.c +++ b/modules/aaa/mod_authz_dbd.c @@ -34,8 +34,12 @@ module AP_MODULE_DECLARE_DATA authz_dbd_module; /* Export a hook for modules that manage clientside sessions * (e.g. mod_auth_cookie) * to deal with those when we successfully login/logout at the server + * + * XXX: WHY would this be specific to dbd_authz? Why wouldn't we track + * this across all authz user providers in a lower level mod, such as + * mod_auth_basic/digest? */ -APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(authz_dbd, AP, int, client_login, +APR_IMPLEMENT_OPTIONAL_HOOK_RUN_ALL(authz_dbd, AUTHZ_DBD, int, client_login, (request_rec *r, int code, const char *action), (r, code, action), OK, DECLINED) diff --git a/modules/aaa/mod_authz_dbd.h b/modules/aaa/mod_authz_dbd.h index f35c10dde3..1aed4e6a81 100644 --- a/modules/aaa/mod_authz_dbd.h +++ b/modules/aaa/mod_authz_dbd.h @@ -18,6 +18,27 @@ #define MOD_AUTHZ_DBD_H #include "httpd.h" -APR_DECLARE_EXTERNAL_HOOK(authz_dbd, AP, int, client_login, +/* Create a set of AUTHZ_DBD_DECLARE(type), AUTHZ_DBD_DECLARE_NONSTD(type) and + * AUTHZ_DBD_DECLARE_DATA with appropriate export and import tags + */ +#if !defined(WIN32) +#define AUTHZ_DBD_DECLARE(type) type +#define AUTHZ_DBD_DECLARE_NONSTD(type) type +#define AUTHZ_DBD_DECLARE_DATA +#elif defined(AUTHZ_DBD_DECLARE_STATIC) +#define AUTHZ_DBD_DECLARE(type) type __stdcall +#define AUTHZ_DBD_DECLARE_NONSTD(type) type +#define AUTHZ_DBD_DECLARE_DATA +#elif defined(AUTHZ_DBD_DECLARE_EXPORT) +#define AUTHZ_DBD_DECLARE(type) __declspec(dllexport) type __stdcall +#define AUTHZ_DBD_DECLARE_NONSTD(type) __declspec(dllexport) type +#define AUTHZ_DBD_DECLARE_DATA __declspec(dllexport) +#else +#define AUTHZ_DBD_DECLARE(type) __declspec(dllimport) type __stdcall +#define AUTHZ_DBD_DECLARE_NONSTD(type) __declspec(dllimport) type +#define AUTHZ_DBD_DECLARE_DATA __declspec(dllimport) +#endif + +APR_DECLARE_EXTERNAL_HOOK(authz_dbd, AUTHZ_DBD, int, client_login, (request_rec *r, int code, const char *action)) #endif