diff options
Diffstat (limited to 'modules/aaa')
-rw-r--r-- | modules/aaa/mod_authz_dbd.c | 6 | ||||
-rw-r--r-- | 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 |