You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@apache.org> on 2002/11/30 19:54:24 UTC

Re: cvs commit: httpd-2.0/modules/dav/main providers.c

Good change.

Please commit back to 2_0_BRANCH.

[Look ma, no tags on include/ap_provider.h!]

Since we have never released this API, we should be able to avoid
the evil mmn bump.  

Bill

At 12:48 PM 11/30/2002, jerenkrantz@apache.org wrote:
>jerenkrantz    2002/11/30 10:48:41
>
>  Modified:    include  ap_provider.h
>               server   provider.c
>               .        CHANGES
>               modules/aaa mod_auth_basic.c mod_auth_digest.c
>                        mod_authn_dbm.c mod_authn_file.c
>               modules/dav/main providers.c
>  Log:
>  Per Greg's request, add a version string component to the ap_provider.h
>  functions.  This allows modules to register different versions of the
>  same provider.
>  
>  Revision  Changes    Path
>  1.3       +5 -1      httpd-2.0/include/ap_provider.h
>  
>  Index: ap_provider.h
>  ===================================================================
>  RCS file: /home/cvs/httpd-2.0/include/ap_provider.h,v
>  retrieving revision 1.2
>  retrieving revision 1.3
>  diff -u -u -r1.2 -r1.3
>  --- ap_provider.h     20 Sep 2002 01:00:53 -0000      1.2
>  +++ ap_provider.h     30 Nov 2002 18:48:40 -0000      1.3
>  @@ -67,12 +67,14 @@
>    * @param pool The pool to create any storage from
>    * @param provider_group The group to store the provider in
>    * @param provider_name The name for this provider
>  + * @param provider_version The version for this provider
>    * @param provider Opaque structure for this provider
>    * @return APR_SUCCESS if all went well
>    */
>   AP_DECLARE(apr_status_t) ap_register_provider(apr_pool_t *pool,
>                                                 const char *provider_group,
>                                                 const char *provider_name,
>  +                                              const char *provider_version,
>                                                 const void *provider);
>   
>   /**
>  @@ -80,9 +82,11 @@
>    * provider pool.
>    * @param provider_group The group to look for this provider in
>    * @param provider_name The name for the provider
>  + * @param provider_version The version for the provider
>    * @return provider pointer to provider if found, NULL otherwise
>    */
>   AP_DECLARE(void *) ap_lookup_provider(const char *provider_group,
>  -                                      const char *provider_name);
>  +                                      const char *provider_name,
>  +                                      const char *provider_version);
>   
>   #endif
>  
>  
>  
>  1.2       +24 -4     httpd-2.0/server/provider.c
>  
>  Index: provider.c
>  ===================================================================
>  RCS file: /home/cvs/httpd-2.0/server/provider.c,v
>  retrieving revision 1.1
>  retrieving revision 1.2
>  diff -u -u -r1.1 -r1.2
>  --- provider.c        20 Sep 2002 00:57:50 -0000      1.1
>  +++ provider.c        30 Nov 2002 18:48:40 -0000      1.2
>  @@ -69,9 +69,11 @@
>   AP_DECLARE(apr_status_t) ap_register_provider(apr_pool_t *pool,
>                                                 const char *provider_group,
>                                                 const char *provider_name,
>  +                                              const char *provider_version,
>                                                 const void *provider)
>   {
>       apr_hash_t *provider_group_hash;
>  +    apr_hash_t *provider_version_hash;
>   
>       if (global_providers == NULL) {
>           global_providers = apr_hash_make(pool);
>  @@ -89,17 +91,28 @@
>           
>       }
>   
>  +    provider_version_hash = apr_hash_get(provider_group_hash, provider_name,
>  +                                         APR_HASH_KEY_STRING);
>  +
>  +    if (!provider_version_hash) {
>  +        provider_version_hash = apr_hash_make(pool);
>  +        apr_hash_set(provider_group_hash, provider_name, APR_HASH_KEY_STRING,
>  +                     provider_version_hash);
>  +        
>  +    }
>  +
>       /* just set it. no biggy if it was there before. */
>  -    apr_hash_set(provider_group_hash, provider_name, APR_HASH_KEY_STRING,
>  +    apr_hash_set(provider_version_hash, provider_version, APR_HASH_KEY_STRING,
>                    provider);
>   
>       return APR_SUCCESS;
>   }
>   
>   AP_DECLARE(void *) ap_lookup_provider(const char *provider_group,
>  -                                      const char *provider_name)
>  +                                      const char *provider_name,
>  +                                      const char *provider_version)
>   {
>  -    apr_hash_t *provider_group_hash;
>  +    apr_hash_t *provider_group_hash, *provider_name_hash;
>   
>       if (global_providers == NULL) {
>           return NULL;
>  @@ -112,6 +125,13 @@
>           return NULL;
>       }
>   
>  -    return apr_hash_get(provider_group_hash, provider_name,
>  +    provider_name_hash = apr_hash_get(provider_group_hash, provider_name,
>  +                                      APR_HASH_KEY_STRING);
>  +
>  +    if (provider_name_hash == NULL) {
>  +        return NULL;
>  +    }
>  +
>  +    return apr_hash_get(provider_name_hash, provider_version,
>                           APR_HASH_KEY_STRING);
>   }
>  
>  
>  
>  1.998     +2 -2      httpd-2.0/CHANGES
>  
>  Index: CHANGES
>  ===================================================================
>  RCS file: /home/cvs/httpd-2.0/CHANGES,v
>  retrieving revision 1.997
>  retrieving revision 1.998
>  diff -u -u -r1.997 -r1.998
>  --- CHANGES   30 Nov 2002 18:47:12 -0000      1.997
>  +++ CHANGES   30 Nov 2002 18:48:40 -0000      1.998
>  @@ -2,10 +2,10 @@
>   
>     [Remove entries to the current 2.0 section below, when backported]
>   
>  +  *) Add version string to provider API.  [Justin Erenkrantz]
>  +
>     *) Rewrite of aaa modules to an authn/authz model.
>        [Dirk-Willem van Gulik, Justin Erenkrantz]
>  -
>  -
>   
>   Changes with Apache 2.0.44
>   
>  
>  
>  
>  1.7       +2 -2      httpd-2.0/modules/aaa/mod_auth_basic.c
>  
>  Index: mod_auth_basic.c
>  ===================================================================
>  RCS file: /home/cvs/httpd-2.0/modules/aaa/mod_auth_basic.c,v
>  retrieving revision 1.6
>  retrieving revision 1.7
>  diff -u -u -r1.6 -r1.7
>  --- mod_auth_basic.c  20 Sep 2002 00:57:49 -0000      1.6
>  +++ mod_auth_basic.c  30 Nov 2002 18:48:40 -0000      1.7
>  @@ -115,7 +115,7 @@
>   
>       /* lookup and cache the actual provider now */
>       newp->provider = ap_lookup_provider(AUTHN_PROVIDER_GROUP,
>  -                                        newp->provider_name);
>  +                                        newp->provider_name, "0");
>   
>       if (newp->provider == NULL) {
>           /* by the time they use it, the provider should be loaded and
>  @@ -256,7 +256,7 @@
>            */
>           if (!current_provider) {
>               provider = ap_lookup_provider(AUTHN_PROVIDER_GROUP,
>  -                                          AUTHN_DEFAULT_PROVIDER);
>  +                                          AUTHN_DEFAULT_PROVIDER, "0");
>           }
>           else {
>               provider = current_provider->provider;
>  
>  
>  
>  1.73      +2 -2      httpd-2.0/modules/aaa/mod_auth_digest.c
>  
>  Index: mod_auth_digest.c
>  ===================================================================
>  RCS file: /home/cvs/httpd-2.0/modules/aaa/mod_auth_digest.c,v
>  retrieving revision 1.72
>  retrieving revision 1.73
>  diff -u -u -r1.72 -r1.73
>  --- mod_auth_digest.c 20 Sep 2002 00:57:49 -0000      1.72
>  +++ mod_auth_digest.c 30 Nov 2002 18:48:41 -0000      1.73
>  @@ -506,7 +506,7 @@
>   
>       /* lookup and cache the actual provider now */
>       newp->provider = ap_lookup_provider(AUTHN_PROVIDER_GROUP,
>  -                                        newp->provider_name);
>  +                                        newp->provider_name, "0");
>   
>       if (newp->provider == NULL) {
>          /* by the time they use it, the provider should be loaded and
>  @@ -1476,7 +1476,7 @@
>            */
>           if (!current_provider) {
>               provider = ap_lookup_provider(AUTHN_PROVIDER_GROUP,
>  -                                          AUTHN_DEFAULT_PROVIDER);
>  +                                          AUTHN_DEFAULT_PROVIDER, "0");
>           }
>           else {
>               provider = current_provider->provider;
>  
>  
>  
>  1.8       +2 -1      httpd-2.0/modules/aaa/mod_authn_dbm.c
>  
>  Index: mod_authn_dbm.c
>  ===================================================================
>  RCS file: /home/cvs/httpd-2.0/modules/aaa/mod_authn_dbm.c,v
>  retrieving revision 1.7
>  retrieving revision 1.8
>  diff -u -u -r1.7 -r1.8
>  --- mod_authn_dbm.c   22 Sep 2002 05:18:33 -0000      1.7
>  +++ mod_authn_dbm.c   30 Nov 2002 18:48:41 -0000      1.8
>  @@ -191,7 +191,8 @@
>   
>   static void register_hooks(apr_pool_t *p)
>   {
>  -    ap_register_provider(p, AUTHN_PROVIDER_GROUP, "dbm", &authn_dbm_provider);
>  +    ap_register_provider(p, AUTHN_PROVIDER_GROUP, "dbm", "0",
>  +                         &authn_dbm_provider);
>   }
>   
>   module AP_MODULE_DECLARE_DATA authn_dbm_module =
>  
>  
>  
>  1.6       +2 -1      httpd-2.0/modules/aaa/mod_authn_file.c
>  
>  Index: mod_authn_file.c
>  ===================================================================
>  RCS file: /home/cvs/httpd-2.0/modules/aaa/mod_authn_file.c,v
>  retrieving revision 1.5
>  retrieving revision 1.6
>  diff -u -u -r1.5 -r1.6
>  --- mod_authn_file.c  20 Sep 2002 06:14:31 -0000      1.5
>  +++ mod_authn_file.c  30 Nov 2002 18:48:41 -0000      1.6
>  @@ -219,7 +219,8 @@
>   
>   static void register_hooks(apr_pool_t *p)
>   {
>  -    ap_register_provider(p, AUTHN_PROVIDER_GROUP, "file", &authn_file_provider);
>  +    ap_register_provider(p, AUTHN_PROVIDER_GROUP, "file", "0",
>  +                         &authn_file_provider);
>   }
>   
>   module AP_MODULE_DECLARE_DATA authn_file_module =
>  
>  
>  
>  1.11      +2 -2      httpd-2.0/modules/dav/main/providers.c
>  
>  Index: providers.c
>  ===================================================================
>  RCS file: /home/cvs/httpd-2.0/modules/dav/main/providers.c,v
>  retrieving revision 1.10
>  retrieving revision 1.11
>  diff -u -u -r1.10 -r1.11
>  --- providers.c       20 Sep 2002 00:57:50 -0000      1.10
>  +++ providers.c       30 Nov 2002 18:48:41 -0000      1.11
>  @@ -62,10 +62,10 @@
>   DAV_DECLARE(void) dav_register_provider(apr_pool_t *p, const char *name,
>                                           const dav_provider *provider)
>   {
>  -    ap_register_provider(p, DAV_PROVIDER_GROUP, name, provider);
>  +    ap_register_provider(p, DAV_PROVIDER_GROUP, name, "0", provider);
>   }
>   
>   const dav_provider * dav_lookup_provider(const char *name)
>   {
>  -    return ap_lookup_provider(DAV_PROVIDER_GROUP, name);
>  +    return ap_lookup_provider(DAV_PROVIDER_GROUP, name, "0");
>   }
>  
>  
>