add parser for "/etc/apt/auth.conf"

bump version to 3.0-5
This commit is contained in:
Dietmar Maurer 2013-07-25 09:58:14 +02:00
parent a9633e4d6a
commit 6c3aef09cb
3 changed files with 77 additions and 1 deletions

View File

@ -1,7 +1,7 @@
RELEASE=3.0
VERSION=3.0
PKGREL=4
PKGREL=5
PACKAGE=libpve-common-perl

View File

@ -973,4 +973,74 @@ sub read_iscsi_initiatorname {
register_file('initiatorname', "/etc/iscsi/initiatorname.iscsi",
\&read_iscsi_initiatorname);
sub read_apt_auth {
my ($filename, $fd) = @_;
local $/;
my $raw = <$fd>;
$raw =~ s/^\s+//;
my @tokens = split(/\s+/, $raw);
my $data = {};
my $machine;
while (defined(my $tok = shift @tokens)) {
$machine = shift @tokens if $tok eq 'machine';
next if !$machine;
$data->{$machine} = {} if !$data->{$machine};
$data->{$machine}->{login} = shift @tokens if $tok eq 'login';
$data->{$machine}->{password} = shift @tokens if $tok eq 'password';
};
return $data;
}
my $format_apt_auth_data = sub {
my $data = shift;
my $raw = '';
foreach my $machine (sort keys %$data) {
my $d = $data->{$machine};
$raw .= "machine $machine\n";
$raw .= " login $d->{login}\n" if $d->{login};
$raw .= " password $d->{password}\n" if $d->{password};
$raw .= "\n";
}
return $raw;
};
sub write_apt_auth {
my ($filename, $fh, $data) = @_;
my $raw = &$format_apt_auth_data($data);
die "write failed: $!" unless print $fh "$raw\n";
return $data;
}
sub update_apt_auth {
my ($filename, $fh, $data) = @_;
my $orig = read_apt_auth($filename, $fh);
foreach my $machine (keys %$data) {
$orig->{$machine} = $data->{$machine};
}
return &$format_apt_auth_data($orig);
}
register_file('apt-auth', "/etc/apt/auth.conf",
\&read_apt_auth, \&write_apt_auth,
\&update_apt_auth);
1;

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
libpve-common-perl (3.0-5) unstable; urgency=low
* add parser for "/etc/apt/auth.conf"
-- Proxmox Support Team <support@proxmox.com> Thu, 25 Jul 2013 09:57:55 +0200
libpve-common-perl (3.0-4) unstable; urgency=low
* fix bug #381: use persistent reservation file for ports