Jeff Finn wrote:[...]
Hi,
I'm trying to write an input filter that will read the request body data, do
some transformation, and then write the output to a file using mod_dav:
<Location /davtest/> DAV on PerlInputFilterHandler FileDataLog::input </Location>
The problem I'm having is that whenever I try to PUT a file that contains
null characters (\0), the data that's written to the file is not the data
that is printed from the filter.
Jeff,
The patch below should fix the problem. It'll be in cvs shortly. Please confirm that it worked for you.
Index: src/modules/perl/modperl_filter.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v retrieving revision 1.86 diff -u -r1.86 modperl_filter.c --- src/modules/perl/modperl_filter.c 4 Mar 2004 06:01:07 -0000 1.86 +++ src/modules/perl/modperl_filter.c 16 Mar 2004 00:50:30 -0000 @@ -783,7 +783,7 @@ apr_size_t *len) { apr_bucket_alloc_t *ba = filter->f->c->bucket_alloc; - char *copy = apr_pstrndup(filter->pool, buf, *len); + char *copy = apr_pmemdup(filter->pool, buf, *len); apr_bucket *bucket = apr_bucket_transient_create(copy, *len, ba); /* MP_TRACE_f(MP_FUNC, "writing %d bytes: %s\n", *len, copy); */ MP_TRACE_f(MP_FUNC, MP_FILTER_NAME_FORMAT
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html