diff --git a/perl-frontier-raw-serve.patch b/perl-frontier-raw-serve.patch new file mode 100644 index 0000000..b3f5c58 --- /dev/null +++ b/perl-frontier-raw-serve.patch @@ -0,0 +1,34 @@ +--- Frontier-RPC-0.06/lib/Frontier/RPC2.pm.rawserve Wed Jun 19 17:47:33 2002 ++++ Frontier-RPC-0.06/lib/Frontier/RPC2.pm Wed Jun 19 18:26:04 2002 +@@ -110,7 +110,7 @@ + } + + sub serve { +- my $self = shift; my $xml = shift; my $methods = shift; ++ my $self = shift; my $xml = shift; my $methods = shift; my $raw = shift; + + my $call; + # FIXME bug in Frontier's XML +@@ -118,6 +118,7 @@ + eval { $call = $self->decode($xml) }; + + if ($@) { ++ die $@ if $raw; + return $self->encode_fault(1, "error decoding RPC.\n" . $@); + } + +@@ -127,12 +128,14 @@ + + my $method = $call->{'method_name'}; + if (!defined $methods->{$method}) { ++ die "No such method '$method'" if $raw; + return $self->encode_fault(3, "no such method \`$method'\n"); + } + + my $result; + my $eval = eval { $result = &{ $methods->{$method} }(@{ $call->{'value'} }) }; + if ($@) { ++ die $@ if $raw; + return $self->encode_fault(4, "error executing RPC \`$method'.\n" . $@); + } +