You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by mi...@apache.org on 2021/09/26 12:27:59 UTC

svn commit: r1893643 - in /httpd/httpd/trunk: include/ap_mmn.h modules/dav/main/mod_dav.h modules/dav/main/props.c

Author: minfrin
Date: Sun Sep 26 12:27:59 2021
New Revision: 1893643

URL: http://svn.apache.org/viewvc?rev=1893643&view=rev
Log:
Add dav_get_liveprop_element() to hide the implementation by which
the element is passed.

Modified:
    httpd/httpd/trunk/include/ap_mmn.h
    httpd/httpd/trunk/modules/dav/main/mod_dav.h
    httpd/httpd/trunk/modules/dav/main/props.c

Modified: httpd/httpd/trunk/include/ap_mmn.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/include/ap_mmn.h?rev=1893643&r1=1893642&r2=1893643&view=diff
==============================================================================
--- httpd/httpd/trunk/include/ap_mmn.h (original)
+++ httpd/httpd/trunk/include/ap_mmn.h Sun Sep 26 12:27:59 2021
@@ -692,14 +692,15 @@
  *                         for 20210506.0 + 20210924.0, MINOR bump only for
  *                         adding ap_proxy_tunnel_conn_bytes_{in,out}().
  * 20210924.1 (2.5.1-dev)  Add ap_proxy_fill_error_brigade()
+ * 20210926.0 (2.5.1-dev)  Add dav_get_liveprop_element(), remove DAV_PROP_ELEMENT.
  */
 
 #define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
 
 #ifndef MODULE_MAGIC_NUMBER_MAJOR
-#define MODULE_MAGIC_NUMBER_MAJOR 20210924
+#define MODULE_MAGIC_NUMBER_MAJOR 20210926
 #endif
-#define MODULE_MAGIC_NUMBER_MINOR 1             /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 0             /* 0...n */
 
 /**
  * Determine if the server's current MODULE_MAGIC_NUMBER is at least a

Modified: httpd/httpd/trunk/modules/dav/main/mod_dav.h
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/main/mod_dav.h?rev=1893643&r1=1893642&r2=1893643&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/dav/main/mod_dav.h (original)
+++ httpd/httpd/trunk/modules/dav/main/mod_dav.h Sun Sep 26 12:27:59 2021
@@ -1068,21 +1068,19 @@ DAV_DECLARE(long) dav_get_liveprop_ns_co
 DAV_DECLARE(void) dav_add_all_liveprop_xmlns(apr_pool_t *p,
                                              apr_text_header *phdr);
 
-/*
- ** When calling insert_prop(), the request element is associated with
- ** the pool userdata attached to the resource. Access as follows:
- **
- ** apr_pool_userdata_get(&elem, DAV_PROP_ELEMENT, resource->pool);
- **
- */
-#define DAV_PROP_ELEMENT "mod_dav-element"
-
 typedef struct {
     const apr_xml_doc *doc;
     const apr_xml_elem *elem;
 } dav_liveprop_elem;
 
 /*
+ ** When calling insert_prop(), the associated request element and
+ ** document is accessible using the following call.
+ */
+DAV_DECLARE(dav_liveprop_elem *) dav_get_liveprop_element(const dav_resource
+                                                          *resource);
+
+/*
 ** The following three functions are part of mod_dav's internal handling
 ** for the core WebDAV properties. They are not part of mod_dav's API.
 */

Modified: httpd/httpd/trunk/modules/dav/main/props.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/main/props.c?rev=1893643&r1=1893642&r2=1893643&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/dav/main/props.c (original)
+++ httpd/httpd/trunk/modules/dav/main/props.c Sun Sep 26 12:27:59 2021
@@ -167,6 +167,8 @@
 
 #define DAV_EMPTY_VALUE                "\0"    /* TWO null terms */
 
