It's not my day today, trying again...
------- Forwarded message follows -------
Ok, my latest parse_post_data plugin is at the end (it's the axkit2
plugin with debug),
with debug every other line.
The POST is one field only (regex) of 3000 bytes so the content length
is correct at 3006.
(I've removed a lot of the a's for sanity.)
The $$bref value of 1295 seems odd. On my laptop it's 3006 so there is
only one pass.
(It works on my laptop)
I presume that it's an AIO problem and that the plugin is returning
DECLINED.

So, why is the same code giving different $$bref values?

fwiw, the database field it is in is currently holding a length of 1024.
How, I don't know as the most I can get in there now is 897 bytes...


2007-02-16 17:16:05.813454500 81.6.252.25:63988 L7 jdparse_post_data
body_data PARSE POST DATA Content-Length: 3006
2007-02-16 17:16:05.813663500 81.6.252.25:63988 L7 jdparse_post_data
body_data PARSE POST DATA data1: $VAR1 = '';
2007-02-16 17:16:05.813665500 
2007-02-16 17:16:05.813874500 81.6.252.25:63988 L7 jdparse_post_data
body_data PARSE POST DATA data2: $VAR1 =
'regex=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
2007-02-16 17:16:05.813907500 
2007-02-16 17:16:05.813994500 81.6.252.25:63988 L7 jdparse_post_data
body_data PARSE POST DATA data2a here
2007-02-16 17:16:05.814109500 81.6.252.25:63988 L7 jdparse_post_data
body_data PARSE POST DATA length data2: 1295
2007-02-16 17:16:05.814415500 81.6.252.25:63988 L6 uri_to_file
uri_translation translate: /ecomm/?rose=36

sub hook_body_data {
    my ($self, $bref) = @_;
    
    my $client = $self->client;
    my $remaining = $client->headers_in->header('Content-Length');
    $self->log(LOGDEBUG, 'PARSE POST DATA Content-Length: '.$remaining);
    return DONE unless $remaining;

    my $data = $client->notes('parse_post_data::body_data') || '';

    $self->log(LOGDEBUG, 'PARSE POST DATA data1: '.Dumper($data));

    $data .= $$bref;
    $client->notes('parse_post_data::body_data', $data);

    $self->log(LOGDEBUG, 'PARSE POST DATA data2: '.Dumper($data));
    $self->log(LOGDEBUG, 'PARSE POST DATA data2a here');
    $self->log(LOGDEBUG, 'PARSE POST DATA length data2:
'.length($data));

    if (length($data) > $remaining) {
        $self->log(LOGDEBUG, 'PARSE POST DATA data3: '.Dumper($data));
        # IE sends extra \r\n after POST data
        $data =~ s/\r\n\z//;
        $self->log(LOGDEBUG, 'PARSE POST DATA data4: '.Dumper($data));
    }

    if (length($data) == $remaining) {
        # parse $data
        $self->log(LOGDEBUG, 'PARSE POST DATA data5: '.Dumper($data));
        my $ct = $client->headers_in->header('Content-Type');
        $self->log(LOGDEBUG, 'PARSE POST DATA data6: '.Dumper($data));
        if ($ct eq 'application/x-www-form-urlencoded') {
            $self->log(LOGDEBUG, 'PARSE POST DATA data7:
'.Dumper($data));
            for my $param (split(/[&;]/, $data)) {
                $self->log(LOGDEBUG, 'PARSE POST DATA data8:
'.Dumper($data));
                my ($key, $value) = split(/=/, $param, 2);
                $self->log(LOGDEBUG, 'PARSE POST DATA data9:
'.Dumper($key).Dumper($value) );
                next unless defined $key && defined $value;
                $self->log(LOGDEBUG, 'PARSE POST DATA data10:
'.Dumper($data));
                $key   =~ tr/+/ /;
                $key   =~ s/%([0-9a-fA-F]{2})/chr(hex($1))/eg;
                $self->log(LOGDEBUG, 'PARSE POST DATA data11:
'.Dumper($key).Dumper($value) );
                $value =~ tr/+/ /;
                $value =~ s/%([0-9a-fA-F]{2})/chr(hex($1))/eg;
                $self->log(LOGDEBUG, 'PARSE POST DATA data12:
'.Dumper($key).Dumper($value) );
                $client->headers_in->add_param($key, $value);
            }
        }
        else {
            die "Unhandled form type: $ct";
        }
        return DONE;
    }
    
    return DECLINED;
}




------- End of forwarded message -------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to