New build control
[buildfarm-client.git] / EximBuild / WebTxn.pm
index f71f55a27074eef87bc64ec396e48b9dafd76dee..1605fb9229a27a9b7c59f14d2575fe0da1d406ae 100644 (file)
@@ -8,12 +8,13 @@ See accompanying License file for license details
 
 
 Most of this code is imported from the older standalone script run_web_txn.pl
-which is now just a shell that calls the function below. It is now only 
+which is now just a shell that calls the function below. It is now only
 needed on older Msys installations (i.e. things running perl < 5.8).
 
-=cut 
+=cut
 
 use strict;
+use URI::Escape;
 
 use vars qw($VERSION); $VERSION = 'REL_0.1';
 
@@ -99,9 +100,9 @@ sub run_web_txn
     my $content =
         "changed_files=$changed_this_run&"
       . "changed_since_success=$changed_since_success&"
-      ."branch=$branch&res=$status&stage=$stage&animal=$animal&ts=$ts"
+      . 'branch=' . uri_escape($branch) . "&res=$status&stage=$stage&animal=$animal&ts=$ts"
       ."&log=$log_data&conf=$confsum";
-    my $sig= sha1_hex($content,$secret);
+    my $sig = sha1_hex($content,$secret);
 
     $content .= "&frozen_sconf=$frozen_sconf";
 
@@ -114,7 +115,9 @@ sub run_web_txn
     $ua->agent("Exim Build Farm Reporter");
     if (my $proxy = $ENV{BF_PROXY})
     {
-        $ua->proxy('http',$proxy);
+        # untested. Please notify hs@schlittermann.de, if you
+        # encounter any problem here:
+        $ua->proxy(URI->new($target)->scheme, $proxy);
     }
 
     my $request=HTTP::Request->new(POST => "$target/$sig");