File: NoOp.pm

package info (click to toggle)
libnet-ldap-perl 1%3A0.6800%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 1,684 kB
  • sloc: perl: 15,353; sh: 25; makefile: 8
file content (108 lines) | stat: -rw-r--r-- 2,527 bytes parent folder | download
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
# Copyright (c) 2021 Peter Marschall <peter@adpm.de>. All rights reserved.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.

package Net::LDAP::Control::NoOp;

use Net::LDAP::Control;

our @ISA = qw(Net::LDAP::Control);
our $VERSION = '0.01';

use strict;

sub init {
  my($self) = @_;

  delete $self->{asn};
  delete $self->{value};

  # criticality must be set !
  $self->{critical} = 1;

  $self;
}

# make sure value does not get set
sub value {
  undef;
}

# make sure criticality remains TRUE
sub critical {
  1;
}

1;

__END__

=head1 NAME

Net::LDAP::Control::NoOp - LDAPv3 Tree Delete control object

=head1 SYNOPSIS

 use Net::LDAP;
 use Net::LDAP::Control::NoOp;

 $ldap = Net::LDAP->new( "ldap.mydomain.eg" );

 $noop = Net::LDAP::Control::NoOp->new();

 $msg = $ldap->modify( 'cn=Barbara Jensen, o=University of Michigan, c=US',
                       control  => [ $noop ] );

 die "error: ",$msg->code(),": ",$msg->error()  if ($msg->code());


=head1 DESCRIPTION

C<Net::LDAP::Control::NoOp> provides an interface for the creation
and manipulation of objects that represent the C<No-Op> control as
described by L<draft-zeilenga-ldap-noop-01.txt|https://tools.ietf.org/html/draft-zeilenga-ldap-noop-01>.

The control, which has no corresponding response control,
is appropriate for all LDAP update requests, including
L<add|Net::LDAP/add>, L<delete|Net::LDAP/delete>,
L<modify|Net::LDAP/modify>, and L<moddn|Net::LDAP/moddn>.

Its criticality is always C<TRUE>; it has no value.

The presence of the C<No-Op> control in an operation request message
disables the normal effect of the operation;
i.e. the server will do all processing necessary to perform the
operation but not actually update the directory.

=head1 CONSTRUCTOR ARGUMENTS

Since the C<NoOp> control does not have any values, only the
constructor arguments described in L<Net::LDAP::Control> are
supported

=head1 METHODS

As there are no additional values in the control, only the
methods in L<Net::LDAP::Control> are available for
C<Net::LDAP::Control::NoOp> objects.

=head1 SEE ALSO

L<Net::LDAP>,
L<Net::LDAP::Control>,

=head1 AUTHOR

Peter Marschall E<lt>peter@adpm.deE<gt>.

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) 2021 Peter Marschall. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself.

=cut