Hi everybody, I think we've found a curious bug in libapreq2.
There's a snippet of code on we basically are processing all post
parameters from a request:
if ($req->request_method() eq 'POST')
{
my $hay_uploads=0;
foreach my $param (keys %args)
{
my $upload = $ar->upload($param);
if (defined $upload)
{
....
}
...
}
...
}
The problem is the value of a post parameter ends with an accentued
char (áó etc... I dont know if you can view that...) the full process
dies in the
my $upload = $ar->upload($param);
line and an Internal Server Error is showed in the browser. The
curious part is that this only happens if the value ENDS with the
tilded char, not if the char is in the middle of the value.
We are using mod_perl-2.0.1 (also tried with 2.0 and various RC), and
libapreq2-2.05-dev.
That do not happens with mod_perl-1.99 / libapreq2-2.04-dev
Perl -V output...
Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
Platform:
osname=linux, osvers=eBD-system-1.0-r1,
archname=i686-linux-thread-multi
uname='linux ruperta 2.6.5-7.97-smp #1 smp fri jul 2 14:21:59 utc
2004 i686 i686 i386 gnulinux '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=y, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-fno-strict-aliasing -pipe -I/usr/eBDAS/system-1.0/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O3 -mcpu=pentium',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-fno-strict-aliasing -pipe -I/usr/eBDAS/system-1.0/include'
ccversion='', gccversion='3.3.3 (SuSE Linux)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags ='-L/usr/eBDAS/system-1.0/lib'
libpth=/usr/eBDAS/system-1.0/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.3'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fpic', lddlflags='-shared -L/usr/eBDAS/system-1.0/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
Built under linux
Compiled at May 17 2005 16:25:51
%ENV:
PERL5LIB="/usr/eBDAS/ebd-3.0.1/modules:"
@INC:
/usr/eBDAS/ebd-3.0.1/modules
/usr/eBDAS/system-1.0/lib/perl5/5.8.6/i686-linux-thread-multi
/usr/eBDAS/system-1.0/lib/perl5/5.8.6
/usr/eBDAS/system-1.0//lib/perl5/site_perl/5.8.6/i686-linux-thread-multi
/usr/eBDAS/system-1.0//lib/perl5/site_perl/5.8.6
/usr/eBDAS/system-1.0//lib/perl5/site_perl
--
*Marc Gracia*
Oasys Soft
Responsable de explotación y sistemas.
e-mail : [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>