You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Alexandr Evstigneev <hu...@gmail.com> on 2014/11/12 11:09:15 UTC
mod_perl2: 304 (not modified) and custom headers
1. Problem Description:
It seems, that if I set status to 304, all custom headers being ignored and
not sent to to the client.
I'm making cross-domain ajax script and it should pass
Access-Control-Allow-Origin even on 304 response.
Works fine if data been modified but 304 response has no my headers.
2. Used Components and their Configuration:
*** mod_perl version 2.000008
*** using /usr/local/lib/perl5/site_perl/5.20/mach/Apache2/BuildConfig.pm
*** Makefile.PL options:
MP_APR_CONFIG => /usr/local/bin/apr-1-config
MP_APR_LIB => aprext
MP_APXS => /usr/local/sbin/apxs
MP_COMPAT_1X => 1
MP_GENERATE_XS => 1
MP_LIBNAME => mod_perl
MP_USE_DSO => 1
*** The httpd binary was not found
*** (apr|apu)-config linking info
-L/usr/local/lib -laprutil-1 -ldb-5.3 -lgdbm -lexpat -liconv -L/usr/lib
-L/usr/local/lib -L/usr/local/lib/db5
-L/usr/local/lib -lapr-1 -lcrypt -lpthread
*** /usr/local/bin/perl -V
Summary of my perl5 (revision 5 version 20 subversion 1) configuration:
Platform:
osname=freebsd, osvers=9.3-release-p4,
archname=amd64-freebsd-thread-multi
uname='freebsd storage.cobweb-software.com 9.3-release-p4 freebsd
9.3-release-p4 #0 r273928: sat nov 1 17:16:18 msk 2014
root@storage.cobweb-software.com:usrobjusrsrcsysgeneric amd64 '
config_args='-sde -Dprefix=/usr/local
-Darchlib=/usr/local/lib/perl5/5.20/mach
-Dprivlib=/usr/local/lib/perl5/5.20
-Dman3dir=/usr/local/lib/perl5/5.20/perl/man/man3
-Dman1dir=/usr/local/man/man1
-Dsitearch=/usr/local/lib/perl5/site_perl/5.20/mach
-Dsitelib=/usr/local/lib/perl5/site_perl/5.20 -Dscriptdir=/usr/local/bin
-Dsiteman3dir=/usr/local/lib/perl5/5.20/man/man3
-Dsiteman1dir=/usr/local/man/man1 -Ui_malloc -Ui_iconv -Uinstallusrbinperl
-Dcc=cc -Duseshrplib -Dinc_version_list=none
-Dccflags=-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN" -Doptimize=-g
-DDEBUGGING -Ui_gdbm -Dusemultiplicity=y -Duse64bitint -Dusethreads=y
-Dusemymalloc=n'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN"
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include',
optimize='-g',
cppflags='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN"
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.2.1 20070831 patched [FreeBSD]',
gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags ='-pthread -Wl,-E -fstack-protector -L/usr/local/lib'
libpth=/usr/lib /usr/local/lib /usr/include/gcc/4.2 /usr/lib
libs=-lgdbm -lm -lcrypt -lutil
perllibs=-lm -lcrypt -lutil
libc=, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='
-Wl,-R/usr/local/lib/perl5/5.20/mach/CORE'
cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib
-fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
PERL_TRACK_MEMPOOL USE_64_BIT_ALL USE_64_BIT_INT
USE_ITHREADS USE_LARGE_FILES USE_LOCALE
USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API
Built under freebsd
Compiled at Nov 9 2014 08:27:44
%ENV:
PERL5LIB="/raid/www/lib"
PERL_LWP_USE_HTTP_10="1"
@INC:
/raid/www/lib
/usr/local/lib/perl5/5.20/BSDPAN
/usr/local/lib/perl5/site_perl/5.20/mach
/usr/local/lib/perl5/site_perl/5.20
/usr/local/lib/perl5/5.20/mach
/usr/local/lib/perl5/5.20
.
*** Packages of interest status:
Apache2 : -
Apache2::Request : -
CGI : 3.65
ExtUtils::MakeMaker: 6.98, 6.98
LWP : 6.08
mod_perl : -
mod_perl2 : 2.000008
3. This is the core dump trace: (if you get a core dump):
[CORE TRACE COMES HERE]
This report was generated by /usr/local/bin/mp2bug on Wed Nov 12 09:51:30
2014 GMT.
Re: mod_perl2: 304 (not modified) and custom headers
Posted by Alexandr Evstigneev <hu...@gmail.com>.
Made a test script:
=============================
#!/usr/bin/perl
use Apache2::RequestUtil;
my $request = Apache2::RequestUtil->request;
$request->headers_out->add('Testheader' => 'Testvalue');
$request->err_headers_out->add('TestheaderErr' => 'TestvalueErr');
$request->status(304);
return 304;
===============================
Returned this:
===============================
HTTP/1.1 304 Not Modified
Date: Wed, 12 Nov 2014 17:45:55 GMT
Server: Apache
Connection: Keep-Alive
Keep-Alive: timeout=30
===============================
And if you set status to 200 - get both headers.
2014-11-12 19:45 GMT+03:00 Adam Prime <ad...@utoronto.ca>:
> Can we see the code you're running into this issue with? It sounds like
> confusion between $r->headers_out and $r->err_headers_out to me.
>
> Adam
>
>
> On 14-11-12 05:09 AM, Alexandr Evstigneev wrote:
>
>> 1. Problem Description:
>>
>> It seems, that if I set status to 304, all custom headers being ignored
>> and not sent to to the client.
>> I'm making cross-domain ajax script and it should pass
>> Access-Control-Allow-Origin even on 304 response.
>> Works fine if data been modified but 304 response has no my headers.
>>
>> 2. Used Components and their Configuration:
>>
>> *** mod_perl version 2.000008
>>
>> *** using /usr/local/lib/perl5/site_perl/5.20/mach/Apache2/BuildConfig.pm
>>
>> *** Makefile.PL options:
>> MP_APR_CONFIG => /usr/local/bin/apr-1-config
>> MP_APR_LIB => aprext
>> MP_APXS => /usr/local/sbin/apxs
>> MP_COMPAT_1X => 1
>> MP_GENERATE_XS => 1
>> MP_LIBNAME => mod_perl
>> MP_USE_DSO => 1
>>
>>
>> *** The httpd binary was not found
>>
>>
>> *** (apr|apu)-config linking info
>>
>> -L/usr/local/lib -laprutil-1 -ldb-5.3 -lgdbm -lexpat -liconv
>> -L/usr/lib -L/usr/local/lib -L/usr/local/lib/db5
>> -L/usr/local/lib -lapr-1 -lcrypt -lpthread
>>
>>
>>
>> *** /usr/local/bin/perl -V
>> Summary of my perl5 (revision 5 version 20 subversion 1) configuration:
>>
>> Platform:
>> osname=freebsd, osvers=9.3-release-p4,
>> archname=amd64-freebsd-thread-multi
>> uname='freebsd storage.cobweb-software.com
>> <http://storage.cobweb-software.com/> 9.3-release-p4 freebsd
>>
>> 9.3-release-p4 #0 r273928: sat nov 1 17:16:18 msk 2014
>> root@storage.cobweb-software.com:usrobjusrsrcsysgeneric amd64 '
>> config_args='-sde -Dprefix=/usr/local
>> -Darchlib=/usr/local/lib/perl5/5.20/mach
>> -Dprivlib=/usr/local/lib/perl5/5.20
>> -Dman3dir=/usr/local/lib/perl5/5.20/perl/man/man3
>> -Dman1dir=/usr/local/man/man1
>> -Dsitearch=/usr/local/lib/perl5/site_perl/5.20/mach
>> -Dsitelib=/usr/local/lib/perl5/site_perl/5.20 -Dscriptdir=/usr/local/bin
>> -Dsiteman3dir=/usr/local/lib/perl5/5.20/man/man3
>> -Dsiteman1dir=/usr/local/man/man1 -Ui_malloc -Ui_iconv
>> -Uinstallusrbinperl -Dcc=cc -Duseshrplib -Dinc_version_list=none
>> -Dccflags=-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN" -Doptimize=-g
>> -DDEBUGGING -Ui_gdbm -Dusemultiplicity=y -Duse64bitint -Dusethreads=y
>> -Dusemymalloc=n'
>> hint=recommended, useposix=true, d_sigaction=define
>> useithreads=define, usemultiplicity=define
>> use64bitint=define, use64bitall=define, uselongdouble=undef
>> usemymalloc=n, bincompat5005=undef
>> Compiler:
>> cc='cc', ccflags ='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN"
>> -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing
>> -pipe -fstack-protector -I/usr/local/include',
>> optimize='-g',
>> cppflags='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN"
>> -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing
>> -pipe -fstack-protector -I/usr/local/include'
>> ccversion='', gccversion='4.2.1 20070831 patched [FreeBSD]',
>> gccosandvers=''
>> intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
>> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>> ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
>> lseeksize=8
>> alignbytes=8, prototype=define
>> Linker and Libraries:
>> ld='cc', ldflags ='-pthread -Wl,-E -fstack-protector
>> -L/usr/local/lib'
>> libpth=/usr/lib /usr/local/lib /usr/include/gcc/4.2 /usr/lib
>> libs=-lgdbm -lm -lcrypt -lutil
>> perllibs=-lm -lcrypt -lutil
>> libc=, so=so, useshrplib=true, libperl=libperl.so
>> gnulibc_version=''
>> Dynamic Linking:
>> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='
>> -Wl,-R/usr/local/lib/perl5/5.20/mach/CORE'
>> cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib
>> -fstack-protector'
>>
>>
>> Characteristics of this binary (from libperl):
>> Compile-time options: DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS
>> PERL_DONT_CREATE_GVSV
>> PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
>> PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
>> PERL_TRACK_MEMPOOL USE_64_BIT_ALL USE_64_BIT_INT
>> USE_ITHREADS USE_LARGE_FILES USE_LOCALE
>> USE_LOCALE_COLLATE USE_LOCALE_CTYPE
>> USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
>> USE_REENTRANT_API
>> Built under freebsd
>> Compiled at Nov 9 2014 08:27:44
>> %ENV:
>> PERL5LIB="/raid/www/lib"
>> PERL_LWP_USE_HTTP_10="1"
>> @INC:
>> /raid/www/lib
>> /usr/local/lib/perl5/5.20/BSDPAN
>> /usr/local/lib/perl5/site_perl/5.20/mach
>> /usr/local/lib/perl5/site_perl/5.20
>> /usr/local/lib/perl5/5.20/mach
>> /usr/local/lib/perl5/5.20
>> .
>>
>> *** Packages of interest status:
>>
>> Apache2 : -
>> Apache2::Request : -
>> CGI : 3.65
>> ExtUtils::MakeMaker: 6.98, 6.98
>> LWP : 6.08
>> mod_perl : -
>> mod_perl2 : 2.000008
>>
>>
>> 3. This is the core dump trace: (if you get a core dump):
>>
>> [CORE TRACE COMES HERE]
>>
>> This report was generated by /usr/local/bin/mp2bug on Wed Nov 12
>> 09:51:30 2014 GMT.
>>
>
>
Re: mod_perl2: 304 (not modified) and custom headers
Posted by Alexandr Evstigneev <hu...@gmail.com>.
Sorry about my mails, i'm newbie with that.
Don't know, why auto-reporter missed important info, but:
Server Version: Apache/2.2.29 (FreeBSD) mod_perl/2.0.8 Perl/v5.20.1
Apache works with worker-mpm
And seems that libapreq2 was not installed, so no Apache2::Request
2014-11-12 21:48 GMT+03:00 Adam Prime <ad...@utoronto.ca>:
> Please send your responses to the list, not just me.
>
> It looks like this was broken in apache itself prior to 2.2.0. see:
> https://issues.apache.org/bugzilla/show_bug.cgi?id=18388
>
> Your bug report doesn't include your apache version though, so i'm not
> sure that this is related to your problem or not. I don't have a box around
> with a recent setup to test against at the moment.
>
> Adam
>
>
>
> On 14-11-12 12:47 PM, Alexandr Evstigneev wrote:
>
>> Made a test script:
>>
>> =============================
>> #!/usr/bin/perl
>>
>> use Apache2::RequestUtil;
>>
>> my $request = Apache2::RequestUtil->request;
>>
>> $request->headers_out->add('Testheader' => 'Testvalue');
>> $request->err_headers_out->add('TestheaderErr' => 'TestvalueErr');
>>
>> $request->status(304);
>> return 304;
>> ===============================
>> Returned this:
>>
>> HTTP/1.1 304 Not Modified
>> Date: Wed, 12 Nov 2014 17:45:55 GMT
>> Server: Apache
>> Connection: Keep-Alive
>> Keep-Alive: timeout=30
>>
>>
>> 2014-11-12 19:45 GMT+03:00 Adam Prime <adam.prime@utoronto.ca
>> <ma...@utoronto.ca>>:
>>
>> Can we see the code you're running into this issue with? It sounds
>> like confusion between $r->headers_out and $r->err_headers_out to me.
>>
>> Adam
>>
>>
>> On 14-11-12 05:09 AM, Alexandr Evstigneev wrote:
>>
>> 1. Problem Description:
>>
>> It seems, that if I set status to 304, all custom headers being
>> ignored
>> and not sent to to the client.
>> I'm making cross-domain ajax script and it should pass
>> Access-Control-Allow-Origin even on 304 response.
>> Works fine if data been modified but 304 response has no my
>> headers.
>>
>> 2. Used Components and their Configuration:
>>
>> *** mod_perl version 2.000008
>>
>> *** using
>> /usr/local/lib/perl5/site___perl/5.20/mach/Apache2/__
>> BuildConfig.pm
>>
>> *** Makefile.PL options:
>> MP_APR_CONFIG => /usr/local/bin/apr-1-config
>> MP_APR_LIB => aprext
>> MP_APXS => /usr/local/sbin/apxs
>> MP_COMPAT_1X => 1
>> MP_GENERATE_XS => 1
>> MP_LIBNAME => mod_perl
>> MP_USE_DSO => 1
>>
>>
>> *** The httpd binary was not found
>>
>>
>> *** (apr|apu)-config linking info
>>
>> -L/usr/local/lib -laprutil-1 -ldb-5.3 -lgdbm -lexpat -liconv
>> -L/usr/lib -L/usr/local/lib -L/usr/local/lib/db5
>> -L/usr/local/lib -lapr-1 -lcrypt -lpthread
>>
>>
>>
>> *** /usr/local/bin/perl -V
>> Summary of my perl5 (revision 5 version 20 subversion 1)
>> configuration:
>>
>> Platform:
>> osname=freebsd, osvers=9.3-release-p4,
>> archname=amd64-freebsd-thread-__multi
>> uname='freebsd storage.cobweb-software.com
>> <http://storage.cobweb-software.com>
>> <http://storage.cobweb-__software.com/
>> <http://storage.cobweb-software.com/>> 9.3-release-p4 freebsd
>>
>> 9.3-release-p4 #0 r273928: sat nov 1 17:16:18 msk 2014
>> root@storage.cobweb-software.__com:usrobjusrsrcsysgeneric amd64 '
>> config_args='-sde -Dprefix=/usr/local
>> -Darchlib=/usr/local/lib/__perl5/5.20/mach
>> -Dprivlib=/usr/local/lib/__perl5/5.20
>> -Dman3dir=/usr/local/lib/__perl5/5.20/perl/man/man3
>> -Dman1dir=/usr/local/man/man1
>> -Dsitearch=/usr/local/lib/__perl5/site_perl/5.20/mach
>> -Dsitelib=/usr/local/lib/__perl5/site_perl/5.20
>> -Dscriptdir=/usr/local/bin
>> -Dsiteman3dir=/usr/local/lib/__perl5/5.20/man/man3
>> -Dsiteman1dir=/usr/local/man/__man1 -Ui_malloc -Ui_iconv
>> -Uinstallusrbinperl -Dcc=cc -Duseshrplib -Dinc_version_list=none
>> -Dccflags=-DAPPLLIB_EXP="/usr/__local/lib/perl5/5.20/BSDPAN"
>> -Doptimize=-g
>> -DDEBUGGING -Ui_gdbm -Dusemultiplicity=y -Duse64bitint
>> -Dusethreads=y
>> -Dusemymalloc=n'
>> hint=recommended, useposix=true, d_sigaction=define
>> useithreads=define, usemultiplicity=define
>> use64bitint=define, use64bitall=define, uselongdouble=undef
>> usemymalloc=n, bincompat5005=undef
>> Compiler:
>> cc='cc', ccflags
>> ='-DAPPLLIB_EXP="/usr/local/__lib/perl5/5.20/BSDPAN"
>> -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING
>> -fno-strict-aliasing
>> -pipe -fstack-protector -I/usr/local/include',
>> optimize='-g',
>> cppflags='-DAPPLLIB_EXP="/usr/
>> __local/lib/perl5/5.20/BSDPAN"
>> -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING
>> -fno-strict-aliasing
>> -pipe -fstack-protector -I/usr/local/include'
>> ccversion='', gccversion='4.2.1 20070831 patched [FreeBSD]',
>> gccosandvers=''
>> intsize=4, longsize=8, ptrsize=8, doublesize=8,
>> byteorder=12345678
>> d_longlong=define, longlongsize=8, d_longdbl=define,
>> longdblsize=16
>> ivtype='long', ivsize=8, nvtype='double', nvsize=8,
>> Off_t='off_t',
>> lseeksize=8
>> alignbytes=8, prototype=define
>> Linker and Libraries:
>> ld='cc', ldflags ='-pthread -Wl,-E -fstack-protector
>> -L/usr/local/lib'
>> libpth=/usr/lib /usr/local/lib /usr/include/gcc/4.2 /usr/lib
>> libs=-lgdbm -lm -lcrypt -lutil
>> perllibs=-lm -lcrypt -lutil
>> libc=, so=so, useshrplib=true, libperl=libperl.so
>> gnulibc_version=''
>> Dynamic Linking:
>> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='
>> -Wl,-R/usr/local/lib/perl5/5.__20/mach/CORE'
>> cccdlflags='-DPIC -fPIC', lddlflags='-shared
>> -L/usr/local/lib
>> -fstack-protector'
>>
>>
>> Characteristics of this binary (from libperl):
>> Compile-time options: DEBUGGING HAS_TIMES MULTIPLICITY
>> PERLIO_LAYERS
>> PERL_DONT_CREATE_GVSV
>> PERL_HASH_FUNC_ONE_AT_A_TIME___HARD
>> PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
>> PERL_NEW_COPY_ON_WRITE
>> PERL_PRESERVE_IVUV
>> PERL_TRACK_MEMPOOL USE_64_BIT_ALL
>> USE_64_BIT_INT
>> USE_ITHREADS USE_LARGE_FILES USE_LOCALE
>> USE_LOCALE_COLLATE USE_LOCALE_CTYPE
>> USE_LOCALE_NUMERIC USE_PERLIO
>> USE_PERL_ATOF
>> USE_REENTRANT_API
>> Built under freebsd
>> Compiled at Nov 9 2014 08:27:44
>> %ENV:
>> PERL5LIB="/raid/www/lib"
>> PERL_LWP_USE_HTTP_10="1"
>> @INC:
>> /raid/www/lib
>> /usr/local/lib/perl5/5.20/__BSDPAN
>> /usr/local/lib/perl5/site___perl/5.20/mach
>> /usr/local/lib/perl5/site___perl/5.20
>> /usr/local/lib/perl5/5.20/mach
>> /usr/local/lib/perl5/5.20
>> .
>>
>> *** Packages of interest status:
>>
>> Apache2 : -
>> Apache2::Request : -
>> CGI : 3.65
>> ExtUtils::MakeMaker: 6.98, 6.98
>> LWP : 6.08
>> mod_perl : -
>> mod_perl2 : 2.000008
>>
>>
>> 3. This is the core dump trace: (if you get a core dump):
>>
>> [CORE TRACE COMES HERE]
>>
>> This report was generated by /usr/local/bin/mp2bug on Wed Nov 12
>> 09:51:30 2014 GMT.
>>
>>
>>
>>
>
Re: mod_perl2: 304 (not modified) and custom headers
Posted by Adam Prime <ad...@utoronto.ca>.
Please send your responses to the list, not just me.
It looks like this was broken in apache itself prior to 2.2.0. see:
https://issues.apache.org/bugzilla/show_bug.cgi?id=18388
Your bug report doesn't include your apache version though, so i'm not
sure that this is related to your problem or not. I don't have a box
around with a recent setup to test against at the moment.
Adam
On 14-11-12 12:47 PM, Alexandr Evstigneev wrote:
> Made a test script:
>
> =============================
> #!/usr/bin/perl
>
> use Apache2::RequestUtil;
>
> my $request = Apache2::RequestUtil->request;
>
> $request->headers_out->add('Testheader' => 'Testvalue');
> $request->err_headers_out->add('TestheaderErr' => 'TestvalueErr');
>
> $request->status(304);
> return 304;
> ===============================
> Returned this:
>
> HTTP/1.1 304 Not Modified
> Date: Wed, 12 Nov 2014 17:45:55 GMT
> Server: Apache
> Connection: Keep-Alive
> Keep-Alive: timeout=30
>
>
> 2014-11-12 19:45 GMT+03:00 Adam Prime <adam.prime@utoronto.ca
> <ma...@utoronto.ca>>:
>
> Can we see the code you're running into this issue with? It sounds
> like confusion between $r->headers_out and $r->err_headers_out to me.
>
> Adam
>
>
> On 14-11-12 05:09 AM, Alexandr Evstigneev wrote:
>
> 1. Problem Description:
>
> It seems, that if I set status to 304, all custom headers being
> ignored
> and not sent to to the client.
> I'm making cross-domain ajax script and it should pass
> Access-Control-Allow-Origin even on 304 response.
> Works fine if data been modified but 304 response has no my headers.
>
> 2. Used Components and their Configuration:
>
> *** mod_perl version 2.000008
>
> *** using
> /usr/local/lib/perl5/site___perl/5.20/mach/Apache2/__BuildConfig.pm
>
> *** Makefile.PL options:
> MP_APR_CONFIG => /usr/local/bin/apr-1-config
> MP_APR_LIB => aprext
> MP_APXS => /usr/local/sbin/apxs
> MP_COMPAT_1X => 1
> MP_GENERATE_XS => 1
> MP_LIBNAME => mod_perl
> MP_USE_DSO => 1
>
>
> *** The httpd binary was not found
>
>
> *** (apr|apu)-config linking info
>
> -L/usr/local/lib -laprutil-1 -ldb-5.3 -lgdbm -lexpat -liconv
> -L/usr/lib -L/usr/local/lib -L/usr/local/lib/db5
> -L/usr/local/lib -lapr-1 -lcrypt -lpthread
>
>
>
> *** /usr/local/bin/perl -V
> Summary of my perl5 (revision 5 version 20 subversion 1)
> configuration:
>
> Platform:
> osname=freebsd, osvers=9.3-release-p4,
> archname=amd64-freebsd-thread-__multi
> uname='freebsd storage.cobweb-software.com
> <http://storage.cobweb-software.com>
> <http://storage.cobweb-__software.com/
> <http://storage.cobweb-software.com/>> 9.3-release-p4 freebsd
>
> 9.3-release-p4 #0 r273928: sat nov 1 17:16:18 msk 2014
> root@storage.cobweb-software.__com:usrobjusrsrcsysgeneric amd64 '
> config_args='-sde -Dprefix=/usr/local
> -Darchlib=/usr/local/lib/__perl5/5.20/mach
> -Dprivlib=/usr/local/lib/__perl5/5.20
> -Dman3dir=/usr/local/lib/__perl5/5.20/perl/man/man3
> -Dman1dir=/usr/local/man/man1
> -Dsitearch=/usr/local/lib/__perl5/site_perl/5.20/mach
> -Dsitelib=/usr/local/lib/__perl5/site_perl/5.20
> -Dscriptdir=/usr/local/bin
> -Dsiteman3dir=/usr/local/lib/__perl5/5.20/man/man3
> -Dsiteman1dir=/usr/local/man/__man1 -Ui_malloc -Ui_iconv
> -Uinstallusrbinperl -Dcc=cc -Duseshrplib -Dinc_version_list=none
> -Dccflags=-DAPPLLIB_EXP="/usr/__local/lib/perl5/5.20/BSDPAN"
> -Doptimize=-g
> -DDEBUGGING -Ui_gdbm -Dusemultiplicity=y -Duse64bitint
> -Dusethreads=y
> -Dusemymalloc=n'
> hint=recommended, useposix=true, d_sigaction=define
> useithreads=define, usemultiplicity=define
> use64bitint=define, use64bitall=define, uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='cc', ccflags
> ='-DAPPLLIB_EXP="/usr/local/__lib/perl5/5.20/BSDPAN"
> -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING
> -fno-strict-aliasing
> -pipe -fstack-protector -I/usr/local/include',
> optimize='-g',
> cppflags='-DAPPLLIB_EXP="/usr/__local/lib/perl5/5.20/BSDPAN"
> -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING
> -fno-strict-aliasing
> -pipe -fstack-protector -I/usr/local/include'
> ccversion='', gccversion='4.2.1 20070831 patched [FreeBSD]',
> gccosandvers=''
> intsize=4, longsize=8, ptrsize=8, doublesize=8,
> byteorder=12345678
> d_longlong=define, longlongsize=8, d_longdbl=define,
> longdblsize=16
> ivtype='long', ivsize=8, nvtype='double', nvsize=8,
> Off_t='off_t',
> lseeksize=8
> alignbytes=8, prototype=define
> Linker and Libraries:
> ld='cc', ldflags ='-pthread -Wl,-E -fstack-protector
> -L/usr/local/lib'
> libpth=/usr/lib /usr/local/lib /usr/include/gcc/4.2 /usr/lib
> libs=-lgdbm -lm -lcrypt -lutil
> perllibs=-lm -lcrypt -lutil
> libc=, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version=''
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='
> -Wl,-R/usr/local/lib/perl5/5.__20/mach/CORE'
> cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib
> -fstack-protector'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: DEBUGGING HAS_TIMES MULTIPLICITY
> PERLIO_LAYERS
> PERL_DONT_CREATE_GVSV
> PERL_HASH_FUNC_ONE_AT_A_TIME___HARD
> PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> PERL_TRACK_MEMPOOL USE_64_BIT_ALL
> USE_64_BIT_INT
> USE_ITHREADS USE_LARGE_FILES USE_LOCALE
> USE_LOCALE_COLLATE USE_LOCALE_CTYPE
> USE_LOCALE_NUMERIC USE_PERLIO
> USE_PERL_ATOF
> USE_REENTRANT_API
> Built under freebsd
> Compiled at Nov 9 2014 08:27:44
> %ENV:
> PERL5LIB="/raid/www/lib"
> PERL_LWP_USE_HTTP_10="1"
> @INC:
> /raid/www/lib
> /usr/local/lib/perl5/5.20/__BSDPAN
> /usr/local/lib/perl5/site___perl/5.20/mach
> /usr/local/lib/perl5/site___perl/5.20
> /usr/local/lib/perl5/5.20/mach
> /usr/local/lib/perl5/5.20
> .
>
> *** Packages of interest status:
>
> Apache2 : -
> Apache2::Request : -
> CGI : 3.65
> ExtUtils::MakeMaker: 6.98, 6.98
> LWP : 6.08
> mod_perl : -
> mod_perl2 : 2.000008
>
>
> 3. This is the core dump trace: (if you get a core dump):
>
> [CORE TRACE COMES HERE]
>
> This report was generated by /usr/local/bin/mp2bug on Wed Nov 12
> 09:51:30 2014 GMT.
>
>
>
Re: mod_perl2: 304 (not modified) and custom headers
Posted by Adam Prime <ad...@utoronto.ca>.
Can we see the code you're running into this issue with? It sounds like
confusion between $r->headers_out and $r->err_headers_out to me.
Adam
On 14-11-12 05:09 AM, Alexandr Evstigneev wrote:
> 1. Problem Description:
>
> It seems, that if I set status to 304, all custom headers being ignored
> and not sent to to the client.
> I'm making cross-domain ajax script and it should pass
> Access-Control-Allow-Origin even on 304 response.
> Works fine if data been modified but 304 response has no my headers.
>
> 2. Used Components and their Configuration:
>
> *** mod_perl version 2.000008
>
> *** using /usr/local/lib/perl5/site_perl/5.20/mach/Apache2/BuildConfig.pm
>
> *** Makefile.PL options:
> MP_APR_CONFIG => /usr/local/bin/apr-1-config
> MP_APR_LIB => aprext
> MP_APXS => /usr/local/sbin/apxs
> MP_COMPAT_1X => 1
> MP_GENERATE_XS => 1
> MP_LIBNAME => mod_perl
> MP_USE_DSO => 1
>
>
> *** The httpd binary was not found
>
>
> *** (apr|apu)-config linking info
>
> -L/usr/local/lib -laprutil-1 -ldb-5.3 -lgdbm -lexpat -liconv
> -L/usr/lib -L/usr/local/lib -L/usr/local/lib/db5
> -L/usr/local/lib -lapr-1 -lcrypt -lpthread
>
>
>
> *** /usr/local/bin/perl -V
> Summary of my perl5 (revision 5 version 20 subversion 1) configuration:
>
> Platform:
> osname=freebsd, osvers=9.3-release-p4,
> archname=amd64-freebsd-thread-multi
> uname='freebsd storage.cobweb-software.com
> <http://storage.cobweb-software.com/> 9.3-release-p4 freebsd
> 9.3-release-p4 #0 r273928: sat nov 1 17:16:18 msk 2014
> root@storage.cobweb-software.com:usrobjusrsrcsysgeneric amd64 '
> config_args='-sde -Dprefix=/usr/local
> -Darchlib=/usr/local/lib/perl5/5.20/mach
> -Dprivlib=/usr/local/lib/perl5/5.20
> -Dman3dir=/usr/local/lib/perl5/5.20/perl/man/man3
> -Dman1dir=/usr/local/man/man1
> -Dsitearch=/usr/local/lib/perl5/site_perl/5.20/mach
> -Dsitelib=/usr/local/lib/perl5/site_perl/5.20 -Dscriptdir=/usr/local/bin
> -Dsiteman3dir=/usr/local/lib/perl5/5.20/man/man3
> -Dsiteman1dir=/usr/local/man/man1 -Ui_malloc -Ui_iconv
> -Uinstallusrbinperl -Dcc=cc -Duseshrplib -Dinc_version_list=none
> -Dccflags=-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN" -Doptimize=-g
> -DDEBUGGING -Ui_gdbm -Dusemultiplicity=y -Duse64bitint -Dusethreads=y
> -Dusemymalloc=n'
> hint=recommended, useposix=true, d_sigaction=define
> useithreads=define, usemultiplicity=define
> use64bitint=define, use64bitall=define, uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='cc', ccflags ='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN"
> -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing
> -pipe -fstack-protector -I/usr/local/include',
> optimize='-g',
> cppflags='-DAPPLLIB_EXP="/usr/local/lib/perl5/5.20/BSDPAN"
> -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DDEBUGGING -fno-strict-aliasing
> -pipe -fstack-protector -I/usr/local/include'
> ccversion='', gccversion='4.2.1 20070831 patched [FreeBSD]',
> gccosandvers=''
> intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
> ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
> alignbytes=8, prototype=define
> Linker and Libraries:
> ld='cc', ldflags ='-pthread -Wl,-E -fstack-protector -L/usr/local/lib'
> libpth=/usr/lib /usr/local/lib /usr/include/gcc/4.2 /usr/lib
> libs=-lgdbm -lm -lcrypt -lutil
> perllibs=-lm -lcrypt -lutil
> libc=, so=so, useshrplib=true, libperl=libperl.so
> gnulibc_version=''
> Dynamic Linking:
> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='
> -Wl,-R/usr/local/lib/perl5/5.20/mach/CORE'
> cccdlflags='-DPIC -fPIC', lddlflags='-shared -L/usr/local/lib
> -fstack-protector'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: DEBUGGING HAS_TIMES MULTIPLICITY PERLIO_LAYERS
> PERL_DONT_CREATE_GVSV
> PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
> PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
> PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
> PERL_TRACK_MEMPOOL USE_64_BIT_ALL USE_64_BIT_INT
> USE_ITHREADS USE_LARGE_FILES USE_LOCALE
> USE_LOCALE_COLLATE USE_LOCALE_CTYPE
> USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
> USE_REENTRANT_API
> Built under freebsd
> Compiled at Nov 9 2014 08:27:44
> %ENV:
> PERL5LIB="/raid/www/lib"
> PERL_LWP_USE_HTTP_10="1"
> @INC:
> /raid/www/lib
> /usr/local/lib/perl5/5.20/BSDPAN
> /usr/local/lib/perl5/site_perl/5.20/mach
> /usr/local/lib/perl5/site_perl/5.20
> /usr/local/lib/perl5/5.20/mach
> /usr/local/lib/perl5/5.20
> .
>
> *** Packages of interest status:
>
> Apache2 : -
> Apache2::Request : -
> CGI : 3.65
> ExtUtils::MakeMaker: 6.98, 6.98
> LWP : 6.08
> mod_perl : -
> mod_perl2 : 2.000008
>
>
> 3. This is the core dump trace: (if you get a core dump):
>
> [CORE TRACE COMES HERE]
>
> This report was generated by /usr/local/bin/mp2bug on Wed Nov 12
> 09:51:30 2014 GMT.