perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Gràcia <mgra...@oasyssoft.com>
Subject Apache Request problems with tildes...
Date Thu, 14 Jul 2005 09:08:36 GMT
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 : mgracia@oasyssoft.com

Mime
View raw message