[pve-devel] [PATCH] copy_bridge_config : parse values
Dietmar Maurer
dietmar at proxmox.com
Tue Feb 25 06:31:24 CET 2014
I wonder if this would solve also the problem? Please can you test?
diff --git a/data/PVE/Network.pm b/data/PVE/Network.pm
index 9ad34f1..458a2da 100644
--- a/data/PVE/Network.pm
+++ b/data/PVE/Network.pm
@@ -114,8 +114,7 @@ sub copy_bridge_config {
my $v0 = PVE::Tools::file_read_firstline("/sys/class/net/$br0/bridge/$sysname");
my $v1 = PVE::Tools::file_read_firstline("/sys/class/net/$br1/bridge/$sysname");
if ($v0 ne $v1) {
- system("echo \"$v0\" > /sys/class/net/$br1/bridge/$sysname") == 0 ||
- warn "unable to set bridge config '$sysname'\n";
+ write_proc_entry("/sys/class/net/$br1/bridge/$sysname", $v0);
}
};
warn $@ if $@;
diff --git a/data/PVE/ProcFSTools.pm b/data/PVE/ProcFSTools.pm
index 79d8cfd..e0a8828 100644
--- a/data/PVE/ProcFSTools.pm
+++ b/data/PVE/ProcFSTools.pm
@@ -246,4 +246,14 @@ sub read_proc_net_dev {
return $res;
}
+sub write_proc_entry {
+ my ($filename, $data) = @_;#
+
+ my $fh = IO::File->new($filename, O_WRONLY);
+ die "unable to open file '$filename' - $!\n" if !$fh;
+ die "unable to write '$filename' - $!\n" unless print $fh $data;
+ die "closing file '$filename' failed - $!\n" unless close $fh;
+ $fh->close();
+}
+
1;
> -----Original Message-----
> From: pve-devel-bounces at pve.proxmox.com [mailto:pve-devel-
> bounces at pve.proxmox.com] On Behalf Of Alexandre Derumier
> Sent: Dienstag, 25. Februar 2014 06:15
> To: pve-devel at pve.proxmox.com
> Subject: [pve-devel] [PATCH] copy_bridge_config : parse values
>
> fix bug
>
> WARNING: Insecure dependency in system while running with -T switch at
> /usr/share/perl5/PVE/Network.pm line 175.
>
> Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
> ---
> data/PVE/Network.pm | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/data/PVE/Network.pm b/data/PVE/Network.pm index
> 98ef18e..99350cb 100644
> --- a/data/PVE/Network.pm
> +++ b/data/PVE/Network.pm
> @@ -168,6 +168,15 @@ sub copy_bridge_config {
> eval {
> my $v0 =
> PVE::Tools::file_read_firstline("/sys/class/net/$br0/bridge/$sysname");
> my $v1 =
> PVE::Tools::file_read_firstline("/sys/class/net/$br1/bridge/$sysname");
> +
> + if($v0 =~ m/^(\S+)/){
> + $v0 = $1;
> + }
> +
> + if($v1 =~ m/^(\S+)/){
> + $v1 = $1;
> + }
> +
> if ($v0 ne $v1) {
> system("echo \"$v0\" >
> /sys/class/net/$br1/bridge/$sysname") == 0 ||
> warn "unable to set bridge config '$sysname'\n";
> --
> 1.7.10.4
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
More information about the pve-devel
mailing list