diff -Nru libnet-ldap-perl-0.6700+dfsg/Changes libnet-ldap-perl-0.6800+dfsg/Changes --- libnet-ldap-perl-0.6700+dfsg/Changes 2020-12-26 13:56:43.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/Changes 2021-01-03 17:16:04.000000000 +0000 @@ -1,3 +1,19 @@ +0.68 -- Sun Jan 3 17:58:18 CET 2021 + +Enhancements +* Control/NoOp.pm: new +* Control/Subentries.pm: new +* Constant.pm: add tags to allow exporting groups of constants +* Constant.pm: add Active Directory Control & Extension OIDs +* Constant.pm: add references to perl-ldap's modules + +Bug Fixes +* META.json: update author & bugtracker +* Control/*.pm: typo & grammar fixes +* Control/Relax.pm: slight rephrasing +* FAQ.pod: fix spelling/grammar error +* Changes: fix typo + 0.67 -- Sat Dec 26 14:50:55 CEST 2020 Enhancements @@ -9,7 +25,7 @@ Bug Fixes * LDAP.pm: do not persist the default sslserver -* LDAP.pm: correct parapmeter to restrict IP family with IO::Socket::IP +* LDAP.pm: correct parameter to restrict IP family with IO::Socket::IP * data/regenerate_cert.sh: fix shebang 0.66 -- Tue Apr 16 11:23:55 CEST 2019 diff -Nru libnet-ldap-perl-0.6700+dfsg/debian/changelog libnet-ldap-perl-0.6800+dfsg/debian/changelog --- libnet-ldap-perl-0.6700+dfsg/debian/changelog 2020-12-27 21:53:41.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/debian/changelog 2021-01-03 18:47:47.000000000 +0000 @@ -1,3 +1,13 @@ +libnet-ldap-perl (1:0.6800+dfsg-1) unstable; urgency=medium + + * Import upstream version 0.6800+dfsg. + Closes: #979162 + * Drop spelling-error.patch, applied upstream. + * Add new files to debian/copyright. + * Update years of packaging copyright. + + -- gregor herrmann Sun, 03 Jan 2021 19:47:47 +0100 + libnet-ldap-perl (1:0.6700+dfsg-1) unstable; urgency=medium [ Debian Janitor ] diff -Nru libnet-ldap-perl-0.6700+dfsg/debian/copyright libnet-ldap-perl-0.6800+dfsg/debian/copyright --- libnet-ldap-perl-0.6700+dfsg/debian/copyright 2020-12-27 21:53:41.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/debian/copyright 2021-01-03 18:47:47.000000000 +0000 @@ -69,6 +69,14 @@ 2002, Norbert Klasen License: Artistic or GPL-1+ +Files: lib/Net/LDAP/Control/NoOp.pm +Copyright: 2021, Peter Marschall +License: Artistic or GPL-1+ + +Files: lib/Net/LDAP/Control/Subentries.pm +Copyright: 2020, Peter Marschall +License: Artistic or GPL-1+ + Files: contrib/jpegDisplay.pl contrib/jpegLoad.pl contrib/tklkup @@ -125,7 +133,7 @@ 2008, Ansgar Burchardt 2008-2010, Damyan Ivanov 2008, Marc 'HE' Brockschmidt - 2008-2020, gregor herrmann + 2008-2021, gregor herrmann 2010, Jonathan Yu 2012-2019, Xavier Guimard 2014, Daniel Lintott diff -Nru libnet-ldap-perl-0.6700+dfsg/debian/patches/series libnet-ldap-perl-0.6800+dfsg/debian/patches/series --- libnet-ldap-perl-0.6700+dfsg/debian/patches/series 2020-12-27 21:53:41.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -spelling-error.patch diff -Nru libnet-ldap-perl-0.6700+dfsg/debian/patches/spelling-error.patch libnet-ldap-perl-0.6800+dfsg/debian/patches/spelling-error.patch --- libnet-ldap-perl-0.6700+dfsg/debian/patches/spelling-error.patch 2020-12-27 21:53:41.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/debian/patches/spelling-error.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,16 +0,0 @@ -Description: spelling error -Author: Xavier Guimard -Forwarded: no -Last-Update: 2019-08-17 - ---- a/lib/Net/LDAP/FAQ.pod -+++ b/lib/Net/LDAP/FAQ.pod -@@ -1447,7 +1447,7 @@ - Most LDAP servers use the standard userPassword attribute as the - attribute to set when you want to change a user's password. - --They usually allow to set the password either using the regular -+They usually allow one to set the password either using the regular - modify operation on the userPassword attribute or using the - extended LDAP Password Modify operation defined in RFC3062. - diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/ASN.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/ASN.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/ASN.pm 2019-04-16 09:45:54.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/ASN.pm 2021-01-03 17:16:04.000000000 +0000 @@ -1,7 +1,7 @@ package Net::LDAP::ASN; -our $VERSION = '0.12'; +our $VERSION = '0.13'; use Convert::ASN1; @@ -478,6 +478,14 @@ } } + -- RFC-3672 Subentries Control + -- Current parser does not allow a named entity following the ::= + -- so we use a COMPONENTS OF hack + SubentriesValueDummy ::= SEQUENCE { + visibility BOOLEAN + } + SubentriesValue ::= COMPONENTS OF SubentriesValueDummy + LDAP_ASN 1; diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Constant.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Constant.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Constant.pm 2020-12-26 12:17:53.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Constant.pm 2021-01-03 17:16:04.000000000 +0000 @@ -4,7 +4,7 @@ package Net::LDAP::Constant; -our $VERSION = '0.23'; +our $VERSION = '0.24'; use Exporter qw(import); @@ -18,6 +18,11 @@ my ($name, $value) = ($1, $2); *{$name} = sub () { $value }; push @EXPORT_OK, $name; + push @{$EXPORT_TAGS{codes}}, $name if $protocol_const; + push @{$EXPORT_TAGS{controls}}, $name if ($name =~ /^LDAP_CONTROL_/); + push @{$EXPORT_TAGS{features}}, $name if ($name =~ /^LDAP_FEATURE_/); + push @{$EXPORT_TAGS{extensions}}, $name if ($name =~ /^LDAP_EXTENSION_/); + push @{$EXPORT_TAGS{capabilities}}, $name if ($name =~ /^LDAP_CAP_/); $err2name[$value] = $name if $protocol_const; } @@ -81,8 +86,39 @@ =head1 DESCRIPTION -B exports constant subroutines for the following LDAP -error codes. +B exports constants, technically: constant subroutines, +for the LDAP status codes and OIDs listed in the sections below. + +In addition to exporting individual constants, the following tags can be used to +export groups of constants. + +=over 4 + +=item :all + +Export all constants known to C. + +=item C<:codes> + +Export all LDAP status codes mentioned in the section L. + +=item C<:controls> + +Export all C constants. + +=item C<:extensions> + +Export all C constants. + +=item C<:features> + +Export all C constants. + +=item C<:capabilities> + +Export all C constants. + +=back =head2 Protocol Constants @@ -432,36 +468,68 @@ =head2 Control OIDs +B identify L. + +By announcing the respective OIDs in the operational attribute +C of the L +an LDAP server indicates which L +it supports. + =over 4 =item LDAP_CONTROL_SORTREQUEST (1.2.840.113556.1.4.473) +See L. + =item LDAP_CONTROL_SORTRESULT (1.2.840.113556.1.4.474) =item LDAP_CONTROL_SORTRESPONSE (1.2.840.113556.1.4.474) +See L. + =item LDAP_CONTROL_VLVREQUEST (2.16.840.1.113730.3.4.9) +See L. + =item LDAP_CONTROL_VLVRESPONSE (2.16.840.1.113730.3.4.10) +See L. + =item LDAP_CONTROL_PROXYAUTHORIZATION (2.16.840.1.113730.3.4.18) =item LDAP_CONTROL_PROXYAUTHENTICATION (2.16.840.1.113730.3.4.18) +See L. + =item LDAP_CONTROL_PAGED (1.2.840.113556.1.4.319) +See L. + =item LDAP_CONTROL_TREE_DELETE (1.2.840.113556.1.4.805) +See L. + =item LDAP_CONTROL_MATCHEDVALS (1.2.826.0.1.3344810.2.2) +Outdated OID mentioned in predecessors to RFC 3876. +Superseded by C. + =item LDAP_CONTROL_MATCHEDVALUES (1.2.826.0.1.3344810.2.3) +See L. + =item LDAP_CONTROL_MANAGEDSAIT (2.16.840.1.113730.3.4.2) +See L. + =item LDAP_CONTROL_PERSISTENTSEARCH (2.16.840.1.113730.3.4.3) +See L. + =item LDAP_CONTROL_ENTRYCHANGE (2.16.840.1.113730.3.4.7) +See L. + =item LDAP_CONTROL_PWEXPIRED (2.16.840.1.113730.3.4.4) =item LDAP_CONTROL_PWEXPIRING (2.16.840.1.113730.3.4.5) @@ -470,26 +538,50 @@ =item LDAP_CONTROL_RELAX (1.3.6.1.4.1.4203.666.5.12) +See L. + =item LDAP_CONTROL_PASSWORDPOLICY (1.3.6.1.4.1.42.2.27.8.5.1) +See L. + =item LDAP_CONTROL_PERMISSIVEMODIFY (1.2.840.113556.1.4.1413) =item LDAP_CONTROL_PREREAD (1.3.6.1.1.13.1) +See L. + =item LDAP_CONTROL_POSTREAD (1.3.6.1.1.13.2) +See L. + =item LDAP_CONTROL_ASSERTION (1.3.6.1.1.12) +See L. + =item LDAP_CONTROL_DONTUSECOPY (1.3.6.1.1.22) +See L. + =item LDAP_CONTROL_NOOP (1.3.6.1.4.1.4203.666.5.2) +See L. + +=item LDAP_CONTROL_SUBENTRIES (1.3.6.1.4.1.4203.1.10.1) + +See L. + =item LDAP_CONTROL_SYNC (1.3.6.1.4.1.4203.1.9.1.1) +See L. + =item LDAP_CONTROL_SYNC_STATE (1.3.6.1.4.1.4203.1.9.1.2) +See L. + =item LDAP_CONTROL_SYNC_DONE (1.3.6.1.4.1.4203.1.9.1.3) +See L. + =item LDAP_SYNC_INFO (1.3.6.1.4.1.4203.1.9.1.4) =back @@ -572,36 +664,149 @@ =back +=head3 Active Directory Control OIDs + +See section I in +L. + +=over 4 + +=item LDAP_CONTROL_SHOW_DELETED (1.2.840.113556.1.4.417) + +=for comment #=item LDAP_CONTROL_X_SHOW_DELETED (1.2.840.113556.1.4.417) + +=item LDAP_CONTROL_CROSSDOMAIN_MOVE (1.2.840.113556.1.4.521) + +=item LDAP_CONTROL_SERVER_NOTIFICATION (1.2.840.113556.1.4.528) + +=for comment #=item LDAP_CONTROL_X_SERVER_NOTIFICATION (1.2.840.113556.1.4.528) + +=item LDAP_CONTROL_EXTENDED_DN (1.2.840.113556.1.4.529) + +=for comment #=item LDAP_CONTROL_X_EXTENDED_DN (1.2.840.113556.1.4.529) + +=item LDAP_CONTROL_LAZY_COMMIT (1.2.840.113556.1.4.619) + +=for comment #=item LDAP_CONTROL_X_LAZY_COMMIT (1.2.840.113556.1.4.619) + +=item LDAP_CONTROL_SD_FLAGS (1.2.840.113556.1.4.801) + +=item LDAP_CONTROL_RANGE_OPTION (1.2.840.113556.1.4.802) + +=for comment #=item LDAP_CONTROL_X_INCREMENTAL_VALUES (1.2.840.113556.1.4.802) + +=item LDAP_CONTROL_DIRSYNC (1.2.840.113556.1.4.841) + +=for comment #=item LDAP_CONTROL_X_DIRSYNC (1.2.840.113556.1.4.841) + +=item LDAP_CONTROL_GET_STATS (1.2.840.113556.1.4.970) + +=item LDAP_CONTROL_VERIFY_NAME (1.2.840.113556.1.4.1338) + +=item LDAP_CONTROL_DOMAIN_SCOPE (1.2.840.113556.1.4.1339) + +=for comment #=item LDAP_CONTROL_X_DOMAIN_SCOPE (1.2.840.113556.1.4.1339) + +=item LDAP_CONTROL_SEARCH_OPTIONS (1.2.840.113556.1.4.1340) + +=for comment #=item LDAP_CONTROL_X_SEARCH_OPTIONS (1.2.840.113556.1.4.1340) + +=item LDAP_CONTROL_RODC_DCPROMO (1.2.840.113556.1.4.1341) + +=item LDAP_CONTROL_ASQ (1.2.840.113556.1.4.1504) + +=item LDAP_CONTROL_QUOTA_CONTROL (1.2.840.113556.1.4.1852) + +=item LDAP_CONTROL_SHUTDOWN_NOTIFY (1.2.840.113556.1.4.1907) + +=item LDAP_CONTROL_RANGE_RETRIEVAL_NOERR (1.2.840.113556.1.4.1948) + +=item LDAP_CONTROL_FORCE_UPDATE (1.2.840.113556.1.4.1974) + +=item LDAP_CONTROL_DN_INPUT (1.2.840.113556.1.4.2026) + +=item LDAP_CONTROL_SHOW_RECYCLED (1.2.840.113556.1.4.2064) + +=item LDAP_CONTROL_SHOW_DEACTIVATED_LINK (1.2.840.113556.1.4.2065) + +=item LDAP_CONTROL_POLICY_HINTS_DEPRECATED (1.2.840.113556.1.4.2066) + +=item LDAP_CONTROL_DIRSYNC_EX (1.2.840.113556.1.4.2090) + +=item LDAP_CONTROL_TREE_DELETE_EX (1.2.840.113556.1.4.2204) + +=item LDAP_CONTROL_UPDATE_STATS (1.2.840.113556.1.4.2205) + +=item LDAP_CONTROL_SEARCH_HINTS (1.2.840.113556.1.4.2206) + +=item LDAP_CONTROL_EXPECTED_ENTRY_COUNT (1.2.840.113556.1.4.2211) + +=item LDAP_CONTROL_POLICY_HINTS (1.2.840.113556.1.4.2239) + +=item LDAP_CONTROL_SET_OWNER (1.2.840.113556.1.4.2255) + +=item LDAP_CONTROL_BYPASS_QUOTA (1.2.840.113556.1.4.2256) + +=item LDAP_CONTROL_LINK_TTL (1.2.840.113556.1.4.2309) + +=item LDAP_CONTROL_SET_CORRELATION_ID (1.2.840.113556.1.4.2330) + +=item LDAP_CONTROL_THREAD_TRACE_OVERRIDE (1.2.840.113556.1.4.2354) + +=back + =head2 Extension OIDs -B exports constant subroutines for the following LDAP -extension OIDs. +B identify L. + +By announcing the respective OIDs in the operational attribute +C of the L +an LDAP server indicates which L +it supports. =over 4 =item LDAP_NOTICE_OF_DISCONNECTION (1.3.6.1.4.1.1466.20036) -Indicates that the server is about to close the connection due to an error (RFC 4511) +Indicates that the server is about to close the connection due to an error (RFC 4511). =item LDAP_EXTENSION_START_TLS (1.3.6.1.4.1.1466.20037) -Indicates if the server supports the Start TLS extension (RFC 4513) +Indicates if the server supports the Start TLS extension (RFC 4513). +See L. =item LDAP_EXTENSION_PASSWORD_MODIFY (1.3.6.1.4.1.4203.1.11.1) -Indicates that the server supports the Password Modify extension (RFC 3062) +Indicates that the server supports the Password Modify extension (RFC 3062). +See L. =item LDAP_EXTENSION_WHO_AM_I (1.3.6.1.4.1.4203.1.11.3) -Indicates that the server supports the "Who am I?" extension (RFC 4532) +Indicates that the server supports the "Who am I?" extension (RFC 4532). +See L. =item LDAP_EXTENSION_REFRESH (1.3.6.1.4.1.1466.101.119.1) -Indicates that the server supports the Refresh extension (RFC 2589) +Indicates that the server supports the Refresh extension (RFC 2589). +See L. =item LDAP_EXTENSION_CANCEL (1.3.6.1.1.8) -Indicates the server supports the Cancel extension (RFC 3909) +Indicates the server supports the Cancel extension (RFC 3909). +See L. + +=back + +=head3 Active Directory Extension OIDs + +See section I in +L. + +=over 4 + +=item LDAP_EXTENSION_FAST_BIND (1.2.840.113556.1.4.1781) + +=item LDAP_EXTENSION_BATCH_REQUEST (1.2.840.113556.1.4.2212) =back @@ -717,8 +922,11 @@ =head2 Feature OIDs -B exports constant subroutines for the following LDAP -feature OIDs. +B identify LDAP features. + +By announcing the respective OIDs in the operational attribute +C of the L +an LDAP server indicates which LDAP features it supports. =over 4 @@ -748,15 +956,17 @@ =item LDAP_FEATURE_MODIFY_INCREMENT (1.3.6.1.1.14) -Indicates if the server supports the Modify Increment extension (RFC 4525) +Indicates if the server supports the Modify Increment extension (RFC 4525). +See L. =back =head2 Active Directory Capability OIDs The following constants are specific to Microsoft Active Directory. -They serve to denote capabilities via the non-standard attribute -C in the Root DSE. +They serve to denote capabilities via the non-standard operational attribute +C in the L of an +an LDAP server. =over 4 diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/DontUseCopy.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/DontUseCopy.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/DontUseCopy.pm 2020-12-26 12:37:16.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/DontUseCopy.pm 2021-01-03 17:16:04.000000000 +0000 @@ -74,13 +74,13 @@ =head1 CONSTRUCTOR ARGUMENTS -Since the C control does not have any values only the +Since the C control does not have any values, only the constructor arguments described in L are supported =head1 METHODS -As there are no additional values in the control only the +As there are no additional values in the control, only the methods in L are available for C objects. diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/ManageDsaIT.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/ManageDsaIT.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/ManageDsaIT.pm 2019-04-16 09:45:54.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/ManageDsaIT.pm 2021-01-03 17:16:04.000000000 +0000 @@ -66,13 +66,13 @@ =head1 CONSTRUCTOR ARGUMENTS -Since the C control does not have any values only the +Since the C control does not have any values, only the constructor arguments described in L are supported =head1 METHODS -As there are no additional values in the control only the +As there are no additional values in the control, only the methods in L are available for C objects. diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/NoOp.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/NoOp.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/NoOp.pm 1970-01-01 00:00:00.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/NoOp.pm 2021-01-03 17:16:04.000000000 +0000 @@ -0,0 +1,108 @@ +# 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. + +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 provides an interface for the creation +and manipulation of objects that represent the C control as +described by L. + +The control, which has no corresponding response control, +is appropriate for all LDAP update requests, including +L, L, +L, and L. + +Its criticality is always C; it has no value. + +The presence of the C 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 control does not have any values, only the +constructor arguments described in L are +supported + +=head1 METHODS + +As there are no additional values in the control, only the +methods in L are available for +C objects. + +=head1 SEE ALSO + +L, +L, + +=head1 AUTHOR + +Peter Marschall Epeter@adpm.deE. + +Please report any bugs, or post any suggestions, to the perl-ldap +mailing list Eperl-ldap@perl.orgE + +=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 + diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/ProxyAuth.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/ProxyAuth.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/ProxyAuth.pm 2019-04-16 09:45:54.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/ProxyAuth.pm 2021-01-03 16:29:36.000000000 +0000 @@ -146,7 +146,7 @@ As required by the RFC, the criticality of this control is automatically set to TRUE in order to protect clients from submitting requests with other identities -that they intend to. +than they intend to. =head1 CONSTRUCTOR ARGUMENTS diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/Relax.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/Relax.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/Relax.pm 2019-04-16 09:45:54.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/Relax.pm 2021-01-03 17:16:04.000000000 +0000 @@ -64,26 +64,26 @@ and manipulation of objects that represent the C control as described by draft-zeilenga-ldap-relax-03.txt +The control, which has no corresponding response control, +is appropriate for all LDAP update requests, including +L, L, +L, and L. + The presence of the Relax control in an LDAP update request indicates the server temporarily relax X.500 model constraints during performance of the directory update. -The control is appropriate for all LDAP update requests, including -add, delete, modify, and modifyDN (rename) [RFC4511]. - -Its criticality is always set to TRUE, and no value. - -There is no corresponding response control. +It does not have a value and its criticality is always set to C. =head1 CONSTRUCTOR ARGUMENTS -Since the C control does not have any values only the +Since the C control does not have any values, only the constructor arguments described in L are -supported +supported. =head1 METHODS -As there are no additional values in the control only the +As there are no additional values in the control, only the methods in L are available for C objects. diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/Subentries.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/Subentries.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/Subentries.pm 1970-01-01 00:00:00.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/Subentries.pm 2021-01-03 17:16:04.000000000 +0000 @@ -0,0 +1,130 @@ +# Copyright (c) 2020 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. + +package Net::LDAP::Control::Subentries; + +use Net::LDAP::Control; + +our @ISA = qw(Net::LDAP::Control); +our $VERSION = '0.01'; + +use Net::LDAP::ASN qw(SubentriesValue); +use strict; + +sub init { + my($self) = @_; + + delete $self->{asn}; + + unless (exists $self->{value}) { + $self->{asn} = { + visibility => $self->{visibility} || 0, + }; + } + + $self; +} + +sub visibility { + my $self = shift; + + $self->{asn} ||= $SubentriesValue->decode($self->{value}); + if (@_) { + delete $self->{value}; + return $self->{asn}{visibility} = shift || 0; + } + + $self->{asn}{visibility}; +} + +sub value { + my $self = shift; + + exists $self->{value} + ? $self->{value} + : $self->{value} = $SubentriesValue->encode($self->{asn}); +} + +1; + + +__END__ + +=head1 NAME + +Net::LDAP::Control::Subentries - LDAPv3 Subentries control object + +=head1 SYNOPSIS + + use Net::LDAP; + use Net::LDAP::Control::Subentries; + + $ldap = Net::LDAP->new( "ldap.mydomain.eg" ); + + $subentries = Net::LDAP::Control::Subentries->new( visibility => 1 ); + + $msg = $ldap->search( base => 'dc=sub,dc=mydomain,dc=eg", + filter => '(objectclass=*)', + attrs => [ qw/1.1/ ], + control => [ $subentries ] ); + + die "error: ",$msg->code(),": ",$msg->error() if ($msg->code()); + + +=head1 DESCRIPTION + +C provides an interface for the creation +and manipulation of objects that represent the C control as +described by RFC 3672. + +This control, for which no corresponding response control exists, is +appropriate for L operations only. + +In absence of this control, subentries are visible only to +L requests with C<< scope => 'base' >>, +but not to searches with any other C value. + +=head1 CONSTRUCTOR ARGUMENTS + +In addition to the constructor arguments described in +L the following are provided: + +=over 4 + +=item visibility + +A Boolean value indicating the visibility of subentries or regular entries. + +The value C indicates that subentries are visible and normal entries +are not; the value C indicates that normal entries are visible +and subentries are not. + +=back + +=head1 METHODS + +As with L each constructor argument +described above is also available as a method on the object which will +return the current value for the attribute if called without an argument, +and set a new value for the attribute if called with an argument. + +=head1 SEE ALSO + +L, +L, + +=head1 AUTHOR + +Peter Marschall Epeter@adpm.deE. + +Please report any bugs, or post any suggestions, to the perl-ldap +mailing list Eperl-ldap@perl.orgE + +=head1 COPYRIGHT + +Copyright (c) 2020 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 diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/TreeDelete.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/TreeDelete.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control/TreeDelete.pm 2020-12-26 12:37:16.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control/TreeDelete.pm 2021-01-03 17:16:04.000000000 +0000 @@ -65,13 +65,13 @@ =head1 CONSTRUCTOR ARGUMENTS -Since the C control does not have any values only the +Since the C control does not have any values, only the constructor arguments described in L are supported =head1 METHODS -As there are no additional values in the control only the +As there are no additional values in the control, only the methods in L are available for C objects. diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/Control.pm 2020-12-26 12:37:16.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/Control.pm 2021-01-03 17:16:04.000000000 +0000 @@ -27,9 +27,11 @@ LDAP_CONTROL_RELAX LDAP_CONTROL_DONTUSECOPY LDAP_CONTROL_TREE_DELETE + LDAP_CONTROL_SUBENTRIES + LDAP_CONTROL_NOOP ); -our $VERSION = '0.19'; +our $VERSION = '0.20'; my %Pkg2Type = ( @@ -63,6 +65,8 @@ 'Net::LDAP::Control::Relax' => LDAP_CONTROL_RELAX, 'Net::LDAP::Control::DontUseCopy' => LDAP_CONTROL_DONTUSECOPY, 'Net::LDAP::Control::TreeDelete' => LDAP_CONTROL_TREE_DELETE, + 'Net::LDAP::Control::Subentries' => LDAP_CONTROL_SUBENTRIES, + 'Net::LDAP::Control::NoOp' => LDAP_CONTROL_NOOP, # #LDAP_CONTROL_PWEXPIRED #LDAP_CONTROL_PWEXPIRING diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/FAQ.pod libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/FAQ.pod --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP/FAQ.pod 2020-12-26 12:30:16.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP/FAQ.pod 2020-12-31 16:30:46.000000000 +0000 @@ -1447,7 +1447,7 @@ Most LDAP servers use the standard userPassword attribute as the attribute to set when you want to change a user's password. -They usually allow to set the password either using the regular +They usually allow one to set the password either using the regular modify operation on the userPassword attribute or using the extended LDAP Password Modify operation defined in RFC3062. diff -Nru libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP.pm libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP.pm --- libnet-ldap-perl-0.6700+dfsg/lib/Net/LDAP.pm 2020-12-26 13:56:43.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/lib/Net/LDAP.pm 2021-01-03 17:16:04.000000000 +0000 @@ -39,7 +39,7 @@ : ''; }; -our $VERSION = '0.67'; +our $VERSION = '0.68'; our @ISA = qw(Tie::StdHash Net::LDAP::Extra); our $LDAP_VERSION = 3; # default LDAP protocol version diff -Nru libnet-ldap-perl-0.6700+dfsg/MANIFEST libnet-ldap-perl-0.6800+dfsg/MANIFEST --- libnet-ldap-perl-0.6700+dfsg/MANIFEST 2020-12-26 14:00:27.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/MANIFEST 2021-01-03 17:20:27.000000000 +0000 @@ -74,6 +74,7 @@ lib/Net/LDAP/Control/EntryChange.pm lib/Net/LDAP/Control/ManageDsaIT.pm lib/Net/LDAP/Control/MatchedValues.pm +lib/Net/LDAP/Control/NoOp.pm lib/Net/LDAP/Control/Paged.pm lib/Net/LDAP/Control/PasswordPolicy.pm lib/Net/LDAP/Control/PersistentSearch.pm @@ -83,6 +84,7 @@ lib/Net/LDAP/Control/Relax.pm lib/Net/LDAP/Control/Sort.pm lib/Net/LDAP/Control/SortResult.pm +lib/Net/LDAP/Control/Subentries.pm lib/Net/LDAP/Control/SyncDone.pm lib/Net/LDAP/Control/SyncRequest.pm lib/Net/LDAP/Control/SyncState.pm diff -Nru libnet-ldap-perl-0.6700+dfsg/META.json libnet-ldap-perl-0.6800+dfsg/META.json --- libnet-ldap-perl-0.6700+dfsg/META.json 2020-12-26 13:56:43.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/META.json 2021-01-03 17:16:04.000000000 +0000 @@ -1,9 +1,9 @@ { "name" : "perl-ldap", - "version" : "0.67", + "version" : "0.68", "abstract" : "LDAP client library", "author" : [ - "Graham Barr " + "Peter Marschall " ], "release_status" : "stable", "resources" : { @@ -14,7 +14,7 @@ "type" : "git" }, "bugtracker" : { - "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=perl-ldap" + "web" : "https://github.com/perl-ldap/perl-ldap/issues/" } }, "prereqs" : { diff -Nru libnet-ldap-perl-0.6700+dfsg/SIGNATURE libnet-ldap-perl-0.6800+dfsg/SIGNATURE --- libnet-ldap-perl-0.6700+dfsg/SIGNATURE 2020-12-26 14:00:37.000000000 +0000 +++ libnet-ldap-perl-0.6800+dfsg/SIGNATURE 2021-01-03 17:20:42.000000000 +0000 @@ -15,11 +15,11 @@ Hash: RIPEMD160 SHA256 f5284afc11107d124adcf45144cd1b87011d11983f41991a428c9c5d14ad174a CREDITS -SHA256 37070efd92cbd64c16d6e0eadb9aabf2d1d52ea033091fe0d72fe549d65fae5c Changes +SHA256 5b2d51405f97f89f59fc07dfc8ff637fbd17910d4f161d379bf8e5df216d66ba Changes SHA256 d694b58de713bc5bdf89337af5a9fd2e5b1c010e658f08572d938bd304c664f0 INSTALL -SHA256 39770bd7fbff1b3f8bdbc20fa8582e9766f474e1fd69f1f9b755c9e580336fd4 MANIFEST +SHA256 2cf986c63fbeac4e1e7c9542449775f7fe26e6c9824d325a30d740a8f57874b9 MANIFEST SHA256 82a36cb44769f6ee6b79dac64fc35375054b68a1c50c06bae1429a65a5271fe0 MANIFEST.SKIP -SHA256 c23108d3ae299c7391a91ff3f76c3a4209c4ce1994e4bcfbee8d0d4d8cb82efc META.json +SHA256 97dcd3bb488ce648313a2202f2d367e1848bdfac1cf877bddc80975828950db8 META.json SHA256 ab6e2a419bcfd7e107119d89027bb7f8d190b8decb91051888bdb2df69db438c Makefile.PL SHA256 8d1471c205325b0f6e7e295a3cd8fdc42d2d76ae58fd7601c3c9f8f9329d5269 README SHA256 e117a440799c250d2bdfb7afda4be25b55e810b67813a78497b7baf4c4f9a0fb TODO @@ -85,30 +85,32 @@ SHA256 7d2605b0dc9a179478fdacf8e2e3dc5b0b1605dea6fe199b729bc6beb1d8a5df lib/LWP/Protocol/ldap.pm SHA256 d769a95b64558158eaad1890b35579232fdf111e675ede987ca5742c031d5019 lib/LWP/Protocol/ldapi.pm SHA256 d0d162a37cb5767d2a88f939ce95af92bf4d1457513a58c79172d3456bee0946 lib/LWP/Protocol/ldaps.pm -SHA256 7288dc2d00789b8937381ee7c549097e9e3a194baf87445b42312d9b7844aaba lib/Net/LDAP.pm +SHA256 85e58fcae58f28c5a0b6111f6469d7b9e310ce33483a22f72f5cd278aa4a6419 lib/Net/LDAP.pm SHA256 f7164ac198ec5880ef3681394227c8485a0c33ad1650979d54feed1391754682 lib/Net/LDAP.pod -SHA256 ea114b043a6ea2272d6f011472e6de555433a08ec3d9704a767c6de9ca0c0799 lib/Net/LDAP/ASN.pm +SHA256 5abde9aea253a3d9d22cd14675002d4f2e0ffc2047d89ab7942d767acd00593d lib/Net/LDAP/ASN.pm SHA256 b74070e4390b6b78ecc01312bfc95b1e386d6bb24d7f3bc589d01b4fa1c158ea lib/Net/LDAP/Bind.pm -SHA256 37a7bb9783aa6363efb921866bd6fa0950cdfd0ce193e0181ebd644b9614a755 lib/Net/LDAP/Constant.pm -SHA256 ef2175df630bc92a7ed614a2bde6be3dd7b052b46a04f6b2a70ba63287d54ce1 lib/Net/LDAP/Control.pm +SHA256 2c390401523adcdc618131ca201e5fc4c2b61391ebc4aa8c48a3c4670cd83ba7 lib/Net/LDAP/Constant.pm +SHA256 614619e6f489cd3ae59b84ce55a2cb9a6b434433fd808309bae2649cf7c3515c lib/Net/LDAP/Control.pm SHA256 08d3ec3d1b8919d66268ef576d95f9729aa52e0bc0a6e3af494076a5c5e69bf7 lib/Net/LDAP/Control/Assertion.pm -SHA256 94ada2ac722c0c4ddfbc418878ec4bc8fc2f32c63c5719f17b8a83bbbb04c6b8 lib/Net/LDAP/Control/DontUseCopy.pm +SHA256 8599ddb90804c0c3a2c60891dbb5fe5f41b14d75e3ca79f3c8d75ff3d98a38d0 lib/Net/LDAP/Control/DontUseCopy.pm SHA256 d8b0641ca7c28887ff36e62c527e25372bf36b592e06aeca802ac6bd9bc16e4a lib/Net/LDAP/Control/EntryChange.pm -SHA256 f30a58553fb92de47495197f193898527633142622d455dda339310e3f93af32 lib/Net/LDAP/Control/ManageDsaIT.pm +SHA256 f68bb2a954ac77897319183bf25af8f317b94a48aa79f3f90d8ff74469e017ee lib/Net/LDAP/Control/ManageDsaIT.pm SHA256 251cfb2db6ff5a89e34d5f5541888a61dd83aa0a88edc30051b4a44679c458fc lib/Net/LDAP/Control/MatchedValues.pm +SHA256 e26761c896df989dd3796eb8a7e8c5eee7867464b1acfc7106b2a5d5cd2ecca7 lib/Net/LDAP/Control/NoOp.pm SHA256 298bfe1ac6d06eadf42f85f823e22f3b25de05d1431d07fef293ce8db6a5f36f lib/Net/LDAP/Control/Paged.pm SHA256 af356905ecef2f8db1b3c95dab26ce3973750eba23f1a4a0d6c691d759c8979a lib/Net/LDAP/Control/PasswordPolicy.pm SHA256 5a0d08fcb68631bf7d78418aec04dea32ff50cf4e35d9ceb66468776e96617e6 lib/Net/LDAP/Control/PersistentSearch.pm SHA256 3faa5d86a94e6659dc87fc96dda2a08f6773435c630a631904538307323f199e lib/Net/LDAP/Control/PostRead.pm SHA256 1efe570c9627b8f85373b0bc0ac9de9af19b631e7c27f8e436d432b3dc1b2090 lib/Net/LDAP/Control/PreRead.pm -SHA256 eec659ef2ce67eb5b49dd6083ef88e55dd8e757d67eb390cd435d455b9cfabb5 lib/Net/LDAP/Control/ProxyAuth.pm -SHA256 61e32874401b1715a44314c9789505bf8e9bc68d06c8c852dfd33588de2eb66b lib/Net/LDAP/Control/Relax.pm +SHA256 1942f7ad3cb4cdc9991a45e4872397a5fef603081c480b79beb9a7c87b9a9e49 lib/Net/LDAP/Control/ProxyAuth.pm +SHA256 7f3bc42fa2081a2dd337b257a2d0a252998425e2b409f47cd6e486ef5b88253f lib/Net/LDAP/Control/Relax.pm SHA256 8368b705af8fe9b82801754ebe982b5c16c2530a8b33e0bc7f92955094c403fe lib/Net/LDAP/Control/Sort.pm SHA256 0f65ac7395c5c4e504071f54fe5ae7c19dadc40f0b3eacbd9dc7b48c26286749 lib/Net/LDAP/Control/SortResult.pm +SHA256 2391a4d67fb68ba304985fe83b4c9b6b00c79bc7cf5422c008670e54832d02cb lib/Net/LDAP/Control/Subentries.pm SHA256 fb28b678d5754c2b52de6e4ce3a1ca5e154b007163c24bc91f85f54de7484c1a lib/Net/LDAP/Control/SyncDone.pm SHA256 a9a5f7a88ee75d3b57c934ec1c295661729ec6962dd7f0e1db6eff7d198a4c8b lib/Net/LDAP/Control/SyncRequest.pm SHA256 559364795659375868cb57d9c1c8b08b1845001f01e1ec61c788f6acae9a366a lib/Net/LDAP/Control/SyncState.pm -SHA256 4959c120df92822f87692e98869de33cfb8e20ef0d7234004dfcd632031d5332 lib/Net/LDAP/Control/TreeDelete.pm +SHA256 a7be93f092721224e3b7b978add757187bd29ed6166f000ac2b2d535f970a082 lib/Net/LDAP/Control/TreeDelete.pm SHA256 f4bc135d46881bcab8e3e56fc943a02f241bb17fe75623af02a728187c965a08 lib/Net/LDAP/Control/VLV.pm SHA256 5238debc18825ba1d79fcd5f02facbddc1672fbe890584590d1c456f5f4d12e7 lib/Net/LDAP/Control/VLVResponse.pm SHA256 4f43c84f14fa3f1fb88f73c67f3c5703d7beb0b5014b3c7306b3f51f3f46051d lib/Net/LDAP/DSML.pm @@ -123,7 +125,7 @@ SHA256 30e441b404b793d2f3360a9ce4e5d436ffb2160d6d6342974337d261b8f53f3c lib/Net/LDAP/Extra.pm SHA256 fc5a0a1e22fdd5aca3ccf06e71f151a31ceffb05ce86c0d253272b93635a27ba lib/Net/LDAP/Extra/AD.pm SHA256 9fabb3f78679b0c10a1fb436584afe869142329654e8e0c2a3cf46b12a883f20 lib/Net/LDAP/Extra/eDirectory.pm -SHA256 0210854f690974afe844e4c980531db795c5ce12385e10d9f3801983f5f07382 lib/Net/LDAP/FAQ.pod +SHA256 134b1a1cd8317d74ee7f2cd195ed96a36d7eef93588ac7083a0353efaa8e8f40 lib/Net/LDAP/FAQ.pod SHA256 5212fc4b5d2f2b0ae3832153c01daf4ca0b98cdde1e41e26e4a77310494897d7 lib/Net/LDAP/Filter.pm SHA256 a43fe201513c3f5ef6972a2e9a48dc3665f5c8b60f4f13dd626a6d74fcf39950 lib/Net/LDAP/Filter.pod SHA256 d191f21150cb92318029489933a93e7ced9e695d66e2fb543ab7c6f6d95e8493 lib/Net/LDAP/FilterMatch.pm @@ -175,12 +177,12 @@ SHA256 c2e4ddc8a52bcdb08d49080edc9225a456044253d2ac24997fd40836f704a1da test.cfg -----BEGIN PGP SIGNATURE----- -iQEzBAEBAwAdFiEERF4uru14a0+JDdbIu7qrme+KaU8FAl/nQgAACgkQu7qrme+K -aU/ynQf/QyKHpO/A3Ddzqcb5mCyNAIz6zL8deBM4yt4KLUi6lUdX0s0ut0meE8I/ -vGB89d7v1R8e8xAXtgYqjky1haxbqLSY+K03MoqcEb8Ium957b/Bm3WTLgI8FzCB -+i+uLqpob1WrHxGrcNtn8NOEvdQua+Dc8sKHokb44yr5+/LhKceXjm3UbQJh2ShH -j5JpgULEx9CkPgr3Npr48sP94RiwCuqYPBShwLMl5taVyYCinjnrKlivp+8FruMD -zonUnLccj4slq5af4XT4DvsRVsf2jorJLP4f0SzuHeYqMnkdARwcTYYp1zTfeNhS -/ogTdsZjBv3qauuvZ1VNy9UZEgWilw== -=rb/Y +iQEzBAEBAwAdFiEERF4uru14a0+JDdbIu7qrme+KaU8FAl/x/OQACgkQu7qrme+K +aU/DEAgAhXZ/5JnFoymcxr14QFESNtHRmByafx5M85zfwSUfTNWawUMSV09W4bJQ +foWejHC2wJ29uRZUhig7VbyXN/zHclS7IwU5L966s6tNQcEEOb/265bxQJY8hPeP +9MlgH7fFXFsbGJ5rdcbH/umRl2zfrz+MdU3/ZouaHDd4Vaqrltw/AgGDPHi6NFp8 +ziqviZXQpNfKNy+cPNse7dCvFEJiXEyf6K3KhBQedhoko/NihIrsU+e4H5fDKC4i +xERlhjUUE8RrznPYZhQLa+Ep+rHll3FeKJ4T7Tl7AOyQZWQKBgIyonbKmcuARY+5 +UtbN5dfS733leY/uVv0GgdwUEpcdpg== +=rtHd -----END PGP SIGNATURE-----