1
0
Fork 0
mirror of https://github.com/munin-monitoring/contrib.git synced 2025-08-09 15:33:49 +00:00

rtorrent: fix SCGI headers

Newer versions of rtorrent stopped responding to these plugins, and
comparing it to another (working) XML-RPC client, the difference was the
1 after the SCGI in the header (\000 1 vs \001).

This matches up with the example on Wikipedia's "Simple Common Gateway
Interface" page.
This commit is contained in:
Matt Merhar 2025-07-21 22:19:27 -04:00
parent cceb4a7db7
commit 7106ecaec0
8 changed files with 16 additions and 16 deletions

View file

@ -117,7 +117,7 @@ sub rtorrent_version_lower_than {
}
my $line_version= "<?xml version=\"1.0\" encoding=\"utf-8\"?><methodCall><methodName>system.client_version</methodName></methodCall>";
my $llen = length $line_version;
my $header = "CONTENT_LENGTH\000${llen}\000SCGI\001\000";
my $header = "CONTENT_LENGTH\000${llen}\000SCGI\0001\000";
my $hlen = length $header;
$line_version= "${hlen}:${header},${line_version}";
print SOCK $line_version;
@ -141,7 +141,7 @@ my $function_ratedown = rtorrent_version_lower_than('0.9.0') ? 'get_download_rat
my $line = "<?xml version=\"1.0\" encoding=\"utf-8\"?><methodCall><methodName>system.multicall</methodName><params><param><value><array><data><value><struct><member><name>methodName</name><value><string>$function_totalup</string></value></member><member><name>params</name><value><array><data/></array></value></member></struct></value><value><struct><member><name>methodName</name><value><string>$function_totaldown</string></value></member><member><name>params</name><value><array><data/></array></value></member></struct></value><value><struct><member><name>methodName</name><value><string>$function_rateup</string></value></member><member><name>params</name><value><array><data/></array></value></member></struct></value><value><struct><member><name>methodName</name><value><string>$function_ratedown</string></value></member><member><name>params</name><value><array><data/></array></value></member></struct></value></data></array></value></param></params></methodCall>";
my $llen = length $line;
my $header = "CONTENT_LENGTH\000${llen}\000SCGI\001\000";
my $header = "CONTENT_LENGTH\000${llen}\000SCGI\0001\000";
my $hlen = length $header;
$line = "${hlen}:${header},${line}";