This file is indexed.

/usr/share/perl5/Net/LDAP/Extension/Refresh.pm is in libnet-ldap-perl 1:0.6500+dfsg-1.

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
package Net::LDAP::Extension::Refresh;
require Net::LDAP::Extension;

our @ISA = qw(Net::LDAP::Extension);
our $VERSION = '0.03';

use Convert::ASN1;

my $refreshReq = Convert::ASN1->new;
$refreshReq->prepare(q<SEQUENCE {
                     entryName    [0] OCTET STRING, -- originally: LDAPDN
                     requestTtl   [1] INTEGER
                     }>);

my $refreshResp = Convert::ASN1->new;
$refreshResp->prepare(q<SEQUENCE {
                      responseTtl [0] INTEGER
                      }>);

sub Net::LDAP::refresh {
  my $ldap = shift;
  my %opt = @_;

  my $res = $ldap->extension (
    name => '1.3.6.1.4.1.1466.101.119.1',
    value => $refreshReq->encode(\%opt),
    ($opt{control} ? (control => $opt{control}) : ())
  );

  bless $res;
}

sub get_ttl {
  my $self = shift;
  my $out = $refreshResp->decode($self->response);
  $out->{responseTtl};
}
1;

__END__

=head1 NAME

Net::LDAP::Extension::Refresh - LDAPv3 Refresh extension object (RFC 2589)

=head1 SYNOPSIS

 use Net::LDAP;
 use Net::LDAP::Extension::Refresh;

 $ldap = Net::LDAP->new('localhost');
 $ldap->bind('cn=admin,dc=example,dc=com', password => 'password');

 $mesg = $ldap->refresh(entryName => 'cn=dynamic,dc=example,dc=com',
        requestTtl => 100);
 die "error :", $mesg->code(), ": ", $mesg->error()  if ($mesg->code());
 print "TTL changed to ", $mesg->get_ttl(), "\n";

=head1 DESCRIPTION

C<Net::LDAP::Extension::Refresh> implements the C<Refresh> extended LDAPv3
operation as described in RFC 2589

It implements no object by itself but extends the L<Net::LDAP> object
by another method:

=head1 METHODS

=over 4

=item refresh ( OPTIONS )

Send a refresh operation for an object.

OPTIONS is a list of key/value pairs. The following keys are recognized:

=over 4

=item entryName

This option contains the object to refresh. It must be a DN.

=item requestTtl

This option contains the TTL in seconds requested. The server may choose to
set another value as stated in RFC 2589

=back

=item get_ttl ( )

Return the TTL set by the server during the previous C<refresh> call.

This method is a method of the L<Net::LDAP::Message> response object
returned in reply to C<refresh()> in case the C<refresh()> call succeeded.

=back

=head1 SEE ALSO

L<Net::LDAP>,
L<Net::LDAP::Extension>

=head1 AUTHOR

Etienne Bagnoud E<lt>etienne.bagnoud@irovision.chE<gt>
Adapted from Graham Barr L<Net::LDAP::Extension::SetPassword>
Documentation adapted from Peter Marschall L<Net::LDAP::Extension::SetPassword>

Please report any bugs, or post any suggestions, to the perl-ldap
mailing list E<lt>perl-ldap@perl.orgE<gt>

=head1 COPYRIGHT

Copyright (c) 2010 Etienne Bagnoud. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself.

=cut