From 6d25549d0ec16ac36db14230f43f9bf3e457fd2e Mon Sep 17 00:00:00 2001 From: "William A. Rowe Jr" Date: Fri, 24 Aug 2007 00:08:55 +0000 Subject: [PATCH] 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 --- modules/aaa/mod_authz_dbd.c | 6 +++++- modules/aaa/mod_authz_dbd.h | 23 ++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) 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 -- 2.40.0