Re: [PATCH] Fix mod_dav exports on Windows

2005-02-25 Thread Branko Čibej
Justin Erenkrantz wrote:
--On Friday, February 25, 2005 10:35 PM +0100 "Branko ?ibej" 
<[EMAIL PROTECTED]> wrote:

Ah! I'm afraid you seem to have failed. trying, anyway. This would 
probably
work:

  env LANG=en_US.UTF-8 svn propedit --revprop -r??? svn:log
https://svn.apache.org/repos/asf/httpd/httpd
then paste in the name from Subversion's COMMITTERS file.

That's exactly what I did with a UTF-8 editor (bbedit).  I couldn't 
even commit unless I set the LANG variable.  I'm fairly sure that the 
CHANGES entry
(you mean, COMMITTERS)
is wrong though.
No, it's right. Point a browser at it, and you'll see :)
Hmm.  I just worked with Karl on trying to get it right as I wasn't 
even sure what the right character was.  But, there's still something 
wonky going on.
It's not all that important anyway. Just put a "C" there.
-- Brane


Re: [PATCH] Fix mod_dav exports on Windows

2005-02-25 Thread Justin Erenkrantz
--On Friday, February 25, 2005 10:35 PM +0100 "Branko ?ibej" <[EMAIL PROTECTED]> 
wrote:

Ah! I'm afraid you seem to have failed. trying, anyway. This would probably
work:
  env LANG=en_US.UTF-8 svn propedit --revprop -r??? svn:log
https://svn.apache.org/repos/asf/httpd/httpd
then paste in the name from Subversion's COMMITTERS file.
That's exactly what I did with a UTF-8 editor (bbedit).  I couldn't even 
commit unless I set the LANG variable.  I'm fairly sure that the CHANGES entry 
is wrong though.

Hmm.  I just worked with Karl on trying to get it right as I wasn't even sure 
what the right character was.  But, there's still something wonky going on.

Anyhow, I've got a plane to catch...  We'll get it right...  -- justin


Re: [PATCH] Fix mod_dav exports on Windows

2005-02-25 Thread Branko Čibej
Justin Erenkrantz wrote:
--On Wednesday, February 23, 2005 3:07 AM +0100 "Branko ?ibej" 
<[EMAIL PROTECTED]> wrote:

A number of public functions in mod_dav.h aren't properly exported with
DAV_DECLARE. This recently became a problem for Subversion, because
mod_dav_svn now supports DAV locking, and mod_dav's locking functions 
were
amongst the ones that were not exported. Nobody noticed this on Unix 
where
DAV_DECLARE is a no-op, but Windows suffered mightily.

The attached patch (against the 2.0.x branch) fixes the problem. I 
had to
use DAV_DECLARE_NONSTD in a few places where the functions are used as
callbacks, because I didn't want to fiddle with the __stdcall horror in
callback parameter declarations.

Subversion 1.2, which will introduce locking functionality, will not 
work as
a DAV server on Windows without an httpd-2.0.x release that includes 
this
patch. I hope such a thing is possible in the next few months, and 
I'm only
sorry I was too late for the the 2.0.53 release.

I've committed it to trunk and have proposed it for backport.  -- justin
Thanks! Sorry I didn't provide a patch for trunk; I'm swamped these days 
and simply hadn't got around to it.

P.S. I had 'fun' trying to get your name in the commit log.  I hope I 
got it right...  =)
Ah! I'm afraid you seem to have failed. trying, anyway. This would 
probably work:

 env LANG=en_US.UTF-8 svn propedit --revprop -r??? svn:log 
https://svn.apache.org/repos/asf/httpd/httpd
then paste in the name from Subversion's COMMITTERS file.
-- Brane


Re: [PATCH] Fix mod_dav exports on Windows

2005-02-25 Thread Justin Erenkrantz
--On Wednesday, February 23, 2005 3:07 AM +0100 "Branko ?ibej" <[EMAIL PROTECTED]> 
wrote:

A number of public functions in mod_dav.h aren't properly exported with
DAV_DECLARE. This recently became a problem for Subversion, because
mod_dav_svn now supports DAV locking, and mod_dav's locking functions were
amongst the ones that were not exported. Nobody noticed this on Unix where
DAV_DECLARE is a no-op, but Windows suffered mightily.
The attached patch (against the 2.0.x branch) fixes the problem. I had to
use DAV_DECLARE_NONSTD in a few places where the functions are used as
callbacks, because I didn't want to fiddle with the __stdcall horror in
callback parameter declarations.
Subversion 1.2, which will introduce locking functionality, will not work as
a DAV server on Windows without an httpd-2.0.x release that includes this
patch. I hope such a thing is possible in the next few months, and I'm only
sorry I was too late for the the 2.0.53 release.
I've committed it to trunk and have proposed it for backport.  -- justin
P.S. I had 'fun' trying to get your name in the commit log.  I hope I got it 
right...  =)


Re: [PATCH] Fix mod_dav exports on Windows

2005-02-23 Thread Justin Erenkrantz
--On Wednesday, February 23, 2005 8:46 AM -0600 Ben Collins-Sussman 
<[EMAIL PROTECTED]> wrote:

The attached patch (against the 2.0.x branch) fixes the problem.
Shouldn't this patch be applied to *both* the 2.0 and 2.2 httpd lines?  Does
that mean applying to httpd /trunk, then backporting to the 2.0 branch?
Yes.  We don't apply patches to 2.0 first.  Everything must go through trunk 
first.  -- justin


Re: [PATCH] Fix mod_dav exports on Windows

