]> granicus.if.org Git - apache/commitdiff
mod_session has a different scope than the core.
authorWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 6 Jun 2008 22:29:58 +0000 (22:29 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Fri, 6 Jun 2008 22:29:58 +0000 (22:29 +0000)
Replace the nonsense (see modules such as mod_dav,
mod_cache etc for similar examples).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@664165 13f79535-47bb-0310-9956-ffa450edef68

modules/session/mod_session.c
modules/session/mod_session.h

index 83c33308ed77c53f87a157f3e656e224bc37d3eb..c9450b8a8c6b4e82ed306c1472e7bbd8c90a20ff 100644 (file)
@@ -32,18 +32,18 @@ APR_HOOK_STRUCT(
                 APR_HOOK_LINK(session_encode)
                 APR_HOOK_LINK(session_decode)
 )
-AP_IMPLEMENT_HOOK_RUN_FIRST(int, session_load,
+APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(session, SESSION, int, session_load,
                       (request_rec * r, session_rec ** z), (r, z), DECLINED)
-AP_IMPLEMENT_HOOK_RUN_FIRST(int, session_save,
+APR_IMPLEMENT_EXTERNAL_HOOK_RUN_FIRST(session, SESSION, int, session_save,
                        (request_rec * r, session_rec * z), (r, z), DECLINED)
-AP_IMPLEMENT_HOOK_RUN_ALL(int, session_encode,
+APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(session, SESSION, int, session_encode,
                    (request_rec * r, session_rec * z), (r, z), OK, DECLINED)
-AP_IMPLEMENT_HOOK_RUN_ALL(int, session_decode,
+APR_IMPLEMENT_EXTERNAL_HOOK_RUN_ALL(session, SESSION, int, session_decode,
                    (request_rec * r, session_rec * z), (r, z), OK, DECLINED)
 
-AP_DECLARE(int) ap_session_identity_encode(request_rec * r, session_rec * z);
-AP_DECLARE(int) ap_session_identity_decode(request_rec * r, session_rec * z);
-AP_DECLARE(int) ap_session_fixups(request_rec * r);
+static int session_identity_encode(request_rec * r, session_rec * z);
+static int session_identity_decode(request_rec * r, session_rec * z);
+static int session_fixups(request_rec * r);
 
 /**
  * Should the session be included within this URL.
@@ -90,7 +90,7 @@ static int session_included(request_rec * r, session_dir_conf * conf)
  * @param key The key to get.
  * @param value The buffer to write the value to.
  */
-AP_DECLARE(void) ap_session_get(request_rec * r, session_rec * z, const char *key, const char **value)
+SESSION_DECLARE(void) ap_session_get(request_rec * r, session_rec * z, const char *key, const char **value)
 {
     if (!z) {
         ap_session_load(r, &z);
@@ -112,7 +112,7 @@ AP_DECLARE(void) ap_session_get(request_rec * r, session_rec * z, const char *ke
  * @param key The key to set. The existing key value will be replaced.
  * @param value The value to set.
  */
-AP_DECLARE(void) ap_session_set(request_rec * r, session_rec * z,
+SESSION_DECLARE(void) ap_session_set(request_rec * r, session_rec * z,
                                 const char *key, const char *value)
 {
     if (!z) {
@@ -137,7 +137,7 @@ AP_DECLARE(void) ap_session_set(request_rec * r, session_rec * z,
  * @param r The request
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE(int) ap_session_load(request_rec * r, session_rec ** z)
+SESSION_DECLARE(int) ap_session_load(request_rec * r, session_rec ** z)
 {
 
     session_dir_conf *dconf = ap_get_module_config(r->per_dir_config,
@@ -216,7 +216,7 @@ AP_DECLARE(int) ap_session_load(request_rec * r, session_rec ** z)
  * @param r The request
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE(int) ap_session_save(request_rec * r, session_rec * z)
+SESSION_DECLARE(int) ap_session_save(request_rec * r, session_rec * z)
 {
     if (z) {
         apr_time_t now = apr_time_now();
@@ -304,7 +304,7 @@ static int identity_concat(char *buffer, const char *key, const char *val)
  * @param r The request pointer.
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE(int) ap_session_identity_encode(request_rec * r, session_rec * z)
+static int session_identity_encode(request_rec * r, session_rec * z)
 {
 
     char *buffer = NULL;
@@ -340,7 +340,7 @@ AP_DECLARE(int) ap_session_identity_encode(request_rec * r, session_rec * z)
  * @param r The request pointer.
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE(int) ap_session_identity_decode(request_rec * r, session_rec * z)
+static int session_identity_decode(request_rec * r, session_rec * z)
 {
 
     char *last = NULL;
@@ -425,7 +425,7 @@ static apr_status_t ap_session_output_filter(ap_filter_t * f,
             }
             if (override) {
                 z->encoded = override;
-                ap_session_identity_decode(r, z);
+                session_identity_decode(r, z);
             }
         }
 
@@ -462,7 +462,7 @@ static void ap_session_insert_output_filter(request_rec * r)
  * 
  * @param r The request
  */
-AP_DECLARE(int) ap_session_fixups(request_rec * r)
+static int session_fixups(request_rec * r)
 {
     session_dir_conf *conf = ap_get_module_config(r->per_dir_config,
                                                   &session_module);
@@ -471,7 +471,7 @@ AP_DECLARE(int) ap_session_fixups(request_rec * r)
     ap_session_load(r, &z);
 
     if (conf->env) {
-        ap_session_identity_encode(r, z);
+        session_identity_encode(r, z);
         if (z->encoded) {
             apr_table_set(r->subprocess_env, HTTP_SESSION, z->encoded);
             z->encoded = NULL;
@@ -604,9 +604,9 @@ static void register_hooks(apr_pool_t * p)
     ap_hook_insert_filter(ap_session_insert_output_filter, NULL, NULL, APR_HOOK_MIDDLE);
     ap_hook_insert_error_filter(ap_session_insert_output_filter,
                                 NULL, NULL, APR_HOOK_MIDDLE);
-    ap_hook_fixups(ap_session_fixups, NULL, NULL, APR_HOOK_MIDDLE);
-    ap_hook_session_encode(ap_session_identity_encode, NULL, NULL, APR_HOOK_REALLY_FIRST);
-    ap_hook_session_decode(ap_session_identity_decode, NULL, NULL, APR_HOOK_REALLY_LAST);
+    ap_hook_fixups(session_fixups, NULL, NULL, APR_HOOK_MIDDLE);
+    ap_hook_session_encode(session_identity_encode, NULL, NULL, APR_HOOK_REALLY_FIRST);
+    ap_hook_session_decode(session_identity_decode, NULL, NULL, APR_HOOK_REALLY_LAST);
     APR_REGISTER_OPTIONAL_FN(ap_session_get);
     APR_REGISTER_OPTIONAL_FN(ap_session_set);
     APR_REGISTER_OPTIONAL_FN(ap_session_load);
index 65560cd5343571be36c0416cb18e091c5b82a947..6d816398c5651ecb3e1d2de30a6d7e317680145e 100644 (file)
 #ifndef MOD_SESSION_H
 #define MOD_SESSION_H
 
+/* Create a set of SESSION_DECLARE(type), SESSION_DECLARE_NONSTD(type) and 
+ * SESSION_DECLARE_DATA with appropriate export and import tags for the platform
+ */
+#if !defined(WIN32)
+#define SESSION_DECLARE(type)        type
+#define SESSION_DECLARE_NONSTD(type) type
+#define SESSION_DECLARE_DATA
+#elif defined(SESSION_DECLARE_STATIC)
+#define SESSION_DECLARE(type)        type __stdcall
+#define SESSION_DECLARE_NONSTD(type) type
+#define SESSION_DECLARE_DATA
+#elif defined(SESSION_DECLARE_EXPORT)
+#define SESSION_DECLARE(type)        __declspec(dllexport) type __stdcall
+#define SESSION_DECLARE_NONSTD(type) __declspec(dllexport) type
+#define SESSION_DECLARE_DATA         __declspec(dllexport)
+#else
+#define SESSION_DECLARE(type)        __declspec(dllimport) type __stdcall
+#define SESSION_DECLARE_NONSTD(type) __declspec(dllimport) type
+#define SESSION_DECLARE_DATA         __declspec(dllimport)
+#endif
+
 /**
  * @file  mod_session.h
  * @brief Session Module for Apache
@@ -105,7 +126,7 @@ typedef struct {
  * @param key The key to get.
  * @param value The buffer to write the value to.
  */
-AP_DECLARE(void) ap_session_get(request_rec * r, session_rec * z, const char *key, const char **value);
+SESSION_DECLARE(void) ap_session_get(request_rec * r, session_rec * z, const char *key, const char **value);
 
 /**
  * Set a particular value to the session.
@@ -119,7 +140,7 @@ AP_DECLARE(void) ap_session_get(request_rec * r, session_rec * z, const char *ke
  * @param key The key to set. The existing key value will be replaced.
  * @param value The value to set.
  */
-AP_DECLARE(void) ap_session_set(request_rec * r, session_rec * z,
+SESSION_DECLARE(void) ap_session_set(request_rec * r, session_rec * z,
                                 const char *key, const char *value);
 
 /**
@@ -130,7 +151,7 @@ AP_DECLARE(void) ap_session_set(request_rec * r, session_rec * z,
  * @param r The request
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE(int) ap_session_load(request_rec * r, session_rec ** z);
+SESSION_DECLARE(int) ap_session_load(request_rec * r, session_rec ** z);
 
 /**
  * Hook to load the session.
@@ -140,7 +161,8 @@ AP_DECLARE(int) ap_session_load(request_rec * r, session_rec ** z);
  * @param r The request
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE_HOOK(int, session_load, (request_rec * r, session_rec ** z))
+APR_DECLARE_EXTERNAL_HOOK(session, SESSION, int, session_load,
+                          (request_rec * r, session_rec ** z))
 
 /**
  * Save the session.
@@ -151,7 +173,7 @@ AP_DECLARE_HOOK(int, session_load, (request_rec * r, session_rec ** z))
  * @param r The request
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE(int) ap_session_save(request_rec * r, session_rec * z);
+SESSION_DECLARE(int) ap_session_save(request_rec * r, session_rec * z);
 
 /**
  * Hook to save the session.
@@ -162,7 +184,8 @@ AP_DECLARE(int) ap_session_save(request_rec * r, session_rec * z);
  * @param r The request
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE_HOOK(int, session_save, (request_rec * r, session_rec * z))
+APR_DECLARE_EXTERNAL_HOOK(session, SESSION, int, session_save,
+                          (request_rec * r, session_rec * z))
 
 /**
  * Hook to encode the session.
@@ -174,7 +197,8 @@ AP_DECLARE_HOOK(int, session_save, (request_rec * r, session_rec * z))
  * @param r The request
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE_HOOK(int, session_encode, (request_rec * r, session_rec * z))
+APR_DECLARE_EXTERNAL_HOOK(session, SESSION, int, session_encode,
+                          (request_rec * r, session_rec * z))
 
 /**
  * Hook to decode the session.
@@ -186,7 +210,8 @@ AP_DECLARE_HOOK(int, session_encode, (request_rec * r, session_rec * z))
  * @param r The request
  * @param z A pointer to where the session will be written.
  */
-AP_DECLARE_HOOK(int, session_decode, (request_rec * r, session_rec * z))
+APR_DECLARE_EXTERNAL_HOOK(session, SESSION, int, session_decode,
+                          (request_rec * r, session_rec * z))
 
 APR_DECLARE_OPTIONAL_FN(void, ap_session_get, (request_rec * r, session_rec * z,
                                                const char *key, const char **value));