Commit 069b8ae0 authored by Keith Sklower's avatar Keith Sklower

After DETER was recently upgraded to FreeBSD8.2 (with corresponding

ports) we noticed that there was an incompatible change in
p5-RPC-XML-0.65 (from 7.2) and -0.76 (from 8.2).

Formerly, RPC::XML::Parser() was OK with parsing only suitably
encoded arguments rather than entire MethodRequest or MethodResponse;
now it throws an error.

We've tested the following (2 + 1) line patches on FreeBSD7.2 and
know them to be backwards compatibile there, and highly suspect it will
be OK for 6.3, although we don't have the means of generating a 6.3
e-in-e anymore.
parent 02769b85
......@@ -185,7 +185,7 @@ my $goo = $parser->parse(*XMLDOC);
if (! ref($goo)) {
fatal("$xmldoc could not be parsed!");
}
my $opargs = $goo->value();
my $opargs = (@{$goo->args()}[0])->value();
if (! (exists($opargs->{'op'}) && exists($opargs->{'args'}))) {
fatal("missing arguments in xmlgoo");
}
......
......@@ -74,7 +74,8 @@ sub commonTail($$)
# over again.
#
my $args = {"op" => $op, "args" => $arg};
my ($obj) = RPC::XML::smart_encode($args);
my $xs = RPC::XML::struct->new($args);
my $obj = RPC::XML::request->new('passthrough', $xs);
my $response = libxmlrpc::CallMethod0("elabinelab", "vlansv3",
{"xmldoc" => $obj->as_string()});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment