summaryrefslogtreecommitdiffstats
path: root/modules/aaa
diff options
context:
space:
mode:
Diffstat (limited to 'modules/aaa')
-rw-r--r--modules/aaa/mod_authz_dbd.c6
-rw-r--r--modules/aaa/mod_authz_dbd.h23
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