diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2006-11-21 18:17:38 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2006-11-21 18:17:38 +0000 |
commit | 50f1f0a9027dfcd3c67f49e31ad6ca8fdfe5a814 (patch) | |
tree | e0605e69388cf52ba137d733a1e316c7dbde0591 /urpm.pm | |
parent | 106088ec7089a961767fb19d83e9dc09ae02e076 (diff) | |
download | urpmi-50f1f0a9027dfcd3c67f49e31ad6ca8fdfe5a814.tar urpmi-50f1f0a9027dfcd3c67f49e31ad6ca8fdfe5a814.tar.gz urpmi-50f1f0a9027dfcd3c67f49e31ad6ca8fdfe5a814.tar.bz2 urpmi-50f1f0a9027dfcd3c67f49e31ad6ca8fdfe5a814.tar.xz urpmi-50f1f0a9027dfcd3c67f49e31ad6ca8fdfe5a814.zip |
create urpm::signature out of urpm.pm
Diffstat (limited to 'urpm.pm')
-rw-r--r-- | urpm.pm | 65 |
1 files changed, 0 insertions, 65 deletions
@@ -848,71 +848,6 @@ sub translate_why_removed_one { $fullname . ($s ? "\n ($s)" : ''); } -#- options: callback, basename -sub check_sources_signatures { - my ($urpm, $sources_install, $sources, %options) = @_; - sort(_check_sources_signatures($urpm, $sources_install, %options), - _check_sources_signatures($urpm, $sources, %options)); -} -sub _check_sources_signatures { - my ($urpm, $sources, %options) = @_; - my ($medium, %invalid_sources); - - foreach my $id (keys %$sources) { - my $filepath = $sources->{$id}; - my $verif = URPM::verify_signature($filepath); - - if ($verif =~ /NOT OK/) { - $verif =~ s/\n//g; - $invalid_sources{$filepath} = N("Invalid signature (%s)", $verif); - } else { - unless ($medium && urpm::media::is_valid_medium($medium) && - $medium->{start} <= $id && $id <= $medium->{end}) - { - $medium = undef; - foreach (@{$urpm->{media}}) { - urpm::media::is_valid_medium($_) && $_->{start} <= $id && $id <= $_->{end} - and $medium = $_, last; - } - } - #- no medium found for this rpm ? - next if !$medium; - #- check whether verify-rpm is specifically disabled for this medium - next if defined $medium->{'verify-rpm'} && !$medium->{'verify-rpm'}; - - my $key_ids = $medium->{'key-ids'} || $urpm->{options}{'key-ids'}; - #- check that the key ids of the medium match the key ids of the package. - if ($key_ids) { - my $valid_ids = 0; - my $invalid_ids = 0; - - foreach my $key_id ($verif =~ /(?:key id \w{8}|#)(\w+)/gi) { - if (grep { hex($_) == hex($key_id) } split /[,\s]+/, $key_ids) { - ++$valid_ids; - } else { - ++$invalid_ids; - } - } - - if ($invalid_ids) { - $invalid_sources{$filepath} = N("Invalid Key ID (%s)", $verif); - } elsif (!$valid_ids) { - $invalid_sources{$filepath} = N("Missing signature (%s)", $verif); - } - } - #- invoke check signature callback. - $options{callback} and $options{callback}->( - $urpm, $filepath, - id => $id, - verif => $verif, - why => $invalid_sources{$filepath}, - ); - } - } - map { ($options{basename} ? basename($_) : $_) . ": $invalid_sources{$_}" } - keys %invalid_sources; -} - #- get reason of update for packages to be updated #- use all update medias if none given sub get_updates_description { |