2005-02-23 Thread Ben Collins-Sussman
On Feb 22, 2005, at 8:07 PM, Branko Äibej wrote:
The attached patch (against the 2.0.x branch) fixes the problem.
Shouldn't this patch be applied to *both* the 2.0 and 2.2 httpd lines?  
Does that mean applying to httpd /trunk, then backporting to the 2.0 
branch?



[PATCH] Fix mod_dav exports on Windows

2005-02-22 Thread Branko Čibej
A number of public functions in mod_dav.h aren't properly exported with 
DAV_DECLARE. This recently became a problem for Subversion, because 
mod_dav_svn now supports DAV locking, and mod_dav's locking functions 
were amongst the ones that were not exported. Nobody noticed this on 
Unix where DAV_DECLARE is a no-op, but Windows suffered mightily.

The attached patch (against the 2.0.x branch) fixes the problem. I had 
to use DAV_DECLARE_NONSTD in a few places where the functions are used 
as callbacks, because I didn't want to fiddle with the __stdcall horror 
in callback parameter declarations.

Subversion 1.2, which will introduce locking functionality, will not 
work as a DAV server on Windows without an httpd-2.0.x release that 
includes this patch. I hope such a thing is possible in the next few 
months, and I'm only sorry I was too late for the the 2.0.53 release.

[[[
Correctly export all mod_dav public functions.
* modules/dav/main/mod_dav.h: Wrap all public functions in
 DAV_DECLARE or DAV_DECLARE_NONSTD.
* modules/dav/main/liveprop.c, modules/dav/main/props.c,
 modules/dav/main/util_lock.c, modules/dav/main/mod_dav.c,
 modules/dav/main/std_liveprop.c, modules/dav/main/util.c:
 Update function definitions.
]]]
-- Brane
Index: modules/dav/main/mod_dav.h
===
--- modules/dav/main/mod_dav.h  (revision 154895)
+++ modules/dav/main/mod_dav.h  (working copy)
@@ -464,8 +464,8 @@
 } dav_lookup_result;
 
 
-dav_lookup_result dav_lookup_uri(const char *uri, request_rec *r,
- int must_be_absolute);
+DAV_DECLARE(dav_lookup_result) dav_lookup_uri(const char *uri, request_rec *r,
+  int must_be_absolute);
 
 /* defines type of property info a provider is to return */
 typedef enum {
@@ -492,10 +492,12 @@
 #define DAV_STYLE_RFC8222
 #define DAV_TIMEBUF_SIZE30
 
-int dav_get_depth(request_rec *r, int def_depth);
+DAV_DECLARE(int) dav_get_depth(request_rec *r, int def_depth);
 
-int dav_validate_root(const apr_xml_doc *doc, const char *tagname);
-apr_xml_elem *dav_find_child(const apr_xml_elem *elem, const char *tagname);
+DAV_DECLARE(int) dav_validate_root(const apr_xml_doc *doc,
+   const char *tagname);
+DAV_DECLARE(apr_xml_elem *) dav_find_child(const apr_xml_elem *elem,
+   const char *tagname);
 
 /* gather up all the CDATA into a single string */
 DAV_DECLARE(const char *) dav_xml_get_cdata(const apr_xml_elem *elem, 
apr_pool_t *pool,
@@ -631,15 +633,15 @@
  (request_rec *r, const dav_resource *resource,
   dav_prop_insert what, apr_text_header *phdr))
 
-const dav_hooks_locks *dav_get_lock_hooks(request_rec *r);
-const dav_hooks_propdb *dav_get_propdb_hooks(request_rec *r);
-const dav_hooks_vsn *dav_get_vsn_hooks(request_rec *r);
-const dav_hooks_binding *dav_get_binding_hooks(request_rec *r);
-const dav_hooks_search *dav_get_search_hooks(request_rec *r);
+DAV_DECLARE(const dav_hooks_locks *) dav_get_lock_hooks(request_rec *r);
+DAV_DECLARE(const dav_hooks_propdb *) dav_get_propdb_hooks(request_rec *r);
+DAV_DECLARE(const dav_hooks_vsn *) dav_get_vsn_hooks(request_rec *r);
+DAV_DECLARE(const dav_hooks_binding *) dav_get_binding_hooks(request_rec *r);
+DAV_DECLARE(const dav_hooks_search *) dav_get_search_hooks(request_rec *r);
 
 DAV_DECLARE(void) dav_register_provider(apr_pool_t *p, const char *name,
 const dav_provider *hooks);
-const dav_provider * dav_lookup_provider(const char *name);
+DAV_DECLARE(const dav_provider *) dav_lookup_provider(const char *name);
 
 
 /* ### deprecated */
@@ -712,7 +714,8 @@
 struct dav_locktoken_list *next;
 } dav_locktoken_list;
 
-dav_error * dav_get_locktoken_list(request_rec *r, dav_locktoken_list **ltl);
+DAV_DECLARE(dav_error *) dav_get_locktoken_list(request_rec *r,
+dav_locktoken_list **ltl);
 
 
 /* 
@@ -885,22 +888,27 @@
 DAV_DECLARE(int) dav_get_liveprop_ns_index(const char *uri);
 
 /* ### docco */
-int dav_get_liveprop_ns_count(void);
+DAV_DECLARE(int) dav_get_liveprop_ns_count(void);
 
 /* ### docco */
-void dav_add_all_liveprop_xmlns(apr_pool_t *p, apr_text_header *phdr);
+DAV_DECLARE(void) dav_add_all_liveprop_xmlns(apr_pool_t *p,
+ apr_text_header *phdr);
 
 /*
 ** 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.
 */
-int dav_core_find_liveprop(const dav_resource *resource,
-   const char *ns_uri, const char *name,
-   const dav_hooks_liveprop **hooks);
-void dav_core_insert_all_liveprops(request_rec *r,
-   const dav