|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
--- Frontier-RPC-0.07b4p1/lib/Apache/XMLRPC.pm.apache2 2007-11-08 17:01:28.000000000 +0100
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+++ Frontier-RPC-0.07b4p1/lib/Apache/XMLRPC.pm 2007-11-08 17:24:46.000000000 +0100
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
@@ -10,16 +10,18 @@
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
package Apache::XMLRPC;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
-use Apache::Constants qw(:common);
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+use Apache2::Const;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+use Apache2::ServerUtil;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
use Frontier::RPC2;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
sub handler {
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
my $r = shift;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
- my $conf = $r->server_root_relative( $r->dir_config( "XMLRPC_Config" ) );
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ my $path = $r->dir_config( "XMLRPC_Config" );
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ my $conf = Apache2::ServerUtil::server_root_relative( $r->pool, $path );
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
if( -f $conf ) {
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
- unless( $rt = do $conf ) {
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ unless( my $rt = do $conf ) {
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
die "Couldn\'t parse conf file ($conf): $@\n" if $@;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
die "Couldn\'t compile conf file ($conf): $!\n" unless defined $rt;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
die "Couldn\'t run conf file ($conf)\n" unless $rt;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
@@ -28,15 +30,16 @@
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
my $decoder = Frontier::RPC2->new();
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
- my $content;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
- $r->read( $content, $r->header_in( 'Content-length' ) );
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ if (defined $clength and $clength >= 0) {
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ my $content;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ $r->read( $content, $r->headers_in->{'Content-length'} );
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
- my $answer = $decoder->serve( $content, $Apache::XMLRPC::map );
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ my $answer = $decoder->serve( $content, $Apache::XMLRPC::map );
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
- $r->send_http_header();
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
- $r->print($answer);
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ $r->print($answer);
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
- return OK;
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
+ return Apache2::Const::OK();
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
}
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
|
|
![](https://seccdn.libravatar.org/avatar/0a2c99f599abeae634acb59b05773529632e084fb7511222a78053562bd37e7e?s=16&d=retro) |
be96c89 |
1;
|