+#define DAV_PROP_ELEMENT "mod_dav-element"
+
 struct dav_propdb {
     apr_pool_t *p;                /* the pool we should use */
     request_rec *r;               /* the request record */
@@ -1057,6 +1059,15 @@ DAV_DECLARE(void) dav_get_liveprop_suppo
     }
 }
 
+DAV_DECLARE(dav_liveprop_elem *) dav_get_liveprop_element(const dav_resource *resource)
+{
+    dav_liveprop_elem *element;
+
+    apr_pool_userdata_get((void **)&element, DAV_PROP_ELEMENT, resource->pool);
+
+    return element;
+}
+
 DAV_DECLARE_NONSTD(void) dav_prop_validate(dav_prop_ctx *ctx)
 {
     dav_propdb *propdb = ctx->propdb;



Re: svn commit: r1893643 - in /httpd/httpd/trunk: include/ap_mmn.h modules/dav/main/mod_dav.h modules/dav/main/props.c

Posted by Ruediger Pluem <rp...@apache.org>.

On 10/7/21 12:00 PM, Ruediger Pluem wrote:
> 
> 
> On 9/26/21 2:27 PM, minfrin@apache.org wrote:
>> Author: minfrin
>> Date: Sun Sep 26 12:27:59 2021
>> New Revision: 1893643
>>
>> URL: http://svn.apache.org/viewvc?rev=1893643&view=rev
>> Log:
>> Add dav_get_liveprop_element() to hide the implementation by which
>> the element is passed.
>>
>> Modified:
>>     httpd/httpd/trunk/include/ap_mmn.h
>>     httpd/httpd/trunk/modules/dav/main/mod_dav.h
>>     httpd/httpd/trunk/modules/dav/main/props.c
>>
>> Modified: httpd/httpd/trunk/include/ap_mmn.h
>> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/include/ap_mmn.h?rev=1893643&r1=1893642&r2=1893643&view=diff
>> ==============================================================================
>> --- httpd/httpd/trunk/include/ap_mmn.h (original)
>> +++ httpd/httpd/trunk/include/ap_mmn.h Sun Sep 26 12:27:59 2021
>> @@ -692,14 +692,15 @@
>>   *                         for 20210506.0 + 20210924.0, MINOR bump only for
>>   *                         adding ap_proxy_tunnel_conn_bytes_{in,out}().
>>   * 20210924.1 (2.5.1-dev)  Add ap_proxy_fill_error_brigade()
>> + * 20210926.0 (2.5.1-dev)  Add dav_get_liveprop_element(), remove DAV_PROP_ELEMENT.
>>   */
>>  
>>  #define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
>>  
>>  #ifndef MODULE_MAGIC_NUMBER_MAJOR
>> -#define MODULE_MAGIC_NUMBER_MAJOR 20210924
>> +#define MODULE_MAGIC_NUMBER_MAJOR 20210926
>>  #endif
>> -#define MODULE_MAGIC_NUMBER_MINOR 1             /* 0...n */
>> +#define MODULE_MAGIC_NUMBER_MINOR 0             /* 0...n */
>>  
>>  /**
>>   * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
>>
>> Modified: httpd/httpd/trunk/modules/dav/main/mod_dav.h
>> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/main/mod_dav.h?rev=1893643&r1=1893642&r2=1893643&view=diff
>> ==============================================================================
>> --- httpd/httpd/trunk/modules/dav/main/mod_dav.h (original)
>> +++ httpd/httpd/trunk/modules/dav/main/mod_dav.h Sun Sep 26 12:27:59 2021
>> @@ -1068,21 +1068,19 @@ DAV_DECLARE(long) dav_get_liveprop_ns_co
>>  DAV_DECLARE(void) dav_add_all_liveprop_xmlns(apr_pool_t *p,
>>                                               apr_text_header *phdr);
>>  
>> -/*
>> - ** When calling insert_prop(), the request element is associated with
>> - ** the pool userdata attached to the resource. Access as follows:
>> - **
>> - ** apr_pool_userdata_get(&elem, DAV_PROP_ELEMENT, resource->pool);
>> - **
>> - */
>> -#define DAV_PROP_ELEMENT "mod_dav-element"
>> -
> 
> Hm, mod_dav.h is public. This IMHO means that removing the define would require a major bump.
> Furthermore this move to props.c would not be backportable. But I guess this is no a big deal as the remainder of the patch is
> backportable without any trouble.

Scratch this. I should read the patches better. You do a major bump above.

Regards

RĂ¼diger


Re: svn commit: r1893643 - in /httpd/httpd/trunk: include/ap_mmn.h modules/dav/main/mod_dav.h modules/dav/main/props.c

Posted by Ruediger Pluem <rp...@apache.org>.

On 9/26/21 2:27 PM, minfrin@apache.org wrote:
> Author: minfrin
> Date: Sun Sep 26 12:27:59 2021
> New Revision: 1893643
> 
> URL: http://svn.apache.org/viewvc?rev=1893643&view=rev
> Log:
> Add dav_get_liveprop_element() to hide the implementation by which
> the element is passed.
> 
> Modified:
>     httpd/httpd/trunk/include/ap_mmn.h
>     httpd/httpd/trunk/modules/dav/main/mod_dav.h
>     httpd/httpd/trunk/modules/dav/main/props.c
> 
> Modified: httpd/httpd/trunk/include/ap_mmn.h
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/include/ap_mmn.h?rev=1893643&r1=1893642&r2=1893643&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/include/ap_mmn.h (original)
> +++ httpd/httpd/trunk/include/ap_mmn.h Sun Sep 26 12:27:59 2021
> @@ -692,14 +692,15 @@
>   *                         for 20210506.0 + 20210924.0, MINOR bump only for
>   *                         adding ap_proxy_tunnel_conn_bytes_{in,out}().
>   * 20210924.1 (2.5.1-dev)  Add ap_proxy_fill_error_brigade()
> + * 20210926.0 (2.5.1-dev)  Add dav_get_liveprop_element(), remove DAV_PROP_ELEMENT.
>   */
>  
>  #define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
>  
>  #ifndef MODULE_MAGIC_NUMBER_MAJOR
> -#define MODULE_MAGIC_NUMBER_MAJOR 20210924
> +#define MODULE_MAGIC_NUMBER_MAJOR 20210926
>  #endif
> -#define MODULE_MAGIC_NUMBER_MINOR 1             /* 0...n */
> +#define MODULE_MAGIC_NUMBER_MINOR 0             /* 0...n */
>  
>  /**
>   * Determine if the server's current MODULE_MAGIC_NUMBER is at least a
> 
> Modified: httpd/httpd/trunk/modules/dav/main/mod_dav.h
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/main/mod_dav.h?rev=1893643&r1=1893642&r2=1893643&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/dav/main/mod_dav.h (original)
> +++ httpd/httpd/trunk/modules/dav/main/mod_dav.h Sun Sep 26 12:27:59 2021
> @@ -1068,21 +1068,19 @@ DAV_DECLARE(long) dav_get_liveprop_ns_co
>  DAV_DECLARE(void) dav_add_all_liveprop_xmlns(apr_pool_t *p,
>                                               apr_text_header *phdr);
>  
> -/*
> - ** When calling insert_prop(), the request element is associated with
> - ** the pool userdata attached to the resource. Access as follows:
> - **
> - ** apr_pool_userdata_get(&elem, DAV_PROP_ELEMENT, resource->pool);
> - **
> - */
> -#define DAV_PROP_ELEMENT "mod_dav-element"
> -

Hm, mod_dav.h is public. This IMHO means that removing the define would require a major bump.
Furthermore this move to props.c would not be backportable. But I guess this is no a big deal as the remainder of the patch is
backportable without any trouble.

Regards

RĂ¼diger