/usr/share/perl5/GnuPG/UserAttribute.pm is in libgnupg-interface-perl 0.46-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | # UserAttribute.pm
# - providing an object-oriented approach to GnuPG user attributes
#
# Copyright (C) 2010 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
# (derived from UserId.pm, Copyright (C) 2000 Frank J. Tobin <ftobin@cpan.org>)
#
# This module is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id: UserId.pm,v 1.7 2001/08/21 13:31:50 ftobin Exp $
#
package GnuPG::UserAttribute;
use Any::Moose;
has [qw( validity subpacket_count subpacket_total_size )] => (
isa => 'Any',
is => 'rw',
);
has signatures => (
isa => 'ArrayRef',
is => 'rw',
default => sub { [] },
);
has revocations => (
isa => 'ArrayRef',
is => 'rw',
default => sub { [] },
);
sub push_signatures {
my $self = shift;
push @{ $self->signatures }, @_;
}
sub push_revocations {
my $self = shift;
push @{ $self->revocations }, @_;
}
__PACKAGE__->meta->make_immutable;
1;
__END__
=head1 NAME
GnuPG::UserAttribute - GnuPG User Attribute Objects
=head1 SYNOPSIS
# assumes a GnuPG::PublicKey object in $publickey
my $jpgs_size = $publickey->user_attributes->[0]->subpacket_total_size();
=head1 DESCRIPTION
GnuPG::UserAttribute objects are generally not instantiated on their
own, but rather as part of GnuPG::PublicKey or GnuPG::SecretKey
objects.
=head1 OBJECT METHODS
=over 4
=item new( I<%initialization_args> )
This methods creates a new object. The optional arguments are
initialization of data members;
=back
=head1 OBJECT DATA MEMBERS
=over 4
=item validity
A scalar holding the value GnuPG reports for the calculated validity
of the binding between this User Attribute packet and its associated
primary key. See GnuPG's DETAILS file for details.
=item subpacket_count
A scalar holding the number of attribute subpackets. This is usually
1, as most UATs seen in the wild contain a single image in JPEG
format.
=item subpacket_total_size
A scalar holding the total byte count of all attribute subpackets.
=item signatures
A list of GnuPG::Signature objects embodying the signatures
on this user attribute.
=item revocations
A list of revocations associated with this User Attribute, stored as
GnuPG::Signature objects (since revocations are a type of
certification as well).
=back
=head1 BUGS
No useful information about the embedded attributes is provided yet.
It would be nice to be able to get ahold of the raw JPEG material.
=head1 SEE ALSO
L<GnuPG::Signature>,
=cut
|